Sapere se pioverà oggi è fondamentale per organizzare la giornata. Questo articolo spiega come usare i dati meteo di Dark Sky in Home Assistant per prevedere la pioggia e automatizzare azioni in base alle previsioni.
L’API di Dark Sky permette di ottenere le condizioni meteo attuali e future. È possibile specificare il numero di giorni e ore da includere nelle previsioni, insieme ai parametri meteo specifici da monitorare, come la probabilità e l’intensità delle precipitazioni. Ciò consente un controllo granulare sui dati ricevuti.
sensor:
- platform: darksky
api_key: YOUR_API_KEY
forecast:
- 0
- 1
hourly_forecast:
- 0
- 1
monitored_conditions:
- precip_intensity
- precip_type
- precip_probability
Poiché Dark Sky non fornisce dati storici, viene utilizzato un input booleano per tracciare se ha piovuto il giorno precedente. Questo booleano verrà impostato da un’automazione e resettato ogni mattina.
input_boolean:
rained_yesterday:
name: Pioggia ieri
icon: mdi:weather-pouring
Un’automazione si attiva ogni ora e 15 minuti per controllare l’intensità attuale delle precipitazioni. Se l’intensità supera una soglia predefinita (ad esempio, 0,5 mm/h, che indica pioggia moderata), il booleano “rained_yesterday” viene impostato su true.
- alias: rain_meter
trigger:
# Esegui ogni 1h 15 minuti.
platform: time_pattern
hours: "/1"
minutes: "15"
conditions:
# Nessuna azione necessaria se già attivo
- condition: state
entity_id: input_boolean.rain_meter
state: 'off'
# ... altre condizioni per validare la pioggia ...
action:
# Ha piovuto oggi. Attiva.
service: input_boolean.turn_on
entity_id: input_boolean.rain_meter
Un’altra automazione, programmata per le 5:30, controlla le previsioni per il giorno corrente. Se l’intensità delle precipitazioni prevista è superiore alla soglia, indicando probabilità di pioggia, non viene intrapresa alcuna azione. Si presume che se è prevista pioggia per oggi, il booleano “rained_yesterday” rimanga rilevante.
- alias: Irrigazione
name: Attiva l'irrigazione se non piove.
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') }}"
Infine, uno script gestisce la logica dell’irrigazione. Innanzitutto, reimposta il booleano “rained_yesterday”. Se questo booleano era false (che indica che ieri non ha piovuto) e le previsioni di oggi non prevedono pioggia, lo script attiva l’irrigazione.
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
Questo sistema fornisce una soluzione robusta per rispondere alla domanda “Pioverà oggi?” e automatizzare attività come il controllo dell’irrigazione in base alla risposta. L’utilizzo dell’intensità delle precipitazioni prevista aiuta ad anticipare la pioggia ed evitare annaffiature inutili.