Hi there,
I know there are a few threads about issues with the Sonoff SNZB-03, and many conclude that it’s best to switch to a different brand, but I haven’t found anyone in exactly my situation and thus would like to be sure nothing can be done.
The gist of it:
- the sensor has been working for 1 or 2 years already. It’s been one of the first zigbee sensors I installed and has never caused problems (I have occasional disappearing sensors, probably due to wifi interference, but the motion sensors always trigger into “detected” even when temporarily “unavailable” for a few hours; in any case note that all the following attempts were made with the sensor 5cm away from the zigbee dongle - also a Sonoff!)
- a week or 2 ago, however, this one (I have another one still working) became permanently unavailable
- I tried “reconfiguring”, with no luck. It shows “binding” (green mark), then “reporting” (green mark), then in the advanced view it shows some orange crosses related to the battery, then after a rather long time it concludes that it failed.
- I put in a new battery (fresh Duracell, produced in July 2023, expiring in July 2033) and tried reconfiguring again, no luck, same thing
- I removed the sensor from HA altogether and tried adding it back again. It’s detected (as MS01 by eWeLink), but configuration never really ends. The sensor ends up listed in HA, but has no entities. The logs are very long, and I’m not sure which parts to post; lots of requests being set, timeouts being extended, and occasionally ZigbeePackets being received.
- Reconfiguring after that yields the same as in earlier reconfiguration attempts.
Here’s a few lines from the reconfiguration attempt which may or may not be relevant:
2024-01-20 11:56:45.879 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=1280, SrcAddr=0xE89F, SrcEndpoint=1, DstEndpoint=2, WasBroadcast=<Bool.false:
0>, LQI=174, SecurityUse=<Bool.false: 0>, TimeStamp=13424526, TSN=0, Data=b'\x19\x09\x00\x00\x00\x00\x00\x00\x00', MacSrcAddr=0xE89F, MsgResultRadius=29)
2024-01-20 11:56:45.882 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 20, 10, 56, 45, 882113, tzinfo=datetime.timezone.utc), src=AddrModeAddre
ss(addr_mode=<AddrMode.NWK: 2>, address=0xE89F), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=2, source_route=None, extended_timeout=False, tsn=0, profile_id=49246, c
luster_id=1280, data=Serialized[b'\x19\t\x00\x00\x00\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=174, rssi=None)
2024-01-20 11:56:45.883 WARNING (MainThread) [zigpy.application] Unknown device AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xE89F)
2024-01-20 11:56:45.885 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=1280, SrcAddr=0xE89F, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false:
0>, LQI=174, SecurityUse=<Bool.false: 0>, TimeStamp=13424526, TSN=0, Data=b'\x19\x09\x00\x00\x00\x00\x00\x00\x00', MacSrcAddr=0xE89F, MsgResultRadius=29)
2024-01-20 11:56:45.887 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(timestamp=datetime.datetime(2024, 1, 20, 10, 56, 45, 887213, tzinfo=datetime.timezone.utc), src=AddrMo
deAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.Broadcast: 15>, address=<BroadcastAddress.RX_ON_WHEN_IDLE: 65533>), dst_ep=0, source_route=None, e
xtended_timeout=False, tsn=102, profile_id=0, cluster_id=<ZDOCmd.IEEE_addr_req: 0x0001>, data=Serialized[b'f\x9f\xe8\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=Non
e, rssi=None)
2024-01-20 11:56:45.888 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 20, 10, 56, 45, 888852, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=102, profile_id=0, cluster_id=<ZDOCmd.IEEE_addr_req: 0x0001>, data=Serialized[b'f\x9f\xe8\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2024-01-20 11:56:45.890 DEBUG (MainThread) [zigpy.zdo] [0x0000:zdo] ZDO request ZDOCmd.IEEE_addr_req: [0xE89F, <AddrRequestType.Single: 0>, 0]
2024-01-20 11:56:45.891 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.Broadcast: 15>, address=0xFFFD), DstEndpoint=0, DstPanId=0x0000, SrcEndpoint=0, ClusterId=1, TSN=102, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK: 32>, Radius=0, Data=b'\x66\x9F\xE8\x00\x00')
2024-01-20 11:56:45.894 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 20, 10, 56, 45, 894404, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xE89F), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=1280, data=Serialized[b'\x19\t\x00\x00\x00\x00\x00\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=174, rssi=None)
2024-01-20 11:56:45.895 WARNING (MainThread) [zigpy.application] Unknown device AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xE89F)
2024-01-20 11:56:45.900 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(timestamp=datetime.datetime(2024, 1, 20, 10, 56, 45, 900061, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.Broadcast: 15>, address=<BroadcastAddress.RX_ON_WHEN_IDLE: 65533>), dst_ep=0, source_route=None, extended_timeout=False, tsn=103, profile_id=0, cluster_id=<ZDOCmd.IEEE_addr_req: 0x0001>, data=Serialized[b'g\x9f\xe8\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2024-01-20 11:56:45.901 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(timestamp=datetime.datetime(2024, 1, 20, 10, 56, 45, 901455, tzinfo=datetime.timezone.utc), src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=103, profile_id=0, cluster_id=<ZDOCmd.IEEE_addr_req: 0x0001>, data=Serialized[b'g\x9f\xe8\x00\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2024-01-20 11:56:45.903 DEBUG (MainThread) [zigpy.zdo] [0x0000:zdo] ZDO request ZDOCmd.IEEE_addr_req: [0xE89F, <AddrRequestType.Single: 0>, 0]
2024-01-20 11:56:45.930 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2024-01-20 11:56:45.934 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.Broadcast: 15>, address=0xFFFD), DstEndpoint=0, DstPanId=0x0000, SrcEndpoint=0, ClusterId=1, TSN=103, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK: 32>, Radius=0, Data=b'\x67\x9F\xE8\x00\x00')
2024-01-20 11:56:45.955 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
Somewhere else i also have a few Python errors:
2024-01-20 12:21:00.490 WARNING (MainThread) [zigpy.application] Unknown device AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xE89F)
2024-01-20 12:21:00.498 WARNING (MainThread) [zigpy.application] Unknown device AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xE89F)
2024-01-20 12:25:04.878 ERROR (MainThread) [zigpy.zcl] [0xE89F:1:0x0500] Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/zigpy/device.py", line 316, in request
return await req.result
^^^^^^^^^^^^^^^^
asyncio.exceptions.CancelledError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/zigpy/endpoint.py", line 253, in request
return await self.device.request(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/zigpy/device.py", line 315, in request
async with asyncio_timeout(timeout):
File "/usr/local/lib/python3.11/asyncio/timeouts.py", line 111, in __aexit__
raise TimeoutError from exc_val
TimeoutError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/zha/core/cluster_handlers/__init__.py", line 83, in wrapper
with wrap_zigpy_exceptions():
File "/usr/local/lib/python3.11/contextlib.py", line 155, in __exit__
self.gen.throw(typ, value, traceback)
File "/usr/src/homeassistant/homeassistant/components/zha/core/cluster_handlers/__init__.py", line 66, in wrap_zigpy_exceptions
raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Failed to send request: device did not respond
2024-01-20 12:25:50.725 WARNING (MainThread) [zigpy.application] Unknown device AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xE89F)
2024-01-20 12:25:50.733 WARNING (MainThread) [zigpy.application] Unknown device AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xE89F)
Is there anything else I could try before switching brands? (is Samotech as good as I saw some people say? worried about the weight for my use case, but using AAA batteries is a plus if rechargeable can be used)
Cheers,
Pierric.