AI для умного дома: что уже работает сегодня (часть 1). DevOps.. DevOps. home assistant.. DevOps. home assistant. llm.. DevOps. home assistant. llm. mcp.. DevOps. home assistant. llm. mcp. n8n.. DevOps. home assistant. llm. mcp. n8n. ollama.. DevOps. home assistant. llm. mcp. n8n. ollama. Open source.. DevOps. home assistant. llm. mcp. n8n. ollama. Open source. OpenClaw.. DevOps. home assistant. llm. mcp. n8n. ollama. Open source. OpenClaw. whisper.. DevOps. home assistant. llm. mcp. n8n. ollama. Open source. OpenClaw. whisper. голосовое управление.. DevOps. home assistant. llm. mcp. n8n. ollama. Open source. OpenClaw. whisper. голосовое управление. искусственный интеллект.. DevOps. home assistant. llm. mcp. n8n. ollama. Open source. OpenClaw. whisper. голосовое управление. искусственный интеллект. локальный AI.. DevOps. home assistant. llm. mcp. n8n. ollama. Open source. OpenClaw. whisper. голосовое управление. искусственный интеллект. локальный AI. Умный дом.

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

Автор: Gfer

Источник