Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Several Zigbee devices from different manufacturers dropped out of ZHA over the course of one day #141614

Open
Stifter87 opened this issue Mar 27, 2025 · 13 comments

Comments

@Stifter87
Copy link

The problem

Dear community,
over the course of one day (Monday), several of my Zigbee devices dropped.

  • I did not run any updates or did any other obvious changes that could have caused the issue.
  • I also did not add any other electrical devices in close proximity to the extender or coordinator.
  • I cannot see a pattern in terms of connection point (coordinator vs. extender), location, device type or distance.
  • All the devices that dropped out are battery powered.
  • My Zigbee setup ran smoothly for about 10 months without any major issue
  • Restarts of all involved devices did not solve the problem

Thank you!

Image

What version of Home Assistant Core has the issue?

core-2025.3.4

What was the last working version of Home Assistant Core?

core-2025.3.4

What type of installation are you running?

Home Assistant OS

Integration causing the issue

ZHA

Link to integration documentation on our website

https://www.home-assistant.io/integrations/zha/

Diagnostics information

config_entry-zha-becaa1d19e614c514be242fa963669ef.json

Example YAML snippet

Anything in the logs that might be useful for us?

Logs are from one device that I try to re-pair:

Logger: frontend.js.modern.202503060
Source: components/system_log/__init__.py:331
First occurred: 13:46:47 (2 occurrences)
Last logged: 13:46:47

Uncaught error from WebKit 605.1.15 on iOS 18.3.2 TypeError: undefined is not an object (evaluating 'this._clusterConfigurationStatuses.get') _handleMessage (src/panels/config/integrations/integration-panels/zha/dialog-zha-reconfigure-device.ts:356:44) message (node_modules/home-assistant-js-websocket/dist/connection.js:23:42) forEach ([native code]::) forEach (node_modules/home-assistant-js-websocket/dist/connection.js:15:25)

Logger: zigpy.zcl
Source: runner.py:154
First occurred: 13:53:17 (1 occurrences)
Last logged: 13:53:17

[0x3DB5:1:0x0500] Traceback (most recent call last): File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 378, in request await send_request() File "/usr/local/lib/python3.13/site-packages/zigpy/application.py", line 835, in request await self.send_packet( ...<14 lines>... ) File "/usr/local/lib/python3.13/site-packages/bellows/zigbee/application.py", line 937, in send_packet raise zigpy.exceptions.DeliveryError( f"Failed to deliver message: {send_status!r}", send_status ) zigpy.exceptions.DeliveryError: Failed to deliver message: <sl_Status.ZIGBEE_DELIVERY_FAILED: 3074> The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/local/lib/python3.13/site-packages/zha/zigbee/cluster_handlers/__init__.py", line 85, in wrapper with wrap_zigpy_exceptions(): ~~~~~~~~~~~~~~~~~~~~~^^ File "/usr/local/lib/python3.13/contextlib.py", line 162, in __exit__ self.gen.throw(value) ~~~~~~~~~~~~~~^^^^^^^ File "/usr/local/lib/python3.13/site-packages/zha/zigbee/cluster_handlers/__init__.py", line 77, in wrap_zigpy_exceptions raise ZHAException(message) from exc zha.exceptions.ZHAException: Failed to send request: Failed to deliver message: <sl_Status.ZIGBEE_DELIVERY_FAILED: 3074>

Logger: homeassistant
Source: /usr/src/homeassistant/homeassistant/runner.py:112
First occurred: 13:53:45 (1 occurrences)
Last logged: 13:53:45

Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/zha/zigbee/cluster_handlers/__init__.py", line 68, in wrap_zigpy_exceptions
    yield
  File "/usr/local/lib/python3.13/site-packages/zha/zigbee/cluster_handlers/__init__.py", line 86, in wrapper
    return await RETRYABLE_REQUEST_DECORATOR(func)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/zigpy/util.py", line 136, in retry
    return await func()
           ^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/zigpy/zcl/__init__.py", line 378, in request
    return await self._endpoint.request(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<9 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/endpoint.py", line 270, in request
    return await self.device.request(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<11 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 378, in request
    await send_request()
  File "/usr/local/lib/python3.13/site-packages/zigpy/application.py", line 835, in request
    await self.send_packet(
    ...<14 lines>...
    )
  File "/usr/local/lib/python3.13/site-packages/bellows/zigbee/application.py", line 937, in send_packet
    raise zigpy.exceptions.DeliveryError(
        f"Failed to deliver message: {send_status!r}", send_status
    )
zigpy.exceptions.DeliveryError: Failed to deliver message: <sl_Status.ZIGBEE_DELIVERY_FAILED: 3074>

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/zha/zigbee/device.py", line 774, in async_configure
    await self.identify_ch.trigger_effect(
    ...<2 lines>...
    )
  File "/usr/local/lib/python3.13/site-packages/zha/zigbee/cluster_handlers/__init__.py", line 85, in wrapper
    with wrap_zigpy_exceptions():
         ~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.13/contextlib.py", line 162, in __exit__
    self.gen.throw(value)
    ~~~~~~~~~~~~~~^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/zha/zigbee/cluster_handlers/__init__.py", line 77, in wrap_zigpy_exceptions
    raise ZHAException(message) from exc
zha.exceptions.ZHAException: Failed to send request: Failed to deliver message: <sl_Status.ZIGBEE_DELIVERY_FAILED: 3074>

Additional information

Signatures of 3 of the affected devices:

{ "node_descriptor": { "logical_type": 2, "complex_descriptor_available": 0, "user_descriptor_available": 0, "reserved": 0, "aps_flags": 0, "frequency_band": 8, "mac_capability_flags": 0, "manufacturer_code": 4117, "maximum_buffer_size": 80, "maximum_incoming_transfer_size": 80, "server_mask": 10752, "maximum_outgoing_transfer_size": 80, "descriptor_capability_field": 0 }, "endpoints": { "1": { "profile_id": "0xc0c9", "device_type": "0x0001", "input_clusters": [ "0x0003", "0x0005", "0x0006" ], "output_clusters": [] }, "35": { "profile_id": "0x0104", "device_type": "0x0402", "input_clusters": [ "0x0000", "0x0001", "0x0003", "0x000f", "0x0020", "0x0500", "0x0502" ], "output_clusters": [ "0x000a", "0x0019" ] }, "38": { "profile_id": "0x0104", "device_type": "0x0302", "input_clusters": [ "0x0000", "0x0003", "0x0402" ], "output_clusters": [ "0x0003" ] } }, "manufacturer": "frient A/S", "model": "SMSZB-120", "class": "zhaquirks.develco.smoke_alarm.SMSZB120" }

{ "node_descriptor": { "logical_type": 2, "complex_descriptor_available": 0, "user_descriptor_available": 0, "reserved": 0, "aps_flags": 0, "frequency_band": 8, "mac_capability_flags": 128, "manufacturer_code": 0, "maximum_buffer_size": 80, "maximum_incoming_transfer_size": 160, "server_mask": 0, "maximum_outgoing_transfer_size": 160, "descriptor_capability_field": 0 }, "endpoints": { "1": { "profile_id": "0x0104", "device_type": "0x0402", "input_clusters": [ "0x0000", "0x0001", "0x0003", "0x0500" ], "output_clusters": [ "0x0003" ] } }, "manufacturer": "eWeLink", "model": "MS01", "class": "zigpy.device.Device" }

{ "node_descriptor": { "logical_type": 2, "complex_descriptor_available": 0, "user_descriptor_available": 0, "reserved": 0, "aps_flags": 0, "frequency_band": 8, "mac_capability_flags": 128, "manufacturer_code": 0, "maximum_buffer_size": 80, "maximum_incoming_transfer_size": 160, "server_mask": 0, "maximum_outgoing_transfer_size": 160, "descriptor_capability_field": 0 }, "endpoints": { "1": { "profile_id": "0x0104", "device_type": "0x0402", "input_clusters": [ "0x0000", "0x0001", "0x0003", "0x0500" ], "output_clusters": [ "0x0003" ] } }, "manufacturer": "eWeLink", "model": "MS01", "class": "zigpy.device.Device" }

@home-assistant
Copy link

Hey there @dmulcahey, @Adminiuga, @puddly, @TheJulianJES, mind taking a look at this issue as it has been labeled with an integration (zha) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of zha can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign zha Removes the current integration label and assignees on the issue, add the integration domain after the command.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


zha documentation
zha source
(message by IssueLinks)

@puddly
Copy link
Contributor

puddly commented Mar 27, 2025

According to your diagnostics, the only routing devices on your network are Tuya devices. From the visualization, it looks like many devices connected directly to the coordinator are working fine but others (likely connected to the Tuya routers) are not.

Have you tried unplugging the Tuya routing devices for 10s, plugging them back in, and waiting for half an hour for end devices to check back in?

@Stifter87
Copy link
Author

Hi @puddly,
thank you for taking this up! Unfortunately, I can't follow your reasoning. I do have a few Tuya devices connected to my Smart Home but pretty sure none of them is using Zigbee.

The two routers that you see in the visualization is the range extender (EMOS GoSmart Mini ZigBee), the other one is a smart plug in the garage, which is not very important and only routes one more device which is also connected to the coordinator anyway (SONOFF Zigbee 3.0 USB Dongle-E**).

Could you specify? I tried unplugging the externder for 10s, waited, but nothing changed.

@oglaucio
Copy link

oglaucio commented Mar 28, 2025

For what is worth, my ConBee 3 dropped it's integration and fails to initialize since yesterday as well.

Image

@puddly
Copy link
Contributor

puddly commented Mar 28, 2025

@Stifter87 From your diagnostics, I can see this:

      {
        "manufacturer": "_TZ3000_kxlmv9ag",
        "model": "TS0207",
        "logical_type": "Router"  # Router 1
      },
      {
        "manufacturer": "LUMI",
        "model": "lumi.sen_ill.agl01",
        "logical_type": "EndDevice"
      },
      {
        "manufacturer": "_TZ3000_1obwwnmq",
        "model": "TS011F",
        "logical_type": "Router"  # Router 2
      },

These two routers are white label Tuya devices (you can tell because the manufacturer name consists of a jumble of letters and numbers). Tuya devices very often are low quality, buggy, and cause problems on the network by routing messages improperly or crashing. Because your network has only three routing devices (the coordinator and the two Tuya routers), any of them crashing like this would end up taking a majority of your end devices offline. Try to shut both of them down for a few minutes and then boot them back up to reset it.

@Stifter87
Copy link
Author

@Stifter87 From your diagnostics, I can see this:

  {
    "manufacturer": "_TZ3000_kxlmv9ag",
    "model": "TS0207",
    "logical_type": "Router"  # Router 1
  },
  {
    "manufacturer": "LUMI",
    "model": "lumi.sen_ill.agl01",
    "logical_type": "EndDevice"
  },
  {
    "manufacturer": "_TZ3000_1obwwnmq",
    "model": "TS011F",
    "logical_type": "Router"  # Router 2
  },

These two routers are white label Tuya devices (you can tell because the manufacturer name consists of a jumble of letters and numbers). Tuya devices very often are low quality, buggy, and cause problems on the network by routing messages improperly or crashing. Because your network has only three routing devices (the coordinator and the two Tuya routers), any of them crashing like this would end up taking a majority of your end devices offline. Try to shut both of them down for a few minutes and then boot them back up to reset it.

Thank you for your explanations, @puddly! I got it know. And I made the decision to rebuild my ZHA network:
I will buy some Zigbee power sockets that will work as routers to get rid of the Tuya ones.

Now one think that puzzles me. I unplugged the "range extender" (_TZ3000_kxlmv9ag) 10 minutes ago. It is lying literally on the desk in front of me and yet, the visualization shows it as active? How is that possible?

Image

@puddly
Copy link
Contributor

puddly commented Mar 28, 2025

It takes some time for routers to be considered offline, give it an hour or so.

@TheShai1
Copy link

I'm having issues with devices in ZHA dropping unavailable. Trying to go into the device and reconfigure shows reconfiguring failed. This happened to ALL my zigbee devices, plugs, lights and sensors. Tried refreshing the radio and nothing happened. This is every single one of my 80+ zigbee devices. I tried connecting some of those same devices to Homey to see if they would connect and they connected and responded right away?

@puddly
Copy link
Contributor

puddly commented Mar 31, 2025

@TheShai1 Please upload some diagnostics

@TheShai1
Copy link

@puddly
Copy link
Contributor

puddly commented Mar 31, 2025

Can you also upload the diagnostics JSON for the integration as a whole?

Image

@TheShai1
Copy link

@Stifter87
Copy link
Author

It takes some time for routers to be considered offline, give it an hour or so.

Hi there,
the router went inactive eventually and after rebooting I could re-establish some but not all of the connections.
I now ordered a bunch of high quality routers and smart light bulbs to rebuild a more stable network.

Thank you for your support, made me learn much more about they way Zigbee works!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants