Flussometro WiFi verso Home Assistant

Un flussometro di acqua integrato con Home Assistant è un componente dell'ecosistema di automazione domestica che serve a monitorare e gestire il consumo di acqua in un'abitazione o in un edificio. Collegandosi direttamente al sistema idraulico, il flussometro rileva la quantità di acqua che passa attraverso i tubi e invia questi dati a Home Assistant. La piattaforma, attraverso la sua interfaccia utente e le sue funzionalità di automazione, consente agli utenti di visualizzare metriche dettagliate sul consumo di acqua, impostare allarmi per rilevare perdite o consumi eccessivi, e integrare la gestione del consumo di acqua con altri dispositivi smart e scenari di automazione domestica. Questo strumento è essenziale per promuovere un utilizzo consapevole e sostenibile delle risorse idriche nelle smart homes, contribuendo sia al benessere degli utenti che alla conservazione ambientale.

Open source e documentazione

Questo progetto è open source, chiunque può scaricare i file necessari, ricreare il progetto e contribuire al suo miglioramento. Non ci sono restrizioni di licenza d'uso, ma si invita a citare che è stato realizzato dagli studenti ASIRID.

Requisiti Hardware

Requisiti Software

  • Home Assistant.
  • ESPHome (componente aggiuntivo di Home Assistant): cliccare qui per la procedura di installazione.
  • Repository Gitlab: {flussometro-home-assistant}.

Collegamento flussometro con ESP32

  • Collegamento del segnale: Collega il pin di segnale del flussometro al pin GPIO 22 dell'ESP32. Questo pin sarà utilizzato per leggere gli impulsi generati dal flussometro.
  • Alimentazione: Collega il pin di alimentazione del flussometro a un pin di alimentazione sull'ESP32 che fornisca la tensione adeguata richiesta dal flussometro (solitamente 3.3V o 5V, a seconda delle specifiche del flussometro).
  • Massa a terra: Collega il pin di terra (GND) del flussometro a un pin corrispondente sull'ESP32. Questo assicura un riferimento di tensione comune tra il flussometro e l'ESP32, permettendo al segnale di essere letto correttamente.

Creazione configurazione con ESPHome

Per configurare il sensore con ESPHome, seguire questi passaggi:

  • Collegare il microcontrollore tramite la porta seriale al PC.
  • Andare in ESPHome.
  • Cliccare sul pulsante in basso a destra + NEW DEVICE e successivamente CONTINUE.
  • Assegnare un nome alla configurazione ad esempio "flussometro".
  • Selezionare il microntrollore corretto (in questo caso ESP32).
  • Cliccare su Install e successivamente su Plug into this computer.
  • Scaricare il progetto e caricarlo tramite la pagina web di ESPHome.
  • Una volta installato cliccare su EDIT per modificare la configurazione del sensore.

Descrizione configurazione flussometro

  • Sezione esp: Inserire il nome del dispositivo e il tipo di board utilizzata

    esphome:
       name: flussometro
       friendly_name: flussometro
    
    esp32:
       board: esp32dev
  • Sezione sensor: Il pulse_counter sensor è utilizzato per contare il numero di impulsi generati dal flussometro, ognuno dei quali rappresenta una quantità specifica di acqua che attraversa il tubo. In questa configurazione, il sensore è definito per monitorare tali impulsi su un pin specifico del dispositivo, permettendo di calcolare sia il flusso istantaneo che il consumo totale di acqua.

    Il sensore è impostato per utilizzare il pin 22 e ha due principali metriche di monitoraggio: il flusso istantaneo e il consumo totale di acqua. L'unità di misura è definita come litri ('L'), e l'intervallo di aggiornamento per il flusso istantaneo è impostato a 5 secondi.

    Il valore di ogni impulso è calibrato utilizzando il filtro multiply, dove ogni impulso viene moltiplicato per 0.025974. Questo fattore di conversione è derivato dalla formula specifica per il flussometro utilizzato, che è calcolato come l'inverso di 38.5 (dato che 1/38.5 ≈ 0.025974). Ciò indica che ogni impulso corrisponde a 1/38.5 litri d'acqua.

    sensor:
        - platform: pulse_counter
        pin: 22
        name: 'Flusso Istantaneo'
        device_class: water
        unit_of_measurement: 'L'
        accuracy_decimals: 2
        update_interval: 5s
        filters:
            - multiply: 0.025974
    
        total:
        name: 'Consumo Acqua Totale'
        device_class: water
        state_class: total_increasing
        unit_of_measurement: 'L'
        filters:
            - multiply: 0.025974
  • Sezione debug & Wi-Fi:

    • Il componente logger consente di registrare e visualizzare informazioni dettagliate sul sensore, come i dati rilevati, l'indirizzo IP, e altre metriche utili per il debug e il monitoraggio.

    • Il componente api è essenziale per integrare il sensore con Home Assistant, consentendo la comunicazione e lo scambio di dati tra il dispositivo e la piattaforma.

    • Il componente ota abilita la funzionalità di aggiornamento del firmware del sensore attraverso la rete WiFi, facilitando le modifiche alla configurazione senza la necessità di collegamenti fisici.

    • Il componente web_server offre la possibilità di accedere a una pagina web dedicata al sensore. Questa funzionalità consente di visualizzare lo stato e le metriche del sensore direttamente da un browser web, migliorando l'interattività e l'accessibilità.

      logger:
      
      api:
      
      ota:
      
      wifi:
      ssid: !secret wifi_ssid
      password: !secret wifi_password
      
      web_server:

Una volta modificata la configurazione installarla tramite OTA.

Integrazione sensore in Home Assistant

Dopo aver installato la configurazione del sensore, per integrare il sensore in Home Assistant:

  • Riavviare Home Assistant.
  • Andare in Impostazioni > Dispositivi e Servizi > ESPHome.
  • Aggiungere il dispositivo appena configurato cliccando sul tasto CONFIGURA.

Stato attuale del progetto

Il progetto è stato pubblicato ad Aprile 2024, nella sua prima versione ed è attualmente funzionante. Sviluppi futuri da definire.

Autori

Francesco Sparascio, Francesco Rinaldi