Finbiat · gestión, tecnología y automatización

Caso real, versión técnica: Home Assistant con solar, batería, PVPC y 150 aparatos Zigbee

Escrito por

en

Este artículo cuenta por dentro el mismo caso que la versión para todos los públicos: una vivienda unifamiliar con placas solares, batería, piscina, coche eléctrico y unos doscientos aparatos, gestionada íntegramente por Home Assistant. Va dirigido a quien ya conoce la plataforma o quiere saber qué hay detrás de una instalación de este tamaño.

Arquitectura

  • Home Assistant OS en local, con acceso remoto por un túnel cifrado sin abrir puertos en el router.
  • Dos redes Zigbee con Zigbee2MQTT (unos 130 y 22 aparatos), cada una con un coordinador por Ethernet y alimentación PoE. Canales elegidos para no solaparse con la wifi de 2,4 GHz.
  • Unos 40 aparatos Tuya wifi integrados en local con LocalTuya, y la nube de Tuya como segunda vía para algunos radares.
  • Red UniFi integrada: rastreadores de presencia por wifi y bloqueo de clientes para forzar reconexiones.
  • Configuración en YAML, un archivo por tema, versionada en Git, con copia de seguridad antes de cada cambio. Copias completas diarias del sistema en la nube.
  • La lógica empezó en Node-RED y se ha migrado entera a automatizaciones y plantillas nativas de Home Assistant: menos piezas que mantener y todo en un solo sitio.

Energía: PVPC, previsión solar y balance neto horario

Instalación monofásica, con pinza de red en la acometida, medidores en los consumos principales y batería doméstica. Las fuentes de datos son la integración PVPC (precios por hora de hoy y, desde las 20:15, de mañana) y Solcast para la previsión solar.

  • Balance neto horario. En España la compensación se hace por hora, así que un sensor calcula el saldo de la hora en curso y cuántos vatios hay que gastar de más o ahorrar para cerrarla en cero. Un día típico de otoño se exportaron 3 kWh brutos, pero solo 0,5 kWh netos: el resto se compensó dentro de la misma hora.
  • Carga de la batería. Si el precio baja de un umbral, carga en las horas más baratas de hoy y mañana. Antes de la tarde calcula lo que va a consumir la casa hasta la noche, descuenta lo que ya tiene y una parte prudente del sol previsto, y carga lo que falta en las horas baratas restantes, siempre que salga a cuenta frente a las horas que va a cubrir.
  • Descarga. La batería entrega el menor valor entre el consumo instantáneo y su mediana de 6 minutos: baja al momento cuando se apaga algo, para no exportar batería, y sube despacio, para no perseguir picos.
  • Excedentes por prioridades: depuradora, cargador del coche y aires uno a uno, con histéresis y respetando la potencia contratada.
  • Precio cero o negativo: cada minuto se enciende un consumidor más, hasta un límite de red. Si el precio de venta es negativo, como último recurso un radiador de aceite quema el excedente hasta cerrar la hora en cero.
  • Corrección de la previsión. Las placas producían alrededor del 68 % de lo previsto en octubre, y bastante menos a primera y última hora por las sombras con el sol bajo. Ahora Solcast compara con la producción real medida y aplica factores de corrección por cada media hora.
  • Seguridad de datos: una plantilla vigila que cada medidor reporte. Si alguno se queda sin datos, los cálculos de energía pasan a «no disponible» en lugar de decidir con un valor congelado (las pinzas Zigbee siguen mostrando su último valor si se cae la red).

Ocupación: radares mmWave, PIR y cámaras

Cada estancia tiene uno o dos radares de 24 GHz, en varios casos combinados con PIR, y algunas tienen cámara. La ocupación es una plantilla por disparadores con histéresis:

  • Para entrar en exteriores hace falta radar + PIR, porque el viento mueve el radar pero no dispara el PIR. Para seguir ocupada basta el radar, que detecta a una persona quieta.
  • Un «cambio brusco» (la distancia del radar pasa de 0 a un valor) se trata como entrada inmediata.
  • La cámara se ignora como entrada durante 45 s después de un cambio de las luces de esa estancia, porque al apagarse la luz la cámara ve «movimiento» y volvía a encenderla.
  • Tras recargar las plantillas, un estado desconocido cuenta como ocupado: así una recarga nunca deja a oscuras a alguien que está quieto.

Luces: una sola automatización para casi 30 estancias

Una tabla de estancias en una macro Jinja (sensor o sensores de luz, umbral de lux y margen de apagado de 2 a 10 minutos) alimenta una única automatización. Se apaga solo con la ocupación en «off» (nunca con «no disponible») y con el margen cumplido, y cada 5 minutos hay un repaso. Si una estancia tiene varios sensores de luz, se usa el mayor de los que tengan dato. Los interruptores auxiliares se sincronizan con la luz real, y se ignora el gesto típico de apagar por costumbre justo después de que la automatización haya encendido.

Clima por zonas

  • 12 zonas con Versatile Thermostat: presencia de la casa, apagado por ventana abierta a los 30 s y aviso si sigue abierta a los 15 minutos con la zona pidiendo clima.
  • Aires sin wifi controlados por infrarrojos con SmartIR. Como no informan de su estado, se usa su consumo eléctrico para saber si están encendidos.
  • Caldera de pellets con válvulas termostáticas Zigbee: el termostato solo se activa dentro del horario y con demanda real, nunca con todos los radiadores cerrados, y hay 5 minutos de poscirculación antes de cerrar los últimos. El hvac_action de las válvulas no es fiable, así que se usa su modo.
  • Aerotermia con horario de 03:00 a 07:00 y de 11:00 a 17:30: calienta en horas baratas o con sol y evita las más caras.

Coche, piscina y riego

  • Coche: el modo manual va por delante del programado, y este del automático (excedentes, si no las 4 horas seguidas más baratas, o un precio umbral). La presencia del coche se combina de varias fuentes, por orden de fiabilidad. Si es dudosa, el sistema enciende el relé y comprueba si consume. Por seguridad, el relé se apaga si no hay consumo en 5 minutos.
  • Depuradora: manual, programada o automática según excedentes y precio, con contadores de minutos diarios. El clorador y la bomba de calor solo funcionan con la depuradora en marcha.
  • Riego: límite diario por zona con contadores y retraso por lluvia medida o prevista.

Fiabilidad y autorreparación

  • Latido Zigbee: si tres medidores dejan de enviar datos a la vez, se reinicia el coordinador cortando su PoE desde el switch, como mucho una vez cada 30 minutos.
  • Tuya wifi: si un aparato lleva 10 minutos, 1 hora o 4 horas sin conexión, se bloquea 20 s en UniFi y se desbloquea para forzar que se reconecte.
  • Medidores siempre encendidos: si alguien apaga un enchufe medidor, se vuelve a encender a los 10 s y avisa.
  • Inventario diario: aparatos con todas sus entidades no disponibles, por tipo, y baterías por debajo del 20 %.
  • Historial depurado: los sensores técnicos ruidosos (calidad de enlace, distancia, tensión, frecuencia…) se excluyen del recorder.

Interfaz y voz

  • Paneles en modo secciones, uno para el escritorio y la tableta y otro para el móvil. Las vistas de cada estancia se generan con un script a partir de las entidades reales. Hay una vista de potencia con power-flow-card-plus y el desglose de lo que consume cada parte de la casa.
  • Una skill de Alexa propia (sin Nabu Casa) para las luces y los grupos por planta. Los avisos de voz suenan solo en las estancias ocupadas, salvo los urgentes, y nunca en modo «a dormir».
  • Notificaciones al móvil con acciones y foto (timbre) y avisos críticos para el humo.

Lecciones aprendidas

  • En las plantillas por disparo, las variables que son diccionarios se devuelven como diccionario de Python, no con to_json.
  • El entity_id de una plantilla sale de su nombre, no de su unique_id. Un nombre coherente ahorra muchos errores.
  • Antes de recargar automatizaciones, se valida la configuración: una sola referencia rota impide cargar todas.
  • Medir antes de ajustar: los retrasos de entrada y el porcentaje de tiempo ocupado de cada estancia se miden y se comparan antes y después de cada cambio en los radares.

¿Quieres algo así, o solo una parte, en tu casa o en tu negocio? En Finbiat diseñamos, instalamos y mantenemos instalaciones de Home Assistant. Más información o escríbenos.

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *