Lokaler KI-Stack für Home Assistant: Bereitstellung und Optimierung
KI-Agenten für Home Assistant ohne Cloud-Dienste bereitzustellen, gelingt durch die Kombination von Ollama, Whisper, OpenClaw und n8n. Dieser Stack verarbeitet Sprachbefehle in 3–6 Sekunden auf einer GPU: Transkription, Intent-Analyse und HA-Service-Aufrufe. Der entscheidende Workaround für die Einschränkungen von Llama 3.1 8B ist das Einfügen von HA-Kontext in den Prompt anstelle von Tool Calling.
Ollama führt Modelle lokal aus: phi3:mini (4 GB VRAM), llama3.1:8b (6–8 GB). Auf der CPU können Verzögerungen bis zu 30 Sekunden betragen; mit CUDA dauern Antworten 2–5 Sekunden. Für externen Zugriff: Setze OLLAMA_HOST=0.0.0.0:11434 in einem systemd-Override und OLLAMA_API_KEY=ollama-local in .env.
Whisper base verarbeitet die russische Sprache. Auf einer P106-100 (6 GB VRAM, CUDA) — 10 Sekunden Audio in 0,5 Sekunden (19× Echtzeit). Auf der CPU — 25–30 Sekunden (0,4× Echtzeit). Dieser Unterschied bestimmt die Reaktionsfähigkeit des Assistenten.
MCP-Protokoll und OpenClaw-Integration
Das Model Context Protocol (MCP) bietet KI-Zugriff auf HA-Entitäten über /api/mcp. OpenClaw ist ein Agent mit MCP-Unterstützung, der sich mit Ollama und HA verbindet.
MCP-Setup ist erforderlich, bevor OpenClaw on-boarded wird: Long-Lived Token in HA, MCP-Server in Integrationen aktivieren, Konfiguration in openclaw.json. Bereitstellungsoptionen:
- Addon in HA für Einfachheit.
- Docker auf einem separaten Host (NUC), wenn die HA-Hardware schwach ist (RPi/Odroid).
Netzwerkprüfungen: docker compose exec openclaw ping -c 1 <HA_IP>. Web-Oberfläche ab Version 2026.2.21 — nur HTTPS (Port 8443 bei Konflikten: 8443:443). Pairing: devices list → devices approve <requestId>.
OpenClaw-Konfiguration für Stabilität:
gateway.bind: "lan"oder"auto".tools.profile: "full",deny: ["message", "sessions_send"].contextWindow: 16384,maxTokens: 163840.tools.deny: ["web_search", "web_fetch"], um 402-Fehler zu vermeiden.
Orchestrierung via n8n und Tool Calling Workaround
n8n verbindet Telegram → Whisper → Ollama → HA. Zwei Workflows:
- Haupt-Workflow: Telegram Trigger → Whisper → Ollama → HA API → Antwort.
- Sub-Workflow als Agent-Tool für HA-Aufrufe.
Llama 3.1 8B hat schlechte Tool Calling-Unterstützung: Halluzinationen, scheitert beim Aufruf echter Tools. Lösung — update-ha-context.sh Skript:
- Holt HA-Daten via mcporter (Thermostate, Temperatur).
- Schreibt in
TOOLS.md. - Cron:
/5 * /pfad/zu/update-ha-context.sh.
Das Modell sieht aktuellen Kontext im Prompt: "Temperatur im Schlafzimmer ist 19,5°C (Ziel 25°C)." Deaktiviere mcp-hass für 8B-Modelle.
Automatisierungsskripte und Bereitstellung
Automatisierung für Bereitstellung und Updates:
| Skript | Zweck |
|--------|---------|
| update-server.sh | Kopiert .env, docker-compose, openclaw.json, mcporter.json, TOOLS.md. Führt docker compose pull && up -d aus. |
| update-ha-context.sh | Aktualisiert TOOLS.md mit HA-Daten (Cron alle 5 min). |
| test-openclaw.sh | Testet Ollama API (90-Sekunden-Timeout). |
| approve-device.sh | Geräte-Pairing. |
| pre-commit | Blockiert Commits von Geheimnissen (.env, Tokens). |
Bereitstellung: SSHPASS=passwort ./scripts/update-server.sh an [email protected].
mcporter benötigt mcporter.json in data/workspace/config/ (vom Skript kopiert). Skill: npx clawhub install mcp-hass.
Architektur über drei Hosts
Optimale Lastverteilung:
- Proxmox VM (GPU GTX 1060): Ollama (llama3.1:8b), Whisper base, n8n. Passt in 6 GB VRAM.
- NUC: OpenClaw Docker (nur CPU).
- Odroid: Home Assistant.
Anfragefluss: Telegram/UI → OpenClaw → Ollama (TOOLS.md mit HA-Daten) → Antwort. Kein Tool Calling, keine Cloud.
Wichtige Punkte
- GPU ist essenziell für Whisper: 50× Beschleunigung (0,5 Sek. vs. 30 Sek.).
- MCP vor Onboarding: sonst sieht OpenClaw HA nicht.
- Kontext im Prompt für Llama 8B:
update-ha-context.shstatt Tool Calling. - HTTPS und Pairing für OpenClaw Control UI.
- Zwei Workflows in n8n: Haupt-Workflow + Agent-Tool.
— Editorial Team
Noch keine Kommentare.