Automatizar persianas con previsión de lluvia

España es uno de los pocos países europeos donde las persianas exteriores enrollables son prácticamente universales. Están en casi todas las ventanas de casi todas las casas, y llevamos décadas usándolas para controlar la luz, el calor y la privacidad. Lo que no siempre aprovechamos es la posibilidad de proteger los cristales de la lluvia.

He creado un blueprint para Home Assistant que consulta la previsión de lluvia cada 30 minutos y actúa sobre las persianas según lo que encuentre. Aquí el flujo completo:

  1. Consulta la previsión horaria usando el servicio weather.get_forecasts, compatible con cualquier integración meteorológica de HA. En mi caso uso Met.no, el proveedor por defecto, que devuelve los mm de precipitación previstos por hora.
  2. Compara con el umbral configurado. Si la precipitación supera los mm/h que hayas definido, pasa a la siguiente fase. La referencia orientativa que incluye el blueprint: llovizna (0,1–0,5 mm/h), lluvia débil (0,5–2,0), moderada (2–10), intensa (>10).
  3. Pregunta o actúa directamente. Puedes configurarlo para que envíe una notificación accionable al móvil preguntando «¿Bajo las persianas?», o para que baje directamente sin preguntar.
  4. Detecta cuando para de llover. Cuando la precipitación vuelve a bajar del umbral y las persianas siguen en posición lluvia, el blueprint puede preguntar si subirlas, o subirlas solo.

Detalles técnicos que marcan la diferencia

Más allá del flujo básico, hay algunos detalles que hacen que esto funcione bien en la práctica:

Persiana de referencia

El blueprint necesita saber si las persianas ya están en posición lluvia para no volver a preguntar cada media hora. Para eso usa una «persiana de referencia»: comprueba su posición actual antes de actuar. Si ya está donde tiene que estar, no hace nada.

Lógica invertida

Algunas integraciones de persianas usan 0 = cerrada y 100 = abierta (estándar de HA), pero otras lo tienen al revés. Hay un parámetro para indicarlo y el blueprint hace la conversión automáticamente.

Cooldown y horario no molestar

Si está lloviendo durante horas, no tiene sentido recibir la misma notificación cada 30 minutos. El cooldown configurable (por defecto 4 horas) evita esto. Además, puedes vincular un horario de «no molestar» para que no te despierte a las 3 de la madrugada.

Notificaciones temporales

Las notificaciones desaparecen solas del móvil pasado el tiempo de respuesta configurado (5 minutos por defecto). Nada de notificaciones fantasma horas después.

Modo pruebas

Para verificar que todo funciona sin tener que esperar a que llueva de verdad, hay un modo pruebas que desactiva las tres restricciones: umbral de precipitación, cooldown y horario no molestar. Las notificaciones se marcan con ⚠️ para que quede claro que es una prueba. Recuerda desactivarlo cuando termines.

Import Blueprint

Actualizado 2026/03/18: añadido como blueprint en repositorio

No requiere sensores adicionales, no depende de integraciones externas de pago, y se configura en cinco minutos. Si tienes persianas exteriores motorizadas y Home Assistant, no hay excusa…

lluvia_persinas_blueprint sobre 2025

Actualizado 2026/04/23: sensores adicionales y mejoras
v1.3.1:
· Fix: selector de rain_sensor ahora usa sintaxis oficial ‘filter:’ con device_class ‘moisture’ priorizado. Los binary_sensor de detección de agua/fuga aparecen primero en el desplegable; el resto de binary_sensor como fallback.
· Fix: selector de weather_entity corregido por consistencia.

v1.3.0
· Soporte opcional para sensor físico de lluvia (binary_sensor device_class: moisture). Ej.: detector Zigbee ZG-223Z.
· Puede usarse solo forecast, solo sensor físico, o ambos combinados.
· Estrategia AND/OR configurable para decidir «ya no llueve» cuando se usan ambas fuentes.
· Time_pattern /30min sigue siendo el heartbeat. El sensor físico añade un trigger reactivo adicional para respuesta inmediata.
· Correcciones: cooldown ya no se bloquea por disparos de subida, y el cálculo de max_precip es robusto frente a forecast vacío.

Deja una respuesta

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


El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.