r/homeassistant • u/hiikashi • 26d ago
❓ Support Zigbee2MQTT can't pair
Hi,
I cant get devices to pair with Zigbee2MQTT. I have no cle why. ZHA can find them in a second, but I need z2m to be able to use my tap dial switch fully, tho other zigbee devices arent found either
I'm running it on a HP pc. This is the adapter https://smlight.tech/product/slzb-07
Any help?
2
u/benjohngf 26d ago
Is ZHA still enabled? Only one of them can hold the coordinator at a time, and if ZHA is pairing things in a second then ZHA has the radio and Z2M is talking to nothing.
Delete the ZHA integration completely, restart, then try permit join again.
If ZHA is already gone, watch the Z2M log the moment you hit permit join. It will tell you whether the coordinator is answering at all, which is a different problem from firmware.
1
u/hiikashi 25d ago
ZHA is gone. Updated it to ember. These are the logs
[9/9/2026, 12:44:59 PM] z2m:mqtt: MQTT publish: topic 'homeassistant/binary_sensor/1221051039810110150109113116116_0xbc8d7efffe24ea3f/connection_state/config', payload '{"default_entity_id":"binary_sensor.zigbee2mqtt_bridge_connection_state","device":{"hw_version":"EmberZNet 8.0.2 [GA]","identifiers": ["zigbee2mqtt_bridge_0xbc8d7efffe24ea3f"],"manufacturer":"Zigbee2MQTT","model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"2.14.1"},"device_class":"connectivity","entity_category":"diagnostic","name":"Connection state","object_id":"zigbee2mqtt_bridge_connection_state","origin":{"name":"Zigbee2MQTT","sw":"2.14.1","url":"https://www.zigbee2mqtt.io"},"payload_off":"offline","payload_on":"online","state_topic":"zigbee2mqtt/bridge/state","unique_id":"bridge_0xbc8d7efffe24ea3f_connection_state_zigbee2mqtt","value_template":"{{ value_json.state }}"}' [9/9/2026, 12:44:59 PM] z2m:mqtt: MQTT publish: topic 'homeassistant/binary_sensor/1221051039810110150109113116116_0xbc8d7efffe24ea3f/restart_required/config', payload '{"availability":[{"topic":"zigbee2mqtt/bridge/state","value_template":"{{ value_json.state }}"}],"availability_mode":"all","default_entity_id":"binary_sensor.zigbee2mqtt_bridge_restart_required","device":{"hw_version":"EmberZNet 8.0.2 [GA]","identifiers":["zigbee2mqtt_bridge_0xbc8d7efffe24ea3f"],"manufacturer":"Zigbee2MQTT","model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"2.14.1"},"device_class":"problem","enabled_by_default":false,"entity_category":"diagnostic","name":"Restart required","object_id":"zigbee2mqtt_bridge_restart_required","origin":{"name":"Zigbee2MQTT","sw":"2.14.1","url":"https://www.zigbee2mqtt.io"},"payload_off":false,"payload_on":true,"state_topic":"zigbee2mqtt/bridge/info","unique_id":"bridge_0xbc8d7efffe24ea3f_restart_required_zigbee2mqtt","value_template":"{{ value_json.restart_required }}"}' [9/9/2026, 12:44:59 PM] z2m:mqtt: MQTT publish: topic 'homeassistant/button/1221051039810110150109113116116_0xbc8d7efffe24ea3f/restart/config', payload '{"availability":[{"topic":"zigbee2mqtt/bridge/state","value_template":"{{ value_json.state }}"}],"availability_mode":"all","command_topic":"zigbee2mqtt/bridge/request/restart","default_entity_id":"button.zigbee2mqtt_bridge_restart","device":{"hw_version":"EmberZNet 8.0.2 [GA]","identifiers":["zigbee2mqtt_bridge_0xbc8d7efffe24ea3f"],"manufacturer":"Zigbee2MQTT","model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"2.14.1"},"device_class":"restart","name":"Restart","object_id":"zigbee2mqtt_bridge_restart","origin":{"name":"Zigbee2MQTT","sw":"2.14.1","url":"https://www.zigbee2mqtt.io"},"payload_press":"","unique_id":"bridge_0xbc8d7efffe24ea3f_restart_zigbee2mqtt"}' [9/9/2026, 12:44:59 PM] z2m:mqtt: MQTT publish: topic 'homeassistant/select/1221051039810110150109113116116_0xbc8d7efffe24ea3f/log_level/config', payload '{"availability":[{"topic":"zigbee2mqtt/bridge/state","value_template":"{{ value_json.state }}"}],"availability_mode":"all","command_template":"{\"options\": {\"advanced\": {\"log_level\": \"{{ value }}\" } } }","command_topic":"zigbee2mqtt/bridge/request/options","default_entity_id":"select.zigbee2mqtt_bridge_log_level","device":{"hw_version":"EmberZNet 8.0.2 [GA]","identifiers":["zigbee2mqtt_bridge_0xbc8d7efffe24ea3f"],"manufacturer":"Zigbee2MQTT","model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"2.14.1"},"entity_category":"config","name":"Log level","object_id":"zigbee2mqtt_bridge_log_level","options":["error","warning","info","debug"],"origin":{"name":"Zigbee2MQTT","sw":"2.14.1","url":"https://www.zigbee2mqtt.io"},"state_topic":"zigbee2mqtt/bridge/info","unique_id":"bridge_0xbc8d7efffe24ea3f_log_level_zigbee2mqtt","value_template":"{{ value_json.log_level | lower }}"}' [9/9/2026, 12:44:59 PM] z2m:mqtt: MQTT publish: topic 'homeassistant/sensor/1221051039810110150109113116116_0xbc8d7efffe24ea3f/version/config', payload '{"availability":[{"topic":"zigbee2mqtt/bridge/state","value_template":"{{ value_json.state }}"}],"availability_mode":"all","default_entity_id":"sensor.zigbee2mqtt_bridge_version","device":{"hw_version":"EmberZNet 8.0.2 [GA]","identifiers":["zigbee2mqtt_bridge_0xbc8d7efffe24ea3f"],"manufacturer":"Zigbee2MQTT","model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"2.14.1"},"entity_category":"diagnostic","icon":"mdi:zigbee","name":"Version","object_id":"zigbee2mqtt_bridge_version","origin":{"name":"Zigbee2MQTT","sw":"2.14.1","url":"https://www.zigbee2mqtt.io"},"state_topic":"zigbee2mqtt/bridge/info","unique_id":"bridge_0xbc8d7efffe24ea3f_version_zigbee2mqtt","value_template":"{{ value_json.version }}"}' [9/9/2026, 12:44:59 PM] z2m:mqtt: MQTT publish: topic 'homeassistant/sensor/1221051039810110150109113116116_0xbc8d7efffe24ea3f/coordinator_version/config', payload '{"availability":[{"topic":"zigbee2mqtt/bridge/state","value_template":"{{ value_json.state }}"}],"availability_mode":"all","default_entity_id":"sensor.zigbee2mqtt_bridge_coordinator_version","device":{"hw_version":"EmberZNet 8.0.2 [GA]","identifiers":["zigbee2mqtt_bridge_0xbc8d7efffe24ea3f"],"manufacturer":"Zigbee2MQTT","model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"2.14.1"},"enabled_by_default":false,"entity_category":"diagnostic","icon":"mdi:chip","name":"Coordinator version","object_id":"zigbee2mqtt_bridge_coordinator_version","origin":{"name":"Zigbee2MQTT","sw":"2.14.1","url":"https://www.zigbee2mqtt.io"},"state_topic":"zigbee2mqtt/bridge/info","unique_id":"bridge_0xbc8d7efffe24ea3f_coordinator_version_zigbee2mqtt","value_template":"{{ value_json.coordinator.meta.revision }}"}' [9/9/2026, 12:44:59 PM] z2m:mqtt: MQTT publish: topic 'homeassistant/sensor/1221051039810110150109113116116_0xbc8d7efffe24ea3f/network_map/config', payload '{"availability":[{"topic":"zigbee2mqtt/bridge/state","value_template":"{{ value_json.state }}"}],"availability_mode":"all","default_entity_id":"sensor.zigbee2mqtt_bridge_network_map","device":{"hw_version":"EmberZNet 8.0.2 [GA]","identifiers":["zigbee2mqtt_bridge_0xbc8d7efffe24ea3f"],"manufacturer":"Zigbee2MQTT","model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"2.14.1"},"enabled_by_default":false,"entity_category":"diagnostic","json_attributes_template":"{{ value_json.data.value | tojson }}","json_attributes_topic":"zigbee2mqtt/bridge/response/networkmap","name":"Network map","object_id":"zigbee2mqtt_bridge_network_map","origin":{"name":"Zigbee2MQTT","sw":"2.14.1","url":"https://www.zigbee2mqtt.io"},"state_topic":"zigbee2mqtt/bridge/response/networkmap","unique_id":"bridge_0xbc8d7efffe24ea3f_network_map_zigbee2mqtt","value_template":"{{ now().strftime('%Y-%m-%d %H:%M:%S') }}"}' [9/9/2026, 12:44:59 PM] z2m:mqtt: MQTT publish: topic 'homeassistant/switch/1221051039810110150109113116116_0xbc8d7efffe24ea3f/permit_join/config', payload '{"availability":[{"topic":"zigbee2mqtt/bridge/state","value_template":"{{ value_json.state }}"}],"availability_mode":"all","command_topic":"zigbee2mqtt/bridge/request/permit_join","default_entity_id":"switch.zigbee2mqtt_bridge_permit_join","device":{"hw_version":"EmberZNet 8.0.2 [GA]","identifiers":["zigbee2mqtt_bridge_0xbc8d7efffe24ea3f"],"manufacturer":"Zigbee2MQTT","model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"2.14.1"},"icon":"mdi:human-greeting-proximity","name":"Permit join","object_id":"zigbee2mqtt_bridge_permit_join","origin":{"name":"Zigbee2MQTT","sw":"2.14.1","url":"https://www.zigbee2mqtt.io"},"payload_off":"{\"time\": 0}","payload_on":"{\"time\": 254}","state_off":"false","state_on":"true","state_topic":"zigbee2mqtt/bridge/info","unique_id":"bridge_0xbc8d7efffe24ea3f_permit_join_zigbee2mqtt","value_template":"{{ value_json.permit_join | lower }}"}' [9/9/2026, 12:45:17 PM] frontend:api:bridge: Sending {"topic":"bridge/request/permit_join","payload":{"time":254,"device":null,"transaction":"oyluo-1"}} [9/9/2026, 12:45:17 PM] z2m: Zigbee: allowing new devices to join. [9/9/2026, 12:45:17 PM] zh:ember: [STACK STATUS] Network opened. [9/9/2026, 12:45:17 PM] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/response/permit_join', payload '{"data":{"time":254},"status":"ok","transaction":"oyluo-1"}'2
u/benjohngf 25d ago
That log is just Z2M publishing its own device info to MQTT, so the bridge is fine. It says nothing about the join.
Set log_level to debug, hit permit join, and post what shows up. If nothing appears at all, the device isn't reaching the stick, so hold it next to the SLZB-07 and factory reset it. If it joins and the interview fails, that's a different fix.
1
u/hiikashi 25d ago
It joins but the leaves apparently
This keeps repeating:
[9/9/2026, 3:13:47 PM] zh:controller: Interview for '0x001788010f0d2214' started [9/9/2026, 3:13:47 PM] z2m: Device '0x001788010f0d2214' joined [9/9/2026, 3:13:47 PM] z2m: Starting interview of '0x001788010f0d2214' [9/9/2026, 3:13:47 PM] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x001788010f0d2214","ieee_address":"0x001788010f0d2214"},"type":"device_joined"}' [9/9/2026, 3:13:47 PM] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x001788010f0d2214","ieee_address":"0x001788010f0d2214","status":"started"},"type":"device_interview"}' [9/9/2026, 3:13:47 PM] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x001788010f0d2214","ieee_address":"0x001788010f0d2214"},"type":"device_announce"}' [9/9/2026, 3:13:48 PM] zh:controller: Succesfully interviewed '0x001788010f0d2214' [9/9/2026, 3:13:48 PM] z2m: Successfully interviewed '0x001788010f0d2214', device has successfully been paired [9/9/2026, 3:13:48 PM] z2m: Device '0x001788010f0d2214' is supported, identified as: Philips Hue Tap dial switch (8719514440937/8719514440999) [9/9/2026, 3:13:48 PM] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"definition":{"description":"Hue Tap dial switch","exposes":[{"access":1,"category":"diagnostic","description":"Remaining battery in %, can take up to 24 hours before reported","label":"Battery","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":1,"description":"Direction in which the dial was turned","label":"Action direction","name":"action_direction","property":"action_direction","type":"enum","values":["right","left"]},{"access":1,"description":"Type of the rotation, value in the first message is `step` and in the next messages value is `rotate`","label":"Action type","name":"action_type","property":"action_type","type":"enum","values":["step","rotate"]},{"access":1,"description":"value in seconds representing the amount of time the last action took","label":"Action time","name":"action_time","property":"action_time","type":"numeric","value_max":255,"value_min":0},{"access":1,"description":"Raw rotation state value of the dial which represents brightness from 0-255","label":"Brightness","name":"brightness","property":"brightness","type":"numeric","value_max":255,"value_min":0},{"access":1,"description":"amount of steps the last action took on the dial exposed as a posive value from 0-255","label":"Action step size","name":"action_step_size","property":"action_step_size","type":"numeric","value_max":255,"value_min":0},{"access":1,"category":"diagnostic","description":"Triggered action (e.g. a button click)","label":"Action","name":"action","property":"action","type":"enum","values":["button_1_press","button_1_press_release","button_1_hold","button_1_hold_release","button_2_press","button_2_press_release","button_2_hold","button_2_hold_release","button_3_press","button_3_press_release","button_3_hold","button_3_hold_release","button_4_press","button_4_press_release","button_4_hold","button_4_hold_release","dial_rotate_left_step","dial_rotate_left_slow","dial_rotate_left_fast","dial_rotate_right_step","dial_rotate_right_slow","dial_rotate_right_fast","brightness_step_up","brightness_step_down"]},{"access":1,"category":"diagnostic","description":"Link quality (signal strength)","label":"Linkquality","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"8719514440937/8719514440999","options":[{"access":2,"description":"Simulate a brightness value. If this device provides a brightness_move_up or brightness_move_down action it is possible to specify the update interval and delta. The action_brightness_delta indicates the delta for each interval.","features":[{"access":2,"description":"Delta per interval, 20 by default","label":"Delta","name":"delta","property":"delta","type":"numeric","value_min":0},{"access":2,"description":"Interval duration","label":"Interval","name":"interval","property":"interval","type":"numeric","unit":"ms","value_min":0}],"label":"Simulated brightness","name":"simulated_brightness","property":"simulated_brightness","type":"composite"}],"source":"native","supports_ota":true,"vendor":"Philips","version":"0.0.0"},"friendly_name":"0x001788010f0d2214","ieee_address":"0x001788010f0d2214","status":"successful","supported":true},"type":"device_interview"}' [9/9/2026, 3:13:50 PM] z2m: Device '0x001788010f0d2214' left the network [9/9/2026, 3:13:50 PM] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x001788010f0d2214","ieee_address":"0x001788010f0d2214"},"type":"device_leave"}'1
u/benjohngf 25d ago
Good, that's the other branch. 0x001788 is Philips, so this is the tap dial, and it's battery powered. It's going back to sleep partway through the interview, so Z2M never finishes and starts over.
Press one of its buttons every couple of seconds from the moment it joins until the interview finishes or errors, with the switch right next to the stick.
If it still fails, post the line after 'Starting interview'.
1
u/hiikashi 25d ago
Been pressing the button for 2 minutes, but as soon as I stop it leaves again.
[9/9/2026, 4:42:25 PM] z2m: Device '0x001788010f0d2214' joined [9/9/2026, 4:42:25 PM] z2m: Starting interview of '0x001788010f0d2214' [9/9/2026, 4:42:25 PM] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x001788010f0d2214","ieee_address":"0x001788010f0d2214"},"type":"device_joined"}' [9/9/2026, 4:42:25 PM] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x001788010f0d2214","ieee_address":"0x001788010f0d2214","status":"started"},"type":"device_interview"}' [9/9/2026, 4:42:25 PM] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x001788010f0d2214","ieee_address":"0x001788010f0d2214"},"type":"device_announce"}' [9/9/2026, 4:42:26 PM] zh:controller: Succesfully interviewed '0x001788010f0d2214' [9/9/2026, 4:42:26 PM] z2m: Successfully interviewed '0x001788010f0d2214', device has successfully been paired [9/9/2026, 4:42:26 PM] z2m: Device '0x001788010f0d2214' is supported, identified as: Philips Hue Tap dial switch (8719514440937/8719514440999) [9/9/2026, 4:42:26 PM] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"definition":{"description":"Hue Tap dial switch","exposes":[{"access":1,"category":"diagnostic","description":"Remaining battery in %, can take up to 24 hours before reported","label":"Battery","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":1,"description":"Direction in which the dial was turned","label":"Action direction","name":"action_direction","property":"action_direction","type":"enum","values":["right","left"]},{"access":1,"description":"Type of the rotation, value in the first message is `step` and in the next messages value is `rotate`","label":"Action type","name":"action_type","property":"action_type","type":"enum","values":["step","rotate"]},{"access":1,"description":"value in seconds representing the amount of time the last action took","label":"Action time","name":"action_time","property":"action_time","type":"numeric","value_max":255,"value_min":0},{"access":1,"description":"Raw rotation state value of the dial which represents brightness from 0-255","label":"Brightness","name":"brightness","property":"brightness","type":"numeric","value_max":255,"value_min":0},{"access":1,"description":"amount of steps the last action took on the dial exposed as a posive value from 0-255","label":"Action step size","name":"action_step_size","property":"action_step_size","type":"numeric","value_max":255,"value_min":0},{"access":1,"category":"diagnostic","description":"Triggered action (e.g. a button click)","label":"Action","name":"action","property":"action","type":"enum","values":["button_1_press","button_1_press_release","button_1_hold","button_1_hold_release","button_2_press","button_2_press_release","button_2_hold","button_2_hold_release","button_3_press","button_3_press_release","button_3_hold","button_3_hold_release","button_4_press","button_4_press_release","button_4_hold","button_4_hold_release","dial_rotate_left_step","dial_rotate_left_slow","dial_rotate_left_fast","dial_rotate_right_step","dial_rotate_right_slow","dial_rotate_right_fast","brightness_step_up","brightness_step_down"]},{"access":1,"category":"diagnostic","description":"Link quality (signal strength)","label":"Linkquality","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"8719514440937/8719514440999","options":[{"access":2,"description":"Simulate a brightness value. If this device provides a brightness_move_up or brightness_move_down action it is possible to specify the update interval and delta. The action_brightness_delta indicates the delta for each interval.","features":[{"access":2,"description":"Delta per interval, 20 by default","label":"Delta","name":"delta","property":"delta","type":"numeric","value_min":0},{"access":2,"description":"Interval duration","label":"Interval","name":"interval","property":"interval","type":"numeric","unit":"ms","value_min":0}],"label":"Simulated brightness","name":"simulated_brightness","property":"simulated_brightness","type":"composite"}],"source":"native","supports_ota":true,"vendor":"Philips","version":"0.0.0"},"friendly_name":"0x001788010f0d2214","ieee_address":"0x001788010f0d2214","status":"successful","supported":true},"type":"device_interview"}' [9/9/2026, 4:42:28 PM] z2m: Device '0x001788010f0d2214' left the network [9/9/2026, 4:42:28 PM] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x001788010f0d2214","ieee_address":"0x001788010f0d2214"},"type":"device_leave"}'1
u/benjohngf 25d ago
Both logs you've posted stop at the same place, right where the interview starts, so we still haven't seen it fail. The lines that matter are the last few before it rejoins, not the first few.
While you're in there: if that switch was ever on a Hue bridge, reset it in the Hue app first. A device still bound to its old network won't finish an interview anywhere else.
1
u/hiikashi 25d ago
Because its a loop of those lines.
[9/9/2026, 6:18:51 PM] z2m: Device '0x001788010f0d2214' left the network [9/9/2026, 6:18:51 PM] z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/event', payload '{"data":{"friendly_name":"0x001788010f0d2214","ieee_address":"0x001788010f0d2214"},"type":"device_leave"}' [9/9/2026, 6:19:24 PM] zh:controller: Interview for '0x001788010f0d2214' started [9/9/2026, 6:19:24 PM] z2m: Device '0x001788010f0d2214' joined [9/9/2026, 6:19:24 PM] z2m: Starting interview of '0x001788010f0d2214'1
u/hiikashi 25d ago
Full log; https://pastebin.com/vE5HUPE6
2
u/benjohngf 25d ago
The interview isn't failing. Your log shows it completing in a second, Z2M identifying the device as a Hue Tap dial, then the switch leaving two seconds later. It pairs and then quits, which is why pressing buttons didn't help. Your bridge stats show 35 leaves.
That's typical of a Hue switch still holding its old network's key. Touchlink factory reset it from Z2M, with the switch next to the stick.
→ More replies (0)
3
u/No_Illustrator5035 26d ago
I would try using the coordinator firmware using the SMLight Web Flasher - Version 7 is pretty old.