ZHA don't start after update to 2025.1.0 or 2025.1.1

I’m facing an issue since 2025.1.0 was released. I’m using 2024.12.5 and after update, home assistant restarts, but ZHA don’t start anymore. To make ZHA work again, I have to downgrade to version 2024.12.5 and after the restore is completed, everything work fine again.

Does anyone can help me figure out what’s going on?

I catch some logs that can help understand the issue:

Registrador: homeassistant
Fonte: /usr/src/homeassistant/homeassistant/runner.py:112
Ocorreu pela primeira vez: 17:07:41 (10 ocorrências)
Último registro: 17:11:28

Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/bellows/ezsp/v8/__init__.py", line 51, in pre_permit
    await self.setPolicy(
    ...<2 lines>...
    )
  File "/usr/local/lib/python3.13/site-packages/bellows/ezsp/protocol.py", line 126, in command
    await self._gw.send_data(data)
  File "/usr/local/lib/python3.13/site-packages/bellows/uart.py", line 31, in send_data
    await self._transport.send_data(data)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'send_data'
Registrador: zigpy.zcl
Fonte: runner.py:154
Ocorreu pela primeira vez: 17:07:12 (16 ocorrências)
Último registro: 17:11:26

[0xD5B8:1:0x0000] Traceback (most recent call last): File "/usr/local/lib/python3.13/site-packages/zigpy/zcl/__init__.py", line 422, in reply return await self._endpoint.reply( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<9 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/zigpy/endpoint.py", line 304, in reply return await self.device.reply( ^^^^^^^^^^^^^^^^^^^^^^^^ ...<11 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 558, in reply return await self.request( ^^^^^^^^^^^^^^^^^^^ ...<11 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 373, 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 789, in send_packet status, _ = await self._ezsp.send_unicast( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<4 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/bellows/ezsp/v4/__init__.py", line 137, in send_unicast status, sequence = await self.sendUnicast( ^^^^^^^^^^^^^^^^^^^^^^^ ...<5 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/bellows/ezsp/protocol.py", line 126, in command await self._gw.send_data(data) File "/usr/local/lib/python3.13/site-packages/bellows/uart.py", line 31, in send_data await self._transport.send_data(data) File "/usr/local/lib/python3.13/site-packages/bellows/ash.py", line 708, in send_data await asyncio.shield( ...<6 lines>... ) File "/usr/local/lib/python3.13/site-packages/bellows/ash.py", line 633, in _send_data_frame raise NcpFailure( t.NcpResetCode.ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT ) bellows.ash.NcpFailure: NcpResetCode.ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT
[0x9A29:1:0x0000] Traceback (most recent call last): File "/usr/local/lib/python3.13/site-packages/zigpy/zcl/__init__.py", line 422, in reply return await self._endpoint.reply( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<9 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/zigpy/endpoint.py", line 304, in reply return await self.device.reply( ^^^^^^^^^^^^^^^^^^^^^^^^ ...<11 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 558, in reply return await self.request( ^^^^^^^^^^^^^^^^^^^ ...<11 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 373, 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 789, in send_packet status, _ = await self._ezsp.send_unicast( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<4 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/bellows/ezsp/v4/__init__.py", line 137, in send_unicast status, sequence = await self.sendUnicast( ^^^^^^^^^^^^^^^^^^^^^^^ ...<5 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/bellows/ezsp/protocol.py", line 126, in command await self._gw.send_data(data) File "/usr/local/lib/python3.13/site-packages/bellows/uart.py", line 31, in send_data await self._transport.send_data(data) File "/usr/local/lib/python3.13/site-packages/bellows/ash.py", line 708, in send_data await asyncio.shield( ...<6 lines>... ) File "/usr/local/lib/python3.13/site-packages/bellows/ash.py", line 633, in _send_data_frame raise NcpFailure( t.NcpResetCode.ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT ) bellows.ash.NcpFailure: NcpResetCode.ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT
[0x48ED:1:0x0000] Traceback (most recent call last): File "/usr/local/lib/python3.13/site-packages/zigpy/zcl/__init__.py", line 422, in reply return await self._endpoint.reply( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<9 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/zigpy/endpoint.py", line 304, in reply return await self.device.reply( ^^^^^^^^^^^^^^^^^^^^^^^^ ...<11 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 558, in reply return await self.request( ^^^^^^^^^^^^^^^^^^^ ...<11 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 373, 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 789, in send_packet status, _ = await self._ezsp.send_unicast( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<4 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/bellows/ezsp/v4/__init__.py", line 137, in send_unicast status, sequence = await self.sendUnicast( ^^^^^^^^^^^^^^^^^^^^^^^ ...<5 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/bellows/ezsp/protocol.py", line 126, in command await self._gw.send_data(data) File "/usr/local/lib/python3.13/site-packages/bellows/uart.py", line 31, in send_data await self._transport.send_data(data) File "/usr/local/lib/python3.13/site-packages/bellows/ash.py", line 708, in send_data await asyncio.shield( ...<6 lines>... ) File "/usr/local/lib/python3.13/site-packages/bellows/ash.py", line 633, in _send_data_frame raise NcpFailure( t.NcpResetCode.ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT ) bellows.ash.NcpFailure: NcpResetCode.ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT
[0xF842:1:0x0000] Traceback (most recent call last): File "/usr/local/lib/python3.13/site-packages/zigpy/zcl/__init__.py", line 422, in reply return await self._endpoint.reply( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<9 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/zigpy/endpoint.py", line 304, in reply return await self.device.reply( ^^^^^^^^^^^^^^^^^^^^^^^^ ...<11 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 558, in reply return await self.request( ^^^^^^^^^^^^^^^^^^^ ...<11 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 373, 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 789, in send_packet status, _ = await self._ezsp.send_unicast( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<4 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/bellows/ezsp/v4/__init__.py", line 137, in send_unicast status, sequence = await self.sendUnicast( ^^^^^^^^^^^^^^^^^^^^^^^ ...<5 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/bellows/ezsp/protocol.py", line 126, in command await self._gw.send_data(data) File "/usr/local/lib/python3.13/site-packages/bellows/uart.py", line 31, in send_data await self._transport.send_data(data) File "/usr/local/lib/python3.13/site-packages/bellows/ash.py", line 708, in send_data await asyncio.shield( ...<6 lines>... ) File "/usr/local/lib/python3.13/site-packages/bellows/ash.py", line 633, in _send_data_frame raise NcpFailure( t.NcpResetCode.ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT ) bellows.ash.NcpFailure: NcpResetCode.ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT
[0x2C33:1:0x0000] Traceback (most recent call last): File "/usr/local/lib/python3.13/site-packages/zigpy/zcl/__init__.py", line 422, in reply return await self._endpoint.reply( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<9 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/zigpy/endpoint.py", line 304, in reply return await self.device.reply( ^^^^^^^^^^^^^^^^^^^^^^^^ ...<11 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 558, in reply return await self.request( ^^^^^^^^^^^^^^^^^^^ ...<11 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 373, 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 789, in send_packet status, _ = await self._ezsp.send_unicast( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<4 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/bellows/ezsp/v4/__init__.py", line 137, in send_unicast status, sequence = await self.sendUnicast( ^^^^^^^^^^^^^^^^^^^^^^^ ...<5 lines>... ) ^ File "/usr/local/lib/python3.13/site-packages/bellows/ezsp/protocol.py", line 126, in command await self._gw.send_data(data) File "/usr/local/lib/python3.13/site-packages/bellows/uart.py", line 31, in send_data await self._transport.send_data(data) File "/usr/local/lib/python3.13/site-packages/bellows/ash.py", line 708, in send_data await asyncio.shield( ...<6 lines>... ) File "/usr/local/lib/python3.13/site-packages/bellows/ash.py", line 633, in _send_data_frame raise NcpFailure( t.NcpResetCode.ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT ) bellows.ash.NcpFailure: NcpResetCode.ERROR_EXCEEDED_MAXIMUM_ACK_TIMEOUT_COUNT
1 Like

hi, could it be related to this?

Do you have more details on this? Does it eventually start, what coordinator?

I don’t know if it is the exact same problem, but it seems very similar

Hi, I’m using a SLZB-06M dongle over Ethernet

The behavior seems to when it try to start something bad happen and it try to start again and again and so on.

The only way to make it work again is if I downgrade the version to any 2024.12.x release

Thanks, I think we may have the same error, started seeing it after 2025.1, but haven’t traced it to the source yet. There weren’t many changes made to zigpy or zha. Mine however will eventually start, just sometimes takes up to ten attempts. If I power cycle the coordinator just prior to restarting, it will start up perfectly. Also a poe coordinator, so that may be a commonality.

After update to version 2025.1.2 released yesterday, ZHA starts work correctly and it solve my issue. I’m closing this topic.