¿Lloverá Hoy? Predicción de Lluvia con Dark Sky y Home Assistant

Conocer si lloverá hoy es crucial para muchos, ya que impacta en los planes y actividades diarias. Este artículo describe un método para usar los datos meteorológicos de Dark Sky en Home Assistant para determinar si se espera lluvia y automatizar acciones según el pronóstico.

La API de Dark Sky permite obtener las condiciones climáticas actuales y futuras. Puedes especificar el número de días y horas a incluir en el pronóstico, junto con los parámetros meteorológicos específicos que deseas rastrear, como la probabilidad e intensidad de la precipitación. Esto permite un control granular sobre los datos recibidos.

sensor:
  - platform: darksky
    api_key: YOUR_API_KEY
    forecast:
      - 0
      - 1
    hourly_forecast:
      - 0 
      - 1
    monitored_conditions:
      - precip_intensity
      - precip_type
      - precip_probability

Dado que Dark Sky no proporciona datos históricos, se utiliza un booleano de entrada para rastrear si llovió el día anterior. Este booleano se establecerá mediante una automatización y se reiniciará cada mañana.

input_boolean:
  rained_yesterday:
    name: Lluvia ayer
    icon: mdi:weather-pouring

Una automatización se activa cada hora y 15 minutos para verificar la intensidad actual de la precipitación. Si la intensidad supera un umbral predefinido (por ejemplo, 0.5 mm/h, lo que indica lluvia moderada), el booleano “rained_yesterday” se establece en verdadero.

- alias: medidor_lluvia
  trigger:

    # Ejecutar cada 1h 15 minutos.
    platform: time_pattern
    hours: "/1"
    minutes: "15"
  conditions:

    # No es necesario hacer nada si ya está activado
    - condition: state
      entity_id: input_boolean.rain_meter
      state: 'off'

    # ... otras condiciones para validar la lluvia ...
  action:

    # Llovió hoy. Activar esto.
    service: input_boolean.turn_on
    entity_id: input_boolean.rain_meter

Una automatización separada, programada para las 5:30 AM, verifica el pronóstico para el día actual. Si la intensidad de precipitación prevista está por encima del umbral, lo que indica una probabilidad de lluvia, no se realiza ninguna acción. Esto supone que si se predice lluvia para hoy, el booleano “rained_yesterday” sigue siendo relevante.

- alias: Hora del Aspersor
  name: Encender el aspersor si no llueve.
  trigger:
    platform: time
    at: "05:30:00"
  condition:
    platform: template
    value_template: "{{ states('sensor.dark_sky_precip_intensity_1d') | float > 0.5 }}"
  action:
    service: script.turn_on_sprinklers_if_no_rain
    data_template:
     rain_yesterday: "{{ is_state('input_boolean.rain_meter', 'on') }}"

Finalmente, un script gestiona la lógica del aspersor. Primero reinicia el booleano “rained_yesterday”. Si este booleano era falso (lo que indica que no llovió ayer) y el pronóstico de hoy no predice lluvia, el script activa los aspersores.

script:
  turn_on_sprinklers_if_no_rain:
    sequence:
      - service: input_boolean.turn_off
        entity_id: input_boolean.rain_meter
      - condition: template
        value_template: "{{ not rain_yesterday}}"
      - service: sprinkler.turn_on
        entity_id: sprinklers.money_maker 

Este sistema proporciona una solución robusta para responder a la pregunta “¿Lloverá hoy?” y automatizar tareas como el control de aspersores según la respuesta. El uso de la intensidad de precipitación prevista ayuda a anticipar la lluvia y evitar el riego innecesario.

Leave A Comment

Name*
Message*