У статті — не просто список інструментів, а як вони поєднуються між собою, які підводні камені чекають при розгортанні, яких цифр продуктивності очікувати і як обійти обмеження Llama 8B без хмарних кредитів.
1. Ollama — локальні LLM
Ollama запускає великі мовні моделі на вашому сервері. Без хмари, без API-ключів.
Навіщо в розумному домі: розуміння природної мови. «Увімкни світло у вітальні» → модель витягує намір і сутність, передає в Home Assistant.
Ресурси: 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"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. Скрипти і автоматизація
| Скрипт | Призначення |
|---|---|
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.
