Zigbee2MQTT
Come configurare SONOFF Zigbee 3.0 USB Dongle Plus (ZBDongle-P) con Zigbee2MQTT
Configura il SONOFF Zigbee 3.0 USB Dongle Plus (ZBDongle-P) come coordinatore Zigbee in Zigbee2MQTT, usando il percorso seriale stabile e l’adapter zStack.
Prerequisiti & Hardware Necessario
- Hardware: SONOFF Zigbee 3.0 USB Dongle Plus (ZBDongle-P) con firmware coordinator compatibile, server Linux con Docker e prolunga USB schermata. Il dongle è l’hardware radio; Zigbee2MQTT è il software che lo controlla.
- Software: Docker Engine, Docker Compose v2, Zigbee2MQTT e broker MQTT Mosquitto già attivo. Il modello ZBDongle-P usa lo stack TI zStack; non applicare la configurazione
embertipica del ZBDongle-E. - Rete: broker MQTT raggiungibile, porta 1883 nella LAN e Home Assistant con integrazione MQTT. Non avviare ZHA sullo stesso dongle.
- Host: Raspberry Pi 5 con alimentatore adeguato, ad esempio Raspberry Pi 5 4GB con alimentatore ufficiale, oppure mini PC/VM Linux con passthrough USB.
Procedura passo-passo
- Collega il dongle lontano da USB 3. Inserisci il SONOFF ZBDongle-P in una prolunga USB schermata e non direttamente accanto alle porte USB 3 o al disco NVMe. Non collegarlo a due host contemporaneamente.
- Identifica il percorso persistente.
ls -l /dev/serial/by-id/ lsusbCopia il percorso completo che punta al dongle SONOFF. Usa
/dev/serial/by-id/..., non/dev/ttyUSB0, perché il nome numerico può cambiare. - Verifica che nessun altro stack usi il coordinatore. Arresta ZHA, un secondo Zigbee2MQTT o qualunque servizio che abbia aperto la seriale. Un coordinatore Zigbee non può essere gestito contemporaneamente da due applicazioni.
- Configura il mapping Docker. Nel servizio Zigbee2MQTT mantieni il mapping seguente sostituendo il percorso a sinistra:
Verifica che il device interno corrisponda a quello indicato indevices: - /dev/serial/by-id/SONOFF_ZBDONGLE_P_REALE:/dev/ttyUSB0configuration.yaml. - Imposta il file Zigbee2MQTT. In
/opt/zigbee2mqtt/data/configuration.yamlusa:mqtt: server: mqtt://IP_O_HOSTNAME_MOSQUITTO:1883 user: zigbee2mqtt password: PASSWORD_MQTT base_topic: zigbee2mqtt homeassistant: enabled: true frontend: enabled: true serial: port: /dev/ttyUSB0 adapter: zstackzstackè il valore per il Dongle-P con firmware TI compatibile. Non cambiare aembersenza cambiare anche hardware/firmware e verificare la documentazione del modello. - Avvia Zigbee2MQTT.
Il log deve indicare l’apertura del coordinatore senza errori seriali.cd /opt/zigbee2mqtt docker compose config docker compose up -d zigbee2mqtt docker compose logs --tail=100 zigbee2mqtt - Apri il frontend. Visita
http://IP_DEL_SERVER:8080e controlla in Settings → MQTT che broker, utente e topic siano corretti. In Settings → Advanced verifica il tipo adapter solo se richiesto dalla tua versione. - Metti in pairing un solo dispositivo. Abilita l’inclusione dal frontend, porta un sensore vicino al dongle per il primo abbinamento e poi disabilita l’inclusione. Allontana il sensore e verifica il routing della rete.
- Collega Home Assistant via MQTT. Vai in Impostazioni → Dispositivi e servizi → Aggiungi integrazione → MQTT. Con discovery attiva in Zigbee2MQTT, il dispositivo dovrebbe comparire senza configurare manualmente ogni entità.
- Esegui un backup prima degli aggiornamenti. Conserva
/opt/zigbee2mqtt/data, in particolare database, configurazione e backup coordinator. Aggiorna solo dopo aver verificato compatibilità del firmware del dongle con la release Zigbee2MQTT.
Verifica del funzionamento
La configurazione è corretta quando il log mostra il SONOFF ZBDongle-P aperto con adapter zstack, il frontend risponde, il broker MQTT riceve i topic zigbee2mqtt/... e Home Assistant scopre il dispositivo. Riavvia il container e verifica che il percorso /dev/serial/by-id resti identico e che la rete Zigbee conservi i dispositivi.
Problemi comuni
| Problema | Causa | Soluzione |
|---|---|---|
| Adapter not found | Mapping Docker errato o dongle non visibile all’host | Controlla ls -l /dev/serial/by-id, il mapping e il cavo USB. |
| Failed to start zStack | Firmware non coordinator, porta già occupata o adapter errato | Arresta ZHA/altro Z2M, verifica firmware coordinator e mantieni adapter: zstack. |
| Dongle-P configurato come ember | Confusione con SONOFF ZBDongle-E | Il P e l’E non sono lo stesso hardware: verifica modello, firmware e stack supportato. |
| Dispositivi instabili | Interferenze USB, canale Wi-Fi/Zigbee sovrapposto o dongle vicino al server | Usa prolunga schermata, allontana il coordinatore e pianifica il canale radio. |
| Home Assistant non vede il device | MQTT non configurato o discovery disattivata | Verifica broker, credenziali, topic base e homeassistant.enabled: true. |
FAQ essenziali
SONOFF ZBDongle-P e ZBDongle-E sono intercambiabili?
No. Sono modelli hardware differenti e possono richiedere stack e firmware differenti: ZBDongle-P normalmente usa zStack, mentre ZBDongle-E usa Ember/EZSP. Controlla sempre l’etichetta e il firmware installato.
Posso spostare il dongle su un altro server senza rifare il pairing?
Sì, se trasferisci la configurazione e il database Zigbee2MQTT, mantieni la stessa rete e usi un coordinatore compatibile. Crea prima un backup e non avviare contemporaneamente le due istanze.
Prodotti consigliati
Hardware pertinente alla guida
I collegamenti portano alle pagine dei prodotti indicati. Il prezzo Amazon, quando disponibile, proviene dall’API ufficiale ed è aggiornato con data e ora; prezzo e disponibilità finali sono quelli della pagina Amazon.