HESZB-120: recurring ZIGBEE_DELIVERY_FAILED after firmware update to 4.0.9 (0x00040009)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 15.7k
- Forks
- 2k
- Avg merge
- 18h 55m
- Merged PRs (30d)
- 35
Description
What happened?
Since this device's firmware was updated to 4.0.9 (0x00040009) on 8 May 2026, it has been intermittently unreachable on the Zigbee network. The coordinator repeatedly fails to deliver messages to it, logged as DeliveryError (ZIGBEE_DELIVERY_FAILED) or TimeoutError, roughly once per hour, at a very regular cadence (see log excerpt below — failures at 05:39, 06:39, 07:39, 07:40, 08:40, 08:40, 09:40, 09:40, 10:41, 11:40, 11:41). This near-hourly periodicity suggests a recurring internal check-in/poll from the device itself failing consistently, rather than random network congestion.
This same device previously had a separate issue (a repeated IAS Zone re-enrollment/join loop) after a Zigbee coordinator migration, resolved at the time by removing and re-pairing it. That was weeks before this new issue started, and no coordinator change or re-pairing has occurred since 8 May — only the firmware update.
I'm not using Zigbee2MQTT (see Setup below) but reporting here since this appears to be a firmware-level issue and I found a related past report on this device family in #21721 (siren control broken since firmware 4.0.8).
What did you expect to happen?
The device should remain reliably reachable on the network, consistent with its behavior before the 4.0.9 update.
How to reproduce it (minimal and precise)
Not reliably reproducible on demand. The device fails intermittently during normal operation, roughly several times per day, with no specific trigger identified so far.
Zigbee2MQTT version
N/A – not using Zigbee2MQTT, running Home Assistant's ZHA integration instead. Reporting here as this repository/issue tracker appears to be the most active place for HESZB-120 firmware issues (see #21721).
Adapter firmware version
Coordinator: SMLIGHT SLZB-06M, coordinator firmware 3.3.1 (EmberZNet/EZSP, EFR32MG24)
Adapter
SMLIGHT SLZB-06M (EZSP/EFR32MG24), used via Home Assistant ZHA, not Zigbee2MQTT
Setup
Home Assistant OS (HAOS) latest version, ZHA integration (not Zigbee2MQTT).
Device database.db entry
N/A – ZHA does not use a database.db file (that's Zigbee2MQTT-specific). Happy to provide the equivalent ZHA device signature/diagnostics if useful.
Debug log
2026-07-24 05:39:02.718 WARNING (MainThread) [zigpy.application] Device callback failed - DeliveryError('Failed to deliver message: <sl_Status.ZIGBEE_DELIVERY_FAILED: 3074>')
2026-07-24 05:39:28.222 WARNING (MainThread) [zigpy.application] Device <...> callback failed - TimeoutError()
2026-07-24 06:39:46.600 WARNING (MainThread) [zigpy.application] Device <...> callback failed - TimeoutError()
2026-07-24 07:39:49.037 WARNING (MainThread) [zigpy.application] Device <...> callback failed - TimeoutError()
2026-07-24 07:40:05.013 WARNING (MainThread) [zigpy.application] Device <...> callback failed - TimeoutError()
2026-07-24 08:40:07.505 WARNING (MainThread) [zigpy.application] Device <...> callback failed - TimeoutError()
2026-07-24 08:40:23.679 WARNING (MainThread) [zigpy.application] Device <...> callback failed - TimeoutError()
2026-07-24 09:40:25.954 WARNING (MainThread) [zigpy.application] Device <...> callback failed - TimeoutError()
2026-07-24 09:40:42.013 WARNING (MainThread) [zigpy.application] Device <...> callback failed - TimeoutError()
2026-07-24 10:41:00.714 WARNING (MainThread) [zigpy.application] Device <...> callback failed - TimeoutError()
2026-07-24 11:40:53.554 WARNING (MainThread) [zigpy.application] Device <...> callback failed - DeliveryError('Failed to deliver message: <sl_Status.ZIGBEE_DELIVERY_FAILED: 3074>')
2026-07-24 11:41:09.664 WARNING (MainThread) [zigpy.application] Device <...> callback failed - DeliveryError('Failed to deliver message: <sl_Status.ZIGBEE_DELIVERY_FAILED: 3074>')
Note: this is standard-level ZHA/zigpy logging, not debug-level — enabling debug logging on my current setup causes Home Assistant to crash before a usable log can be captured.
Notes
Happy to test a firmware downgrade or provide further diagnostics if that would help narrow down the regression.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the supplied ZHA/zigpy logs and the related report in #21721, then determine whether this repository handles HESZB-120 behavior or can reproduce the failure. Done means identifying a repository-side cause or documenting that the 4.0.9 firmware regression is external, with a focused diagnostic or reproduction path.
Written by the indexing model from the issue text.
Assessment
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100