Pila de IA Local para Home Assistant: Despliegue y Optimización
Desplegar agentes de IA para Home Assistant sin servicios en la nube se logra combinando Ollama, Whisper, OpenClaw y n8n. Esta pila procesa comandos de voz en 3–6 segundos en una GPU: transcripción, análisis de intención y llamadas a servicios de HA. La solución clave para las limitaciones de Llama 3.1 8B es inyectar el contexto de HA en el prompt en lugar de usar llamadas a herramientas.
Ollama ejecuta modelos localmente: phi3:mini (4 GB de VRAM), llama3.1:8b (6–8 GB). En CPU, los retrasos pueden alcanzar 30 segundos; con CUDA, las respuestas tardan 2–5 segundos. Para acceso externo: configurar OLLAMA_HOST=0.0.0.0:11434 en una anulación de systemd y OLLAMA_API_KEY=ollama-local en .env.
Whisper base maneja el idioma ruso. En una P106-100 (6 GB de VRAM, CUDA) — 10 segundos de audio en 0.5 segundos (19× tiempo real). En CPU — 25–30 segundos (0.4× tiempo real). Esta diferencia determina la capacidad de respuesta del asistente.
Protocolo MCP e Integración de OpenClaw
Model Context Protocol (MCP) proporciona acceso de IA a entidades de HA a través de /api/mcp. OpenClaw es un agente con soporte MCP, que se conecta a Ollama y HA.
La configuración de MCP es necesaria antes de integrar OpenClaw: Token de Larga Duración en HA, activar Servidor MCP en integraciones, configuración en openclaw.json. Opciones de despliegue:
- Complemento en HA para simplicidad.
- Docker en un host separado (NUC) si el hardware de HA es débil (RPi/Odroid).
Comprobaciones de red: docker compose exec openclaw ping -c 1 <HA_IP>. Interfaz web desde la versión 2026.2.21 — solo HTTPS (puerto 8443 si hay conflicto: 8443:443). Emparejamiento: devices list → devices approve <requestId>.
Configuración de OpenClaw para estabilidad:
gateway.bind: "lan"o"auto".tools.profile: "full",deny: ["message", "sessions_send"].contextWindow: 16384,maxTokens: 163840.tools.deny: ["web_search", "web_fetch"]para evitar errores 402.
Orquestación mediante n8n y Solución para Llamadas a Herramientas
n8n enlaza Telegram → Whisper → Ollama → HA. Dos flujos de trabajo:
- Principal: Activador de Telegram → Whisper → Ollama → API de HA → respuesta.
- Subflujo como herramienta de agente para llamadas a HA.
Llama 3.1 8B tiene un soporte deficiente para llamadas a herramientas: alucinaciones, falla al llamar herramientas reales. Solución — script update-ha-context.sh:
- Obtiene datos de HA mediante mcporter (termostatos, temperatura).
- Escribe en
TOOLS.md. - Cron:
/5 * /ruta/a/update-ha-context.sh.
El modelo ve el contexto actual en el prompt: "La temperatura en el dormitorio es 19.5°C (objetivo 25°C)." Deshabilitar mcp-hass para modelos 8B.
Scripts de Automatización y Despliegue
Automatización para despliegue y actualizaciones:
| Script | Propósito |
|--------|---------|
| update-server.sh | Copia .env, docker-compose, openclaw.json, mcporter.json, TOOLS.md. Ejecuta docker compose pull && up -d. |
| update-ha-context.sh | Actualiza TOOLS.md con datos de HA (cron cada 5 min). |
| test-openclaw.sh | Prueba la API de Ollama (tiempo de espera de 90 segundos). |
| approve-device.sh | Emparejamiento de dispositivos. |
| pre-commit | Bloquea commits de secretos (.env, tokens). |
Despliegue: SSHPASS=contraseña ./scripts/update-server.sh a [email protected].
mcporter requiere mcporter.json en data/workspace/config/ (copiado por el script). Habilidad: npx clawhub install mcp-hass.
Arquitectura en Tres Hosts
Distribución óptima de carga:
- VM Proxmox (GPU GTX 1060): Ollama (llama3.1:8b), Whisper base, n8n. Encaja en 6 GB de VRAM.
- NUC: Docker de OpenClaw (solo CPU).
- Odroid: Home Assistant.
Flujo de solicitud: Telegram/UI → OpenClaw → Ollama (TOOLS.md con datos de HA) → respuesta. Sin llamadas a herramientas, sin nube.
Puntos Clave
- La GPU es esencial para Whisper: aceleración de 50× (0.5 seg vs 30 seg).
- MCP antes de la integración: de lo contrario OpenClaw no verá HA.
- Contexto en el prompt para Llama 8B:
update-ha-context.shen lugar de llamadas a herramientas. - HTTPS y emparejamiento para la UI de Control de OpenClaw.
- Dos flujos de trabajo en n8n: principal + herramienta de agente.
— Editorial Team
Aún no hay comentarios.