SONOFF SNZB-03 pairing as SNZB-02

I just purchased an additional SNZB-03 motion sensor, as the first one was working great.
When trying to pair it directly via an MQTT dongle however, it’s appearing as a SNZB-02 (temp sensor?) and then failing to configure.
Any advice ?
I have updated the home assistant and MQTT plug ins recently - is there maybe a bug in the new release?
Is there any way I can manually add the configuration for the new sensor directly into a yaml file ?

thanks

I have the same problem with a pair of SNZB-03 sensors I received today from Sonoff Tech Store on AliExpress. I’m using a CC2531 dongle. They get paired as SNZB-02 in zigbee2mqtt:

Zigbee2MQTT:info 2020-11-06 14:29:37: Device '0x00124b002247b69b' joined
Zigbee2MQTT:info 2020-11-06 14:29:37: Starting interview of '0x00124b002247b69b'
Zigbee2MQTT:info 2020-11-06 14:29:37: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":{"friendly_name":"0x00124b002247b69b"},"type":"device_connected"}'
Zigbee2MQTT:info 2020-11-06 14:29:37: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"interview_started","meta":{"friendly_name":"0x00124b002247b69b"},"type":"pairing"}'
Zigbee2MQTT:info 2020-11-06 14:29:37: Device '0x00124b002247b69b' joined
Zigbee2MQTT:info 2020-11-06 14:29:37: Starting interview of '0x00124b002247b69b'
Zigbee2MQTT:info 2020-11-06 14:29:37: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":{"friendly_name":"0x00124b002247b69b"},"type":"device_connected"}'
Zigbee2MQTT:info 2020-11-06 14:29:37: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"interview_started","meta":{"friendly_name":"0x00124b002247b69b"},"type":"pairing"}'
Zigbee2MQTT:info 2020-11-06 14:29:37: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"announce","meta":{"friendly_name":"0x00124b002247b69b"},"type":"device_announced"}'
Zigbee2MQTT:info 2020-11-06 14:29:52: Successfully interviewed '0x00124b002247b69b', device has successfully been paired
Zigbee2MQTT:info 2020-11-06 14:29:52: Device '0x00124b002247b69b' is supported, identified as: SONOFF Temperature and humidity sensor (SNZB-02)
Zigbee2MQTT:info 2020-11-06 14:29:52: MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"message":"interview_successful","meta":{"description":"Temperature and humidity sensor","friendly_name":"0x00124b002247b69b","model":"SNZB-02","supported":true,"vendor":"SONOFF"},"type":"pairing"}'

I’ve managed to clone my working SNB-03 entry in the /share/zigbee2mqtt/database.db file to hack in the new entry. Motion is working by not battery level or signal quality.
I wonder if there is some firmware difference in some of the units ?

Good to hear! Can you please share the working entry? Does the battery and link level work on your older SNZB-03? It does seem like the firmware has changed on the new sensors we have, weird that it gets identified as an SNZB-02 though.

Here you go:

{"id":2,"type":"EndDevice","ieeeAddr":"0x00124b0021354f99","nwkAddr":4595,"manufId":0,"manufName":"eWeLink","powerSource":"Battery","modelId":"MS01","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":1026,"inClusterList":[0
,3,1280,1],"outClusterList":[3],"clusters":{"genBasic":{"attributes":{"modelId":"MS01","manufacturerName":"eWeLink","powerSource":3,"zclVersion":1,"appVersion":3,"hwVersion":1,"dateCode":"20191107"}},"ssIasZone":{"attributes":{"iasCi
eAddr":"0x00124b0014da264f","zoneState":1}},"genPowerCfg":{"attributes":{"batteryVoltage":32,"batteryPercentageRemaining":200}}},"binds":[{"cluster":1,"type":"endpoint","deviceIeeeAddress":"0x00124b0014da264f","endpointID":1}],"meta"
:{}}},"appVersion":3,"hwVersion":1,"dateCode":"20191107","zclVersion":1,"interviewCompleted":true,"meta":{"configured":1},"lastSeen":1604671385507}

Yes on the first sensor, everything works fine. It’s got an older address (21354f99) vs the new sensor in the (22xxxxxx) range.

Thanks. I’ve managed to get the sensors to work by overwriting their entries with yours above (replacing the addresses with those from the existing entries). I removed the “genPowerCfg” bit from the entry and now I also get battery and link level:

{"id":10,"type":"EndDevice","ieeeAddr":"0x00124b002247b69b","nwkAddr":32549,"manufId":0,"manufName":"eWeLink","powerSource":"Battery","modelId":"MS01","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":1026,"inClusterList":[0,3,1280,1],"outClusterList":[3],"clusters":{"genBasic":{"attributes":{"modelId":"MS01","manufacturerName":"eWeLink","powerSource":3,"zclVersion":1,"appVersion":3,"hwVersion":1,"dateCode":"20191107"}},"ssIasZone":{"attributes":{"iasCieAddr":"0x00124b0008ca0718","zoneState":1}}},"binds":[{"cluster":1,"type":"endpoint","deviceIeeeAddress":"0x00124b0008ca0718","endpointID":1}],"meta":{}}},"appVersion":3,"hwVersion":1,"dateCode":"20191107","zclVersion":1,"interviewCompleted":true,"meta":{"configured":1},"lastSeen":1604689798504}
2 Likes

I was able to add my sensor using your advise. Shows connected, battery level is also displayed but doesn’t report moments. It constantly shows clear/

Any ideas?

Since got mine one. can’t sleep well haha…official Update please. There’re other solution to fix this issue by switch to the dev branch (Visit https://www.zigbee2mqtt.io/how_tos/how-to-switch-to-dev-branch.html)

Hi!
Today i updated Zigbee2mqtt to version: 1.16.2.2.
And this problem is solved!

1 Like

Yes, since 1.16.2 I can see the battery too.