What happened?
What happened
The two wireless buttons (endpoints 3/4) on an Aqara Shutter Switch H2 EU (DS-K02E) stop responding completely after approximately 24 hours — no action events are published at all. The shutter control itself (endpoints 1/2) keeps working fine.
The only way to restore the buttons is a physical re-join: pressing a button on the switch 2 times short + 1 time long, then allowing join in Zigbee2MQTT (permit_join).
What did you expect to happen
The wireless buttons should keep working indefinitely without requiring periodic manual re-pairing.
Troubleshooting already attempted (none of these fixed it)
Manually triggering device/configure via MQTT after the buttons stopped responding
Setting multi_click_top_wireless_button and multi_click_bottom_wireless_button to false
Restarting the Zigbee2MQTT service
Restarting Home Assistant completely
Interesting data point
Upgrading from Zigbee2MQTT 2.14.1 to 2.14.2 temporarily restored button function for another ~24 hours, after which it failed again in the same way. A plain restart (without a version update) does not have this effect. 2.14.2 included a zigbee-herdsman bump to 10.9.3/10.10.0 — this might point to the root cause being in zigbee-herdsman's network/routing state rather than in Zigbee2MQTT itself, though this is speculation on my part.
Zigbee2MQTT version: 2.14.2
Adapter/coordinator: Sonoff ZBDongle-MG24
Device: Aqara Shutter Switch H2 EU (DS-K02E / lumi.switch.aeu003)
What did you expect to happen?
No response
How to reproduce it (minimal and precise)
No response
Zigbee2MQTT version
2.14.2 (unknown)
Adapter firmware version
{"build":397,"ezsp":14,"major":8,"minor":0,"patch":2,"revision":"8.0.2 [GA]","special":0,"type":170}
Adapter
EmberZNet
Setup
os: #1 SMP PREEMPT Thu Jul 30 12:12:02 UTC 2026 - 6.18.34-haos-raspi - arm64
node: v24.18.1
ha: true
Device database.db entry
No response
Debug log
No response
Notes
Device
definition: DS-K02D/DS-K02E - Aqara (v0.0.2)
software_build_id: undefined
date_code: 20260226
endpoints:
{"1":{"bindings":[{"cluster":"seMetering","target":{"endpoint":1,"ieee_address":"0x7c31fafffef55752","type":"endpoint"}},{"cluster":"closuresWindowCovering","target":{"endpoint":1,"ieee_address":"0x7c31fafffef55752","type":"endpoint"}}],"clusters":{"input":["closuresWindowCovering","haElectricalMeasurement","seMetering","genScenes","genGroups","genIdentify","genBasic","manuSpecificLumi"],"output":["genTime","genOta"]},"configured_reportings":[{"attribute":"currentSummDelivered","cluster":"seMetering","maximum_report_interval":65000,"minimum_report_interval":10,"reportable_change":100},{"attribute":"currentPositionLiftPercentage","cluster":"closuresWindowCovering","maximum_report_interval":65000,"minimum_report_interval":1,"reportable_change":1}],"scenes":[]},"2":{"bindings":[],"clusters":{"input":["manuSpecificLumi"],"output":[]},"configured_reportings":[],"scenes":[]},"3":{"bindings":[{"cluster":"manuSpecificLumi","target":{"endpoint":1,"ieee_address":"0x7c31fafffef55752","type":"endpoint"}},{"cluster":"genMultistateInput","target":{"endpoint":1,"ieee_address":"0x7c31fafffef55752","type":"endpoint"}}],"clusters":{"input":["genMultistateInput","manuSpecificLumi"],"output":[]},"configured_reportings":[],"name":"top_wireless_button","scenes":[]},"4":{"bindings":[{"cluster":"manuSpecificLumi","target":{"endpoint":1,"ieee_address":"0x7c31fafffef55752","type":"endpoint"}},{"cluster":"genMultistateInput","target":{"endpoint":1,"ieee_address":"0x7c31fafffef55752","type":"endpoint"}}],"clusters":{"input":["genMultistateInput","manuSpecificLumi"],"output":[]},"configured_reportings":[],"name":"bottom_wireless_button","scenes":[]},"21":{"bindings":[],"clusters":{"input":["genAnalogInput"],"output":[]},"configured_reportings":[],"scenes":[]}}
Health
time: Sat Oct 03 2026 22:07:10 GMT+0200 (Mitteleuropäische Sommerzeit)
os.load_average: 0.07, 0.2, 0.24
os.memory_percent: 55.9929
process.memory_percent: 7.484
process.uptime_sec: 1020
{"leave_count":0,"messages":19,"messages_per_sec":0.044,"network_address_changes":0}
What happened?
What happened
The two wireless buttons (endpoints 3/4) on an Aqara Shutter Switch H2 EU (DS-K02E) stop responding completely after approximately 24 hours — no action events are published at all. The shutter control itself (endpoints 1/2) keeps working fine.
The only way to restore the buttons is a physical re-join: pressing a button on the switch 2 times short + 1 time long, then allowing join in Zigbee2MQTT (permit_join).
What did you expect to happen
The wireless buttons should keep working indefinitely without requiring periodic manual re-pairing.
Troubleshooting already attempted (none of these fixed it)
Manually triggering device/configure via MQTT after the buttons stopped responding
Setting multi_click_top_wireless_button and multi_click_bottom_wireless_button to false
Restarting the Zigbee2MQTT service
Restarting Home Assistant completely
Interesting data point
Upgrading from Zigbee2MQTT 2.14.1 to 2.14.2 temporarily restored button function for another ~24 hours, after which it failed again in the same way. A plain restart (without a version update) does not have this effect. 2.14.2 included a zigbee-herdsman bump to 10.9.3/10.10.0 — this might point to the root cause being in zigbee-herdsman's network/routing state rather than in Zigbee2MQTT itself, though this is speculation on my part.
Zigbee2MQTT version: 2.14.2
Adapter/coordinator: Sonoff ZBDongle-MG24
Device: Aqara Shutter Switch H2 EU (DS-K02E / lumi.switch.aeu003)
What did you expect to happen?
No response
How to reproduce it (minimal and precise)
No response
Zigbee2MQTT version
2.14.2 (unknown)
Adapter firmware version
{"build":397,"ezsp":14,"major":8,"minor":0,"patch":2,"revision":"8.0.2 [GA]","special":0,"type":170}
Adapter
EmberZNet
Setup
os:
#1 SMP PREEMPT Thu Jul 30 12:12:02 UTC 2026 - 6.18.34-haos-raspi - arm64node:
v24.18.1ha:
trueDevice
database.dbentryNo response
Debug log
No response
Notes
Device
definition:
DS-K02D/DS-K02E-Aqara(v0.0.2)software_build_id:
undefineddate_code:
20260226endpoints:
{"1":{"bindings":[{"cluster":"seMetering","target":{"endpoint":1,"ieee_address":"0x7c31fafffef55752","type":"endpoint"}},{"cluster":"closuresWindowCovering","target":{"endpoint":1,"ieee_address":"0x7c31fafffef55752","type":"endpoint"}}],"clusters":{"input":["closuresWindowCovering","haElectricalMeasurement","seMetering","genScenes","genGroups","genIdentify","genBasic","manuSpecificLumi"],"output":["genTime","genOta"]},"configured_reportings":[{"attribute":"currentSummDelivered","cluster":"seMetering","maximum_report_interval":65000,"minimum_report_interval":10,"reportable_change":100},{"attribute":"currentPositionLiftPercentage","cluster":"closuresWindowCovering","maximum_report_interval":65000,"minimum_report_interval":1,"reportable_change":1}],"scenes":[]},"2":{"bindings":[],"clusters":{"input":["manuSpecificLumi"],"output":[]},"configured_reportings":[],"scenes":[]},"3":{"bindings":[{"cluster":"manuSpecificLumi","target":{"endpoint":1,"ieee_address":"0x7c31fafffef55752","type":"endpoint"}},{"cluster":"genMultistateInput","target":{"endpoint":1,"ieee_address":"0x7c31fafffef55752","type":"endpoint"}}],"clusters":{"input":["genMultistateInput","manuSpecificLumi"],"output":[]},"configured_reportings":[],"name":"top_wireless_button","scenes":[]},"4":{"bindings":[{"cluster":"manuSpecificLumi","target":{"endpoint":1,"ieee_address":"0x7c31fafffef55752","type":"endpoint"}},{"cluster":"genMultistateInput","target":{"endpoint":1,"ieee_address":"0x7c31fafffef55752","type":"endpoint"}}],"clusters":{"input":["genMultistateInput","manuSpecificLumi"],"output":[]},"configured_reportings":[],"name":"bottom_wireless_button","scenes":[]},"21":{"bindings":[],"clusters":{"input":["genAnalogInput"],"output":[]},"configured_reportings":[],"scenes":[]}}Health
time:
Sat Oct 03 2026 22:07:10 GMT+0200 (Mitteleuropäische Sommerzeit)os.load_average:
0.07, 0.2, 0.24os.memory_percent:
55.9929process.memory_percent:
7.484process.uptime_sec:
1020{"leave_count":0,"messages":19,"messages_per_sec":0.044,"network_address_changes":0}