В этой статье — не просто список инструментов, а реальный опыт их интеграции: как они работают вместе, какие подводные камни возникают при развёртывании, чего ожидать по производительности и как обойти ограничения Llama 8B без облачных кредитов.
1. Ollama — локальные LLM
Ollama запускает большие языковые модели прямо на вашем сервере. Без облака, без API-ключей.
Зачем в умном доме: понимание естественного языка. Например, команда «Включи свет в гостиной» преобразуется в структурированный запрос: модель извлекает намерение и сущность, после чего передаёт действие в Home Assistant.
Ресурсы: 4 ГБ VRAM — phi3:mini, llama3.2:3b; 6–8 ГБ — 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 ГБ VRAM) с CUDA 10 секунд голоса обрабатываются за полсекунды. Модель base хорошо справляется с русским языком. Без GPU тот же фрагмент обрабатывается за 25–30 секунд. Разница в 50 раз — это разница между отзывчивым ассистентом и долгим ожиданием.
3. MCP — протокол для AI и умного дома
Model Context Protocol (MCP) — открытый протокол, позволяющий ИИ подключаться к внешним инструментам. Home Assistant имеет встроенный MCP Server: эндпоинт /api/mcp.
Зачем: ИИ получает доступ к сущностям 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.
Развёртывание: OpenClaw можно установить как addon в HA (techartdev) или в Docker на отдельном хосте. Addon проще — всё в одном месте. Docker на NUC — вариант, если HA работает на слабом железе (например, Odroid или Raspberry Pi): нагрузка разделяется, Ollama и Whisper работают на 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, Whisper, Ollama, HA. Второй — под-workflow, который вызывается как инструмент AI-агента: при фразе «включи свет» агент вызывает его для выполнения действия в HA. Без под-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+ ГБ 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. Как это сочетается
Инструменты и их роль:
LLM — понимание запросов, диалог
Голос → текст — Whisper
Связь AI с Home Assistant — MCP
AI-агент с MCP, диалоговое управление — OpenClaw
Оркестрация: голос, LLM, HA, Telegram — n8n
С чего начать: минимальный вариант — 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 ГБ 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)».
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 list → devices 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.json → up -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» — типичны.
Пути развития:
- Пополнить счёт OpenRouter/Mistral — включить провайдеры в
openclaw.json, убратьweb_searchизdeny. - Локальная модель 70B+ (llama3.1:70b, qwen2.5:32b) — 24+ ГБ 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.