В статье — не просто список инструментов, а как они сочетаются, какие подводные камни ждут при развёртывании, какие цифры можно ожидать по производительности и как обойти ограничения Llama 8B без облачных кредитов.
1. Ollama — локальные LLM
Ollama запускает большие языковые модели на вашем сервере. Без облака, без API-ключей.
Зачем в умном доме: понимание естественного языка. «Включи свет в гостиной» → модель извлекает намерение и сущность, можно передать в HA.
Ресурсы: 4 GB VRAM — phi3:mini, llama3.2:3b; 6–8 GB — llama3.1:8b, qwen2.5:7b. Без GPU работает на CPU, но ответы могут занимать 10–30 секунд.
Находка: по умолчанию Ollama слушает только 127.0.0.1. Если n8n или OpenClaw на другом хосте — нужен OLLAMA_HOST=0.0.0.0:11434 в systemd override. Без этого внешние запросы не дойдут.
OLLAMA_API_KEY: в .env обязателен (любое значение, напр. ollama-local). Без него OpenClaw выдаёт «Unknown model». Auto-discovery может падать — тогда добавить явный провайдер в openclaw.json с baseUrl, apiKey, models.
2. Whisper — голос в текст
Whisper — распознавание речи. Open-source реализации работают локально.
Зачем в умном доме: голосовые команды без Alexa и Google. Голос не уходит в облако.
Ресурсы: CPU — ~0,4× realtime (11 сек аудио → ~28 сек обработки). С CUDA на GPU — до ~19× realtime (11 сек → ~0,6 сек).
Кейс: на P106-100 (6 GB VRAM) с CUDA 10 секунд голоса обрабатываются за полсекунды. Модель base хорошо тянет русский. Без GPU тот же фрагмент — 25–30 секунд. Разница в 50 раз — либо голосовой ассистент отзывчивый, либо нет.
3. MCP — протокол для AI и умного дома
Model Context Protocol (MCP) — открытый протокол, через который AI подключается к внешним инструментам. Home Assistant имеет встроенный MCP Server: эндпоинт /api/mcp.
Зачем: AI получает доступ к сущностям HA (свет, температура, сценарии) и может вызывать сервисы. Один протокол — OpenClaw, Cursor IDE, будущие ассистенты.
Находка: MCP нужно настроить до первого использования OpenClaw. Если onboarding прошёл без MCP, ассистент не будет видеть HA. Добавить потом можно, но проще сразу: создать Long-Lived Token в HA, включить MCP Server в интеграциях, прописать в конфиг OpenClaw до первого диалога.
4. OpenClaw — AI-агент с MCP
OpenClaw — AI-ассистент с поддержкой MCP. Подключается к Ollama и к MCP-серверам, в том числе Home Assistant.
Зачем в умном доме: диалоговое управление. «Включи люстру», «Какая температура?» — ассистент понимает запрос и дергает HA через MCP.
Addon или Docker: OpenClaw можно развернуть как addon в HA (techartdev) или в Docker на отдельном хосте. Addon — проще, всё в одном месте. Docker на NUC — когда HA на слабом железе (Odroid, RPi): разделение нагрузки, Ollama на GPU в Proxmox, OpenClaw остаётся лёгким.
Находки:
-
Контейнер должен видеть HA по сети. Проверка:
docker compose exec openclaw ping -c 1 <HA_IP> -
Веб-интерфейс: с 2026.2.21 только HTTPS (Caddy). HTTP по сети не работает
-
При первом заходе с нового устройства — pairing:
devices list→devices approve <requestId> -
gateway.bind— только"lan","auto","loopback","custom","tailscale". Onboarding может записать недопустимое значение -
tools.profile: "messaging"→ «No session found». Использоватьprofile: "full",deny: ["message", "sessions_send"] -
Порт 443 занят — в compose:
"8443:443", доступhttps://NUC_IP:8443/
5. n8n — оркестрация и автоматизация
n8n — low-code платформа для workflow. Связывает Telegram, Whisper, Ollama, HA.
Зачем в умном доме: голосовые команды через Telegram. Один workflow: голос → Whisper → Ollama → вызов HA → ответ в чат.
Находка: в n8n нужны два workflow. Главный — Telegram Trigger, Whisper, Ollama, HA. Второй — под-workflow, который вызывается как инструмент AI-агента: при «включи свет» агент вызывает его для вызова HA API. Без под-workflow агент «знает», что нужно сделать, но не может выполнить действие.
Кейс: от голоса до ответа в Telegram. 10 сек голоса → Whisper (CUDA) ~0,5 сек → Ollama ~2–5 сек → HA ~0,5 сек. Итого 3–6 секунд. На CPU Whisper было бы ~30 сек только на транскрипцию.
6. Главная находка: Llama 8B и tool calling
Llama 3.1 8B не вызывает инструменты надёжно. Модель может советовать «вызови GetLiveContext», но сама не вызывает. Или галлюцинирует несуществующие файлы. Meta рекомендует 70B+ для полноценного tool calling в диалоге.
Что пробовали:
-
mcp-hass — модель выдумывала вызовы вместо реальных
-
TOOLS.md с инструкцией «вызови bash» — модель не вызывала
-
Облачные модели (OpenRouter) — 403 из РФ, кредиты заканчиваются, web_search тянет Perplexity и падает с «no credits»
Решение: скрипт update-ha-context.sh получает данные из Home Assistant через mcporter, парсит термостаты и температуру, записывает в TOOLS.md. Модель получает актуальные данные в промпте — tool calling не нужен. Cron каждые 5 мин: */5 * * * * /path/to/scripts/update-ha-context.sh
Дополнительно: tools.deny: ["web_search", "web_fetch"] — иначе при вопросе о температуре агент пытается вызвать Perplexity для погоды и падает с 402. mcp-hass отключён — для Llama 8B бесполезен.
Для полноценного tool calling в будущем: пополнить кредиты OpenRouter/Mistral или развернуть модель 70B+ (24+ GB VRAM).
7. Workspace и mcporter — «сервер не распознаётся»
Skill mcporter ищет конфиг в ./config/mcporter.json относительно workspace. Файл был только в /app/config (volume) — агент выдавал «сервер home-assistant не распознаётся».
Решение: копировать mcporter.json в data/workspace/config/ при деплое. Скрипт update-server.sh создаёт директорию и копирует файл. Без этого MCP к HA не работает.
MCP skill: mcp-hass (не ha-mcp). Установка: npx clawhub install mcp-hass. Команды openclaw skills install не существует.
8. Скрипты и автоматизация
|
Скрипт |
Назначение |
|---|---|
|
Деплой конфигов на хост. Копирует .env, docker-compose, openclaw.json, mcporter.json, TOOLS.md. |
|
|
Обновляет TOOLS.md данными из HA. Запускается после деплоя и по cron каждые 5 мин |
|
|
Проверка API (Ollama). Таймаут 90 сек — первый запрос греет модель |
|
|
Одобрение устройства (pairing). Показывает pending, запрашивает requestId |
|
|
|
Хук: блокирует коммит .env, openclaw.json, mcporter.json |
Деплой: SSHPASS=пароль ./scripts/update-server.sh из корня репозитория. По умолчанию: root@192.168.1.11, путь /home/user/openclaw.
9. Как это сочетается
|
Инструмент |
Роль |
|---|---|
|
Ollama |
LLM — понимание запросов, диалог |
|
Whisper |
Голос → текст |
|
MCP |
Связь AI с Home Assistant |
|
OpenClaw |
AI-агент с MCP, диалоговое управление |
|
n8n |
Оркестрация: голос, LLM, HA, Telegram |
С чего начать: минимальный вариант — Ollama + OpenClaw + MCP. Текстовое управление без голоса. Добавить Whisper и n8n — когда голос в Telegram станет нужен.
10. Пример архитектуры: почему три хоста
Стек разнесён по трём машинам:
-
Proxmox VM — Ollama, Whisper, n8n (GPU для ускорения)
-
NUC — OpenClaw в Docker
-
Odroid — Home Assistant
Почему так: GPU одна — GTX 1060. Ollama и Whisper делят её в одной VM. Оба умещают в 6 GB VRAM: phi3/llama3.1 + Whisper base. OpenClaw на NUC — лёгкий, GPU не нужен. HA на Odroid — уже был. Альтернатива: всё в одной VM, если железо позволяет.
Поток «температура в спальне»: пользователь → Control UI (HTTPS) → OpenClaw → Ollama. TOOLS.md (обновлён update-ha-context.sh) содержит актуальные данные HA. Модель отвечает: «19,5°C (целевая 25°C)».
Конфиги и пошаговые гайды — в репозитории hass-Ai на GitHub.
11. Подводные камни (полная таблица)
|
Проблема |
Решение |
|---|---|
|
Ollama не отвечает извне |
|
|
Ollama: Unknown model |
В |
|
MCP не подключается |
Токен HA, эндпоинт |
|
«сервер home-assistant не распознаётся» |
Скопировать |
|
Llama 8B не вызывает tools |
Данные HA подставляются в TOOLS.md через |
|
«Sorry, no credits» / 402 |
web_search вызывает Perplexity. Добавить |
|
403 unsupported_country_region |
OpenRouter/GPT блокирует из РФ. Использовать только Ollama или Mistral |
|
OpenRouter + tool use |
Mistral на OpenRouter не поддерживает tools. GPT-4o-mini — платные кредиты |
|
Control UI: pairing required |
SSH на хост → |
|
Control UI по HTTP не работает |
С 2026.2.21 только HTTPS (Caddy) или localhost. Альтернатива: nginx + self-signed перед 18789 |
|
No session found |
|
|
contextWindow too small |
В openclaw.json задать |
|
Whisper медленный |
CUDA вместо CPU — разница в 50× |
|
n8n «знает, но не делает» |
Добавить под-workflow как инструмент агента |
|
401 при вызове HA |
Long-Lived Token, корректный credential в n8n |
|
Контейнер в restart loop |
Невалидный конфиг. |
|
gateway.bind: Invalid input |
Только |
|
Unrecognized key: “mcp” |
Устаревший формат. Удалить секцию |
|
OpenClaw addon vs Docker |
HA на слабом железе → Docker на NUC; HA мощный → addon удобнее |
12. Облачные модели и будущее
Бесплатные кредиты ограничены. OpenRouter и Mistral дают стартовые кредиты, но они заканчиваются. Сообщения «no credits», «upgrade your account» — типичны.
Пути развития:
-
Пополнить счёт OpenRouter/Mistral — включить провайдеры в openclaw.json, снять web_search из deny
-
Локальная модель 70B+ (llama3.1:70b, qwen2.5:32b) — 24+ GB VRAM, полноценный tool calling без облака
Доступ из РФ: OpenRouter ✅, Mistral ✅, Cohere ⚠️ (VPN при регистрации). Gemini ❌, Groq ❌ — блокировка.
13. Что в итоге
AI-инструменты для умного дома уже работают: локальные LLM, распознавание речи, MCP, агенты. Начать можно с Ollama + OpenClaw + MCP — и постепенно добавлять голос и n8n.
Главное: GPU для Whisper, если нужен отзывчивый голосовой ассистент. MCP настроить до первого использования OpenClaw. Для Llama 8B — update-ha-context.sh вместо tool calling.
Надеюсь, эта статья поможет сэкономить время при развёртывании и избежать подводных камней, с которыми я столкнулся. Если есть вопросы — пишите в комментариях.
Продолжение: во второй части — когда соберу мощную локальную LLM-станцию — расскажу про модели 70B+, vLLM, Open WebUI и сравнение с текущим стеком на Ollama.
14. Безопасность
Токены (HA, Telegram, OpenClaw) — в .env, не в git. Pre-commit хук блокирует коммит секретов. Отдельный Long-Lived Token для каждого сервиса. Регулярно проверяйте активные токены в HA.
Ссылки
-
hass-Ai на GitHub — полный исходный код, конфиги и пошаговые гайды (Proxmox, Ollama, Whisper, n8n, OpenClaw)
-
OpenClaw — AI-агент с поддержкой MCP
-
Ollama — локальные LLM
-
Whisper.cpp — распознавание речи
-
n8n — оркестрация workflow
Автор: Gfer


