Automazioni in Home Assistant, concetti di base

Guide

Scritto da Antonio Mario Longo

La domotica in generale è fatta da automazioni, ovvero, delle azioni che normalmente dovrebbero essere eseguite dall'uomo, ma vengono processate da sistemi di controllo. Con vari dispositivi moderni, la tecnologia, fa eseguire queste azioni all'oggetto stesso in completa autonomia.

Le capacità, di eseguire queste azioni, le troviamo nei dispositivi IOT ovvero Internet Of Things. Praticamente possiamo, attraverso internet o una rete locale interna, comandare ed eseguire le varie operazioni, non essendo fisicamente presenti sul luogo dove è collocato il nostro dispositivo, attraverso smartphone Tablet o PC. 

Al giorno d'oggi, abbiamo diversi esempi di IOT: cronotermostati, interruttori, luci, elettrodomestici, sistemi audio e moltissimi altri oggetti, che in questo sito, abbiamo trattato approfonditamente.

Ogni dispositivo IOT, ha la propria applicazione e, ovviamente, se in casa abbiamo più marche di dispositivi, potremmo ritrovarci con lo smartphone pieno zeppo di applicazioni, e non sempre potremmo ricordarci il nome dell'applicazione che li comanda.

Home Assistant , cerca in qualche modo, di unire tutti questi device in un unico centro neurale, cioè in un'unica applicazione, che permetta non solo il dialogo fra loro ma anche e soprattutto l'interazione. 

Per rendere un esempio:

Immaginiamo di avere una caldaia con un cronotermostato Wifi di marca X, e una luce (sempre Wifi), di marca Y, sul cellulare avremo, innanzitutto due applicazioni una per X e una per Y e soprattutto, tra di loro le applicazioni non comunicherebbero.

Quindi, se al tramonto la caldaia dovrebbe azionare il riscaldamento, e magari, dopo dieci minuti dall'accensione della stessa, si dovrebbe accendere una luce, questa cosa risulterebbe impossibile poiché le due applicazioni, come abbiamo detto in precedenza, non comunicherebbero tra di loro. 

Home Assistant, rende possibile tutto ciò, infatti, racchiude molti protocolli di comunicazione ed è in grado di integrare molti dispositivi proveniente da diversi ecosistemi diversi.

Proprio per questo è definito Hub Domotico (o Personal Hub), e sarebbe sbagliato definirlo come un semplice applicativo.

Partendo da questa premessa, addentriamoci in Home Assistant, con ciò che lo rende spettacolare: le automazioni, conoscendone la logica e paragonandole alla vita reale. Teniamo a mente che, un automazione è un azione che scatena una reazione. 

Facciamo subito un esempio:

  1. Al mattino ci alziamo, vediamo le previsioni meteo le quali indicano che nella nostra città c'è un sole bellissimo, quindi, alziamo le tapparelle delle finestre per sfruttare la luce del giorno per illuminare la casa.
  2. Al mattino ci alziamo, vediamo le previsioni meteo le quali indicano che purtroppo nella nostra città sta piovendo. Quindi non apriamo le tapparelle delle finestre, per evitare che magari si bagnino e si sporchino i vetri.

In pratica, seguendo i due esempi, abbiamo creato nella nostra mente due schemi, che in informatica si chiamano Flow Chart (diagrammi di flusso). E praticamente, il ragionamento che abbiamo letto nei due punti è identico a quello che il nostro sistema domotico utilizza con le automazioni.

In entrambi i casi ci alziamo al mattino e vediamo le previsioni meteo.

Ora abbiamo due opzioni:

  1. Il meteo indica che le previsioni del tempo sono buone, allora, alzo le tapparelle in casa
  2. Il meteo indica che le previsioni del tempo fanno schifo, quindi, non faccio nulla perché ipotizzo che le tapparelle siano già abbassate.

L'azione di alzarci al mattino e visionare le previsioni del meteo, è ciò che scatena la nostra logica mentale, e in Home Assistant questa reazione è definita trigger.

Le due condizioni sono il tempo è buono, oppure il tempo è uggioso e in effetti anche Home Assistant, considera queste due opzioni come condizioni e le chiama conditions.

E infine, alzare o far  rimanere chiuse le tapparelle sono due azioni legate alle condizioni precedentemente indicate.

Home Assistant interpreta queste due azioni con le action.

Ovviamente, le automazioni per essere comprensibili vengono rinominate con un nome a nostro piacimento, o qualcosa di riconducibili ad esse: alias.

Sopratutto, le condizioni per poter eseguire determinate azioni, possono anche non esistere. Ovvero, nell'esempio pratico, sopra descritto, alzandomi la mattina posso aprire o chiudere le tapparelle senza guardare le previsioni meteo.

Quindi come nella realtà le condizioni sono in alcuni casi superflue. 

Ricapitolando le automazioni (automations) sono così composte:

  • alias: il nome da dare alle nostre automazioni 
  • trigger: l'evento che fa scattare una determinata azione. 
  • condition: le condizioni che bloccano o fanno proseguire l'eventuale azione
  • action: la reazione che si svolge dopo un determinato evento. 

Non abbiamo ancora concluso, perché Home Assistant rende la casa molto intelligente, ma di per sé è stupido perché ha bisogno di continue informazioni.

Il trigger ovvero l'evento, deve essere scatenato da un entità, e questa può essere a sua volta un oggetto, un sensore, una persona, praticamente qualsiasi cosa di materiale, definita come entity_id.

Successivamente, per riconoscere che tipo di azione l'entità deve eseguire, esiste la platform, che ci indica nello specifico se abbiamo a che fare con la variazione di uno stato, il cambiamento di un valore numerico, l'alba o il tramonto ecc..

Tutte queste e altre piattaforme, sono presenti nella documentazione ufficiale di Home Assistant,ma le  tratteremo in seguito con altri articoli. 

Inoltre, passando alle actions, Home Assistant, si aiuta con dei servizi (service). Per esempio: l'accensione o lo spegnimento di una luce, di un interruttore, di un dispositivo multimediale, o l'apertura e la chiusura di una tapparella. Tutti questi servizi chiamati devono, anch'essi, puntare a qualcosa di materiale quindi ad un entity_id.

In base a questi concetti, possiamo definire quindi, uno schema da tenere sempre a mente:

 

automations:
  - alias:
    trigger:
      - entity_id:
        platform:
    conditions:[]
    action:
      - service:
        entity_id:

Capisco che il ragionamento, è un po' ostico all'inizio e che forse, vi verrà qualche mal di testa ma, man mano che vi passerà e inizierete a capire lo schema fondamentale delle automazioni, potrete programmare tutto ciò che vi è utile per la vostra domotica, in modo più naturale pensando allo stesso ragionamento che esegue Home Assistant quando esegue le nostre automazioni. 

Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.


Vai ai commenti