Saltar al contenido

Hogar conectado · Domótica e IoT

Plataforma domótica sobre Home Assistant

La configuración completa de una vivienda en Home Assistant, versionada en git y probada con tests como cualquier otro software. Es la base sobre la que funcionan el asistente de voz Jarvis, el gemelo digital 3D y la monitorización solar.

Tipo
Producto propio
Sector
Hogar conectado
Solución
Domótica e IoT
Periodo
Desde julio de 2026
Estado
En producción En uso en una vivienda

Resumen ejecutivo

Domótica de una vivienda sobre Home Assistant: presencia por habitación con radar y Bluetooth, Zigbee, Shelly y avisos de lo que falla en silencio.

La plataforma organiza Home Assistant en más de 40 paquetes de configuración, cada uno con una función y el porqué documentado en su cabecera. Cuatro nodos ESP32 con radar LD2410C y proxy Bluetooth dan presencia por habitación, que se cruza con un sensor Aqara FP2 por zonas y con balizas BLE. Hay sensores Zigbee, relés Shelly, climatización por infrarrojos, una persiana controlada por tiempo, limpieza por estancias y avisos hablados en cada habitación. Varios paquetes vigilan la malla Zigbee, los satélites de voz, el micrófono y los recursos de la máquina para que ninguna avería pase inadvertida.

El reto

  1. Cada tecnología de presencia tiene un hueco: el radar detecta a alguien quieto pero no sabe quién es, y el teléfono sabe de quién es pero no si su dueño está con él.

  2. Comparar la señal Bluetooth entre nodos sin ningún margen hacía que la habitación detectada cambiara varias veces por minuto.

  3. La casa tenía historial de averías silenciosas: un receptor Zigbee desenchufado dejó los sensores sin datos durante 21 horas, y en el panel un sensor «no disponible» se confunde con un estado normal.

  4. Algunos aparatos no admiten calibración, como una persiana motorizada sin tope de apertura que se rompe si abre de más.

La solución

Toda la configuración vive en paquetes YAML versionados, con tests en pytest que comprueban entidades referenciadas, automatizaciones y pantallas. La presencia se calcula por capas que funcionan con lo que haya instalado y responden «sin datos» en lugar de «vacío» cuando no pueden saberlo. Servicios propios en Python publican por MQTT lo que Home Assistant no trae de serie.

Funcionalidades

Qué hace, pantalla a pantalla

  • Presencia por habitación con radar

    Cuatro nodos ESP32 con ESPHome leen un radar LD2410C por UART, que detecta a una persona aunque esté quieta, y hacen de proxy Bluetooth. Cada nodo mide la señal de las balizas BLE y Home Assistant elige la habitación con un margen de 6 dB.

  • Fusión de presencia

    Un paquete cruza radar, zonas del Aqara FP2, teléfono y voz. Cuenta cuántas personas hay en casa, infiere quién está en cada habitación cuando solo hay una opción posible y funciona con los sensores que existan en cada estancia.

  • Puente propio para el Aqara FP2

    Un servicio en Python se empareja con el sensor por HomeKit, lee presencia, zonas, luz y número de personas, y lo publica en MQTT con autodescubrimiento, de modo que Home Assistant crea las entidades sin configuración manual.

  • Luces, clima y persianas por estancia

    De madrugada, entrar en una estancia enciende luces tenues y se apagan tras unos minutos sin nadie. Tres equipos de aire se gobiernan por infrarrojos de forma independiente y la persiana sin tope se controla por tiempo medido.

  • Limpieza por estancias

    La aspiradora Roborock se integra con las áreas de Home Assistant, así que se le pide limpiar «la cocina» y no un segmento numerado. Las estancias se eligen tocándolas en el plano 3D del panel o por voz.

  • Avisos hablados por habitación

    Un único script decide por qué altavoz o satélite hablar en cada estancia, o en todas, sin que quien avisa sepa qué aparato hay. La tele de la misma área se silencia mientras un satélite escucha y recupera el sonido al terminar.

  • Salud del sistema

    Paquetes que vigilan la disponibilidad de cada sensor Zigbee, los satélites de voz, el micrófono que entrega silencio, la memoria y el disco de la máquina, y los aparatos que dejan de responder, con avisos claros en vez de un «no disponible» mudo.

  • Integración con Alexa

    Alexa controla la casa en local mediante un puente Matter, que sustituyó a una primera skill propia en AWS Lambda. Los altavoces Echo son un destino más de los avisos, con horario, prioridad y límite de repeticiones.

Arquitectura

Cómo está construido

Plano · domotica-home-assistant 6 capas · 20 piezas
  1. Interfaces

    • Dashboards Lovelace para tablet de pared, móvil y gemelo 3D
    • Asistente de voz Jarvis y satélites por estancia
    • Alexa por un puente Matter local
    • De Home Assistant a Interfaces: paneles, voz y avisos
    • De Interfaces a Home Assistant: órdenes
  2. Home Assistant

    • Más de 40 paquetes YAML con plantillas Jinja
    • Scripts y automatizaciones por estancia
    • Componente de conversación propio
    • De Mensajería a Home Assistant: estados y eventos
  3. Mensajería

    • Mosquitto (MQTT) con listas de acceso
    • Zigbee2MQTT
    • API nativa de ESPHome
    • De Dispositivos a Mensajería: Zigbee, BLE y API de ESPHome
  4. Dispositivos

    • 4 nodos ESP32 con radar LD2410C y proxy Bluetooth
    • Aqara FP2 por zonas
    • Sensores Zigbee y relés Shelly
    • Aspiradora Roborock y aires por infrarrojos
  5. Servicios propios

    • Puente FP2 por HomeKit (Python)
    • Monitor de recursos por MQTT
    • Registro de eventos de la casa en PostgreSQL
    • Lectura del inversor solar
  6. Plataforma

    • Mini PC con Debian
    • Docker Compose y systemd
    • Copias con manifiesto y verificación

Otros flujos

  • Servicios propios → Mensajería : MQTT con autodescubrimiento
  • Plataforma → Home Assistant : contenedores, servicios y copias

Tecnologías

Stack verificado en el código

Backend

  • Python

Infraestructura

  • Docker
  • Linux

IoT, domótica y 3D

  • Home Assistant
  • ESPHome
  • ESP32
  • Zigbee2MQTT
  • MQTT (Mosquitto)
  • Bluetooth LE
  • Shelly

Calidad

  • pytest

Ingeniería

Cómo se planteó y se construyó

  1. Auditoría y presencia (julio de 2026)

    A finales de julio de 2026 se audita la instalación: credenciales en los servicios que no las tenían y apagado de los que nadie usaba. Se montan los nodos ESP32 con radar y proxy Bluetooth y se crea la fusión de presencia, que funciona con lo que haya.

  2. Mini PC y vigilancia (agosto de 2026)

    La casa se muda a un mini PC con Debian con guía y plan de migración propios. Llegan la vigilancia de la malla Zigbee, un escáner de salud del sistema, los aires por infrarrojos y grupos de luces con los nombres que se usan al hablar.

  3. Avisos por habitación (septiembre de 2026)

    Se unifica la salida de avisos en un solo script por habitación, se añaden la salud de los satélites de voz y del micrófono y se pone al día la seguridad del mini PC, con parches y limpieza de copias que no debían estar en disco.

  4. Estancias y energía (octubre de 2026)

    Integración con Alexa, primero por skill propia y después por un puente Matter local, presencia por zonas en el salón con el FP2, persiana controlada por tiempo, aspiradora por estancias desde el plano 3D, luces por presencia en el despacho y lectura del inversor solar.

Retos técnicos resueltos

Decidir en qué habitación está una baliza Bluetooth sin que el resultado salte entre estancias.
Cada nodo publica la intensidad de señal y una plantilla de Home Assistant elige el mejor, pero para quitarle el puesto a la habitación actual hay que ganarle por 6 dB. Si ningún nodo oye la baliza, el sensor dice «sin datos» y no «vacío».
Averías que no dan ningún error: un receptor desenchufado, un micrófono que entrega silencio o un historial que no guardaba nada.
Un escáner de salud y paquetes específicos vigilan la disponibilidad de cada sensor Zigbee, los satélites, el micrófono y los recursos. Los tests comparan las entidades citadas en la configuración con el registro real de Home Assistant para cazar referencias muertas.
Controlar una persiana motorizada que no se puede calibrar porque no tiene tope al abrir.
Se midió con cronómetro lo que tarda en abrir y cerrar del todo. Home Assistant calcula la posición por tiempo y expone solo esa entidad; la del relé, que no sabe dónde está, nunca llega a los paneles ni a Alexa.
Que la voz encuentre la luz correcta cuando 27 de 30 entidades de luz eran decorativas.
Las entidades decorativas que dejaba una réplica visual de otro panel se retiraron del camino de voz y las luces reales se agruparon con los nombres que se usan al hablar, porque el nombre de la entidad es la interfaz de voz.

Galería

Más pantallas

Resultados

Lo que aporta

Potencial · sin medición propia

  • Por habitación

    presencia que detecta también a personas quietas, con radar en cuatro estancias

  • 1 script

    para que cualquier automatización hable en la habitación adecuada

  • Sin averías mudas

    cada sensor, satélite y micrófono vigilado con aviso propio

Cronología

Cómo ha evolucionado

  1. Auditoría de la instalación, nodos ESP32 con radar y fusión de presencia.

  2. Paso a mini PC con Debian y vigilancia de la malla Zigbee.

  3. Avisos hablados por habitación y salud de los satélites de voz.

  4. Alexa, persiana por tiempo, aspiradora por estancias y energía solar.

Evolución prevista

Lo siguiente

Trabajo planificado, todavía no disponible.

  1. Previsto · 01

    Relés con medición para cargas solares

    Desviar el excedente solar al termo y a otras cargas cuando haya relés que midan consumo, con un interruptor de habilitación apagado de fábrica.

  2. Previsto · 02

    Lectura local del inversor

    Sustituir la lectura por la nube por un ESP32 conectado por RS-485, publicando el mismo mensaje MQTT para que entidades y alertas no cambien.

Proyectos relacionados

Más trabajo en esta línea

Ver todos los proyectos
  • Producto propio En producción

    Jarvis, asistente de voz para el hogar

    Hogar conectado · Asistente de voz con IA

    Asistente de voz para una casa con Home Assistant: palabra de activación propia, órdenes resueltas en código y cuatro proveedores de LLM con respaldo.

    • Python
    • FastAPI
    • HTMX
    • PWA
  • Render isométrico de la planta 0 de la vivienda modelada, sin techo, con salón, cocina, dormitorios, baños y terraza amueblados.

    Producto propio En producción

    Gemelo digital 3D de una vivienda

    Hogar conectado · Visualización 3D en tiempo real

    Gemelo 3D navegable de una vivienda dentro de Home Assistant: del plano de Sweet Home 3D a un GLB ligero que muestra luces, energía y estancias en vivo.

    • Sweet Home 3D
    • Blender
    • Python
    • three.js
  • Diseño de producto · simulación Portada de la landing de Smart Sun con el titular «Tu casa, ahora piensa con el sol» y un panel de energía solar con producción, consumo, batería y flujo hacia termo, coche y clima.

    Laboratorio I+D Prototipo

    Smart Sun AI, gestión del autoconsumo solar

    Energía solar residencial · Monitorización y gestión de autoconsumo

    Producto de laboratorio para el autoconsumo solar: la medida y las alertas funcionan en una vivienda; el optimizador que decide está en fase de diseño.

    • Python
    • MQTT (Mosquitto)
    • Home Assistant
    • three.js

Hablemos

¿Necesitas desarrollar una solución similar?

Cuéntanos el problema. Te respondemos con un planteamiento claro: qué haríamos, en cuánto tiempo y con qué entregables.