Koenkk / Koenkk/zigbee2mqtt

[Device Support / Home Assistant Integration] 'action' property missing in initial payload for ZG-101ZS, causing missing device action entities in Home Assistant

Open
#32,825 2 comments 0 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?

Zigbee2MQTT Version
2.13.0

Device Model
ZG-101ZS (Scene Switch)

Problem Description
When the ZG-101ZS scene switch is paired, the initial MQTT payload published by Zigbee2MQTT does not contain the action key/property in its payload structure. Because the initial state broadcast lacks the action field, Home Assistant's MQTT Discovery fails to expose/register the device triggers or action entities properly for Home Assistant UI automation.

Initial Payload Example
Topic: zigbee2mqtt/장면스위치
Payload: {"battery":100,"linkquality":156,"voltage":3000}

What did you expect to happen?

No response

How to reproduce it (minimal and precise)

{"action": null, "battery":100,"linkquality":156,"voltage":3000}

Zigbee2MQTT version

2.13.0

Adapter firmware version

8.0.2 [GA]

Adapter

EmberZNet

Setup

Docker Container

Device database.db entry

{"id":13,"type":"EndDevice","ieeeAddr":"0xa4c1386b85490994","nwkAddr":29819,"manufId":4742,"manufName":"_TZ3000_bgtzm4ny","powerSource":"Battery","modelId":"TS0044","epList":[1,2,3,4],"endpoints":{"1":{"profId":260,"epId":1,"devId":0,"inClusterList":[0,1,6],"outClusterList":[10,25],"clusters":{"genBasic":{"attributes":{"modelId":"TS0044","manufacturerName":"_TZ3000_bgtzm4ny","powerSource":3,"zclVersion":3,"appVersion":151,"stackVersion":2,"hwVersion":1,"dateCode":"18032026","swBuildId":"0118032026"}},"genPowerCfg":{"attributes":{"batteryPercentageRemaining":200,"batteryVoltage":30}},"genOnOff":{"attributes":{"onOff":0}}},"binds":[],"configuredReportings":[],"meta":{}},"2":{"profId":260,"epId":2,"devId":0,"inClusterList":[1,6],"outClusterList":[],"clusters":{"genOnOff":{"attributes":{"onOff":0}}},"binds":[],"configuredReportings":[],"meta":{}},"3":{"profId":260,"epId":3,"devId":0,"inClusterList":[1,6],"outClusterList":[],"clusters":{"genOnOff":{"attributes":{"onOff":0}}},"binds":[],"configuredReportings":[],"meta":{}},"4":{"profId":260,"epId":4,"devId":0,"inClusterList":[1,6],"outClusterList":[],"clusters":{"genOnOff":{"attributes":{"onOff":0}}},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":151,"stackVersion":2,"hwVersion":1,"dateCode":"18032026","swBuildId":"0118032026","zclVersion":3,"interviewCompleted":true,"interviewState":"SUCCESSFUL","meta":{"configured":"0.0.0"},"lastSeen":1786541789667}

Debug log

[2026-08-12 22:06:07] info: z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/장면스위치', payload '{"battery":100,"linkquality":156,"voltage":3000}'

Notes

Workaround / Temporary Fix
Setting homeassistant.legacy_sensor_action: true in configuration.yaml allows Home Assistant to manually generate a sensor.<device_name>_action entity, but without this legacy option enabled, the action triggers are entirely inaccessible in Home Assistant automations.

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

Search the device support for model TS0044 and manufacturer _TZ3000_bgtzm4ny, then trace how the initial MQTT payload is assembled for the reported ZG-101ZS device. Use the payload example and debug log as the reproduction; done means the initial payload includes an action property and Home Assistant can expose the device action entities without the legacy workaround.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.