Koenkk / Koenkk/zigbee2mqtt

Devices randomly become unavailable after upgrading from 2.11.x to 2.12.1 (ZStack coordinator)

Open
#32,523 21 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

problem
Dominant language
TypeScript
Stars
15.7k
Forks
2k
Avg merge
18h 55m
Merged PRs (30d)
35

Description

What happened?

After upgrading Zigbee2MQTT from 2.11.x to 2.12.1, many devices randomly become unavailable.

The problem affects both routers and end devices.

Typical behavior:

  • Device becomes unavailable.
  • Repeated "Refresh" or "Get state" requests eventually wake the device up.
  • Afterwards it works again for some time.
  • This never happened before the upgrade.

Several devices report ZCL command timeouts like:

Error: ZCL command ... failed (Timeout after 10000ms)

Examples include:

  • TS011F smart plugs
  • Zigbee lights
  • Other Tuya devices

The Zigbee network itself appears healthy and devices report normal LQI values once communication resumes.

What did you expect to happen?

Devices should remain available as they did with Zigbee2MQTT 2.11.x.

How to reproduce it (minimal and precise)
  1. Upgrade from Zigbee2MQTT 2.11.x to 2.12.1
  2. Wait some time
  3. Random devices become unavailable
  4. Sending repeated "Get" commands eventually brings them back online
Zigbee2MQTT version

2.12.1

Adapter firmware version

Coordinator: ZStack3x0 Coordinator firmware: 20240710

Adapter

SMLIGHT SLZB-06

Setup

Hardware:
Fujitsu Q920 i5-4590 T
2.00 GHz, 64 Bit, x64
120 GB SSD
16 MB RAM

HAOS

Coordinator:

  • SLZB-06 (standard version)
  • TCP mode

Network:

  • about 200 Zigbee devices
  • 93 routers
  • 107 end devices

The issue started immediately after upgrading from Zigbee2MQTT 2.11.x.

Downgrading is currently the only known workaround.

Example log messages:

Publish 'get' 'state' ... failed:
Error: ZCL command ... failed (Timeout after 10000ms)

Device database.db entry

No response

Debug log

No response

Notes

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing the Zigbee2MQTT 2.11.x and 2.12.1 behavior in the ZStack coordinator path, using the reported upgrade and repeated Get or Refresh requests to reproduce the failure. Collect the missing debug log and database.db entry while observing the ZCL command timeouts. Done means devices remain available after upgrading and the reported timeout behavior no longer occurs.

Written by the indexing model from the issue text.

Assessment

Tech stack
embedded-iot, typescript
Domain
embedded-iot, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.