Bentrovati amici smart!
Nell'ultima tappa del nostro viaggio verso la Smart Home Open, abbiamo visto come installare HACS, lo store alternativo di Home Assistant che, grazie a un vastissimo catalogo di integrazioni non ufficiali, ci permette di ampliare le funzionalità del sistema adattandolo alle esigenze più disparate.
Oggi riprendiamo il nostro viaggio, iniziando ad esplorare una delle sezioni più creative per una smart home intelligente ed evoluta, sto parlando di: Automazioni e Scenari.
Questa nuova tappa del viaggio sarà suddivisa in più step, durante i quali scopriremo cosa sono le automazioni, quali strumenti abbiamo a disposizione e, soprattutto, come imparare a sfruttarli al meglio.
Conoscere a fondo questi strumenti ci permetterà di creare automazioni funzionali, intelligenti e ben strutturate, evitando sprechi e ridondanze.
Per chi si fosse perso le precedenti tappe del viaggio, lo invito a recuperarle così da comprendere appieno i temi che affronteremo.
Automazioni e Scenari: il cervello di Home Assistant
Bene, partiamo subito dicendo che, se la sezione Dispositivi e Servizi l'avevamo definita il cuore di Home Assistant, cioè la parte che alimenta il sistema con dispositivi e servizi attraverso apposite integrazioni, la sezione Automazioni e Scenari è il suo cervello, perché è qui che costruiamo le logiche che fanno prendere vita alla nostra smart home, rendendola esattamente come la vogliamo noi.
Accedere a questa sezione è semplicissimo! Dal menu di sinistra, spostiamoci su Impostazioni e selezioniamo Automazioni e Scenari.
Una volta entrati, ci troveremo davanti a quattro schede principali, ognuna delle quali con una funzione ben precisa. Vediamole insieme:
- Automazioni
- Scene
- Script
- Progetti (meglio conosciuti come Blueprints)
Partiamo proprio dalle Automazioni
Chiunque abbia avuto esperienza con un sistema domotico, anche commerciale come Apple Home, Google Home, Alexa, Aqara, eWeLink e molti altri, avrà già incontrato il concetto di automazione e sa, almeno in parte, di cosa stiamo parlando. Ma essendo questo un contenuto rivolto a chiunque, è fondamentale partire dalle basi per comprendere cosa sono realmente le automazioni e quali principi le governano.
Le Automazioni, come si evince dal nome stesso, servono ad eseguire determinate azioni in un dato momento in modo automatico.
Sono uno strumento molto potente che ci permette di dare libero sfogo alla creatività quando progettiamo logiche su misura per le nostre esigenze domestiche, ovviamente nei limiti del sistema che stiamo utilizzando.
Questo perché, sebbene le automazioni siano uno strumento presente in qualsiasi piattaforma per la smart home, non tutti i sistemi offrono gli stessi strumenti e, di conseguenza, la stessa libertà di personalizzazione. Alcuni possono risultare piuttosto limitati, come quelli commerciali, mentre altri, come Home Assistant, mettono a disposizione strumenti molto più avanzati, capaci di gestire scenari complessi con grande flessibilità.
Ma andiamo con ordine e cerchiamo di capire meglio cosa sono da un punto di vista pratico.
Possiamo vederle come delle routine, che noi stessi creiamo, per far accadere qualcosa al verificarsi di un evento e/o di una logica prestabilita. In parole più semplici, stiamo dicendo al nostro HUB, come Home Assistant: "Se succede questo e si verificano determinate condizioni, allora esegui quest'azione".
Per esempio:
- Se il sole tramonta, accendi le luci del giardino.
- Se il sensore di movimento rileva qualcuno e siamo in notturna, accendi la luce del corridoio, altrimenti non fare nulla.
Esempio di vita reale
Provando a fare un parallelismo, è un po' come avviene nella vita reale. Se ci pensiamo, la nostra quotidianità è fatta da tantissime routine che, per abitudine, eseguiamo senza nemmeno rendercene conto. Ogni giorno compiamo azioni in risposta a eventi e condizioni, proprio come fanno le automazioni in una smart home.
Pensiamo, ad esempio, alla mattina quando dobbiamo andare al lavoro. La sveglia suona ed è in quel momento che parte la nostra prima "automazione", ovvero quello che nel gergo tecnico chiamiamo evento scatenante o trigger: cioè la sveglia che suona.
Ovviamente non basta che suoni la sveglia per farci alzare e iniziare a prepararci. Potrebbero esserci delle condizioni da valutare, come ad esempio se fosse il weekend, un giorno festivo o semplicemente non ci sentissimo bene, potremmo decidere di rimanere a letto. Pertanto, in base a queste condizioni, potrebbe attivarsi una logica piuttosto che un’altra.
Lo stesso principio vale per gli automatismi di qualsiasi sistema per la smart home: ogni automazione si attiva in base a un evento, verifica la presenza di eventuali condizioni, e, solo se vengono soddisfatte, esegue l'azione prevista.
Cosa vedremo in questo nuovo contenuto?
Il focus di oggi, e dei video che verranno, sarà scoprire gli strumenti principali che Home Assistant ci mette a disposizione per disegnare automazioni su misura per le nostre esigenze.
Molti dei concetti che tratteremo saranno applicabili sia in Home Assistant che in altri sistemi. Questo perché la logica di base delle automazioni, così come alcuni strumenti, seguono uno standard comune. Altri strumenti, invece, saranno esclusivi di Home Assistant, perché si tratta di una piattaforma molto più potente ed evoluta rispetto a qualsiasi altro sistema commerciale.
Quando mi riferisco al focus dei soli strumenti principali, è perché, se dovessimo approfondirli tutti nel dettaglio, questo viaggio non finirebbe mai.
Perciò, una volta compreso il funzionamento dell’interfaccia e i meccanismi che stanno alla base degli strumenti principali e delle automazioni, il resto verrà da sé. Basterà sperimentare, approfondire e applicare ciò che avremo imparato.
Come realizzare le automazioni in Home Assistant
Partiamo subito sfatando un mito: per chi pensa che le automazioni in Home Assistant siano soltanto per i pochi eletti capaci di scrivere codice, beh… non è affatto così!
In Home Assistant, le automazioni possono essere create seguendo due approcci:
- Un approccio user-friendly, ovvero tramite un’interfaccia grafica molto intuitiva, completa e accessibile a tutti sin da subito.
- Un approccio più avanzato e programmatico, cioè scrivendo a mano il relativo codice.
Ciò che occorre sapere, prima di tutto, è che un’automazione in Home Assistant è nativamente formulata in codice YAML, sia essa scritta a mano che realizzata dall'interfaccia grafica.
Questo per farvi capire, che anche quando utilizziamo l’interfaccia grafica, in realtà stiamo sfruttando un sistema ad alto livello che genera per noi il codice YAML. Quindi ogni elemento grafico che aggiungiamo, corrisponde a una o più righe di codice che Home Assistant scrive per noi dietro le quinte.
Ma non è tutto, poiché la cosa interessante è che, qualora ne avessimo l'esigenza, potremo sempre visionare e/o modificare il relativo codice direttamente dalla schermata dell’automazione stessa.
Questo ci fa capire ulteriormente quanto potente e versatile sia Home Assistant rispetto a qualsiasi altro scarno strumento brandizzato.
Ma qual è l'approccio migliore per iniziare a familiarizzare con il sistema?
Per chi è all'inizio, consiglio vivamente di partire con l’interfaccia grafica, perchè è completa e abbastanza intuitiva. La sola interfaccia, infatti, permette di creare automazioni complesse, flessibili e completamente personalizzabili, senza troppi limiti...
Inoltre, nella stragrande maggioranza dei casi, se finora avete utilizzato piattaforme commerciali, vi accorgerete che l’interfaccia grafica di Home Assistant avrà un’impostazione familiare, ma con possibilità decisamente più avanzate.
Soltanto quando le esigenze inizieranno a crescere e a farsi più complesse, tali da renderci conto che la sola interfaccia non basta, allora sarà il momento di iniziare a curiosare nel codice e a documentarci ulteriormente per capire cosa si cela dietro le quinte.
In questo momento, per non complicare troppo le cose, ci concentreremo solo sull'**approccio grafico** delle automazioni, illustrando gli strumenti a nostra disposizione. Una volta assimilata la base, torneremo sull’argomento per approfondire anche gli **aspetti programmatici**.
Ma bando alle ciance e passiamo alla sostanza.
L'ABC di un'automazione
Creare un'automazione in Home Assistant dalla sua interfaccia grafica è davvero molto semplice! Dopo essere entrati nella sezione Automazioni e Scenari, assicuriamoci di trovarci nella scheda Automazioni. A questo punto, clicchiamo sul pulsante "CREA AUTOMAZIONE" posto in basso a destra e successivamente selezioniamo "Crea una nuova automazione".
Dalla schermata che si apre vediamo subito che un’automazione è composta da tre sezioni:
- Quando
- E se
- Allora
Quando (Trigger)
La sezione "Quando" definisce cosa fa partire l’automazione, ovvero l'**evento o gli eventi scatenanti**, meglio conosciuti come **Trigger**, che attivano l'automazione.
Cliccando su "Aggiungi Attivazione", si apre un elenco che ci permette di scoprire tutte le tipologie di trigger disponibili, come la proprietà o l'entità di un dispositivo, un orario specifico, una posizione geografica, un Tag NFC e molto altro. I **trigger principali** di questa lista li vedremo in dettaglio in un video dedicato.
È importante sapere che i trigger aggiunti in questa sezione funzionano sempre in OR, ovvero **basta che uno solo di essi si attivi** per far attivare l’automazione.
Per questo esempio di automazione, potremmo servirci della proprietà "Single Toggle Action" del pulsante che vi sto mostrando, che corrisponde alla singola pressione del pulsante.
Per farlo:
- Selezioniamo "Aggiungi Attivazione" e scegliamo "Dispositivo" dalla lista.
- Successivamente, dal menu a tendina "Dispositivo" del trigger aggiunto, cerchiamo e selezioniamo il nostro pulsante.
- Infine, dal menu "Attivazione", scegliamo "Single Toggle Action" come evento da intercettare per attivare l'automazione.
In questo modo stiamo dicendo a Home Assistant che l’automazione deve attivarsi quando il pulsante viene premuto una sola volta.
E Se (o Conditions, cioè le condizioni)
All'interno della sezione "E Se" definiamo le condizioni di un'automazione, ovvero quei controlli che stabiliscono se l'automazione può proseguire dopo l'attivazione del trigger oppure deve interrompersi. In pratica, qui verifichiamo lo stato di altri elementi del sistema e decidiamo se l'azione può essere eseguita oppure no.
Di default, le condizioni che aggiungiamo in questa sezione sono in AND, il che significa che devono essere tutte vere affinché l’automazione possa proseguire.
Ad esempio, se in questa sezione inseriamo due lampadine in stato acceso come condizioni, l’automazione proseguirà solo se entrambe le lampadine saranno effettivamente accese. Allo stesso modo, se impostiamo una lampadina in stato accesa e l’altra su spenta, l’automazione proseguirà solo se le lampadine saranno esattamente in quello stato.
Tuttavia, possiamo modificare questo comportamento utilizzando dei blocchi predefiniti. Questi blocchi, che affronteremo dettagliatamente in un video dedicato, ci permettono di gestire gli operatori logici AND, NOT e OR, o persino di combinarli tra loro per creare verifiche più dettagliate e complesse, adattandole alle nostre esigenze.
- AND: Come dicevo, indica che tutte le condizioni inserite nel blocco devono essere vere affinché l’automazione possa proseguire.
- NOT: Indica che il gruppo di condizioni inserito nel blocco deve risultare falso affinché l'automazione possa proseguire.
- OR: Indica che almeno una delle condizioni inserite nel blocco deve essere vera affinché l’automazione possa proseguire.
Cliccando su "Aggiungi Condizione", possiamo vedere che Home Assistant ci permette di verificare praticamente qualsiasi cosa, come:
- La proprietà o l'entità di un dispositivo
- L’ora e il luogo
- Il valore di un Aiutante
- E molto altro...
È importante sottolineare che l'uso delle condizioni non è obbligatorio. Se non ne abbiamo bisogno, possiamo tranquillamente ignorare la sezione "E Se" e passare direttamente alla sezione "Allora", ovviamente dopo aver impostato uno o più trigger nella sezione "Quando".
Allora (Actions)
Lasciamo vuota la sezione "E Se" e proseguiamo oltre. Nella sezione "Allora" definiamo cosa deve accadere, o meglio, le azioni da eseguire, quando il trigger si attiva e le condizioni vengono soddisfatte.
Possiamo inserire azioni semplici, oppure strutturarle in modo più complesso utilizzando blocchi IF-ELSE, che ci permettono di impostare ulteriori sotto-condizioni direttamente in fase di esecuzione. Ma vedremo più avanti e in dettaglio questo passaggio.
Cliccando su "Aggiungi Azione", si apre una lista che ci permette di interagire con un’infinità di elementi. Per esempio:
- Dispositivo: che ci consente di attivare una proprietà specifica di un dispositivo
- Interruttore o Luce: che ci permette di commutare le proprietà di uno o più dispositivi contemporaneamente.
- Notifiche, per inviare notifiche di vario genere ai nostri device.
- Scene e Script, per eseguire operazioni di vario tipo (anche in questo caso ne parleremo in un video dedicato)
- Blocchi, per impostare ulteriori sotto-condizioni di verifica in fase di elaborazione
- Aiutanti (per chi non sapesse cosa siano, vi consiglio di recuperare la tappa del viaggio sui Dispositivi e Servizi)
- E molto altro...
Per completare questa automazione di esempio, potremmo aggiungere un’azione che commuta una luce. Clicchiamo su "Aggiungi Azione", selezioniamo "Luce", poi scegliamo "Commuta" e infine clicchiamo su "Scegli dispositivo" per selezionare le luci che vogliamo commutare.
Una volta configurata l’azione, salviamo l’automazione assegnandole un nome.
Il risultato dell'automazione appena creata sarà:
- Quando: il pulsante viene premuto
- Allora: Commuta, cioè accendi o spegni, la luce o le luci indicate nell'azione.
Semplice!
Conclusioni
Come potete vedere, il meccanismo alla base di un’automazione è piuttosto semplice e intuitivo. La cosa fondamentale è documentarsi e sperimentare il più possibile per acquisire confidenza con gli strumenti che abbiamo a disposizione. Solo così potremo avere un quadro chiaro di ciò che ci serve e scegliere consapevolmente gli strumenti più adatti alle nostre esigenze.
Bene per oggi è tutto! Nel prossimo video approfondiremo gli strumenti principali presenti nella sezione "Quando" di un’automazione. Come sempre se vi fa piacere, seguitemi per altri tutorial, attivate la campanellina e lasciate un like al video.