Zpět na domů

Lokální AI pro Home Assistant: Ollama a MCP

Článek popisuje lokální AI stack pro Home Assistant: Ollama pro LLM, Whisper pro řeč, OpenClaw s MCP protokolem, n8n pro orchestraci. Obcházení omezení Llama 8B přes kontext v promptu a zrychlení GPU. Kompletní instrukce k nasazení a skriptům.

AI stack pro HA: lokální LLM a hlas bez cloudu
Advertisement 728x90

Lokální AI stack pro Home Assistant: nasazení a optimalizace

Nasazení AI agentů pro Home Assistant bez cloudových služeb je dosaženo kombinací Ollama, Whisper, OpenClaw a n8n. Stack zajišťuje zpracování hlasových příkazů za 3–6 sekund na GPU: přepis, analýza záměru, volání služeb HA. Klíčové obejití omezení Llama 3.1 8B — vložení kontextu HA do promptu místo tool calling.

Ollama spouští modely lokálně: phi3:mini (4 GB VRAM), llama3.1:8b (6–8 GB). Na CPU zpoždění až 30 sekund, s CUDA — odpovědi za 2–5 sekund. Pro externí přístup: OLLAMA_HOST=0.0.0.0:11434 v systemd override a OLLAMA_API_KEY=ollama-local v .env.

Whisper base zpracovává češtinu. Na P106-100 (6 GB VRAM, CUDA) — 10 sekund audia za 0,5 sekundy (19× realtime). CPU — 25–30 sekund (0,4× realtime). Rozdíl určuje rychlost odezvy asistenta.

Google AdInline article slot

Protokol MCP a integrace OpenClaw

Model Context Protocol (MCP) poskytuje AI přístup k entitám HA přes /api/mcp. OpenClaw — agent s podporou MCP, připojuje se k Ollama a HA.

Nastavení MCP je povinné před onboardingem OpenClaw: Long-Lived Token v HA, aktivace MCP Server v integracích, konfigurace v openclaw.json. Nasazení:

  • Addon v HA pro jednoduchost.
  • Docker na samostatném hostu (NUC) při slabém hardwaru HA (RPi/Odroid).

Kontroly sítě: docker compose exec openclaw ping -c 1 <HA_IP>. Webové rozhraní od 2026.2.21 — pouze HTTPS (port 8443 při konfliktu: 8443:443). Pairing: devices listdevices approve <requestId>.

Google AdInline article slot

Konfigurace OpenClaw pro stabilitu:

  • gateway.bind: "lan" nebo "auto".
  • tools.profile: "full", deny: ["message", "sessions_send"].
  • contextWindow: 16384, maxTokens: 163840.
  • tools.deny: ["web_search", "web_fetch"] pro vyhnutí se chybám 402.

Orchestrace přes n8n a obejití tool calling

n8n propojuje Telegram → Whisper → Ollama → HA. Dva workflow:

  • Hlavní: Telegram Trigger → Whisper → Ollama → HA API → odpověď.
  • Pod-workflow jako nástroj agenta pro volání HA.

Llama 3.1 8B slabě podporuje tool calling: halucinace, nevolá skutečné nástroje. Řešení — skript update-ha-context.sh:

Google AdInline article slot
  • Získá data HA přes mcporter (termostaty, teplota).
  • Zapíše do TOOLS.md.
  • Cron: /5 * /path/to/update-ha-context.sh.

Model vidí aktuální kontext v promptu: „Teplota v ložnici je 19,5°C (cíl 25°C)“. Vypíná se mcp-hass pro 8B modely.

Skripty automatizace a nasazení

Automatizace nasazení a aktualizací:

| Skript | Účel |

|--------|------|

| update-server.sh | Zkopíruje .env, docker-compose, openclaw.json, mcporter.json, TOOLS.md. docker compose pull && up -d. |

| update-ha-context.sh | Aktualizuje TOOLS.md daty HA (cron každých 5 minut). |

| test-openclaw.sh | Test API Ollama (timeout 90 sekund). |

| approve-device.sh | Pairing zařízení. |

| pre-commit | Blokuje commit tajemství (.env, tokeny). |

Nasazení: SSHPASS=heslo ./scripts/update-server.sh na [email protected].

mcporter vyžaduje mcporter.json v data/workspace/config/ (kopírováno skriptem). Skill: npx clawhub install mcp-hass.

Architektura na třech hostech

Optimální rozdělení zátěže:

  • Proxmox VM (GPU GTX 1060): Ollama (llama3.1:8b), Whisper base, n8n. Vejdou se do 6 GB VRAM.
  • NUC: OpenClaw Docker (pouze CPU).
  • Odroid: Home Assistant.

Tok požadavku: Telegram/UI → OpenClaw → Ollama (TOOLS.md s daty HA) → odpověď. Bez tool calling, bez cloudu.

Co je důležité

  • GPU je nutné pro Whisper: 50× zrychlení (0,5 sekundy vs 30 sekund).
  • MCP před onboardingem: jinak OpenClaw nevidí HA.
  • Kontext v promptu pro Llama 8B: update-ha-context.sh místo tool calling.
  • HTTPS a pairing pro Control UI OpenClaw.
  • Dva workflow v n8n: hlavní + nástroj pro agenta.

— Editorial Team

Advertisement 728x90

Číst dál