Bentornati nella serie di Domotica con Hass.io, il software di casa Google per la gestione della vostra smart home. 

Nell'articolo #6 abbiamo accennato all'uso delle automazioni per rinnovare, appunto automaticamente, il certificato HTTPS. In realtà si tratta di un mondo vastissimo e dal potenziale smisurato, tant'è vero che d'ora in poi lo tireremo spesso in ballo come base per numerose applicazioni. Prima però vediamo un altro mattone fondamentale della serie, cioè le scene.
 

LE SCENE     

Una scena (o scenario) è una combinazione di stati di dispositivi. Ad esempio una scena "film" potrebbe avere la seguente configurazione:

  • Impostare le luci del salone ad Off.
  • Abbassare le tapparelle.
  • Switchare la TV sulla sorgente HDMI.
  • Accendere i led sul retro della televisione e impostarli ad una certa luminosità.

Immaginate quante scene potreste programmare a seconda delle situazioni che volete creare: scene per studiare, per ascoltare musica, per lavorare al pc e così via...

Per creare una scena bisogna aprire il solito file configuration.yaml e seguire la seguente sintassi:

Come potete notare, ad esempio nel caso di una luce potete settare semplicemente un valore true/false (acceso/spento), oppure potete specificare una serie di parametri. Chiaramente i parametri variano a seconda delle entità che state configurando e comunque sono tutti visibili dall'apposita scheda raggiungibile dalla side bar a sinistra. Da lì vanno recuperati anche i nomi delle entità che Hassio assegna a ciascun dispositivo.

Per rendere il tutto più chiaro, supponiamo di voler creare una scena "film" sulle entità che vedete in basso:

La seguente scena, che chiamiamo "film", spegne le prime due luci e imposta la terza su un colore arancione soffuso:

Infine, basta riavviare il server per rendere attiva la scena appena creata:



 

LE AUTOMAZIONI

Le automazioni sono azioni che vengono scatenate da determinati eventi, detti trigger. Ad esempio si potrebbe creare un'automazione che, ad una certa ora del giorno, abbassa le tapparelle del salone oppure spegne le luci di tutta la casa se si accorge che siete usciti. Nel primo caso il trigger è "quando giunge una certa ora del giorno", nel secondo invece è "quando esco di casa". Per creare un'automazione da interfaccia grafica, rechiamoci in Impostazioni dalla side bar, poi su Automazioni e clicchiamo il simbolo + in basso a destra.



La struttura di un'automazione si articola sempre in 3 parti:

  • Trigger: è l'evento che scatena l'azione.
  • Condizione (facoltativa): è un'ulteriore condizione al verificarsi dell'azione.
  • Azione: l'azione che deve compiersi allo scatenarsi del trigger (+ eventuale condizione).

L'interfaccia è molto intuitiva, ma per rendere il tutto più chiaro facciamo un esempio: vogliamo creare un'automazione che mezz'ora prima del tramonto accenda la luce dell'ingresso (entità light.ingresso). Potremmo settare la seguente configurazione:

  • Nome: accendi la luce dell'ingresso al tramonto
  • Tipo di trigger: Sole
  • Evento: tramonto
  • Offset: -00:30:00

Un'azione di questo tipo potrebbe essere anche attivata ad esempio da un sensore di luce: se la quantità di luce rilevata scende al di sotto di una certa soglia, allora si accende la luce light.ingresso. Un'altra cosa interessantissima è che anche gli interruttori possono fungere da trigger per azioni custom: possiamo programmarne uno che attivi l'allarme di casa. 

Ai trigger si possono aggiungere anche delle condizioni, che controllano lo stato corrente dell'ambiente domotico per decidere se, allo scatenarsi del trigger, è possibile procedere con l'azione programmata. Restando coerenti con l'esempio, noi non vogliamo che la luce dell'ingresso al tramonto si accenda anche se non siamo in casa: potremmo imporre la condizione che un tracker GPS si trovi nei pressi di casa.

Infine arriviamo al cuore dell'automazione, cioè l'azione che deve compiersi allo scatenarsi del trigger (+ condizione): vanno indicati l'entità coinvolta come
{ "entity_id": "nome.entità" } e il servizio da attivare. Tra le azioni interessanti, segnaliamo la possibilità di generare una notifica persistente con relativo messaggio personalizzato: 



Ricordiamo che le automazioni possono essere create anche accedendo al file automations.yaml. L'esempio precedente andrebbe implementato più o meno in questo modo:

 

Per concludere, ricordate che di default le automazioni si mettono automaticamente in ascolto all'avvio di Hassio: per cambiare lo stato di default ad "Off" basta recarsi in Impostazioni Personalizzazione. Selezioniamo l'entità dall'apposito menu e impostiamo l'attributo initial_state "off". Inoltre, ogni automazione ha un proprio interruttore nell'apposita card della GUI principale. 

Perfetto, con l'introduzione di questi due argomenti abbiamo gettato le basi per rendere il nostro ambiente domotico sempre più intelligente ed automatizzato, e d'ora in poi le funzionalità potranno diventare sempre più interessanti!