{"id":2529,"date":"2025-10-18T15:01:00","date_gmt":"2025-10-18T15:01:00","guid":{"rendered":"https:\/\/www.mainmind.com\/blog\/?p=2529"},"modified":"2026-04-23T21:42:46","modified_gmt":"2026-04-23T21:42:46","slug":"automatizar-persianas-prevision-de-lluvia","status":"publish","type":"post","link":"https:\/\/www.mainmind.com\/blog\/automatizar-persianas-prevision-de-lluvia\/","title":{"rendered":"Automatizar persianas con previsi\u00f3n de lluvia"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Espa\u00f1a es uno de los pocos pa\u00edses europeos donde las persianas exteriores enrollables son pr\u00e1cticamente universales. Est\u00e1n en casi todas las ventanas de casi todas las casas, y llevamos d\u00e9cadas us\u00e1ndolas para controlar la luz, el calor y la privacidad. Lo que no siempre aprovechamos es la posibilidad de proteger los cristales de la lluvia.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">He creado un blueprint para Home Assistant que consulta la previsi\u00f3n de lluvia cada 30 minutos y act\u00faa sobre las persianas seg\u00fan lo que encuentre. Aqu\u00ed el flujo completo:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Consulta la previsi\u00f3n horaria<\/strong>&nbsp;usando el servicio&nbsp;<code>weather.get_forecasts<\/code>, compatible con cualquier integraci\u00f3n meteorol\u00f3gica de HA. En mi caso uso Met.no, el proveedor por defecto, que devuelve los mm de precipitaci\u00f3n previstos por hora.<\/li>\n\n\n\n<li><strong>Compara con el umbral configurado.<\/strong>&nbsp;Si la precipitaci\u00f3n supera los mm\/h que hayas definido, pasa a la siguiente fase. La referencia orientativa que incluye el blueprint: llovizna (0,1\u20130,5 mm\/h), lluvia d\u00e9bil (0,5\u20132,0), moderada (2\u201310), intensa (&gt;10).<\/li>\n\n\n\n<li><strong>Pregunta o act\u00faa directamente.<\/strong>&nbsp;Puedes configurarlo para que env\u00ede una notificaci\u00f3n accionable al m\u00f3vil preguntando \u00ab\u00bfBajo las persianas?\u00bb, o para que baje directamente sin preguntar.<\/li>\n\n\n\n<li><strong>Detecta cuando para de llover.<\/strong>&nbsp;Cuando la precipitaci\u00f3n vuelve a bajar del umbral y las persianas siguen en posici\u00f3n lluvia, el blueprint puede preguntar si subirlas, o subirlas solo.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Detalles t\u00e9cnicos que marcan la diferencia<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">M\u00e1s all\u00e1 del flujo b\u00e1sico, hay algunos detalles que hacen que esto funcione bien en la pr\u00e1ctica:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Persiana de referencia<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">El blueprint necesita saber si las persianas ya est\u00e1n en posici\u00f3n lluvia para no volver a preguntar cada media hora. Para eso usa una \u00abpersiana de referencia\u00bb: comprueba su posici\u00f3n actual antes de actuar. Si ya est\u00e1 donde tiene que estar, no hace nada.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">L\u00f3gica invertida<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Algunas integraciones de persianas usan 0 = cerrada y 100 = abierta (est\u00e1ndar de HA), pero otras lo tienen al rev\u00e9s. Hay un par\u00e1metro para indicarlo y el blueprint hace la conversi\u00f3n autom\u00e1ticamente.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cooldown y horario no molestar<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Si est\u00e1 lloviendo durante horas, no tiene sentido recibir la misma notificaci\u00f3n cada 30 minutos. El cooldown configurable (por defecto 4 horas) evita esto. Adem\u00e1s, puedes vincular un horario de \u00abno molestar\u00bb para que no te despierte a las 3 de la madrugada.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Notificaciones temporales<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Las notificaciones desaparecen solas del m\u00f3vil pasado el tiempo de respuesta configurado (5 minutos por defecto). Nada de notificaciones fantasma horas despu\u00e9s.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Modo pruebas<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">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\u00f3n, cooldown y horario no molestar. Las notificaciones se marcan con &#x26a0;&#xfe0f; para que quede claro que es una prueba. Recuerda desactivarlo cuando termines.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/my.home-assistant.io\/redirect\/blueprint_import\/?blueprint_url=https%3A%2F%2Fgithub.com%2Fmainmind83%2FHA-varios%2Fblob%2Fmain%2Flluvia_persianas.yaml\"><img decoding=\"async\" src=\"https:\/\/my.home-assistant.io\/badges\/blueprint_import.svg\" alt=\"Import Blueprint\"\/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Actualizado <\/strong>2026\/03\/18: a\u00f1adido como <a href=\"https:\/\/github.com\/mainmind83\/HA-varios\/blob\/main\/lluvia_persianas.yaml\" data-type=\"link\" data-id=\"https:\/\/github.com\/mainmind83\/HA-varios\/blob\/main\/lluvia_persianas.yaml\">blueprint en repositorio<\/a><a href=\"https:\/\/my.home-assistant.io\/redirect\/blueprint_import\/?blueprint_url=https%3A%2F%2Fgithub.com%2Fmainmind83%2FHA-varios%2Fblob%2Fmain%2Flluvia_persianas.yaml\"><\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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&#8230;<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1015\" height=\"781\" src=\"https:\/\/www.mainmind.com\/blog\/wp-content\/uploads\/2025\/lluvia_persinas_blueprint.jpg\" alt=\"lluvia_persinas_blueprint sobre 2025\" class=\"wp-image-2530\" style=\"width:887px;height:auto\" srcset=\"https:\/\/www.mainmind.com\/blog\/wp-content\/uploads\/2025\/lluvia_persinas_blueprint.jpg 1015w, https:\/\/www.mainmind.com\/blog\/wp-content\/uploads\/2025\/lluvia_persinas_blueprint-300x231.jpg 300w, https:\/\/www.mainmind.com\/blog\/wp-content\/uploads\/2025\/lluvia_persinas_blueprint-768x591.jpg 768w\" sizes=\"auto, (max-width: 1015px) 100vw, 1015px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\"><strong>Actualizado <\/strong>2026\/04\/23: sensores adicionales y mejoras<br>v1.3.1:<br>\u00b7 Fix: selector de rain_sensor ahora usa sintaxis oficial &#8216;filter:&#8217; con device_class &#8216;moisture&#8217; priorizado. Los binary_sensor de detecci\u00f3n de agua\/fuga aparecen primero en el desplegable; el resto de binary_sensor como fallback.<br>\u00b7 Fix: selector de weather_entity corregido por consistencia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">v1.3.0<br>\u00b7 Soporte opcional para sensor f\u00edsico de lluvia (binary_sensor device_class: moisture). Ej.: detector Zigbee ZG-223Z.<br>\u00b7 Puede usarse solo forecast, solo sensor f\u00edsico, o ambos combinados.<br>\u00b7 Estrategia AND\/OR configurable para decidir \u00abya no llueve\u00bb cuando se usan ambas fuentes.<br>\u00b7 Time_pattern \/30min sigue siendo el heartbeat. El sensor f\u00edsico a\u00f1ade un trigger reactivo adicional para respuesta inmediata.<br>\u00b7 Correcciones: cooldown ya no se bloquea por disparos de subida, y el c\u00e1lculo de max_precip es robusto frente a forecast vac\u00edo.<br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Automatizaci\u00f3n blueprint\/plano para bajar persianas si existe previsi\u00f3n de lluvia en Home Assistant<\/p>\n","protected":false},"author":1,"featured_media":2532,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[864],"tags":[1031,866,893],"class_list":["post-2529","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-domotica","tag-blueprint","tag-home-assistant","tag-persianas"],"_links":{"self":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/posts\/2529","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/comments?post=2529"}],"version-history":[{"count":4,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/posts\/2529\/revisions"}],"predecessor-version":[{"id":2568,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/posts\/2529\/revisions\/2568"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/media\/2532"}],"wp:attachment":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/media?parent=2529"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/categories?post=2529"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/tags?post=2529"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}