I am using 3 W600 valves within Home Assistant and Zigbee2MQTT.
The W600 exposes the “running_state” attribute, which can be either “idle” or “heat”. It is key for HA to be able to recover this information as it is used by HA to start/stop the central heater (without this information, the valve opens but the boiler remains stopped).
However, I am having great difficulties to get this information sent automatically from the W600 to HA. The only reliable way to get it I found is by creating an automation in HA which asks (through a zigbee2mqtt/device_name/get request) an update on the state of this attribute every X minutes for each valve. Clearly not the best from a battery life perspective, and we should expect this key attribute to be proactively transmitted by the W600 each time it changes.
Any suggestion?
@Expert Please take a look.
Looks like this was reported elsewhere: Aqara W600 - opening position and hvac_action not updated · Issue #33428 · Koenkk/zigbee2mqtt · GitHub
I would think ideally the updates should be pushed from the W600 as opposed to your polling workaround. But I think this would likely require a firmware update from Aqara to address.
Above issue #33428 was created by me (trying to understand if the issue was coming from a bug in Zigbee2mqtt or in the W600 firmware). As per latest answer on above link, it seems the issue is coming from the W600 firmware. So I guess we need to hope Aqara will take the ticket, confirm the bug and provide a corrective firmware.
I fully agree with you: we should not be polling the valve every 5 minutes to get an update of this parameter, the valve shall send it proactively at each change of state on its own.