Automatizaciones basadas en el tiempo que hace

Hoy quiero contaros una idea a la que llevo tiempo dándole vueltas: hacer automatizaciones con Home Assistant que no miren solo la temperatura que hay dentro de casa, sino también lo que está pasando fuera antes de decidir si conviene calentar, ventilar o avisarnos de que va a empezar a llover en 15 minutos como hacen en la Fórmula 1.

La base ya existe. En Home Assistant tengo lecturas de estaciones Netatmo cerca de mí con temperatura, humedad y precipitación, y también la previsión de servicios externos como el de Met.no. Dentro de casa tengo mil sensores de temperatura y humedad, radiadores, aire acondicionado y contactos para algunas ventanas, la puerta del balcón y la puerta de la galería por ejemplo.

Y con todo esto, os cuento algunas automatizaciones que se me han pasado por la cabeza y que se pueden hacer tanto desde la app Casa como desde Home Assistant, que el otro día se me quejó un oyente de que cada vez me estaba centrando más en Home Assistant y menos en HomeKit… a ver, no es exactamente así, pero es verdad que Home Assistant da algunas posibilidades que en la app Casa… os iba a decir que vamos a tardar en ver pero no, simplemente algunas cosas no las vamos a ver nunca. Aún así, dejadme que os cuente estas automatizaciones porque se pueden hacer tanto desde la app Casa con Atajos como desde Controller for HomeKit como desde Home Assistant, así todos contentos. Vamos al lío.

Captura de Home Assistant: sensor exterior de temperatura y su historial.
La temperatura exterior y el historial que Home Assistant ya puede consultar. La captura está encuadrada para no mostrar la ubicación de la vivienda.
Captura de Home Assistant: sensor exterior de humedad y su historial.
La humedad exterior llega como otro dato independiente. En la captura solo se ve el panel del sensor, sin el nombre de la casa ni de la estación.

Una frontera clara entre Home Assistant y Casa

En cualquier caso, Home Assistant es quien mejor puede comparar sensores y mantener umbrales durante un tiempo, eh?. La app Casa es muy cómoda para disparar escenas y mostrar avisos en el iPhone pero algunas automatizaciones no son tan sencillas de hacer, y eso que ahora podemos crear un Atajo diciendo de viva voz qué es lo que quieres hacer, pero aún así no es fácil… Por eso mi propuesta es que Home Assistant calcule cosas, que sume y reste y multiplique y cosas así que desde un Atajo nos iba a costar la vida…  para tener cuatro datos: Tiempo – Helada, Tiempo – Lloviendo, Tiempo – Conviene ventilar y Tiempo – Calor fuera— y los publique como sensores de contacto en el bridge HomeKit para que los vea la app Casa.

Si el sensor de contacto está abierto, significaría «se cumple la condición». Así la app Casa no tiene que entender lluvia, comparar dos temperaturas ni contar cuánto tiempo llevan estables… y si una lectura exterior no está disponible, el contacto de situación no se abrirá. Así no se activa la escena de calor; y cualquier regla que reaccione al cierre comprobará también que las lecturas sigan siendo válidas.

Esquema del flujo entre Netatmo, Home Assistant, el puente HomeKit y Casa con Atajos.
Esquema del recorrido de los datos. Es una ilustración del diseño, no una captura de una configuración ya implantada.

Como os decía antes, para estas automatizaciones me puse la condición de que tienen que poder hacerse también con Atajos. No quiero que una función importante dependa de un flujo exclusivo de Controller o de Home Assistant. En la app Casa, la automatización puede convertirse en Atajo y ejecutar condiciones y acciones, pero Home Assistant aporta los sensores calculados. Vamos a ver qué música podemos sacarle a este trombón.

La primera: la calefacción en modo eco si fuera hace calor

Esta es una de las más obvias: Si la temperatura exterior supera los 18 °C durante una hora, el sensor Tiempo – Calor fuera se activa, se abre. En Casa, un Atajo activa la escena «Radiadores en modo eco». Cuando fuera baja de 16 °C, el sensor se cierra y Casa activa «Radiadores programa» para seguir la programación que tengan.

La diferencia entre 18 y 16 grados está pensada para evitar que la escena esté cambiando continuamente si la temperatura se queda rondando un único valor. Antes de activarlo hay que decidir exactamente qué significa «eco» para cada radiador y revisar los horarios que ya existen para que no se pisen. Las automatizaciones actuales se quedan como están, simplemente la automatización las desactiva para que no se active la caldera sabiendo que fuera hace calor y que en seguida se va a calentar la casa.

Esquema de la automatización eco con umbrales de 18 y 16 grados.
Diseño propuesto: el sensor de calor fuera se mantiene activo entre los dos umbrales para evitar oscilaciones.

Ventana abierta y calefacción: que la casa no caliente la calle

La segunda automatización es muy sencilla y útil en invierno. Si la ventana del salón lleva abierta más de cinco minutos y fuera hay menos de 15 °C, se pone el radiador en antihielo o se apaga la caldera. Si la ventana sigue abierta veinte minutos, llega un aviso al iPhone. Al cerrar la ventana o la puerta o lo que sea, el radiador vuelve a su programa.

Ese último paso necesita algo de cariño: no basta con encender el radiador a una temperatura fija al cerrar la ventana. Home Assistant guarda el modo anterior y lo restaura, para no dejar el salón en un estado distinto al que tenía. Y si el sensor exterior está en «no disponible», no se toca el radiador.

Esquema de la respuesta a una ventana abierta cuando hace frío.
Esquema propuesto para retrasar la acción, avisar si la ventana sigue abierta y restaurar el modo anterior.

Si empieza a llover, que el aviso diga si hay algo abierto

Esta automatización también me mola, que si empieza a llover, nos llegue un aviso si hay algo abierto. La automatización detecta el paso de seco a lluvia cuando la precipitación de la última hora supera 0,2 milímetros. El aviso se mandaría una sola vez, no una notificación nueva en cada lectura. Además, miraría los contactos de las ventanas y la puerta de la galería o el balcón para decirnos cuál está abierta.

Captura de Home Assistant: sensor de precipitación y su historial.
Captura real del sensor de precipitación en Home Assistant. La alerta se activaría al superar el umbral configurado y detectar el inicio de un episodio.
Esquema de alerta de lluvia: cambio de seco a más de 0,2 milímetros acumulados en la última hora, comprobar ventana y puerta y notificar una sola vez.
Propuesta de aviso al comenzar un episodio de lluvia.

Aquí hay una limitación práctica: Netatmo actualiza aproximadamente cada diez minutos y el dato de lluvia puede llegar con diez o quince minutos de retraso. La notificación ayuda a reaccionar, pero no puede prometer que avise en el primer minuto de lluvia que esto no es la Fórmula 1 como os decía antes, estaría súper guay saber qué servicio tienen contratado, macho.

Helada: combinar la medición con la previsión

La alerta de helada tendría dos partes. A las nueve de la noche, si Met.no anuncia una mínima por debajo de 2 °C, recibiría un aviso preventivo: plantas, coche fuera del garaje que lo sabemos por la posición del airtag que llevo en el coche y lo que convenga revisar. Por la noche, entre las diez y las ocho, si el sensor exterior baja de 2 °C y se mantiene así quince minutos, llega el aviso de helada real. Como máximo, uno por noche.

La previsión sirve para adelantarse, claro. Y si el dato exterior no está disponible, no se genera una helada falsa.

Esquema de la alerta nocturna de helada y el aviso de previsión.
Dos avisos distintos: uno preventivo basado en Met.no y otro confirmado por la temperatura exterior.

Ventilar cuando el aire de fuera realmente ayuda

Esta parte la tengo planteada sobre el papel pero no la voy a activar hasta primavera. La condición inicial es que fuera esté al menos dos grados más fresco que el salón, que no supere los 24 °C y que la humedad exterior esté por debajo del 80 %. Si se cumplen las condiciones, el sensor «Tiempo – Conviene ventilar» puede disparar un aviso, como máximo uno por tarde.

Además, si el aire acondicionado está encendido y se abre la ventana, un Atajo de Casa lo apaga. Esta acción se queda en la app Casa: el sensor de ventana ya es un disparador HomeKit y la automatización se puede convertir a Atajo. No volvería a encenderlo automáticamente al cerrar, porque quizá alguien lo apagó a propósito.

Hay un matiz sobre la humedad: comparar solo humedad relativa exterior e interior puede hacer que la liemos. Ese 80 % es un filtro inicial; más adelante tendría sentido calcular humedad absoluta o punto de rocío antes de recomendar ventilar, especialmente en días fríos y húmedos.

Esquema de los criterios propuestos para ventilar y apagar el aire al abrir la ventana.
Diseño de la fase de ventilación, que permanecerá desactivada hasta primavera. El Atajo apagaría el aire cuando se abre la ventana.

Dos ideas más: vigilar los datos y la humedad interior

Se me ocurren dos automatizaciones adicionales que sí aprovechan los sensores que ya hay. La primera es un aviso si las estaciones Netatmo dejan de entregar datos válidos durante más de veinte minutos.

La segunda es un aviso de humedad interior persistentemente alta, por habitación, usando los sensores Aqara. Por ejemplo, se podría estudiar un umbral de alrededor del 65 % durante media hora, pero lo ajustaría con datos reales de cada estancia antes de decidirlo. Si además el exterior ofrece buenas condiciones, el aviso podría sugerir ventilar.

Esquema de ideas adicionales: dato exterior obsoleto y humedad interior persistente.
Dos extensiones posibles que no dependen de los radiadores. Los umbrales de humedad quedan por decidir tras observar las estancias.

Dos automatizaciones explicadas paso a paso

Para que esto se entienda también al escucharlo, voy a bajar dos ideas a tierra y os las cuento paso a paso: la primera usa Home Assistant para decidir cuándo conviene pasar los radiadores a eco; la segunda aprovecha una automatización sencilla de HomeKit para apagar el aire si se abre la ventana.

1. Calor exterior: radiadores en eco

En Home Assistant: crea un ayudante de tipo Alternar con un nombre como «Tiempo – Calor fuera activo». Añade una automatización que, cuando sensor.temperatura_exterior supere los 18 °C durante una hora, active ese ayudante; y otra que, al bajar de 16 °C, lo desactive. El ayudante conserva la histéresis: entre 16 y 18 grados no cambia de estado. Para exponer ese estado como contacto en HomeKit, crea una plantilla `binary_sensor` con `device_class: opening`; el ayudante Alternar por sí solo se publica como interruptor. Crea también un sensor binario «Tiempo – Datos exteriores válidos», que solo se abre con una lectura numérica reciente, y publica ambos sensores binarios en el puente HomeKit. Si se usa Casa, convierte la regla en un Atajo y comprueba que «Datos exteriores válidos» esté abierto antes de ejecutar cualquiera de las escenas; así, el cierre del contacto de calor por una lectura perdida no activa por accidente la escena de programa. Si el editor de Controller permite añadir esa condición, úsala también; si no, deja en Home Assistant las acciones sobre radiadores, con la condición de dato válido. Luego, con la integración Template y el bridge de HomeKit puedes montar y exponer esos datos a HomeKit.

Desde la App Casa: creas primero dos escenas, «Radiadores eco» y «Radiadores programa», con el ajuste que quieras para cada radiador. Después crea una automatización desde Cuando un sensor detecta algo, eliges el contacto «Tiempo – Calor fuera» y usas la condición esa apertura para activar la escena eco. Creas otra para el cierre y selecciona la escena de programa.

Desde Controller for HomeKit: entra en Automatizaciones y añade una automatización normal de HomeKit. Como disparador, selecciona el contacto y su estado abierto; como acción, la escena «Radiadores eco». Repites el proceso para el estado cerrado y la escena «Radiadores programa» y arreglado. También lo puedes hacer con un Workflows de Controller, pero necesitas un Controller Hub siempre disponible, que ya hemos hablado de esto alguna vez.

Esquema de Home Assistant creando el contacto Calor fuera y Casa o Controller activando las escenas de radiadores.
El esquema resume la lógica de los 18/16 grados. Antes de activar escenas, revisa si ya existe una automatización que cambie los radiadores: no conviene que dos reglas compitan por el mismo modo.

2. Se abre la ventana del salón: apagar el aire

Desde la app Casa: abre Automatización nueva y elige Cuando un sensor detecta algo. Selecciona el sensor de la ventana del salón y marca que se abre; añade como acción apagar el aire acondicionado del salón y guarda. Si quieres comprobar antes si el aire está encendido, convierte la automatización en un Atajo y añade una condición, que ya sabes que recomiendo siempre esto para no ir lanzando paquetes por la red a diestro y siniestro. No añadas una acción para volver a encenderlo al cerrar la ventana porque igual alguien lo apagó deliberadamente.

Pantalla de Casa en Nueva automatización, con la opción Cuando un sensor detecta algo y sugerencias de la app.
Para detectar la apertura de la ventana, en Casa elegimos «Cuando un sensor detecta algo». El bloque inferior muestra sugerencias generadas por la app.

Desde Controller for HomeKit: creas una automatización normal, elige el sensor de puerta o de contacto —según el tipo con el que la app Casa presente ese sensor—, marca el estado abierto y añade la acción de apagar el aire. La captura muestra el selector de disparadores de Controller; el nombre exacto depende del tipo de accesorio que publique el puente. No elijas Workflows para este caso si quieres mantenerlo dentro del flujo normal de HomeKit.

Pantalla real de Controller for HomeKit con el selector de disparadores, incluida la opción Sensor de puerta y Sensor de contacto.
En Controller, el disparador de una ventana puede aparecer como sensor de puerta o de contacto. Aquí se ve el selector antes de elegir el accesorio.

Desde Home Assistant: creas una automatización con el disparador cuando binary_sensor.salon_ventana pase a abierto. Añade como condición que climate.salon_2 no esté apagado y ejecuta climate.turn_off. Esta ruta permite conservar la lógica en HA si prefieres no repartirla entre aplicaciones.

Primero diseñar; luego probar sin dejar estados falsos

Veis todo esto es lo que os digo que podemos hacer con Home Assistant y que desde la app Casa con Atajos no es tan sencillo de hacer. No digo que no se pueda, ojo, pero es más complicado. Hay por ahí cada Atajo para flipar, yo tengo alguno de Antonio Bueno, del podcast el Garaje de Cupertino que son un espectáculo, pero es verdad que en Home Assistant es más sencillo meter fórmulas que nos permitan calcular las situaciones, y luego la app Casa y Atajos ejecutan las acciones. Además, ten en cuenta que cada automatización se diseña para fallar hacia «no actuar» cuando falten datos. También hay que controlar las repeticiones: una lluvia cada vez que empiece a llover aunque pare al rato y luego vuelva, una helada por noche y ningún bucle de escenas por cambiar de estado varias veces.

Carlos Sahuquillo

Carlos Sahuquillo

'Haga lo que haga en la vida, siempre compito' - Jacques Villeneuve Reserva una sesión →

Sigue leyendo

Entradas relacionadas

Ver todo el blog
Conversación

0 comentarios

Deja un comentario

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.