Hello everyone,
I’m having trouble pairing Zigbee devices with Zigbee2MQTT. Despite multiple attempts and checks, my Sonoff Zigbee 3.0 USB Dongle Plus appears to be detected, and Zigbee2MQTT starts without issues. However, no devices are joining the network, even when pairing mode is enabled.
My setup:
- Home Assistant OS (HAOS)
- Zigbee2MQTT Add-on installed from the official repository (
45df7312_zigbee2mqtt
) - Mosquitto MQTT Add-on installed and working
- USB Dongle: Sonoff Zigbee 3.0 USB Dongle Plus (CC2652P-based)
- Zigbee2MQTT version: 2.0.0
- zigbee-herdsman version: 3.2.1
- Dongle firmware:
zStack3x0 20210708
Zigbee2MQTT Configuration (excerpt)
mqtt:
base_topic: zigbee2mqtt
server: mqtt://core-mosquitto:1883
user: mqtt
password: XXXXXXX
serial:
adapter: zstack
port: /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_6e02b54d23b6ed11a9ebe10ea8669f5d-if00-port0
advanced:
log_level: debug
channel: 15
network_key: GENERATE
permit_join: true
frontend:
port: 8099
What is working:
The dongle is detected properly:
ls -l /dev/serial/by-id/
# Output:
usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_6e02b54d23b6ed11a9ebe10ea8669f5d-if00-port0 -> ../../ttyUSB0
Zigbee2MQTT starts successfully:
ha addons logs 45df7312_zigbee2mqtt
[info] Zigbee2MQTT started!
[info] Connected to MQTT server
Mosquitto MQTT is running and Zigbee2MQTT is connected:
mosquitto_sub -h core-mosquitto -u mqtt -P XXXXXXX -t zigbee2mqtt/bridge/state
{"state":"online"}
Pairing mode activation works:
mosquitto_pub -h core-mosquitto -u mqtt -P XXXXXXX -t zigbee2mqtt/bridge/request/permit_join -m '{"value":true, "time":255}'
[info] Zigbee: allowing new devices to join.
What is NOT working:
Unable to pair any Zigbee device
Even when putting a device into pairing mode, no new devices appear in Zigbee2MQTT.
No pairing attempt logs in MQTT
When running:
mosquitto_sub -h core-mosquitto -u mqtt -P XXXXXXX -t zigbee2mqtt/#
I see no connection attempts from new devices.
“Invalid Payload” MQTT Error at first
Initially, when I tried:
mosquitto_pub -h core-mosquitto -u mqtt -P XXXXXXX -t zigbee2mqtt/bridge/request/permit_join -m '{"value":true}'
I got this error in the Zigbee2MQTT web interface:
z2m: Request 'zigbee2mqtt/bridge/request/permit_join' failed with error: 'Invalid payload'
Since adding "time":255
to the command, pairing mode activates successfully, but devices still won’t join.
Steps I have tried:
- Verified Zigbee2MQTT is running → OK
- Checked MQTT connection → OK (
mosquitto_sub
works) - Confirmed the dongle is detected → OK (
ls -l /dev/serial/by-id/
) - Restarted the USB dongle & Zigbee2MQTT → OK
- Tried switching Zigbee channel (from 15 to 25) → No pairing
- Reset the Zigbee device (long press + full reset) → No pairing
- Tried different USB ports for the dongle → No improvement
- Disabled & re-enabled
permit_join
+ HA restart → Still nothing
Questions for Zigbee2MQTT experts:
- Why do I see no device connection attempts in MQTT logs?
- Did I miss any steps to enable device pairing?
- Could this be a compatibility issue with certain Zigbee devices?
- Could my dongle be misflashed? Should I reflash with a different firmware?
- Are there any specific parameters to test in
configuration.yaml
?
Thanks in advance for your help! Any suggestions are welcome.
I can provide additional logs or run specific commands if needed.
- Home Assistant OS (HAOS)
- Zigbee2MQTT Add-on installé via le repository officiel (
45df7312_zigbee2mqtt
) - Mosquitto MQTT Add-on installé et fonctionnel
- Dongle USB : Sonoff Zigbee 3.0 USB Dongle Plus (basé sur CC2652P)
- Version de Zigbee2MQTT : 2.0.0
- Version de zigbee-herdsman : 3.2.1
- Firmware du dongle :
zStack3x0 20210708
version | core-2025.1.4 |
---|---|
installation_type | Home Assistant OS |
dev | false |
hassio | true |
docker | true |
user | root |
virtualenv | false |
python_version | 3.13.1 |
os_name | Linux |
os_version | 6.6.62-haos-raspi |
arch | aarch64 |
timezone | Europe/Paris |
config_dir | /config |
Home Assistant Community Store
GitHub API | ok |
---|---|
GitHub Content | ok |
GitHub Web | ok |
HACS Data | ok |
GitHub API Calls Remaining | 5000 |
Installed Version | 2.0.4 |
Stage | running |
Available Repositories | 1505 |
Downloaded Repositories | 22 |
AccuWeather
can_reach_server | ok |
---|---|
remaining_requests | 33 |
Home Assistant Cloud
logged_in | true |
---|---|
subscription_expiration | 31 août 2025 à 02:00 |
relayer_connected | true |
relayer_region | eu-central-1 |
remote_enabled | true |
remote_connected | true |
alexa_enabled | false |
google_enabled | true |
cloud_ice_servers_enabled | true |
remote_server | eu-central-1-13.ui.nabu.casa |
certificate_status | ready |
instance_id | b4b8335cfd294451a88beb93010fa9b8 |
can_reach_cert_server | ok |
can_reach_cloud_auth | ok |
can_reach_cloud | ok |
Home Assistant Supervisor
host_os | Home Assistant OS 14.2 |
---|---|
update_channel | stable |
supervisor_version | supervisor-2024.12.3 |
agent_version | 1.6.0 |
docker_version | 27.2.0 |
disk_total | 116.5 GB |
disk_used | 55.9 GB |
healthy | true |
supported | true |
host_connectivity | true |
supervisor_connectivity | true |
ntp_synchronized | true |
virtualization | |
board | rpi5-64 |
supervisor_api | ok |
version_api | ok |
installed_addons | Terminal & SSH (9.16.0), AdGuard Home (5.2.3), File editor (5.8.0), Linky (1.5.0), go2rtc (1.9.8), ESPresense Companion (1.0.15), AppDaemon (0.16.7), Studio Code Server (5.18.1), Spotify Connect (0.13.0), Frigate (0.14.1), NGINX Home Assistant SSL proxy (3.11.1), RPC Shutdown (2.5), Grafana (10.2.2), Jellyfin NAS (10.10.4), Jellyseerr (2.3.0), Radarr (5.17.2.9580), Sonarr (4.0.12.2866), qBittorrent (5.0.3), FlareSolverr (3.3.21), Jackett NAS (0.22.1309), OpenVPN Client (0.2.9), Mosquitto broker (6.5.0), Zigbee2MQTT (2.0.0-2) |
Dashboards
dashboards | 2 |
---|---|
resources | 11 |
views | 15 |
mode | storage |
Recorder
oldest_recorder_run | 18 janvier 2025 à 02:40 |
---|---|
current_recorder_run | 30 janvier 2025 à 23:13 |
estimated_db_size | 384.89 MiB |
database_engine | sqlite |
database_version | 3.47.1 |
Spotify
api_endpoint_reachable | ok |
---|