ptvoinfo / zigbee-configurable-firmware

PTVO firmware for CC2530, CC2531, and CC2652 Zigbee chips
https://ptvo.info/zigbee-configurable-firmware-features/
MIT License
205 stars 22 forks source link

Read 'switch_actions' with incorrect result #232

Closed obrain17 closed 11 months ago

obrain17 commented 1 year ago

I have configured an Input as "Switch" with action "Toggle" and linked to the Output:

image

This works correctly the behaviour is "Toggle".

But when reading the value of "switch_action" it is reported as "On" ("switchActions":0).

Debug 2023-09-15 10:37:24 Received MQTT message on 'zigbee2mqtt/ZBMini/get' with data '{"switch_actions_l2":""}'
Debug 2023-09-15 10:37:24 Publishing get 'get' 'switch_actions' to 'ZBMini'
Debug 2023-09-15 10:37:24 Received Zigbee message from 'ZBMini', type 'readResponse', cluster 'genOnOffSwitchCfg', data '{"16385":1,"16386":1,"switchActions":0,"switchType":0}' from endpoint 2 with groupID 0

Debug 2023-09-15 10:37:52 Received MQTT message on 'zigbee2mqtt/ZBMini/set' with data '{"switch_actions_l2":"toggle"}'
Debug 2023-09-15 10:37:52 Publishing 'set' 'switch_actions' to 'ZBMini'
Debug 2023-09-15 10:37:52 Received Zigbee message from 'ZBMini', type 'attributeReport', cluster 'genOnOffSwitchCfg', data '{"16385":1,"16386":1,"switchActions":0,"switchType":0}' from endpoint 2 with groupID 0

Debug 2023-09-15 10:37:57 Received MQTT message on 'zigbee2mqtt/ZBMini/get' with data '{"switch_actions_l2":""}'
Debug 2023-09-15 10:37:57 Publishing get 'get' 'switch_actions' to 'ZBMini'
Debug 2023-09-15 10:37:57 Received Zigbee message from 'ZBMini', type 'readResponse', cluster 'genOnOffSwitchCfg', data '{"16385":1,"16386":1,"switchActions":0,"switchType":0}' from endpoint 2 with groupID 0

Also setting the value manually to "toggle" still reports "switchActions":0, Internally it works correctly, it is also possible to change to "on", "off", "toggle" with appropriate behaviour. Only read/reporting is wrong.

ptvoinfo commented 1 year ago

@obrain17 I'm sorry, but it is not possible to properly encode the firmware configuration to genOnOffSwitchCfg. It is too complex. For example, there is a problem with a linked input.