Configuriamo Zigbee2MQTT su Home Assistant Container, cambiando il firmware del Sonoff ZBDongle-E
Zigbee2MQTT è un Add-On che permette di integrare su Home Assistant numerosi device dotati di protocollo Zigbee, appartenenti anche a brand differenti, rendendoli pienamente compatibili con il nostro assistente domotico. Tra le altre cose, sul sito ufficiale trovare sia la lista dei dispositivi compatibili con Z2M [LINK], che la lista degli adattatori [LINK], tra i quali il nostro Sonoff ZBDongle-E. Premettiamo che per far lavorare il Sonoff ZBDongle-E sarà necessario cambiarne il firmware, operazione semplice ma essenziale.
- Acquista Sonoff ZBDongle-E su ITEAD: https://itead.cc/product/zigbee-3-0-usb-dongle/ref/271/
- Acquista Orange Pi 4A su Amazon: https://amzn.to/4jQiXCC
Cambio Firmware
Per lavorare con Zigbee2MQTT, il Sonoff ZBDongle-E così com’è non va bene e va cambiato il firmware. Prima di procedere, spendiamo due parole su questo device. Il Sonoff ZBDongle-E è una USB stick universale compatibile con la rete Zigbee 3.0 e compatibile sia su Windows, Apple e ambienti Linux, quindi adoperabile sia su Raspbian che su Home Assistant.
Esternamente si presenta con un case di alluminio nero con funzione dissipante, a cui va collegato un antennino da 108 mm.
Al di sotto del case di alluminio troviamo un SoC EFR32MG21 che sfrutta il protocollo seriale EZSP, mentre l’interfaccia USB sfrutta un chip CH9102F o un chip CP2102N. Il Sonoff ZBDongle-E è adoperabile sia come Coordinator che come Router all’interno di una rete Zigbee.
Passiamo adesso al cambi firmware che potete effettuare velocemente tramite interfaccia web sul sito Silabs Firmware Flasher e seguendo le istruzioni. Esistono anche altri modi per cambiare il firmware del Sonoff ZBDongle-E, ma sono meno semplici. L’unica raccomandazione è di installare i driver del chip CP2102 sul vostro PC con Windows o MacOS, se il vostro Sonoff ZBDongle-E ne è dotato, scaricandoli a questo LINK.
Entrando sul sito Silabs Firmware Flasher, identifichiamo il nostro Sonoff ZBDongle-E, poi colleghiamolo al PC e premiamo il pulsante CONNECT.
Si aprirà un pop-up che vi chiederà di selezionare la porta di comunicazione sulla quale è montato il Sonoff ZBDongle-E. Nel nostro caso è la porta COM5. Se non apparisse nulla, vuol dire che il dispositivo non è stato riconosciuto dal PC e necessita dell’installazione dei driver, oppure la porta non funziona correttamente. Selezioniamo la voce del nostro dispositivo e poi clicchiamo su Connetti.
Attendiamo il caricamento e ci apparirà una finestra che ci chiede se vogliamo aggiornare il firmware alla versione più recente o cambiarlo. Selezioniamo quest’ultima voce.
Dobbiamo ora scegliere il firmware che desideriamo. Visto che vogliamo lavorare su Zigbee2MQTT, selezioniamo la voce Zigbee (EZSP) e poi clicchiamo su INSTALL.
Si avvierà l’installazione del firmware che si concluderà con un messaggio di avvenuta installazione. Vi raccomandiamo di non estrarre il Sonoff ZBDongle-E dalla porta USB o di chiudere il browser durante questa procedura. Alla fine dell’installazione potete disconnettere il Sonoff ZBDongle-E dal PC.
Installazione Zigbee2MQTT
Prima di procedere all’installazione di Zigbee2MQTT su Home Assistant Container, ricordatevi che dovete aver precedentemente configurato MQTT, che abbiamo visto in questa guida [LINK]. Premesso ciò, lavoriamo come sempre da terminale per identificare il nostro Sonoff ZBDongle-E, che abbiamo inserito in una delle porte USB del nostro Orange Pi 4A. Il comando da dare sarà:
ls /dev/ttyUSB*
Apparirà una lista di dispositivi, ma quello che interessa a noi è il /dev/ttyUSB0.
Creiamo una cartella che ospiterà il file di configurazione yaml di Zigbee2MQTT:
mkdir -p /home/orangepi/zigbee2mqtt
Entriamo nella cartella appena creata:
cd zigbee2mqtt
Creiamo, usando il comando nano, un file configuration.yaml per installare Zigbee2MQTT con docker, accanto a Home Assistant Container:
sudo nano configuration.yaml
All’interno del configuration.yaml copiamo quanto segue, modificando solo i parametri port, user, password e server se diversi da quelli adoperati da noi.
serial:
port: /dev/ttyUSB0
adapter: ember
mqtt:
base_topic: zigbee2mqtt
server: 'mqtt://192.168.1.204'
user: homeassistant
password: orangepi
version: 5
reject_unauthorized: true
include_device_information: true
permit_join: false
frontend:
port: 8080
homeassistant:
legacy_triggers: true
legacy_entity_attributes: false
ota:
update_check_interval: 1440
disable_automatic_update_check: false
advanced:
cache_state: true
cache_state_persistent: true
cache_state_send_on_startup: true
channel: 19
transmit_power: 20
legacy_api: false
legacy_availability_payload: false
log_level: info
log_namespaced_levels:
z2m:mqtt: warning
Torniamo alla cartella utente prima di avviare l’installazione del docker.
cd ..
Avviamo l’installazione di Zigbee2MQTT con docker, impostando la time zone di Roma e indicando come dispositivo /dev/ttyUSB0.
sudo docker run --init -d --name="zigbee2mqtt" -e TZ=Europe/Rome -v ~/zigbee2mqtt:/app/data --device=/dev/ttyUSB0 --network host --restart always koenkk/zigbee2mqtt
Al termine dell’installazione, verifichiamo che non ci siamo problemi con il comando:
sudo docker logs zigbee2mqtt
Se non ci sono errori avremo una schermata simile a questa.
Non ci resta che avviare Zigbee2MQTT aprendo un browser da PC e andare all’indirizzo del nostro Orange Pi 4A ( nel nostro esempio è http://192.168.1.204:8080). Possiamo provare a integrare sin da subito i dispositivi Zigbee al nostro Home Assistant Container.