В статье — не просто список инструментов, а как они сочетаются, какие подводные камни ждут при развёртывании, какие цифры можно ожидать по производительности и как обойти ограничения 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 до первого диалога.

Связь OpenClaw и Home Assistant через MCP
Связь OpenClaw и Home Assistant через MCP

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 listdevices 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 сек только на транскрипцию.

Поток данных: голос/текст → Whisper → Ollama → HA
Поток данных: голос/текст → Whisper → Ollama → HA

6. Главная находка: Llama 8B и tool calling

Llama 3.1 8B не вызывает инструменты надёжно. Модель может советовать «вызови GetLiveContext», но сама не вызывает. Или галлюцинирует несуществующие файлы. Meta рекомендует 70B+ для полноценного tool calling в диалоге.

Что пробовали:

  1. mcp-hass — модель выдумывала вызовы вместо реальных

  2. TOOLS.md с инструкцией «вызови bash» — модель не вызывала

  3. Облачные модели (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. Скрипты и автоматизация

Скрипт

Назначение

update-server.sh

Деплой конфигов на хост. Копирует .env, docker-compose, openclaw.json, mcporter.json, TOOLS.md. docker compose pull и up -d

update-ha-context.sh

Обновляет TOOLS.md данными из HA. Запускается после деплоя и по cron каждые 5 мин

test-openclaw.sh

Проверка API (Ollama). Таймаут 90 сек — первый запрос греет модель

approve-device.sh

Одобрение устройства (pairing). Показывает pending, запрашивает requestId

pre-commit

Хук: блокирует коммит .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.

Схема архитектуры: Proxmox VM, NUC, Odroid
Схема архитектуры: Proxmox VM, NUC, Odroid

11. Подводные камни (полная таблица)

Проблема

Решение

Ollama не отвечает извне

OLLAMA_HOST=0.0.0.0:11434 в systemd override

Ollama: Unknown model

В .env обязателен OLLAMA_API_KEY (любое значение, напр. ollama-local)

MCP не подключается

Токен HA, эндпоинт /api/mcp, доступность curl http://HA\_IP:8123 из контейнера

«сервер home-assistant не распознаётся»

Скопировать mcporter.json в data/workspace/config/ — skill ищет конфиг там

Llama 8B не вызывает tools

Данные HA подставляются в TOOLS.md через update-ha-context.sh (cron). Для tool calling — облачные кредиты или модель 70B+

«Sorry, no credits» / 402

web_search вызывает Perplexity. Добавить web_search, web_fetch в tools.deny

403 unsupported_country_region

OpenRouter/GPT блокирует из РФ. Использовать только Ollama или Mistral

OpenRouter + tool use

Mistral на OpenRouter не поддерживает tools. GPT-4o-mini — платные кредиты

Control UI: pairing required

SSH на хост → devices listdevices approve <requestId>. Или ./scripts/approve-device.sh

Control UI по HTTP не работает

С 2026.2.21 только HTTPS (Caddy) или localhost. Альтернатива: nginx + self-signed перед 18789

No session found

tools.profile: "messaging" → заменить на profile: "full", deny: ["message", "sessions_send"]

contextWindow too small

В openclaw.json задать contextWindow: 16384, maxTokens: 163840 для Ollama

Whisper медленный

CUDA вместо CPU — разница в 50×

n8n «знает, но не делает»

Добавить под-workflow как инструмент агента

401 при вызове HA

Long-Lived Token, корректный credential в n8n

Контейнер в restart loop

Невалидный конфиг. docker compose down → правка data/openclaw.jsonup -d

gateway.bind: Invalid input

Только lan, auto, loopback, custom, tailnet. openclaw doctor --fix

Unrecognized key: "mcp"

Устаревший формат. Удалить секцию mcp, использовать skill mcp-hass

OpenClaw addon vs Docker

HA на слабом железе → Docker на NUC; HA мощный → addon удобнее

12. Облачные модели и будущее

Бесплатные кредиты ограничены. OpenRouter и Mistral дают стартовые кредиты, но они заканчиваются. Сообщения «no credits», «upgrade your account» — типичны.

Пути развития:

  1. Пополнить счёт OpenRouter/Mistral — включить провайдеры в openclaw.json, снять web_search из deny

  2. Локальная модель 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