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.

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.