community italiana di domotica personale
 
Calcolare l’umidità assoluta con la domotica Home Assistant: arieggiare (o deumidificare) quando è il momento

Calcolare l’umidità assoluta con la domotica Home Assistant: arieggiare (o deumidificare) quando è il momento

Scopi del pROGETTO:
  • Dotarsi di sensori di umidità assoluta (e non “relativa”) per capire quando arieggiare al meglio e non solo
  • Livello di difficoltà: Basso
Concetti affrontati:
  • Configurazione software
  • Compresione dei temi legati all’umidità
Componenti software utilizzate:
Prerequisiti:
Dispositivi fisici utilizzati:
GUIDA INDICATA A UTENTI CON ISTALLAZIONE:
Ambienti Home Assistant HassOS-Supervised-Core
NOTE E DISCLAIMER
  • qualsiasi eventuale modifica agli impianti domestici dev'essere progettata e realizzata SOLO da personale qualificato;
  • qualsiasi modifica non prevista attuata in proprio è a propria responsabilità personale nonché a proprio rischio e pericolo (i contenuti della presenta pagina hanno infatti puro scopo didattico) e fa decadere garanzia, omologazioni e certificazioni di qualità; dei dispositivi interessati;
  • tutte le tecniche descritte si intendono applicate a software e firmware aggiornati alle ultime versioni disponibili;
  • gli articoli di inDomus sono totalmente indipendenti e non sponsorizzati. Se mai questo cambiasse, verrà segnalato chiaramente sulle pagine oggetto di sponsorizzazione;
  • questa pagina è materialmente scritta e manutenuta da più individui: non ci si aspetti né si pretenda un supporto personale. In caso di difficoltà, chiedere supporto alla community sul nostro forum o sulla nostra chat;
  • se hai bisogno di orientarti, c'è la mappa.
Revisione progetto: 1.1

Abstract

L’umidità presente nell’aria è un concetto semplice da capire: si tratta di un certo quantitativo d’acqua, sotto forma di vapore, disciolta nell’aria. L’aria, in base della propria temperatura, è però in grado di accoglierne un certo quantitativo specifico: più è alta la temperatura, più l’aria è in grado di assorbire acqua; viceversa, più è fredda meno è in grado di farlo.

Un metrocubo di aria va pertanto immaginato come una spugna di dimensione variabile: tanto più grande quanto più è calda, tanto più piccola quando fredda.

La quantità di acqua che tale spugna di dimensione variabile può contenere è quindi – ovviamente – essa stessa variabile: se ipotizziamo 100 il quantitativo di acqua che l’aria, in una data condizione di temperatura, possa contenere, l’umidità relativa non è altro che un valore percentuale che esprime quanta di quella potenziale quantità di acqua sia, in un dato momento, presente nell’aria. Il 50% di umidità relativa, per esempio, indica che la saturazione dell’aria è della metà rispetto al quantitativo potenziale di acqua che l’aria, in quella specifica condizione di temperatura, può contenere.

Quando l’umidità relativa arriva al 100% si verifica il fenomeno della condensazione, ovvero l’acqua in eccesso – non più sostenibile dalla “spugna”, ormai satura – si deposita sulle superifici. È il motivo per cui, per esempio, una bottiglia estratta dal frigo si ricopre velocemente di goccioline d’acqua: l’aria, a contatto con la superficie fredda della bottiglia, si raffredda anch’essa: la “spugna” quindi “si restringe” e raggiunge la saturazione, depositando così l’acqua in sospensione in eccesso.

Questo è il motivo per cui, specie d’inverno, è necessario arieggare spesso gli ambienti e/o usare dei deumidificatori elettrici: un’aria eccessivamente umida in casa, a contatto con muri particolarmente freddi (perché magari poco coibentati termicamente), tende a condensare, creando delle zone murali umide dove muffe e altri microorganismi si riproducono creando problemi agli inquilini che vivono quegli spazi. Si tratta di una mera questione di salubrità.

Ma quando è appropriato arieggiare i locali?
Beh: certamente quando l’umidità interna è superiore a quella esterna.

Relativa vs assoluta

Gli utilizzatori di un HUB per domotica personale come Home Assistant sul quale abbiano provveduto a integrare alcuni sensori ambientali sia interni che esterni (oppure, per questi ultimi dati, abbiano più semplicemente utilizzato dati provenienti da servizi metereologici come Met.no) potrebbero essere portati a pensare che realizzare una semplice automazione che li avvisi quando l’umidità relativa esterna sia inferiore a quella interna – allo scopo di consentire un efficace arieggamento degli ambienti – possa essere una buona idea.

Invece non la è, per il semplice fatto che a parità di umidità relativa non è detto che la quantità effettiva di acqua presente nell’aria sia la stessa: il fattore determinante, come spiegato sopra, è la temperatura. D’inverno, un’aria più fredda (quella esterna, di solito) che abbia la stessa umidità relativa di quella interna comunque contiene meno acqua, questo per effetto di quanto spiegato in precedenza.

Se confrontare le percentuali di umidità relativa non è buona norma, qual è l’approccio corretto? Semplice: utilizzare il valore di umidità assoluta.


L’umidità assoluta è il valore che, solitamente espresso in gr/m³, descrive l’effettiva quantità di acqua contenuta dall’aria in funzione dell’umidità relativa e della temperatura.

Dotandosi quindi di due sensori di umidità assoluta, interna ed esterna, va da sé che non ci sia spazio ai fraintendimenti: quando quella esterna è inferiore, è un buon momento per arieggiare, oppure quando quella interna supera una certa soglia, potrebbe essere il momento di attivare la deumidificazione elettrica.

In questo progetto inDomus vedremo come realizzare, con Home Assistant, questa tipologia di sensori, oltre a realizzare un’automazione per l’alerting e altro.

Nota deumidificatori.

I deumidificatori, specie se evoluti, “sanno fare da soli”, ovvero conoscono il momento in cui operare e quale livello di umidità cercare di raggiungere. Solitamente si ragiona in termini di umidità relativa e non assoluta: quello che si vuole è mantenere una “sana” umidità relativa, tra il 30% e il 65%.

È però pure vero che i deumidificatori consumano energia. Ecco perché un deumidificatore integrato a Home Assistant (magari un climatizzatore tradizionale integrato in questo modo) potrebbe essere disattivato “d’ufficio” quando non necessario, ovvero in presenza di un’umidità realtiva magari anche abbastanza elevata, ma con un basso grado di umidità assoluta. Se l’acqua disciolta nell’aria è poca o pochissima (l’umidità assoluta, appunto), l’eventuale avvicinarsi alla saturazione è un problema non gravissimo.

Si parte

Assunti

Assumiamo di avere a disposizione quattro entità sensore:

  • sensor.temperatura_interna
  • sensor.umidità_relativa_interna
  • sensor.temperatura_esterna
  • sensor.umidità_relativa_esterna

Questi sensori possono essere il frutto di qualsiasi intergrazione. Ovviamente, i nomi sono puramente esplicativi e possono essere personalizzati.

Chiaramente, maggiore è la precisione di tali sensori, maggiormente preciso sarà il calcolo; per i sensori da interno consigliamo Sonoff e Aqara; per quello esterno consigliamo il Netatmo.

N.b. Quali che siano i sensori, se ne consiglia caldamente una corretta calibrazione.

La formula magica

Per trasformare i valori di umidità relativa in quelli di umidità assoluta utilizzeremo questa comune formula:

Umidità assoluta (g/m³) = 6.112 × e^[(17.67 × T)/(T+243.5)] × rH × 2.1674

                                                       (273.15+T)

dove T è la temperatura, rH l’umidità relativa ed e è la base dei logaritmi naturali 2,71828.

N.b. La formula ha una precisione di 0,1g/m³ in un range operativo di -35°/+30° a pressione costante.

Macro template

Prima cosa, realizziamo una macro template Jinja da riutilizzarsi più volte su Home Assistant, così da evitare inutili ripetizioni di codice.

Creare la cartella custom_templates (se non già presente) all’interno della cartella che contiene la configurazione YAML di Home Assistant; all’interno crearvi un file chiamato tools.jinja.

All’interno, copiare il seguente codice:

{% macro umidita_assoluta(temp,hum) -%}
  {% if states(hum)|float==0 or states(temp)=='unknown' -%}
    'unknown'
  {%- else %}
      {{ (states(hum)|float * 6.112 * 2.1674 * e**((states(temp)|float*17.67)/(states(temp)|float+243.5)) / (states(temp)|float+273.15))|round(2) }}
  {% endif %}
{%- endmacro %} 

tale funzione, chiamata umidita_assoluta, contiene la traduzione della formula di cui sopra in codice Jinja e accetta due variabili in ingresso: temperatura e umidità.

Sensori

Ora andiamo a definire i due sensori template, ovvero quelli che ci servono: uno che contenga il valore di umidità assoluta interna e uno di umidità assoluta esterna.

Il codice è il seguente:

template:
  - sensor:
    - name: "umidita assoluta interna"
      state: >-
        {% from 'tools.jinja' import umidita_assoluta %}
        {{ umidita_assoluta('sensor.temperatura_interna', 'sensor.umidita_relativa_interna') }}
      unit_of_measurement: 'g/m³'
      icon: mdi:water-outline
      state_class: measurement
    - name: "umidita assoluta esterna"
      state: >-
        {% from 'tools.jinja' import umidita_assoluta %}
        {{ umidita_assoluta('sensor.temperatura_esterna', 'sensor.umidita_relativa_esterna') }}
      unit_of_measurement: 'g/m³'
      icon: mdi:water-outline
      state_class: measurement

Salvare la configurazione e, al termine, riavviare Home Assistant.

Vetrina Promo

Uso

La configurazione appena implementata realizzerà due nuove entità sensore:

  • sensor.umidita_assoluta_interna
  • sensor.umidita_assoluta_esterna

i quali conterranno i valori di umidità assolutà espressa in g/m³.

A questo punto è banalmente possibile visualizzarli in dashboard:

Home Assistant - Sensori di umidità assoluta

oppure, dato che sono già impostati come sensori di tipo misura, è possibile visualizzarli su grafici statistici di lungo periodo:

Home Assistant - Sensori di umidità assoluta - Grafico statistica lungo periodo
un esempio di grafico con tre diversi sensori.

Automazione

Arrivati a questo punto il limite è la fantasia: utilizzare questi sensori è facile e immediato. Ipotizziamo di aver integrato Amazon Alexa su Home Assistant e di volergli far pronunciare una frase quando l’umidità assoluta esterna è inferiore a quella interna, così da suggerire all’utente di arieggiare l’ambiente:

automation:
  - alias: "ext_int_notifica_umidita"
    id: "ext_int_notifica_umidita"
    initial_state: true
    trigger:
      - platform: template
        value_template: "{{ (states.sensor.umidita_assoluta_interna.state|float) > (states.sensor.umidita_assoluta_esterna.state|float) }}"
        for:
          minutes: 30
    condition: []
    action:
      - action: notify.alexa_media
        data:
          target: media_player.alexa
          data:
            type: announce
            method: speak
          message: "Umidità esterna inferiore a quella interna."
      - action: persistent_notification.create
        data:
          message: "Umidità esterna inferiore a quella interna."
          title: "Domotica"

L’automazione, semplicissima, scatta quando l’umidità esterna è inferiore a quella interna per più di 30 minuti. Va da sé che possa essere personalizzata come meglio si creda.

Oltre a far pronunciare ad Alexa una frase, imposta anche una notifica persistente sull’interfaccia web di Home Assistant.

Personalizzazione

Se si vuoi dotare le due entità di nomi intelleggibili (e/o altro), aggiungere in sidecar una porzione nel file customize.yaml come segue (o come si crede):

sensor.umidita_assoluta_interna:
  friendly_name: "Umidità CASA (abs)"
sensor.umidita_assoluta_esterna:
  friendly_name: "Umidità ESTERNA (abs)" 

e riavviare Home Assistant.

Umidità assoluta e benessere ambientale

Consigliamo anche la lettura del seguente progetto:

Definire indicatori di benessere ambientale sulla domotica Home Assistant, con Thermal Comfort


Altri progetti disponibili su inDomus dedicate a questi temi sono:

⚠️ Se di Home Assistant ne sai poco ma sei interessato a capirne di più, ti suggeriamo di partire da qui.

Questa pagina è redatta, manutenuta e aggiornata dallo staff di inDomus, un gruppo di persone molto diverse tra loro che trovi, per domande e supporto, sul forum e sulla chat del sito. Alcuni link sono taggati in qualità di affiliati Amazon e riceviamo un compenso dagli acquisti idonei, utile al sostenimento del sito, ma le nostre recensioni sono tutte indipendenti e non sponsorizzate. Se ti sei perso, a tua disposizione c'è la mappa.