Iāve been experiencing this same issue on and off for the past few months on a system which was working very well all summer. Doing some debug logging, I can see the messages as Iād expect in the Zigbee2MQTT logs. Hereās a trimmed set of logged messages that were the result of a down_triple
action coming from one of my Inovelli Zigbee wall switches.
From Zigbee2MQTT:
Info 2023-11-08 10:41:53 MQTT publish:
topic 'zigbee2mqtt-ranch/office-hall-lights',
payload '{"action":"down_triple", . . . }'
Info 2023-11-08 10:41:53 MQTT publish:
topic 'zigbee2mqtt-ranch/office-hall-lights/action',
payload 'down_triple'
That all looks like how I would expect it to look. Two MQTT messages published to two topics.
However, over on the Home Assistant side, I see three messages to two topics. The first has the action correctly included. It is immediately followed by a second message where the action text is suspiciously empty. This is from the HA MQTT integration settings under āListen to a topicā:
Listening to zigbee2mqtt-ranch/office-hall-lights
shows me this for that message. Again, this is a single message as reported by the Zigbee2MQTT logs, but shows as two messages on the HA side. I edited out all the other payload JSON for clarity:
Message 1 received on zigbee2mqtt-ranch/office-hall-lights at 10:41:
{
"action": "",
. . .
}
QoS: 0 - Retain: false
Message 0 received on zigbee2mqtt-ranch/office-hall-lights at 10:41:
{
"action": "down_triple",
. . .
}
QoS: 0 - Retain: false
Listening to zigbee2mqtt-ranch/office-hall-lights/action
looks like I think it should:
Message 2 received on zigbee2mqtt-ranch/office-hall-lights/action at 10:41:
down_triple
QoS: 0 - Retain: false
What I see these days is that every time I upgrade Home Assistant, all of these automations break in Home Assistant because it seems to forget nearly all of the actions for the devices. This was working great as a ādown_doubleā action automation until I upgraded Home Assistant and then my Automation looks like this:
The trigger drop-down when Iām using the HA GUI to edit my automation only shows up_double
and none of the other double or triple actions supported by the switch. If I restart Home Assistant, it even forgets the up_double
. Surely this list of device actions is supposed to survive a Home Assistant restart, right?
Usually Iāve had good luck by walking around and hitting all the combinations of values on each physical switch, then shift-reloading Home Assistant and restarting Home Assistant and then pressing the combinations again and repeating those steps over and over and then eventually HA seems to learn all the actions itās supposed to know for that device then Iām running great until the next time I upgrade Home Assistant.
Iām not having any luck with that approach now, though, with HA 2023.11 and 2023.11.1.
Does anyone know if the doubled MQTT logs/messages on the HA side is expected or possibly indicates a problem? Is there any other debugging I can provide that might be helpful?
This seems to be a new problem thatās arisen the past 2 months or so. Iām not really familiar with the MQTT integration in HA, but I do plan to continue digging to see if I can figure it out.
Iām running a standalone Zigbee2MQTT (not the HA Add-on) if thatās relevant.