La domótica y la inteligencia artificial (IA) están convergiendo de una forma sorprendente. Hasta hace poco, el análisis de imágenes en sistemas de automatización del hogar se limitaba a la detección de movimiento o reconocimiento de rostros integrado en cámaras avanzadas.
Hoy en día, gracias a la integración LLM Vision, podemos ir mucho más allá: describir escenas completas, reconocer objetos específicos y condicionar automatizaciones complejas sin necesidad de hardware de alto coste. En esta guía, desarrollada paso a paso, te mostraré cómo instalar y configurar LLM Vision en Home Assistant, cómo elegir y afinar modelos de lenguaje (LLM), y cómo dotar a una cámara ESP32-CAM de apenas 5 € de superpoderes para que entienda lo que ve.
El objetivo de este artículo es servir de complemento al vídeo original y convertirse en tu manual de referencia si eres nuevo en Home Assistant y la domótica. Abordaremos desde los conceptos básicos hasta ejemplos prácticos de detección de ropa tendida, reconocimiento de personas y apertura automática de puertas al salir de casa. Además, incluiremos enlaces de interés para que profundices en cada tema.
Indice de contenidos
- 1 Capítulos vídeo Sistema domótico con IA gratuita
- 2 ¿Qué es LLM Vision?
- 3 Requisitos previos
- 4 Instalación y configuración básica de LLM Vision
- 5 Proveedores de LLM: nube vs local
- 6 Configuración de cámaras ESP32-CAM con ESPHome
- 7 Acciones de LLM Vision en Home Assistant
- 8 Ejemplos prácticos de automatizaciones
- 9 Buenas prácticas y optimización
- 10 Casos de uso adicionales
- 11 Conclusión
Capítulos vídeo Sistema domótico con IA gratuita
Si quieres ir a tiro hecho, aquí te dejo los capítulos del vídeo.
00:00 Introducción
01:18 ¿Qué es LLM Vision?
03:04 Instalación y configuración LLM Vision Home Assistant
06:40 Proveedores de Inteligencia Artificial
09:13 Visión Artificial en Home Assistant
10:38 Cómo detectar ropa tendida
12:38 Cómo reconocer personas
14:39 Cómo reconocer acciones y movimientos
16:43 El futuro de la IA y Home Assistant
¿Qué es LLM Vision?
LLM Vision es una integración no oficial para Home Assistant que permite utilizar modelos de lenguaje (LLM) como ChatGPT, Gemini, LLaMa-4 o cualquier otro que configures localmente para analizar imágenes y vídeo en tu sistema domótico. Sus funciones principales son:
- Analizar una imagen puntual y devolver texto descriptivo, título y fotograma clave.
- Analizar un stream de vídeo durante X segundos y un número determinado de fotogramas.
- Actualizar sensores en Home Assistant según la información extraída.
- Almacenar un historial de eventos (Timeline) con imágenes y vídeos.
- Guardar imágenes de referencia en una memoria para reconocimiento futuro.
LLM Vision no compite con sistemas como Frigate, que realizan detección de objetos en local con modelos de visión por computadora. En lugar de ello, aprovecha las capacidades de comprensión de contexto de los LLM para describir acciones, estados y cambios relevantes en la escena. Por ejemplo, puede detectar si una persona está sentada, subiendo o bajando escaleras, si hay ropa tendida, el tipo de muebles o incluso la hora aproximada del día según la iluminación.
Requisitos previos
Antes de empezar, asegúrate de contar con lo siguiente:
- Una instalación funcional de Home Assistant (versión 2023.10 o superior recomendada).
- HACS (Home Assistant Community Store) instalado.
- Una o varias cámaras compatibles (IP cam, Reolink, ESP32-CAM, etc.).
- Conexión a Internet para la configuración inicial y acceso a modelos en la nube.
- Una cuenta y clave API en uno o varios proveedores de LLM (OpenAI, Google AI Studio, Groq, Anthropic, etc.).
- Conocimientos básicos de Home Assistant, YAML y automatizaciones.
Si todavía no tienes HACS, sigue esta guía oficial: https://hacs.xyz/documentation/installation/manual. Para familiarizarte con Home Assistant, consulta esto: https://www.home-assistant.io/getting-started.
Instalación y configuración básica de LLM Vision
- Accede a la web oficial de LLM Vision: https://llmvision.org
- Haz clic en Get Started y luego en Instalación.
- Pulsa el botón azul que abre el repositorio en HACS y selecciona Descargar.
- Reinicia Home Assistant una vez completada la descarga.
- Ve a Configuración > Dispositivos e Integraciones y busca «LLM Vision».
- Añade la integración y completa los datos de configuración general:
- Provider Fallback: define qué proveedor usar si el principal falla.
- System Prompt: directrices globales para el modelo antes de cada análisis.
- Title Prompt: formato para generar títulos cortos de eventos.
- Timeline Retention: días que se almacenan los eventos en el historial.
- Memory: ruta de imágenes de referencia con descripciones (beta).
El System Prompt es clave para orientar el estilo y nivel de detalle. Un ejemplo de System Prompt:
«Eres un asistente para un sistema domótico. Analiza imágenes de interiores y exteriores, describe acciones relevantes (puertas abriéndose, personas, luces), ignora detalles estáticos (mobiliario, plantas) y responde con un estilo directo para alertas.»
El Title Prompt debe generarte títulos breves (máx. 5 palabras) en formato «<Objeto> en <ubicación>». Por ejemplo: «Puerta abierta en salón».
Una vez completada esta configuración, ya tendrás la integración lista para añadir proveedores de LLM.
Proveedores de LLM: nube vs local
Los proveedores son los servicios de IA que procesan las imágenes. Pueden clasificarse en:
Proveedores en la nube
Ventajas
- Precisión alta.
- Soporte oficial.
- Modelos potentes y actualizados.
Inconvenientes
- Dependencia de Internet.
- Latencia variable.
- Coste asociado (aunque optimizable).
Opciones recomendadas:
- OpenAI (gpt-4o, gpt-4o-mini).
- Google AI Studio (gemini-2.5-pro, gemini-2.5-flash).
- Anthropic (claude-opus-4-0, claude-sonnet-4-0).
En Google AI Studio puedes obtener hasta 500 solicitudes/día gratis con Gemini 2.5 Flash. Para registrarte: https://cloud.google.com/ai-studio.
Proveedores en local
Ventajas
- Privacidad (no envías datos a la nube).
- Coste bajo o nulo.
Inconvenientes
- Latencia reducida solo si tienes hardware potente (GPU).
- Complejidad de instalación.
Ejemplo: Groq LLaMA 4 (límites gratuitos, precisión media). Requiere instalar un servidor local.
Recomendación inicial: combina un proveedor gratuito en la nube (Google o Groq) con otro de pago opcional (OpenAI). De este modo pruebas sin coste y escalas si necesitas más precisión.
Configuración de un proveedor (ejemplo con Google AI Studio)
- Regístrate en Google AI Studio y crea un proyecto.
- Activa la API de Vertex AI y crea una clave API.
- Copia la clave API.
- En Home Assistant, ve a LLM Vision > Proveedores > Añadir.
- Selecciona «Google Vertex AI» y pega la clave.
- Ajusta parámetros de temperatura (0–1) y top_p (0–1).
- Guarda la configuración.
Temperatura baja (0–0,5) genera respuestas conservadoras y precisas. Temperatura alta (0,7–1) ofrece salidas creativas. Top_p baja produce respuestas más seguras; top_p alta mayor diversidad de salida.
Configuración de cámaras ESP32-CAM con ESPHome
El módulo ESP32-CAM es una solución de videovigilancia ultra económica (5–10 €). Sus características principales:
- Microcontrolador ESP32 a 240 MHz.
- Cámara OV2640 (2 MP, hasta 1600×1200).
- PSRAM opcional (4 MB o 8 MB).
- Ranura para tarjeta SD.
- Compatibilidad con ESPHome y OTA.
Instalación de ESPHome
- Si no tienes ESPHome, ve a Integraciones > ESPHome > Instalar.
- Crea un nuevo dispositivo e indica su nombre (ej. esp32_cam_salon).
- Selecciona «ESP32” y el puerto serie USB.
- Configura la red Wi-Fi (SSID y contraseña).
- Copia y pega el siguiente YAML de ejemplo:
esphome: name: esp32_cam_salon platform: ESP32 board: esp32cam
wifi: ssid: «TuRedWiFi» password: «TuContraseña» manual_ip: static_ip: 192.168.1.100 gateway: 192.168.1.1 subnet: 255.255.255.0
esp32_camera: name: Cámara Salón external_clock: pin: GPIO0 frequency: 20MHz i2c_pins: sda: GPIO21 scl: GPIO22 data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35] vsync_pin: GPIO25 href_pin: GPIO23 pixel_clock_pin: GPIO22
api: ota: logger:
- Compila y sube el firmware vía USB o OTA.
- Una vez online, Home Assistant detectará automáticamente la cámara.
- Asigna una IP fija en tu router para evitar cambios de dirección.
En las notas del vídeo original hay enlaces a módulos mejorados en Aliexpress. Si necesitas el código completo y optimizado, apúntate a la lista de correo en https://programarfacil.com y escribe «chapapote» para recibirlo.
Acciones de LLM Vision en Home Assistant
LLM Vision pone a tu disposición cinco acciones principales. Las dos más útiles para empezar son:
Image Analyzer
Permite analizar una única imagen (snapshot) de una cámara o fichero local. Devuelve:
- Texto descriptivo con detalle de la escena.
- Título corto según el Title Prompt.
- Fotograma clave de la imagen analizada.
Uso típico: detección puntual (ropa tendida, presencia animal, objetos nuevos).
Stream Analyzer
Permite grabar y analizar un stream en directo durante X segundos y hasta N fotogramas. Devuelve:
- Descripción de la secuencia.
- Título corto.
- Fotograma clave.
- Opción de memoria (recordar referencias).
Uso ideal: monitorización activa, detección de comportamiento (subir/bajar escaleras, salida de casa, movimiento continuo).
Otras acciones
- Video Analyzer (análisis de un fichero de vídeo local).
- OCR Analyzer (reconocimiento de texto en imágenes).
- Object Counter (conteo de objetos de una clase específica).
Explóralas en la documentación oficial: https://llmvision.org/docs/actions.
Ejemplos prácticos de automatizaciones
Detección de ropa tendida en la terraza
Situación: quieres recibir una notificación si dejas la ropa tendida y comienza a llover.
Configuración:
- Crea un sensor booleano en Home Assistant:
sensor: – platform: llm_vision name: Ropa Tendida Detectada scan_interval: 900 # cada 15 minutos action: service: llm_vision.analyze_image data: provider: google_vertex_ai model: gemini-2.5-flash prompt: «Comprueba si hay ropa tendida y qué tiempo hace.» image_entity: camera.terraza max_tokens: 120 expose_image: true
- Crea una automatización:
automation: – alias: Alerta ropa tendida trigger: platform: state entity_id: sensor.ropa_tendida_detectada to: ‘on’ action: – service: notify.mobile_app data: title: «Ropa tendida en terraza» message: «Se ha detectado ropa tendida y parece que va a llover.»
Explicación: cada 15 minutos LLM Vision analiza una captura de la cámara. Si identifica ropa tendida y condiciones meteorológicas adversas, el sensor pasa a ON y recibes una notificación.
Reconocimiento de personas con ESP32-CAM
Objetivo: apagar automáticamente las luces de una habitación cuando no haya nadie.
- Configura un sensor LLM Vision:
sensor: – platform: llm_vision name: Presencia Despacho scan_interval: 60 action: service: llm_vision.analyze_image data: provider: groq_llama4 prompt: «Comprueba si hay alguna persona en la imagen y qué está haciendo.» image_entity: camera.esp32_cam_despacho max_tokens: 100 expose_image: false
- Automatización de luces:
automation: – alias: Apagar luces despacho sin presencia trigger: platform: state entity_id: sensor.presencia_despacho to: ‘off’ for: ’00:05:00′ action: – service: light.turn_off target: entity_id: light.despacho
Explicación: cada minuto se analiza la imagen del ESP32-CAM. Si el modelo detecta que no hay persona, el sensor queda en OFF. Tras 5 minutos sin presencia, se apagan las luces.
Detección de salida de casa y apertura automática de puertas
Caso avanzado: abrir la puerta cuando una persona baja las escaleras y sale de casa.
- Script para análisis de stream:
1 |
script: abrir_puerta_si_sale: sequence: - service: llm_vision.analyze_stream data: provider: openai model: gpt-4o prompt: "Comprueba si hay alguien alejándose de la cámara y bajando las escaleras. Si es así, responde True; en caso contrario, False." camera_entity: camera.terraza stream_duration: 5 max_frames: 10 max_tokens: 50 expose_image: true target: [] - variables: result: "{{ state_attr('script.abrir_puerta_si_sale','last_action_result') }}" - choose: - conditions: - condition: template value_template: "{{ result == 'True' }}" sequence: - service: lock.unlock target: entity_id: lock.puerta_principal |
- Automatización basada en detección inicial:
automation: – alias: Abrir puerta al salir trigger: platform: state entity_id: sensor.presencia_terraza to: ‘on’ action: – service: script.abrir_puerta_si_sale
Explicación: cuando la cámara detecta presencia en la terraza, el script graba un stream de 5 s y analiza 10 fotogramas. Si el modelo devuelve True (persona bajando escaleras), se desbloquea la puerta automática.
Buenas prácticas y optimización
Para sacar el máximo partido a LLM Vision y controlar costes:
- Afinar prompts: cuanto más específicos y claros, menos tokens gastarás y más precisión tendrás.
- Ajustar temperatura y top_p según necesidad: para tareas de detección, temperatura baja (0–0,3) y top_p bajo (0,2–0,5) suelen funcionar mejor.
- Limitar frecuencias de escaneo: valores entre 30 s y 5 minutos según importancia de la tarea.
- Usar fallback providers: evita errores cuando un servicio falla.
- Gestionar Timeline: revisa periódicamente el historial y elimina eventos obsoletos.
- Considerar memoria: para reconocer personas o mascotas habituales con mayor fiabilidad.
Casos de uso adicionales
- Detectar palomas o aves en la terraza y activar un sistema de sonido o aspersores.
- Localizar objetos perdidos (mochila, bolso) en varias estancias.
- Supervisar zonas críticas (niños jugando, garaje) y enviar alertas.
- Automatizar encendido/apagado de toldos según posición del sol y tipo de mobiliario.
- Integrar con sistemas de riego o climatización según estado del jardín.
Conclusión
La integración LLM Vision revoluciona la domótica al permitir que tu sistema comprenda el mundo visual como lo haría un humano. Con Home Assistant, HACS y cámaras económicas como la ESP32-CAM, puedes montar una plataforma inteligente capaz de describir escenas, detectar comportamientos y tomar decisiones automatizadas en tiempo real. Esta guía te ha mostrado desde la instalación y configuración hasta ejemplos prácticos de automatizaciones avanzadas. Ahora depende de ti imaginar nuevos casos y llevar tu hogar al siguiente nivel de inteligencia.
Si necesitas más información, no dudes en visitar las siguientes referencias:
- LLM Vision: https://llmvision.org
- Home Assistant: https://www.home-assistant.io
- HACS: https://hacs.xyz
- OpenAI API: https://openai.com
- Google AI Studio: https://cloud.google.com/ai-studio
- Groq LLaMA 4: https://www.groq.com
- ESPHome: https://esphome.io
- Frigate NVR: https://github.com/frigate
Y si quieres el código completo de ESP32-CAM con ESPHome, apúntate al curso gratuito de domótica en https://programarfacil.com y solicita el archivo escribiendo «chapapote, pásame el código ESPHome».
¡Empieza hoy mismo a dotar de inteligencia visual tu hogar y comparte tus resultados en la comunidad!