Powrót do strony głównej

Lokalny AI dla Home Assistant: Ollama i MCP

Artykuł opisuje lokalny stos AI dla Home Assistant: Ollama dla LLM, Whisper dla mowy, OpenClaw z protokołem MCP, n8n do orkiestracji. Omijanie ograniczeń Llama 8B poprzez kontekst w prompecie i przyspieszenie GPU. Pełne instrukcje wdrożenia i skryptów.

Stos AI dla HA: lokalne LLM i głos bez chmury
Advertisement 728x90

Lokalny stos AI dla Home Assistant: wdrażanie i optymalizacja

Wdrażanie agentów AI dla Home Assistant bez usług chmurowych osiąga się dzięki kombinacji Ollama, Whisper, OpenClaw i n8n. Stos zapewnia przetwarzanie poleceń głosowych w 3–6 sekund na GPU: transkrypcja, analiza intencji, wywoływanie usług HA. Kluczowe obejście ograniczeń Llama 3.1 8B — podstawianie kontekstu HA w prompt zamiast tool calling.

Ollama uruchamia modele lokalnie: phi3:mini (4 GB VRAM), llama3.1:8b (6–8 GB). Na CPU opóźnienia do 30 sekund, z CUDA — odpowiedzi w 2–5 sekund. Dla dostępu zewnętrznego: OLLAMA_HOST=0.0.0.0:11434 w systemd override i OLLAMA_API_KEY=ollama-local w .env.

Whisper base przetwarza język polski. Na P106-100 (6 GB VRAM, CUDA) — 10 sekund audio w 0,5 sekundy (19× realtime). CPU — 25–30 sekund (0,4× realtime). Różnica decyduje o responsywności asystenta.

Google AdInline article slot

Protokół MCP i integracja OpenClaw

Model Context Protocol (MCP) zapewnia AI dostęp do encji HA przez /api/mcp. OpenClaw — agent z obsługą MCP, łączy się z Ollama i HA.

Konfiguracja MCP obowiązkowa przed onboardingiem OpenClaw: Long-Lived Token w HA, aktywacja MCP Server w integracjach, konfig w openclaw.json. Wdrażanie:

  • Addon w HA dla prostoty.
  • Docker na oddzielnym hoście (NUC) przy słabym sprzęcie HA (RPi/Odroid).

Testy sieci: docker compose exec openclaw ping -c 1 <HA_IP>. Interfejs webowy od 2026.2.21 — tylko HTTPS (port 8443 przy konflikcie: 8443:443). Pairing: devices listdevices approve <requestId>.

Google AdInline article slot

Konfig OpenClaw dla stabilności:

  • gateway.bind: "lan" lub "auto".
  • tools.profile: "full", deny: ["message", "sessions_send"].
  • contextWindow: 16384, maxTokens: 163840.
  • tools.deny: ["web_search", "web_fetch"] dla uniknięcia błędów 402.

Orchestracja przez n8n i obejście tool calling

n8n łączy Telegram → Whisper → Ollama → HA. Dwa workflow:

  • Główny: Telegram Trigger → Whisper → Ollama → HA API → odpowiedź.
  • Pod-workflow jako narzędzie agenta dla wywołań HA.

Llama 3.1 8B słabo obsługuje tool calling: halucynacje, nie wywołuje rzeczywistych narzędzi. Rozwiązanie — skrypt update-ha-context.sh:

Google AdInline article slot
  • Pobiera dane HA przez mcporter (termostaty, temperatura).
  • Zapisuje w TOOLS.md.
  • Cron: /5 * /path/to/update-ha-context.sh.

Model widzi aktualny kontekst w prompcie: «Temperatura w sypialni — 19,5°C (cel 25°C)». Wyłączony mcp-hass dla modeli 8B.

Skrypty automatyzacji i deploy

Automatyzacja deployu i aktualizacji:

| Skrypt | Przeznaczenie |

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

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

| update-ha-context.sh | Aktualizuje TOOLS.md danymi HA (cron co 5 min). |

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

| approve-device.sh | Pairing urządzeń. |

| pre-commit | Blokuje commit sekretów (.env, tokeny). |

Deploy: SSHPASS=hasło ./scripts/update-server.sh na [email protected].

mcporter wymaga mcporter.json w data/workspace/config/ (kopiowany skryptem). Skill: npx clawhub install mcp-hass.

Architektura na trzech hostach

Optymalny podział obciążenia:

  • Proxmox VM (GPU GTX 1060): Ollama (llama3.1:8b), Whisper base, n8n. Mieszczą się w 6 GB VRAM.
  • NUC: OpenClaw Docker (CPU-only).
  • Odroid: Home Assistant.

Przepływ zapytania: Telegram/UI → OpenClaw → Ollama (TOOLS.md z danymi HA) → odpowiedź. Bez tool calling, bez chmury.

Co jest ważne

  • GPU obowiązkowe dla Whisper: 50× przyspieszenie (0,5 sek vs 30 sek).
  • MCP przed onboardingiem: inaczej OpenClaw nie widzi HA.
  • Kontekst w prompcie dla Llama 8B: update-ha-context.sh zamiast tool calling.
  • HTTPS i pairing dla Control UI OpenClaw.
  • Dwa workflow w n8n: główny + narzędzie dla agenta.

— Editorial Team

Advertisement 728x90

Czytaj dalej