community italiana di domotica personale
 
Definire un indicatore di benessere estivo sulla domotica Home Assistant

Definire un indicatore di benessere estivo sulla domotica Home Assistant

Scopi del PROGETTO:
  • Dotarsi di un indicatore di benessere estivo calcolato col metodo dell’indice di Thom (semplificato)
  • Livello di difficoltà: bassa
Concetti affrontati:
  • Configurazione software
Componenti software utilizzate:
Dispositivi fisici utilizzati:
PROGETTO INDICATO 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.4

ATTENZIONE: QUESTO PROGETTO, PER QUANTO CORRETTAMENTE FUNZIONANTE, È DI FATTO SUPERATO DA QUEST’ALTRO, PIÙ COMPLETO E STRUTTURATO.

Abstract

Che d’estate faccia caldo non è di certo una novità. Ma cosa significa “avere caldo”? Si tratta di una condizione molto personale condizionata, diversamente da come si è portati a pensare, da più fattori, non dalla sola temperatura dell’ambiente in cui ci si trova. Un altro fattore importantissimo infatti è l’umidità relativa: la saturazione dell’aria che circonda il nostro corpo (quindi un valore alto di umidità) ne impedisce la traspirazione naturale data dalla sudorazione, impedendo al corpo di raffreddarsi automaticamente e portando alla percezione di calore. Ovviamente temperatura e umidità, combinati, contribuiscono vicendevolmente al benessere di un organismo a sangue caldo come il nostro.

Spesso e volentieri nel periodo estivo si sente parlare di temperatura percepita o di altri fattori: tutti tentativi di modellare un indice più o meno intelleggibile in grado di fornire la percezione del calore subito. Quello che forse al meglio descrive questa condizione è il cosiddetto indice di Thom, un semplice algoritmo in grado di fornire, numericamente, la percezione più o meno oggettiva di quanto faccia (o meno) “caldo”. Si tratta di un algoritmo in grado di tenere in considerazione anche la mobilità dell’aria (altro fattore importante), ma può essere ridotto all’uso con sola temperatura e umidità, semplificandolo, considerando l’aria mediamente ferma (di certo non ventosa) di casa.

In domotica personale dotarsi di un indicatore di questo tipo è particolarmente comodo per innescare per esempio sistemi di condizionamento e molto altro. Gli utenti che abbiano fondato la propria domotica personale implementando l’HUB personale Home Assistant possono beneficiare della sua grande versatilità per dotarsi di un’entità “indice di thom” che calcoli automaticamente, in base alle letture di umidità e pressione domestiche, questo valore (per essere poi usato in automazione come trigger e/o condition).


Altri progetti disponibili su inDomus dedicate a questi temi sono:

Si parte

Assunti

Come detto, per implementare l’indice di Thom (semplificato) è necessario per lo meno dotarsi di due entità di tipo sensore, una relativa alle letture di temperatura e umidità relativa domestiche. Per farlo è sufficiente integrare facilmente uno dei tantissimi sensori disponibili sul mercato.

inDomus ne ha testati svariati:

Ovviamente tale indice può essere applicato anche a sensori di temperatura e umidità relativa esterni all’abitazione, magari tramite l’integrazione Yr, in grado di fornirci sensori previsionali (per prevedere magari le giornate particolarmente afose).

Per questo progetto assumeremo di disporre di due entità chiamate sensor.temperatura e sensor.umidita.

N.b. Si ricorda sempre di provvedere alla calibrazione dei sensori domestici, qualora ve ne sia più di uno.

Indice di Thom (o meglio, THI)

L’indice di Thom ha, come formula originale, la seguente:

DI = 0.4 (T+ Tw) + 4.8

dove Ta = temperatura di bulbo asciutto (°C) e Tw = temperatura di bulbo umido (°C).

Data la complessità (il tema della temperatura del bulb asciutto/umido preferiamo infatti non affrontarlo in questa sede), adottiamo un’altra formula semplificata, ovvero quella dell’indice termoigrometrico (THI), che dà risultati similari e si calcola più facilmente:

Index = temperatura – (0,55 – 0,0055 * umidità) * (temperatura – 14,5)

Il che porta una distribuzione numerica di questo tipo:

indice di Thom

N.b. Il progetto adotta la formula dell’indice termoigrometrico, ma l’utente potrà liberamente scegliere di utilizzare la formula corretta dell’indice di Thom.

I valore di umidità relativa e temperatura portano l’indice a spostarsi tra circa 18 a circa 42; la lettura di questo valore è la seguente:

VALORE/RANGE INTERPRETAZIONE
 Index < 21 Benessere
21 ≤ Index ≤ 24 Il 50% della popolazione prova un leggero disagio
24 ≤ Index ≤ 27 Oltre il 50% della popolazione prova un crescente disagio
27 ≤ Index ≤ 29 Gran parte della popolazione prova disagio e un significativo deterioramento delle condizioni psicofisiche
29 ≤ Index ≤ 32 Forte disagio per chiunque
Index ≥ 32 Stato di emergenza medica, il disagio è molto forte; elevato il rischio di colpi di calore.

Home Assistant

Capito cosa sia l’indice di Thom, non resta che passare sul nostro HUB preferito per operare nella definizione di un indice di questo tipo.

Definizione sensore

Aggiungere un “Template Sensor” è piuttosto semplice: è infatti sufficiente aggiungere al file di configurazione di Home Assistant del codice analogo al seguente:

sensor:
  - platform: template
    sensors:
      indice_thom:
        friendly_name: "Indice Thom"
        value_template: "{{ (states('sensor.temperatura')|float - (0.55-0.0055 * states('sensor.umidita')|float)*(states('sensor.temperatura')|float - 14.5))|round(1) }}"
        unit_of_measurement: 'index'

Il calcolo è semplice e ricalcola l’algoritmo sopra illustrato, arrotondando poi il risultato alla prima cifra decimale. Ovviamente i nomi delle entità utilizzate per il calcolo possono variare a propria esigenza.

L’entità derivante si chiamerà sensor.indice_thom.

Su Dashboards

Ovviamente la prima cosa da fare è quella di visualizzare lo stato dell’entità presso l’interfaccia di Home Assistant, Dashboards.

Per farlo basterà aggiungere una “card” di tipo “Indicatore”, provvedendo anche a indicare i valori massimi e minimi nonché il grado di gravità per avere un’indicazione anche colorata della severità dell’indice:

Home Assistant - Indice di Thom - Lovelace UI Card Indicatore

Questo consentirà, a colpo d’occhio, di consultare l’indicatore.

Automazioni

Ma se volessi utilizzare l’indice di Thom nelle mie automazioni? Niente di più facile: si tratta di un valore numerico che varia dinamicamente, il che consente di utilizzarlo serenamente come trigger e/o come condition.

Vetrina - Offerte del giorno

Accensione dei climatizzatori

Ipotizziamo di esser dotati di un’entità di tipo “Climate” grazie alla domotizzazione su Home Assistant di condizionatori/climatizzatori tradizionali tramite raggi infrarossi oppure tramite una o più delle piattaforme di integrazione per unità nativamente domotiche: assumeremo che tale entità si chiami climate.codizionatore.

Vogliamo dunque che tale climatizzatore si accenda automaticamente quando il valore dell’indice di Thom supera 24 (per più di 30 minuti, diciamo) – e solo se siamo a casa, ovviamente.

IN MERITO ALLA “PRESENZA IN CASA

Come forse sapremo l’integrazione della presenza dei vari inquilini autorizzati presso Home Assistant avviene tramite l’uso del componente “Device Tracker” declinato tramite le varie piattaforme ad esso collegate (sebbene, ormai, sia universalmente utilizzata la sola app ufficiale “Home Assistant Companion“). Tipicamente ogni inquilino ha il proprio smartphone e, quando viene rilevata la presenza/assenza in casa, Home Assistant ne è consapevole. Tale presenza può essere rilevata implementando una o più delle piattaforme sopracitate; la cosa non è oggetto della presente guida, la quale assume la presenza in configurazione delle seguenti due entità di tipo “Device Tracker“:

  • device_tracker.edoardo
  • device_tracker.chiara

le quali rappresentano, appunto, lo stato di presenza di due ipotetici inquilini, Edoardo e Chiara. Li raggrupperemo nel gruppo group.famiglia, il quale ovviamente assume stato “home” quando almeno un componente è a casa e “away” quando entrambi sono fuori.

Utilizzando quindi tre entità:

  • sensor.indice_thom
  • group.famiglia
  • climate.condizionatore

riusciremo a definire facilmente la nostra automazione:

automation:
  - alias: "Accensione Condizionatore"
    trigger:
      platform: numeric_state
      entity_id: sensor.indice_thom
      above: 24
      for:
        minutes: 30
    condition:
      condition: state
      entity_id: group.famiglia
      state: 'home'
    action:
    - action: climate.set_temperature
      data:
        entity_id: climate.condizionatore
        temperature: 20
        hvac_mode: cool
    - action: climate.set_fan_mode
      data:
        entity_id: climate.condizionatore
        fan_mode: auto
SMART SPEAKER

Magari non vogliamo accendere automaticamente il condizionatore, ma farci avvisare da Alexa (o da Google).
La configurazione è quantomai semplice (vediamo il caso Alexa – non differisce molto da Google):

automation:
  - alias: "Accensione Condizionatore"
    trigger:
      platform: numeric_state
      entity_id: sensor.indice_thom
      above: 24
      for:
        minutes: 30
    condition:
      condition: state
      entity_id: group.famiglia
      state: 'home'
    action:
      action: notify.alexa_media
      data:
        target: media_player.alexa
        data:
          type: announce
          method: speak
        message: "Attenzione, comincia a fare davvero caldo. Aprire le finestre!"

E così via.


Ovviamente di tale indice si può fare ciò che si vuole: il limite, come sempre, è la fantasia.

⚠️ 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.