```

Home Assistant: Gestione Intelligente della Pioggia con il package infallibile

Tempo di Lettura: 7 minutiProteggi la tua casa dai temporali improvvisi con questa guida per Home Assistant. Integra un sensore pioggia Zigbee e utilizza il package "Rain Logic Engine" per automatizzare le tapparelle.

sensore pioggia copertina scaled

Introduzione

La pioggia improvvisa può trasformarsi rapidamente in un problema se non si è in casa per chiudere tempestivamente finestre e tapparelle. Molti sensori in commercio sono lenti o richiedono complessi cablaggi esterni o sono soggetti ad ossidazioni con il passar del tempo. In questo articolo vedremo come integrare un Sensore Pioggia Zigbee Wireless con batteria al litio integrata ricaricabile con luce solare, e come creare un package avanzato in Home Assistant per gestire ogni tipo di precipitazione con un ottima precisione.

Cosa ci serve per iniziare?

Per questo progetto abbiamo scelto un modello specifico di Sensore Pioggia Zigbee che si distingue per l’ottimo rapporto qualità-prezzo e la facilità di installazione.

Puoi trovare il sensore utilizzato in questa guida al seguente link: https://amzn.to/4cdq99X

Perché abbiamo scelto questo modello?

Come potete vedere dalle foto postate in basso, il sensore presenta una superficie capacitiva circolare molto ampia, protetta da una scocca robusta:

Sensore Pioggia
Supporto Sensore Pioggia
  • Pannello Solare Superiore: Visibile nella parte centrale, mantiene carica la batteria al litio senza interventi manuali (non preoccuparti se per i primi giorni la batteria avrà uno stato di carica inferiore al 10%, con il passar del tempo il tutto si stabilizzerà);
  • Superficie di Rilevamento: La griglia dorata circolare è il cuore del sensore; è estremamente sensibile e reagisce non appena la prima goccia chiude il circuito;
  • Supporto Orientabile: Fondamentale per dare la giusta inclinazione (circa 45°) ed evitare ristagni d’acqua che potrebbero ossidare le piastre o generare falsi positivi dopo il temporale, che permettono il ritorno dei raggi uv in modo da asciugare la superficie di rilevamento in maniera veloce.

Cos’altro serve?

Oltre al sensore, per completare il progetto avrai bisogno di:

  • Coordinator Zigbee: Un dongle USB (come Sonoff ZBDongle-E o P) o un gateway compatibile con Zigbee2MQTT;
  • Home Assistant: Con l’add-on Zigbee2MQTT installato e configurato;
  • File Editor o VS Code: Per inserire il package nel tuo sistema che troverai in seguito

Installazione e Pairing con Zigbee2MQTT

Il primo passo è l’accoppiamento del dispositivo. Grazie al protocollo Zigbee 3.0, l’integrazione è rapida e non richiede bridge proprietari (anche se il dispositivo è ideato per l’ecosistema Tuya/Smart Life).

1. Attivazione del Pairing

Metti Zigbee2MQTT in modalità “Permit join” dal menu:

Zigbee2Mqtt permit join

Sul sensore, tieni premuto il tasto di pairing (solitamente posto sul retro o sotto il coperchio) finché il LED non inizia a lampeggiare.

Pairing Sensore Pioggia

2. Riconoscimento in Zigbee2Mqtt

Una volta rilevato, il dispositivo apparirà nella dashboard. Qui potrai rinominarlo (ad esempio sensore_pioggia_solare) e verificare che i messaggi arrivino correttamente al broker MQTT.

Dashboard Sensore Pioggia Zigbee2Mqtt

3.Verifica delle Entità

In Home Assistant, troverai automaticamente le nuove entità nella sezione MQTT. Quelle che ci interessano per il nostro package sono:

Sensori Rain Sensor
Diagnostica Rain Sensor
  • Rain Sensor (Stato Pioggia): È il dato binario principale. Indica istantaneamente se la piastra è asciutta o bagnata. È il trigger che fa scattare l’allerta immediata.
  • Rain Intensity (Intensità): Questo valore si basa sulla conducibilità elettrica della piastra. Non indica solo “se” piove, ma “quanto”. Vedremo nel package come usare questo dato per distinguere tra nebbia, umidità residua o un vero eubuglio (pioggia forte).
  • Illuminance Raw (Luce Istantanea): Indica il livello di luce in tempo reale espresso in mV (millivolt). A differenza dei classici Lux, questo valore ci permette di monitorare con precisione millimetrica l’arrivo dell’alba, del tramonto o l’oscuramento improvviso dovuto a un temporale imminente.
  • Illuminance Average 20 min (Media Mobile): È la media aritmetica della luminosità degli ultimi 20 minuti. È fondamentale per evitare il “ballo delle tapparelle”: il sistema non reagisce a una singola nuvola passeggera, ma si muove solo se c’è un cambiamento costante e duraturo della luce ambientale.
  • Illuminance Maximum Today: Registra il picco massimo di luminosità nelle ultime 24 ore. Utile per statistiche e per calibrare le soglie di chiusura estiva contro il calore.
  • Cleaning Reminder (Manutenzione): Un’entità che segnala quando è ora di intervenire. Se rimane accesa, indica che la piastra è sporca (polvere o calcare che simulano la pioggia) o che non è stata rimossa la pellicola protettiva trasparente durante la prima installazione.

Rain Logic Engine: Il cuore dell’automazione

Dopo aver configurato l’hardware, è il momento di dare “un cervello” al nostro sistema. Invece di creare singole automazioni disordinate, ho racchiuso tutta la logica in un unico Package.

Questo approccio offre tre vantaggi fondamentali:

  1. Ordine: Tutto ciò che riguarda la pioggia (sensori template e automazioni) si trova in un unico file.
  2. Precisione: Il sistema non reagisce alla prima goccia isolata, ma analizza l’intensità per capire se si tratta di umidità, pioggerellina o un temporale.
  3. Flessibilità: Puoi modificare le soglie di intervento in un solo punto per adattarle al clima della tua zona.

Il codice

Il cuore del sistema è diviso in due parti fondamentali: la creazione di un sensore virtuale (Template Sensor) che interpreta i millivolt (mv) del dispositivo e un’automazione intelligente che gestisce l’apertura e la chiusura delle tapparelle.

Il Template Sensor: Tradurre i mV in “Meteo”

Il sensore rain_intensity restituisce valori di conducibilità. Per renderli utili, abbiamo creato un sensore che assegna un nome specifico a seconda del valore percepito. Questo ci permette di distinguere, ad esempio, tra una semplice nebbia mattutina e un nubifragio.

template:
  - sensor:
      - name: "Tipo di Pioggia"
        unique_id: tipo_di_pioggia_calcolato
        state: >
          {% set intensity = states('sensor.rain_intensity') | float(0) %}
          {% if intensity < 150 %} Asciutto
          {% elif intensity <= 2500 %} Molto Umido / Nebbia
          {% elif intensity <= 5000 %} Pioggia Leggera
          {% elif intensity <= 8000 %} Pioggia Moderata
          {% else %} Pioggia Forte / Nubifragio
          {% endif %}
        icon: >
          {% set intensity = states('sensor.rain_intensity') | float(0) %}
          {% if intensity < 150 %} mdi:sun-wireless
          {% elif intensity <= 2500 %} mdi:weather-fog
          {% elif intensity <= 5000 %} mdi:weather-rainy
          {% elif intensity <= 8000 %} mdi:weather-pouring
          {% else %} mdi:weather-pouring
          {% endif %}

Automazione Globale: Sole e Pioggia in sinergia

L’automazione che segue gestisce l’intero ciclo di vita della giornata e delle intemperie. La forza di questo codice sta nell’uso dei trigger_id, che permettono di gestire diverse situazioni (Alba, Tramonto, Pioggia) in un unico blocco logico, mantenendo il sistema snello.

Analisi della logica:
  • Gestione Alba/Tramonto: Le tapparelle si aprono automaticamente al mattino (solo se non sta piovendo!) e si chiudono al calar del sole.
  • Sicurezza Pioggia: Non appena il binary_sensor rileva acqua (to: 'on'), le tapparelle si chiudono immediatamente per proteggere gli infissi.
  • Riapertura Intelligente: Questa è la parte più “smart”. Il sistema attende che il sensore sia asciutto per almeno 11 minuti e 30 secondi (per evitare movimenti continui durante piovaschi intermittenti). Inoltre, riapre le tapparelle solo se è ancora giorno e se mancano almeno 2 ore al tramonto, evitando di aprirle inutilmente poco prima di sera.
automation:
  - id: gestione_tapparelle_sole_e_pioggia
    alias: "Tapparelle: Automazione Globale"
    mode: parallel
    trigger:
      - platform: sun
        event: sunrise
        id: "alba"
      - platform: sun
        event: sunset
        id: "tramonto"
      - platform: state
        entity_id: binary_sensor.sensore_pioggia
        to: 'on'
        id: "pioggia"
      - platform: state
        entity_id: binary_sensor.sensore_pioggia
        to: 'off'
        for:
          minutes: 11
          seconds: 30
        id: "pioggia_stop"

    action:
      - choose:
          # APERTURA ALL'ALBA
          - conditions:
              - condition: trigger
                id: "alba"
              - condition: state
                entity_id: binary_sensor.sensore_pioggia
                state: 'off'
            sequence:
              - action: cover.open_cover
                target:
                  entity_id:
                    - cover.tapparella_da_comandare # da sostituire con la propria entità
              - action: notify.mobile_app_telefono_utente # da sostituire con la propria entità
                data:
                  title: "☀️ Buongiorno"
                  message: "Alba: ho aperto le tapparelle."

          # CHIUSURA (Tramonto o Pioggia)
          - conditions:
              - or:
                  - condition: trigger
                    id: "tramonto"
                  - condition: trigger
                    id: "pioggia"
            sequence:
              - action: cover.close_cover
                target:
                  entity_id:
                    - cover.tapparella_da_comandare # da sostituire con la propria entità
              - action: notify.mobile_app_telefono_utente # da sostituire con la propria entità
                data:
                  title: "⚠️ Attenzione"
                  message: >
                    {{ 'Tramonto: ho chiuso le tapparelle.' if trigger.id == 'tramonto' 
                       else 'Rilevata pioggia: ho chiuso le tapparelle per sicurezza.' }}

          # RIAPERTURA DOPO PIOGGIA
          - conditions:
              - condition: trigger
                id: "pioggia_stop"
              - condition: state
                entity_id: sun.sun
                state: "above_horizon"
              - condition: template
                value_template: >
                  {{ state_attr('sun.sun', 'next_setting') | as_timestamp - now() | as_timestamp > 7200 }}
            sequence:
              - action: cover.open_cover
                target:
                  entity_id:
                    - cover.tapparella_da_comandare # da sostituire con la propria entità
              - action: notify.mobile_app_telefono_utente # da sostituire con la propria entità
                data:
                  title: "🌤️ Torna il sereno"
                  message: "Ha smesso di piovere: essendo giorno e lontano dal tramonto, riapro le tapparelle."

Per far sì che l’automazione funzioni correttamente nel vostro sistema, dovrete modificare alcune righe specifiche sostituendo i miei esempi con le vostre entità reali:

  • Righe 37, 54 e 76 (Entity ID delle Tapparelle): Accanto alla parola cover, dovrete inserire il nome tecnico delle vostre tapparelle che volete comandare (ad esempio: cover.cucina o cover.tapparella_camera). Potete aggiungere quante tapparelle desiderate sotto la voce entity_id.
  • Righe 38, 55 e 77 (Notifiche): Se volete ricevere un avviso sul cellulare quando il sistema entra in azione, sostituite l’entità della notifica con la vostra preconfigurata (ad esempio: notify.mobile_app_telefono_di_francesco). Se non desiderate notifiche, potete rimuovere l’intero blocco action: notify....

Conclusione

L’integrazione di questo Sensore Pioggia Zigbee non è solo un esercizio di stile domotico, ma un vero passo avanti verso una casa che si prende cura di se stessa. Grazie alla combinazione tra un hardware affidabile (senza lo stress dei cavi o delle batterie da cambiare) e la logica granulare del Rain Logic Engine, abbiamo eliminato i falsi allarmi e i movimenti inutili dei motori.

Implementando questo sistema, non dovrai più correre a casa se vedi il cielo oscurarsi mentre sei al lavoro o al supermercato. Home Assistant, con la precisione dei millivolt e la saggezza del calcolo del tramonto, saprà sempre quando è il momento di proteggere i tuoi infissi e quando, invece, è ora di riaprire tutto per godersi il fresco dopo il temporale.

E voi? Come gestite le intemperie nella vostra Smart Home? Se avete domande sulla configurazione del package o sul posizionamento del sensore, scrivetelo nei commenti e se vuoi scambiare delle info utili:

Entra nella nostra Community!

👉 Clicca qui per iscriverti al Gruppo Facebook

Se hai trovato utile questo articolo non fermarti qui! Puoi rendere la tua smart home ancora più completa integrando i consumi del gas o della tua rete elettrica.

Scopri le nostre guide dedicate:

2 commenti

  1. Ho un sistema simile costruito però usando un sensore perdita acqua zigbee della aqara e un PCB ad esso collegato che espone le piste per rilevare le gocce d’acqua.

    Ho dovuto modificare tutto mettendo una resistenza sul PC per evitare falsi positivi e per rendere più veloce il riconoscimento dell’asciutto dopo che ha piovuto..
    Questo sensore ha già qualcosa che limita questo fenomeno?
    Il piccolo pannello solare durerà nel tempo?

    Con il tempo la pulizia del PCB diventa indispensabile altrimenti si possono formare strati di sporco che isolano.. come fa questo sensore ha rilevare questo stato di pulizia necessaria ?

  2. Ciao Salvo! Ricordo benissimo il progetto a cui fai riferimento (il classico ‘hack’ del sensore perdite Aqara); l’ho testato personalmente in passato ma, purtroppo, l’ossidazione delle piste del PCB e l’esposizione agli agenti atmosferici hanno reso il sistema inaffidabile nel giro di pochi mesi.
    Per quanto riguarda i tuoi dubbi su questo nuovo sensore:
    vorrei ricordarti che questo dispositivo utilizza una piastra capacitiva con un trattamento superficiale differente rispetto ai comuni PCB. La gestione dei millivolt (mV) via software, unita alla resistenza interna del circuito, sembra filtrare molto meglio l’umidità residua rispetto alla soluzione ‘fai da te’. Per quanto riguarda il pannello solare, finché la sigillatura tiene, non dovrebbe aver problemi. Il vantaggio è che mantiene la batteria al litio sempre nel range ottimale di carica, evitandone il degrado precoce.
    Invece il Cleaning Reminder è un entità implementata in Zigbee2MQTT e sembra ancora in fase di affinamento. Attualmente non sembra basata su un timer, ma probabilmente su un’analisi della conducibilità di base (se il valore non torna mai a zero ‘asciutto’ per troppo tempo, scatta l’alert). È una funzione su cui gli sviluppatori stanno ancora lavorando, quindi per ora io non la considero (infatti nel package non l’ho inclusa come entità trigger per le automazioni)
    Rispetto al sensore Aqara, questo riportato nell’articolo nasce per stare fuori. Al momento ha già superato abbondantemente la durata media del mio vecchio setup precedente, quindi sono molto fiducioso sulla sua longevità, ovviamente mai dire mai….

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *