Aqara W100 (TH-S04D): no button action events although thermostat_mode=OFF
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 15.7k
- Forks
- 2k
- Avg merge
- 18h 55m
- Merged PRs (30d)
- 35
Description
What happened?
The Aqara W100 (TH-S04D) pairs successfully with Zigbee2MQTT.
Temperature and humidity are reported correctly.
Changing thermostat_mode between ON and OFF works and the display changes accordingly (middle thermostat line appears/disappears).
However, pressing any button (+ / center / -) never generates an action event.
Debug logging shows no incoming Zigbee message at all when pressing any button.
What did you expect to happen?
When thermostat_mode is OFF, pressing the buttons should generate action events (single_plus, single_center, single_minus, etc.) as documented.
How to reproduce it (minimal and precise)
- Factory reset the W100.
- Pair it directly next to the coordinator.
- Set thermostat_mode to OFF.
- Press any button.
- No action event is published.
- Debug log shows no incoming Zigbee message from the W100 while pressing buttons.
Zigbee2MQTT version
2.12.1
Adapter firmware version
20211210 (CC2652P)
Adapter
SONOFF Zigbee 3.0 USB Dongle Plus P (CC2652P, zStack)
Setup
Home Assistant OS
Official Zigbee2MQTT add-on
SONOFF Zigbee 3.0 USB Dongle Plus P (CC2652P)
The device was tested directly next to the coordinator.
Device database.db entry
{"id":13,"type":"EndDevice","ieeeAddr":"0x54ef441001422d2a","nwkAddr":15644,"manufId":4447,"manufName":"Aqara","powerSource":"Battery","modelId":"lumi.sensor_ht.agl001","epList":[1,2,3],"appVersion":41,"stackVersion":27,"hwVersion":12,"dateCode":"20260518","interviewCompleted":true,"interviewState":"SUCCESSFUL"}
Debug log
Debug logging enabled.
No Zigbee message is received when pressing any button.
Temperature, humidity and thermostat_mode updates are received normally.
Notes
Already verified:
- factory reset multiple times
- paired multiple times
- tested directly next to coordinator
- interview successful
- endpoints 1, 2 and 3 available
- genMultistateInput available
- bindings created successfully
- thermostat_mode ON/OFF works
- display reacts correctly
- temperature and humidity work correctly
The only missing functionality is button action events.
database.db shows appVersion 41, stackVersion 27, hwVersion 12, dateCode 20260518.
Changing thermostat_mode from ON to OFF changes the display correctly. Therefore commands from Zigbee2MQTT to the device work, but button presses never generate any Zigbee message.
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 by reproducing the issue with the Aqara W100 in thermostat_mode OFF while watching debug logs, then inspect the device's endpoints and genMultistateInput behavior. Compare the documented button actions with the messages received from endpoints 1, 2, and 3; done means button presses publish the expected single_plus, single_center, and single_minus events.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- embedded-iot
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100