community italiana di domotica personale
 
HOT – Aggiornamento 2022.5 per Home Assistant Core

HOT – Aggiornamento 2022.5 per Home Assistant Core

Home Assistant Official LogoIl team di sviluppo di Home Assistant ha rilasciato un nuovo aggiornamento per il noto HUB software gratuito per la propria domotica personale, il quale si porta alla versione 2022.5. Si tratta di una versione importante che introduce, come più capita in occasione di questi aggiornamenti mensili, svariate novità e migliorie.

Come sempre, vi ricordiamo l’estrema importanza – come qualunque nuova versione, specialmente di questo oggetto software – di essere installata senza indugi o attese (come spiegato nella procedura).

Eventuali problemi con questo aggiornamento – segnalati dalla community internazionale – sono disponibili:

  • qui per le tematiche legate al Core (automazioni, integrazioni, funzionamento dell’HUB);
  • qui per i problemi legati all’interfaccia web di frontend Dashboards (ex “Lovelace UI”);
  • qui per i problemi legati al Supervisor di Home Assistant;
  • qui per problemi legati alla documentazione web.

Ovviamente, come sempre ci sono sempre anche il nostro FORUM e la nostra CHAT (in italiano, of course) per qualsiasi domanda o consiglio.

Servizio backup.create

Dopo l’introduzione del mese scorso dei backup per l’implementazione Core, ora è possibile avviare automazioni (magari su base temporale, o altro), per esempio:

automation:
  - alias: "Backup automatico alle 3 del mattino"
    trigger:
      platform: time
      at: "03:00:00"
    action:
      alias: "Creazione backup"
      service: backup.create 

Riorganizzazione menu

Il menu di “Configurazione” aveva bisogno di una riorganizzata. Che si utilizzi Home Assistant Core o OS/Supervised, tutte le voci del menu sono state spostate/risistemate:

Home Assistant 2022.5 - Menu di configurazione
le nuove voci di menu (sx) e il dettaglio del nuovo sottomenu “Sistema” (per gli utenti OS/Supervised)

I progetti (blueprint) sono stati spostati nella sezione “Automazioni e scene” e, a grande richiesta, gli helper sono stati spostati nella pagina dispositivi e servizi. Gli strumenti di configurazione YAML hanno una nuova casa negli strumenti di sviluppo, un posto più logico per i controlli e il ricaricamento della configurazione YAML.

Quick bar

La “Quick Bar” viene ulteriormente migliorata. Viene infatti aggiunta la “lente di ingrandimento” in alto a destra nella “Dashboard” dell’HUB, la quale consente ricerche rapide sull’elenco delle proprie entità.

Home Assistant 2022.5 - Quick Bar

Questa funzione non è disponibile su Home Assistant Companion, ma solo da web.

Novita per automazioni e script

Le automazioni e gli script – tra gli strumenti più importanti di un HUB personale per domotica, figuriamoci su Home Assistant – acquisiscono con questa nuova major release nuove, importanti funzionalità. Tutte sono state proposte e votate sul forum apposito (in inglese).

ATTENZIONE: le spiegazioni che seguono sono maggiormente indicate verso chi abbia effettiva dimestichezza con le automazioni e gli script.

If/then/else

L’avvento della comodissima “Choose” ha lasciato comunque un vuoto per quanto riguarda la gestione dei bivi processivi di tipo if/then/else (se/allora/altrimenti).

Detto, fatto: ora è possibile utilizzarle.

Un esempio di configurazione YAML di una action di un’automazione:

actions:
  - if:
      - alias: "Se nessuno è a casa"
        condition: state
        entity_id: zone.home
        state: 0
    then:
      - alias: "Avvia la pulizia col robot aspirapolvere!"
        service: vacuum.start
        target:
          area_id: living_room
    # Esiste anche l'else, comunque opzionale
    else:
      - service: notify.notify
        data:
          message: "Non faccio partire le pulizie: c'è qualcuno a casa!" 

Volendo l’if può essere scritto in notazione breve:

actions:
  - if: "{{ states('zone.home') == 0 }}"
    then:
      - alias: "Avvia la pulizia col robot aspirapolvere!"
        service: vacuum.start
        target:
          area_id: living_room 

La nuova sintassi è configurabile anche tramite interfaccia grafica via web.

Trigger calendario

Se si utilizzando entità di tipo “Calendar“, ora è possibile utilizzarle come trigger:

automation:
  trigger:
    - platform: calendar
      event: start
      entity_id: calendar.personal
  action:
    - service: persistent_notification.create
      data:
        message: >-
          Event {{ trigger.calendar_event.summary }} @
          {{ trigger.calendar_event.start }} 

For each

Avevamo diverse opzioni disponibili per ripetere un gruppo di azioni. Ad esempio, ripetendo in base a un conteggio, mentre una condizione passa o finché una condizione non passa. D’altra parte è stata anche richiesta e votata la ripetizione di una sequenza per ogni elemento di una lista. Questa versione aggiunge il for each.

Questa è una funzionalità avanzata ed è disponibile solo per l’uso in automazioni scritte manualmente in YAML. Ecco un esempio che invia due notifiche in lingue diverse:

repeat:
  for_each:
    - language: Italian
      message: Ciao mondo
    - language: Dutch
      message: Hallo Wereld
  sequence:
    - service: notify.phone
      data:
        title: "Messaggio in {{ repeat.item.language }}"
        message: "{{ repeat.item.message }}!" 

Ciascun elemento nell’elenco verrà eseguito rispetto a una sequenza di azioni e l’elemento è disponibile come variabile che si possono utilizzare nei modelli. Gli elementi che si possono fornire a for_each possono essere mappature, elenchi di sole stringhe e persino modelli complessi che forniscono un elenco come risultato.

Disabilitare trigger, condition e action

A volte portebbe essere utile disabilitare un trigger, una condition o un’action specifica, sia che si tratti di test, di un’automazione temporanea o di qualsiasi altro motivo. In YAML era, sinora, facile (anche se poco ortodosso): bastava commentare il blocco di codice. Ma da interfaccia? Da oggi in tutti i casi è possibile semplicemente disabilitare questi elementi alla bisogna.

In questa versione è stato aggiunto il supporto per la disabilitazione. Un trigger disabilitato non si attiva, una condizione disabilitata viene ingnorata e un’azione disabilitata viene saltata.

Home Assistant 2022.5 - Disabilitazione trigger, condition e action

In YAML, invece:

automation:
  trigger:
    # Questo trigger non si innesca mai, perché disabilitato
    - platform: sun
      event: sunset
      enabled: false

    # Questo invece viene eseguito, perché non esplicitamente disabilitato (quindi operativo)
    - platform: time
      at: "15:32:00" 

Continue on error

Come sappiamo, un’automazione esegue tipicamemnte una sequenza di azioni. Una delle domande che vediamo/leggiamo/otteniamo spesso è: “Se una delle azioni fallisce, perché l’intera automazione si ferma?

Buona domanda! Per rispondere a questo è stato aggiunto il “continue on error”.

Consente il fallimento di passaggi specifici in un’automazione o in una sequenza di script senza interrompere il resto della sequenza. Questa funzionalità avanzata è attualmente disponibile solo per automazioni e script scritti in YAML. L’esempio seguente mostra un’azione di automazione che eseguirà sempre la seconda azione, anche se la prima azione non riesce con un errore:

action:
  - alias: "Se questa action fallisce..."
    continue_on_error: true
    service: notify.super_unreliable_service_provider
    data:
      message: "Io sono in errore!"

  - alias: "...questa comunque verrà eseguita."
    service: persistent_notification.create
    data:
      title: "Test"
      message: "Per me invece tutto ok" 

Era ora.

STOP di script e automazioni

È ora possibile interrompere uno script o un’automazione a metà utilizzando l’azione “Stop“. In combinazione con la nuova azione if/then menzionata in precedenza, può essere utilizzata per interrompere un’automazione o uno script in modo condizionale.

Ad esempio, questo può essere utile se si desidera che solo una parte di un’automazione venga eseguita quando si è a casa e che venga eseguita completamente quando non ci si trova.

Questa funzione è disponibile sia tramite l’interfaccia utente che tramite YAML.

Home Assistant 2022.5 - Stop action

Un esempio in YAML:

action:
  - stop: "Stop right here!"
    error: true 

Maggiori dettagli qui.

Azioni parallele

Solitamente le azioni di automazioni e script vengono eseguite in sequenza. Da oggi è possibile parallelizzarle.

L’esecuzione in serie non è sempre necessaria, ad esempio, se la sequenza di azioni non dipende l’una dall’altra e l’ordine non ha importanza. In questi casi, l’azione parallela può essere utilizzata per eseguire le azioni nella sequenza in parallelo, il che significa che tutte le azioni vengono avviate contemporaneamente.

Esempio:

automation:
  - trigger:
      - platform: state
        entity_id: binary_sensor.motion
        to: "on"
    action:
      - parallel:
          - service: notify.person1
            data:
              message: "Queste notifiche vengono inviate allo stesso tempo!"
          - service: notify.person2
            data:
              message: "Queste notifiche vengono inviate allo stesso tempo!" 

Maggiori info qui.

Trigger “not from” (ALLELUIA!)

Ora è possiible escludere “da quali stati” non considerare il from di un trigger, laddove si utilizzi la piattaforma “State“. 
Si capisce meglio dall’esempio:

trigger:
  - platform: state
    entity_id: light.living_room
    not_from:
      - "unavailable"
      - "unknown"
    to: "on" 

Questo trigger si innesca solo quando lo stato della luce light.living_room diventa on ma solo se lo stato precedente non era unavailable o unknown.

Questo è particolarmente apprezzato per esempio quando capita che un’entità abbia stato sconosciuto e, aggiornandosi, acquisisca lo stato reale. Questo poteva innescare automazioni non correttamente gestite, ovvero senza entrambi i campi from: e to: correttamente configurati.

Conditions in notazione breve

Per chi scrive automazioni e script su YAML: finalmente le conditions possono essere scritte in notazione breve, per esempio:

or:
  - <condition>
  - and:
    - <condition>
    - <condition>
  - not:
    - <condition>

Nuovo indicatore

Il “Gauge” ora è configurabile con più fasce colorate:

Home Assistant 2022.5 - Nuovo gauge
il nuovo “gauge”.

Utile se desideri definire i limiti del sensore superiore e inferiore sul misuratore, come mostrato nell’esempio sopra. L’esempio di configurazione utilizzato per lo screenshot sopra può essere trovato nella documentazione della Gauge Card.

Ottimizazioni database

Continuano le azioni volte a ottimizzare la struttura e l’organizzazione dei dati nel database dell’HUB, rendendolo più snello e rapido nella consultazione e popolamento.

Sebbene ci siano alcune ottimizzazioni aggiuntive in questa versione per ridurre ulteriormente la quantità di dati che devono essere scritti, in questa versione si sono concentrati sulla frequenza con cui i dati vengono letti dal database e sull’ottimizzazione della sua scala per configurazioni più grandi.

Questa versione è ideale se si hanno molti sensori che generano statistiche, poiché la compilazione delle statistiche ora richiede  dalle 30 alle 100 volte meno tempo. Il numero di query del database necessarie per la maggior parte dei sensori con un orario di inizio fisso è inferiore del 99%.

Anche se l’istanza è piccola e non registra molti stati, si trarrà comunque vantaggio dalle ottimizzazioni del Recorder (ricordarsi comunque di configurarlo al meglio). Sono state inoltre apportati ulteriori miglioramenti alle API della cronologia per velocizzare il recupero dal database, riducendo i tempi di risposta delle API in media del 15-35%.

Infine, è stata ridotta la memoria utilizzata durante le migrazioni del database per facilitare le migrazioni future e ora il database viene riorgranizzato automaticamente una volta al mese per mantenere tutto in massima efficienza.

Insteon

Insteon è morta, viva Insteon. Fortunatamente le sue componenti potevano e possono essere integrate anche localmente, quindi chi possiede questi elementi può da oggi continuare a coordinarle tramite il pannello di controllo Insteon appositamente introdotto da questa 2022.5:

Home Assistant 2022.5 - Insteon

Questo nuovo pannello di controllo consente di gestire i dispositivi Insteon direttamente da Home Assistant, proprio come si faceva in precedenza con l’applicazione Insteon.

Altro

Ecco alcune altre novità importanti:

  • ora è possibile indicare a Home Assistant di saltare eventuali aggiornamenti indicati in Dashboard;
  • sempre da interfaccia Dashboard, ora è possibile configurare anche i template, solitamente relegati alla configurazione YAML;
  • ora anche gli script sono dotati di ID univoco, il che consente di configurarne da interfaccia icone, assegnamento eventuale a zone e altro;
  • ora un’eventuale istanza di Z-Wave JS presente sulla stessa rete di Home Assistant viene automaticamente riconosciuto e proposto per l’integrazione;
  • l’integrazone Shelly ora supporta l’autenticazione anche per i dispositivi di seconda generazione;
  • i “Sensor” ora guadagnano una nuova classe, duration;
  • l’integrazione Philips TV ora permette di attivare/disattivare la sincronizzazone – laddove supportata – con Philips HUE e Ambience

e altro ancora.

Integrazioni

Un po’ di nuove integrazioni:

mentre ci salutano le seguente integrazioni:

  • Arlo;
  • Digital Loggers
  • Updater

Inoltre, alcune integrazioni già presenti guadagnano da questa versione la possibilità di essere configurate via interfaccia grafica anziché da codice:

Breaking changes

Presente una lista di modifiche che potrebbero eventualmente causare problemi o comunque degne di nota.
Date una scorsa CON MOLTA ATTENZIONE.

Alcune di esse ci sembra giusto menzionarle di seguito:

  • AVM FRITZ!Box Call Monitor ora si configura solo tramite interfaccia grafica;
  • HomeKit non supporta più le device class carbon_dioxide come sensori binari;
  • se calcolate l’energia (i consumi elettrici) tramite Integration – Riemann sum integral, attenzione: il parametro unit non è più supportato;
  • ONVIF non supporta più la configurazione YAML, ma solo da interfaccia;
  • se usate Z-Wave JS (in qualsiasi modalità) assicuratevi di averlo aggiornato all’ultima versione disponibile prima di aggiornare Home Assistant alla 2022.5.

e molto altro (incluse molte altre integrazioni che da oggi andranno configurate solo da interfaccia).

LOG COMPLETO

L’elenco completo delle novità della 2022.5 è disponibile qui.
Il lancio ufficiale di questo aggiornamento è disponibile qui.

Home Assistant 2022.5

Aggiornamento

Tutte le modalità di aggiornamento per Home Assistant Core sono riassunte su questa scheda ad hoc:

Utilità: come aggiornare Home Assistant

⚠️ 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. Se ti sei perso, a tua disposizione c'è la mappa.