In questo articolo impariamo a conoscere ed utilizzare una funzione poco conosciuta ma utilissima: il binding Zigbee tra un interruttore ed un attuatore, una lampadina o una smart plug o un gruppo di essi, utilizzando l’integrazione ZHA di Home Assistant.
I tasti ed interruttori Zigbee, infatti, implementano questa comodissima funzionalità chiamata binding che permette loro di comandare direttamente i dispositivi Zigbee appartenenti alla stessa rete, senza usare automazioni di Home Assistant. Funziona anche con dispositivi di marche diverse!
Scopriamone insieme tutti i vantaggi e come attivare questa funzione!
Sommario
Come sono integrati interruttori e telecomandi Zigbee in Home Assistant
Con tutte le integrazioni disponibili (ZHA, Deconz e Zigbee2mqtt) gli interruttori e telecomandi Zigbee non espongono altro che una entità con lo stato della batteria.
Molti utenti si aspetterebbero di trovare delle entità binarie per ogni tasto ma così non è. Questo per l’esigenza di andare oltre al solo stato di on/off. Pensiamo ad esempio al fatto che si tenga premuto un tasto per cambiare l’intensità della luce o si faccia doppio click su un tasto (le possibilità variano a seconda del produttore/modello). Tali gesture non sarebbero rappresentabili.
In Home Assistant si è quindi scelto di rappresentarle tramite eventi. In tal modo, oltre all’indicazione di quale tasto sia stato premuto o rilasciato, possono venire inviati molti altri attributi che possono essere utilizzati nelle automazioni per creare azioni specifiche per ogni gesture.
Per verificare come sia fatto l’evento inviato dal telecomando, e quindi capire come creare un’automazione, basta andare in Strumenti per sviluppatori -> Eventi -> Ascoltare gli eventi (parte bassa dello schermo) scrivere il nome dell’evento utilizzato dalla propria integrazione, zha_event nel nostro caso con ZHA, quindi premere sul tasto Iniziare ad ascoltare e scatenare le gesture del telecomando per appuntarne i valori. Vedrete qualcosa di simile.
A questo punto, creando una o più automazioni, è possibile gestire tali eventi e aumentare/diminuire la luminosità, spegnere/accendere una luce o una smart bulb.
Demando ad un futuro articolo come farlo nel migliore dei modi in quanto non è l’oggetto del presente articolo.
Ma cosa succederebbe se il nostro Home Assistant smettesse di funzionare per qualunque motivo? Alla pressione del tasto la luce non si accenderebbe. E qualcuno sarebbe certamente scontento del risultato… (ogni riferimento a mia moglie è puramente casuale…!)
Il binding Zigbee
In nostro soccorso arriva proprio il binding Zigbee, che è parte dello standard definito da Zigbee alliance e quindi disponibile con tutti i dispositivi che implementano correttamente tale standard.
Attraverso tale funzione impostiamo nella memoria interna del telecomando il dispositivo o gruppo destinatario delle azioni, in modo tale che alla pressione dei tasti, oltre a inviarli ad Home Assistant come precedentemente visto, attivi anche direttamente le funzioni sui dispositivi impostati.
Questa potenzialità, come detto, è trasversale alle marche/modelli di dispositivi e funziona tramite delle comunicazioni dirette tra telecomando e dispositivi destinatari, sfruttando la rete mesh presente con eventuali router e senza passare da Home Assistant per il funzionamento, risultando quindi molto più resiliente delle automazioni classiche.
Essendo inoltre un’invio diretto è anche molto più affidabile e veloce, talmente veloce che ti sembrerà di utilizzare un interruttore fisico.
Ulteriore vantaggio, nel caso di dimming, è la fluidità con la quale è effettuata questa operazione che, se dovesse passare da Home Assistant, non arriverebbe mai a tali livelli.
Come detto il binding è parte dello standard Zigbee e quindi funzionerà tra marche/modelli/tipologie differenti di dispositivi. Si può accendere una smart plug Xiaomi usando un telecomando Ikea, per esempio.
Come attivare il binding Zigbee con ZHA
Mentre diversi dispositivi Zigbee (come quelli venduti da Ikea) hanno una procedura per attivare il binding utilizzando direttamente i dispositivi stessi, vediamo invece come utilizzare ZHA per impostare il binding di un telecomando qualunque.
Partiamo da una nozione importante: i device da accendere devono essere inclusi ad un gruppo Zigbee. Esiste la possibilità di effettuare il binding singolo ad un device ma non sono riuscito a farlo funzionare su alcun dispositivo in mio possesso, probabilmente perchè i produttori hanno preferito usare l’attivazione di gruppo, più flessibile.
Da ciò ne deriva che dovremo creare un gruppo anche per un singolo dispositivo da accendere tramite binding.
Per creare un gruppo con ZHA rimando all’articolo ZHA: Zigbee in Home Assistant, capitolo “i gruppi Zigbee“
Per esemplificare creo un gruppo chiamato “Tavolo group” contenente tre lampadine smart come segue:
Ora non resta che attivare il binding nel telecomando che vorremo utilizzare.
Per farlo andiamo in Impostazioni -> Integrazioni -> Zigbee -> x dispositivi -> selezioniamo il telecomando -> Gestisci i cluster.
Dalla finestra di dialogo che appare scorriamo verso il fondo nella sezione Collegamento gruppo.
In tale sezione selezioniamo in “Gruppi collegabili” il gruppo precedentemente creato e selezioniamo i servizi che vogliamo siano collegati automaticamente:
Dei servizi presenti quelli a noi utili sono i seguenti:
- LightLink – collega l’accensione / spegnimento di una fonte luminosa
- LevelControl – collega la gestione del livello di illuminazione (dimming), ad esempio tenendo premuti i tasti up/down
- OnOff – collega l’accensione / spegnimento di un dispositivo on/off come una smart plug
A questo punto premere il tasto COLLEGA GRUPPO.
Il comando verrà inviato dal dispositivo ma in Home Assistant questo collegamento non verrà memorizzato in alcun posto. Anche riaprendo questa schermata in futuro il binding non verrà mostrato.
Ci accorgeremo che il comando è stato recepito premendo il tasto di accensione e verificando che i dispositivi collegati si accendono automaticamente.
E se volessimo disabilitare un binding Zigbee?
Nel caso in cui si voglia riassegnare un telecomando ad altre funzioni o dispositivi è sempre possibile interrompere il binding effettuando la stessa operazione del capitolo precedente, selezionando il telecomando, in Gestisci cluster, Collegamento gruppo selezionare il gruppo attualmente collegato, i servizi precedentemente collegati ma a questo punto premere SCOLLEGA GRUPPO.
Abilitare la comunicazione di cambio stato ad Home Assistant
A questo punto il binding è configurato e funzionante ma c’è ancora un problema da risolvere. Premendo i tasti del telecomando la lampadina si accende/spegne e si regola la luminosità tenendo premuto. In Home Assistant, tuttavia, non vedremo riflettere questi cambi di stato nelle entità, rendendo impossibile usarli come trigger per eventuali ulteriori automazioni o visualizzazioni.
Fortunatamente è facile porvi rimedio:
- Accedere al dispositivo oggetto di accensione in Impostazioni -> Integrazioni -> Zigbee -> x dispositivi -> nome dispositivo
- Premere il tasto RICONFIGURA DISPOSITIVO
- Ripetere dal punto 1 per ogni dispositivo appartenente al gruppo configurato
Se ora mostri a schermo su Home Assistant un’entità collegata, ti sarà facile verificare che, premendo il tasto del telecomando, lo stato dell’entità si modifichi ad ogni pressione.
Dispositivi noti per supportare il cambio stato: Ikea Trådfri, Innr e OSRAM.
Dispositivi noti per NON supportarlo: Philips Hue, GLEDOPTO e Müller Licht
Conclusione e ulteriori riferimenti
Avendo verificato i tanti vantaggi del binding Zigbee e l’assenza di svantaggi ti consiglio caldamente di utilizzarlo ovunque possibile.
Renderai molto più improbabile l’evento indesiderabile che premendo un tasto non accada l’azione voluta.
Assicurati soltanto che la copertura di segnale Zigbee sia sufficiente e non disturbata da Wifi (ti rimando a questo articolo per approfondire l’argomento: ZigBee: copertura, router, canali)
Ecco alcuni ulteriori riferimenti che possono esserti d’aiuto:
- Binding con Zigbee2mqtt – Utile per capire come attivare questa funzionalità con Zigbee2mqtt ma anche per ulteriori informazioni generali
- Definizione di Binding Zigbee su Microchip University
- Definizione di Binding Zigbee nel firmware Zigbee2Tasmota
Ti va di darmi una mano?
Il contenuto di questo sito è completamente gratuito senza pubblicità invasive e il fine non è certo guadagnare …ma mantenere un sito ha un costo. Se ti va di darmi una mano per sostenere le spese o ti va di sostenere questo progetto hai le seguenti modalità:
- Donazione con Paypal:
- Regalami un caffè su Buymeacoffee:
- Effettua i tuoi acquisti Amazon a partire da QUESTO LINK (o tramite i prodotti sotto)
- Acquistare i tuoi prodotti Shelly usando QUESTO LINK
- Effettuare i tuoi acquisti AliExpress usando QUESTO LINK
Pingback: Home Assistant e ZigBee: orientiamoci • Henrik Sozzi TECH
Pingback: Quali dispositivi per Home Assistant? • Henrik Sozzi TECH