Il team di sviluppo di Home Assistant ha rilasciato un nuovo aggiornamento per il noto HUB software gratuito per la domotica personale, il quale si porta alla versione 0.113.x.
Ricordiamo a tutti, a prescindere, l’importanza di eseguire SEMPRE questi aggiornamenti.
Eventuali problemi con questo aggiornamento – segnalati dalla community internazionale – sono disponibili qui. Ovviamente, ci sono sempre anche il nostro FORUM e la nostra CHAT.
Automazioni (e script)
Cardine di questa nuova release dell’HUB è una profonda revisione degli aspetti legati ad automazioni e script.
Innanzitutto sono stati corretti alcuni difetti, in primis sulla gestione dei delay. Per esempio un’automazione di questo tipo:
automation: - alias: "esempio" trigger: - platform: state entity_id: binary_sensor.button to: "on" action: - service: light.turn_on entity_id: light.bulb - delay: seconds: 10 - service: light.turn_off entity_id: light.bulb
la quale provvede ad accendere una luce per poi spegnerla dopo 10 secondi, malfunzionava in caso si presentasse due volte il trigger di innesco entro i 10 secondi di delay previsti in action. Condizioni di questo tipo non si verificheranno più.
Nuove modalità di esecuzione
Con questa nuova versione, Home Assistant introduce nuove modalità di esecuzione per le automazioni proprio in ottica di gestione del bug sopra esplicato. In sostanza ora si potrà istruire l’automazione rispetto a come comportarsi nel caso si presenti nuovamente il trigger d’innesco nella situazione in cui l’automazione sia già stata innescata precedentemente e sia ancora in esecuzione.
Nasce quindi il parametro mode, il quale prevede le seguenti possibili impostazioni:
single | Se si presenta il trigger prima della fine dell’esecuzione, ignoralo |
restart | Se si presenta il trigger prima della fine dell’esecuzione, interrompi l’esecuzione e riavvia l’automazione |
queued | Se si presenta il trigger prima della fine dell’esecuzione, portala a compimento e poi riavvia l’automazione |
parallel | Se si presenta il trigger prima della fine dell’esecuzione, esegui nuovamente l’automazione, in parallelo |
Ecco queste varie modalità spiegate graficamente:
Per le modalità queued e parallel è possibile indicare anche il numero massimo di esecuzioni accodate o parallelizzate tramite il parametro max, il quale se non indicato è impostato di default a 10.
Si tratta di una grande novità, che consentirà non solo di gestire situazioni non volute, ma anche di configurare automazioni ancora più efficaci.
Repeat
Altra grande novità la possibilità di ripetere porzioni di automazioni o script in tre diverse modalità:
Counted repeat | Ripetizione a numero chiuso |
While loop | Ripetizione con proseguimento subordinato a una condizione specifica |
Repeat until | Ripetizione con uscita subordinata a una condizione specifica |
Facciamo un esempio. Scriviamo uno script che spammi un medesimo messaggio per dieci volte al proprio smartphone:
script: - alias: Invia notifica spam al telefono repeat: count: 10 sequence: - service: notify.marco data: message: Ding dong! C'è qualcuno alla porta!
e così via.
Chooser
Capita spesso che si abbiano più automazioni che controllino le medesime entità. Da questa nuova versione è possibile definire singole automazioni dotate di selettore, ovvero che eseguano porzioni di blocco action in base alle condizioni configurate.
Si prenda ad esempio questa automazione:
automation: - alias: "Esempio" description: "Gestione della luce" trigger: - platform: state entity_id: - binary_sensor.button1 - binary_sensor.button2 - binary_sensor.button3 action: - choose: - conditions: - condition: state entity_id: binary_sensor.button1 state: "on" sequence: - service: light.turn_on entity_id: light.bulb - conditions: - condition: state entity_id: binary_sensor.button2 state: "on" sequence: - service: light.turn_off entity_id: light.bulb default: - service: notify.marco data: message: "E' stato premuto il pulsante 3"
In pratica l’automazione si innesca con la pressione di uno dei tre pulsanti indicati:
- binary_sensor.button1
- binary_sensor.button2
- binary_sensor.button3
dopodiché nel blocco action avviene la magia: con la nuova sintassi, se viene premuto il pulsante 1, la luce viene accesa; col 2, viene spenta mentre nel caso del tre, dato che non è esplicitamente gestito, viene eseguito il sottoblocco default, ovvero quello che invia un messaggio.
Nuove icone
Come è noto, Home Assistant utilizza le icone di materialdesignicons.com, un sito che ci consente, tramite la sua “vetrina”, di scegliere le icone più appropriate per le nostre personalizzazioni.
Molte nuove icone sono state aggiunte, alcune invece rimosse. Se notate sul vostro frontend dei “buchi”, sapete perché. Volendo potete risolvere sostituendole con nuove icone o, se proprio non potete fare a meno dell’icona precedente, implementare questa integrazione custom per ripristinarle.
Varie, ma importanti
- viste le considerazione fatte sopra su automazioni e script, ovviamente anche l’interfaccia grafica Lovelace fatta per modificarli/definirne di nuovi è stata aggiornata;
- velocità! Questa nuova versione porta con se dei ragguardevoli migloiramenti in termini di prestazioni, in alcuni punti addirittura del 40%;
- i gruppi di entità derivanti dall’integrazione Philips HUE ora possono essere controllati direttamente dal pannello di integrazione;
- OpenZWave continua a crescere, e presto sostituirà l’attuare l’integrazione Z-Wave (alleluia).
Integrazioni
Nessuna grandissima integrazione di rilievo, giusto qualcosa.
Due invece le integrazioni già esistenti che guadagnano la configurabilità via interfaccia grafica e abbandonano quella manuale:
Breaking changes
Una lista di modifiche che potrebbero eventualmente causare problemi:
- versione Python: per chi usa un’installazione Home Assistant Core, la versione minima di Python da oggi è la 3.7.1. In caso, provvedete all’aggiornamento (qui una guida esemplificativa per Raspberry Pi OS);
- Philips HUE: attenzione, l’integrazione manuale via codice YAML sul file di configurazione è da oggi deprecata. Dalle prossime versioni verrà del tutto rimossa in favore della configurazione via interfaccia grafica
e altro ancora. Date una scorsa.
> Tutti i dettagli di questo rilascio sono disponibili qui.
Aggiornamento
Tutte le modalità di aggiornamento per Home Assistant Core sono riassunte su questa scheda ad hoc:
⚠️ 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. |