ZigBee2MQTT (BRIDGE/Gateway software ZigBee)

4 minuti di lettura
Sviluppatore: Koenkk
Disponibilità: presso repository GitHub
Categoria: BRIDGE/Gateway ZigBee↔︎MQTT
Tipologia: software
Difficoltà di implementazione: media
Revisione scheda: 2.0

zigbee2mqtt logoZigBeeMQTT è una soluzione Open Source utile alla definizione di un BRIDGE/Gateway ZigBee↔︎MQTT utile alla propria domotica personale. Tale componente mette in relazione due standard: lo Zigbee, altamente adottato come standard trasmissivo per componenti domotici e l’MQTT.

Il software si appoggia, lato hardware, a un’antenna che funga da coordintor, tra le svariate compatibili con tale software, come per esempio il dongle USB CC2531 (opportunamente dotato dall’utente di firmware specifico, come vedremo), ConBee (la quale può essere usata senza modifiche) e altre.

In pratica, l’adozione combinata di ZigBeeMQTT e di una delle antenne di cui sopra abilita l’utente a integrare, presso la propria domotica personale, componenti basati su standard ZigBee di diverse marche e linee prodotti.

Come abbiamo spiegato in precedenza, l’adozione dei componenti basati sull’ottimo standard domotico ZigBee prevede anche l’adozione del BRIDGE/Gateway della stessa linea prodotti (eg. Gateway Philips HUE per controllare i componenti della stessa linea), salvo casi di interoperabilità (eg. l’esistente possibilità di controllare componenti ZigBee LUMI Aqara tramite Gateway Xiaomi Mijia) – nonché l’uso forzato di app mobili apposite fornite dai produttori del gateway. Un odioso vendor lock-in da evitare sempre, a tutti i costi.

L’adozione di ZigBeeMQTT in associazione all’uso di un proprio HUB personale software (eg. Home Assistant), risolve tutto questo: ZigBeeMQTT funge infatti da ponte tra l’HUB personale e il componente ZigBee (utilizzando come mezzo il protocollo MQTT), quale che sia, ottenendo quindi l’obiettivo della piena integrazione. La lista (ampissima) di componenti compatibili con questo modello operativo è disponibile qui.

N.b. Un’alternativa a ZigBeeMQTT (stessi scopi, diverse modalità) è deCONZ.  Un’altra è ZigBee2Tasmota.

Come funziona

ZigBee2MQTT è un software gratuito che viene eseguito in modalità “server”, ovvero è un processo perennemente in esecuzione, un po’ come capita per i nostri amati HUB personali che può essere facilmente installato ed eseguito su:

  • Rasberry Pi dotato di sistema operativo Raspbian;
  • Ubuntu & linux-like
  • Microsoft WIndows 7 e 10;
  • Apple macOS;
  • Docker;
  • come addon HASSIO

ed altri.

Una volta installato e configurato ZigBee2MQTT sul computer di riferimento (il quale dovrà ovviamente anche avere l’antenna ad esso fisicamente connessa), la nostra rete domestica magicamente disporrà di un’interfaccia MQTT alla quale collegarsi per riuscire a censire e gestire i componenti ZigBee della nostra domotica.

ZigBee2MQTT (come il nome stesso suggerisce) infatti altro non fa che  “tradurre” le comunicazioni del protocollo ZigBee in comunicazioni standard MQTT, trasformando di fatto i componenti ZigBee ad esso connessi in componenti MQTT.

zigbee2mqtt architecture
il modello di funzionamento di ZigBee2MQTT.

CC2531

Abbiamo citato uno dei dongle più utilizzati con questo software, il CC2531. Vediamo allora in che modalità i maggiori HUB personali riescano ad integrare ZigBee2MQTT  (e quindi i componenti ZigBee su di esso attestati) utilizzando questa antenna (le guide in realtà vanno bene allo stesso modo anche per altre antenne):

HUB Modalità di integrazione
Home Assistant
(distribuzione HASSIO)
Add-on dedicato (server ZigBee2MQTT) + componente MQTT nativo Home Assistant HASSIO. Una volta riprogrammata l’antenna CC2531 col firmware previsto, è necessario eseguire il server ZigBee2MQTT; successivamente è necessario effettuare il pairing dei componenti ZigBee con l’antenna CC2531, in modo che le loro comunicazioni vengano, dal server, trasformate in messaggi MQTT. Infine, il componente MQTT Home Assistant (grazie all’autodiscovery) riconoscerà automaticamente questi nuovi dispositivi MQTT virtuali, provvedendo così alla definizione delle corrispondenti entità. È altresì possibile configurare manualmente via MQTT ogni singolo accessorio.

GUIDA ALL’INTEGRAZIONE

Home Assistant
(installato come applicativo)
Servizio (server) ZigBee2MQTT + broker MQTT + componente MQTT nativo Home Assistant. Una volta riprogrammata l’antenna CC2531 col firmware previsto, è necessario eseguire il server ZigBee2MQTT; successivamente è necessario effettuare il pairing dei componenti ZigBee con l’antenna CC2531, in modo che le loro comunicazioni vengano, dal server, trasformate in messaggi MQTT. Infine, il componente MQTT Home Assistant (grazie all’autodiscovery) riconoscerà automaticamente questi nuovi dispositivi MQTT virtuali, provvedendo così alla definizione delle corrispondenti entità. È altresì possibile configurare manualmente via MQTT ogni singolo accessorio.

GUIDA ALL’INTEGRAZIONE

openHAB Servizio (server) ZigBee2MQTT + broker MQTT + componente MQTT nativo openHAB. Una volta riprogrammata l’antenna CC2531 col firmware previsto, è necessario eseguire il server ZigBee2MQTT; successivamente è necessario effettuare il pairing dei componenti ZigBee con l’antenna CC2531, in modo che le loro comunicazioni vengano, dal server, trasformate in messaggi MQTT. Infine, il componente MQTT di openHAB (grazie all’autodiscovery) riconoscerà automaticamente questi nuovi dispositivi MQTT virtuali, provvedendo così alla definizione delle corrispondenti entità.
Domoticz Servizio (server) ZigBee2MQTT Una volta riprogrammata l’antenna CC2531 col firmware previsto, è necessario eseguire il server ZigBee2MQTT; successivamente è necessario effettuare il pairing dei componenti ZigBee con l’antenna CC2531, in modo che le loro comunicazioni vengano, dal server, trasformate in messaggi MQTT. Infine, il componente MQTT di Domoticz (grazie all’autodiscovery) riconoscerà automaticamente questi nuovi dispositivi MQTT virtuali, provvedendo così alla definizione delle corrispondenti entità.
Homebridge Indipendentemente da dove sia in esecuzione Homebridge, è necessario installare il server ZigBee2MQTT (le installazioni variano in base al tipo di sistema operativo che lo ospiterà) sullo stesso computer o su un computer collegato sulla stessa LAN ed effettuare il pairing degli accessori ZigBee con l’antenna CC2531 opportunatamente riprogrammata nel firmware. Successivamente è necessario utilizzare uno dei tanti plugin disponibili per la gestione dell’MQTT (noi consigliamo homebridge-mqttthing) e definire i vari accessori manualmente, uno per uno, a partire dai messaggi MQTT prodotti da ZigBee2MQTT.
Homey Pensare di usare CC2531 con Homey non avrebbe alcun senso: Homey è un HUB personale hardware dotato di antenna ZigBee e di tutta una serie di apps per integrare un’enorme varietà di componenti ZigBee.
CC2531
il dongle USB CC2531.

Pregi e difetti

L’adozione di ZigBee2MQTT presenta pregi e difetti. Rispetto all’uso del suo “rivale” deCONZ, ha il vantaggio di essere più economica (il dongle USB CC2531 e il necessario per programmarne il firmware costano meno delle antenne usate con deCONZ, ovvero ConBee o RaspBee); di contro, ZigBee2MQTT prevede una competenza tecnica maggiore rispetto a deCONZ (estremamente più semplice da utilizzare), e le antenne utilizzate da quest’ultimo sono pronte all’uso, a differenza della CC2531 che bisogna imparare a riprogrammare allo scopo.

Altra cosa importante da sapere è il limite i dispositivi ZigBee gestibili: in presenza di una singola antenna CC2531, i componenti gestibili sono 25 (contro i 200 di ConBee/RaspBee), numero che può essere aumentato utilizzando componenti ZigBee con funzione router. Sempre paragonate a ConBee e RaspBee, le chiavette CC2531 hanno una portata radio inferiore.

   
Telegram News Channel