How to Confirm Zigbee Coordinator is Failing

Hello,

I suspect my coordinator is dying with a recent surge in total network disconnections. I've had some old devices fall offline from time to time for years, but recently I'm getting all devices offline including the coordinator itself several times a day. I'm using a very old TubeZB CC2652 connected via Ethernet cable.

Logs:

Logger: zigpy.application
Source: /usr/local/lib/python3.14/site-packages/zigpy/application.py:897
First occurred: July 2, 2026 at 3:33:12 PM (51 occurrences)
Last logged: 3:52:54 PM

Watchdog failure
Traceback (most recent call last):
  File "/usr/local/lib/python3.14/site-packages/zigpy_znp/api.py", line 1072, in request
    response = await response_future
               ^^^^^^^^^^^^^^^^^^^^^
asyncio.exceptions.CancelledError

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

Traceback (most recent call last):
  File "/usr/local/lib/python3.14/site-packages/zigpy/application.py", line 895, in _watchdog_loop
    await self.watchdog_feed()
  File "/usr/local/lib/python3.14/site-packages/zigpy/application.py", line 881, in watchdog_feed
    await self._watchdog_feed()
  File "/usr/local/lib/python3.14/site-packages/zigpy_znp/zigbee/application.py", line 594, in _watchdog_feed
    await self._znp.request(c.SYS.Ping.Req())
  File "/usr/local/lib/python3.14/site-packages/zigpy_znp/api.py", line 1068, in request
    async with asyncio.timeout(
               ~~~~~~~~~~~~~~~^
        timeout or self._znp_config[conf.CONF_SREQ_TIMEOUT]
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ):
    ^
  File "/usr/local/lib/python3.14/asyncio/timeouts.py", line 114, in __aexit__
    raise TimeoutError from exc_val
TimeoutError

And:

Logger: zigpy_znp.zigbee.application
Source: components/zha/helpers.py:823
First occurred: July 2, 2026 at 2:52:45 PM (153 occurrences)
Last logged: 3:54:38 PM

Failed to reset before disconnect: 'NoneType' object has no attribute 'write'

Things I've tried:

  1. Replaced power supply including cable (twice)
  2. Relocated the coordinator to two different access points in different locations around my house
  3. Connected coordinator directly to router
  4. Firmware update a few months ago, nothing newer
  5. Multiple reboots
  6. Multiple reloads
  7. Swapped Ethernet cables

I've even struggled to download a backup for Zigbee with it failing half a dozen times before I got one successfully.

My suspicions are this thing is living on borrowed time. But, looking for any ideas I may be missing before making the decision to either get a new coordinator or scrap my aging Zigbee architecture and replace it with something else.

In case it matters:
Installation method: Home Assistant Supervised
Core: 2026.6.4
Supervisor: 2026.06.2

Thanks in advance for any ideas.

It's far more likely that a routing device in your mesh is having problems than the coordinator. The coordinator (I would hope anyway) is made of better quality.
(But anything is possible)

I had that same thought about a year ago and did identify a bad routing plug. I replaced it and another at the same time. The difference then is I would lose about 4 or 5 devices. Now I lose all 18 that I have + the coordinator. I have 3 routers in the mix total with the others being dead-end devices currently.

Today I made some additional adjustments that I read online that may help. Added a timeout change to my config file to see if it makes a difference to allow extra time for my older coordinator. No idea if it'll help but I'm throwing a hail mary on it. If it proves a fix I'll make sure to document here for anyone else that may run into the same problem.

Hi, have a look at this: Zigbee network optimization: a how-to guide for avoiding radio frequency interference + adding Zigbee Router devices (repeaters/extenders) to get a stable Zigbee network mesh with best possible range and coverage by fully utilizing Zigbee mesh networking
Maybe there is something in there that helps...

Just noting that this work is on hold. I also found some DNS logging errors for a few things and I was having cloud connections drop. While tinkering I found major issues in the machine itself. By the end of the weekend the machine was in a DNS lockup and the Debian OS was in shambles.

I'm taking this opportunity to switch operating systems on the machine and move to a virtual installation that's now "supported". I have a backup running on an old laptop but can't access it externally for some reason. Hoping the backup is not corrupt as well, but we'll know soon after getting the new OS ready.

After I get that straightened away then I can start analyzing the zigbee network again.