ZooZ ZEN30 Double Switch Relay Status Not Upload in Home Assistant

I have an installation of zwave JS UI addon with Home Assistant. Recently I noticed that if I control the ZooZ ZEN30 relay switch (the bottom switch) locally, the state change is not reflected in Home Assistant. However, if I check the state in zwave JS UI addon, I can see the value for endpoint 1 (the bottom switch) command 37 (binary switch v2) is indeed updated. I am not sure what’s going on and why the state got updated in the add on but not Home Assistant. I am not using MQTT or any other addons to interact with zwave JS UI addon at all. Controlling the switch from Home Assistant also seems to be fine. Any suggestions how to troubleshoot this? Is this really a bug in Home Assistant?

There should be multiple switch entities for that device, one for each of the switch’s endpoints. Make sure you are looking at the correct entity. One of the endpoints never updates, because how Zooz designed it. If you don’t see multiple entities, try a re-interview.

I see multiple entities and multiple endpoints. One entity is a light dimmer and the other entity is a switch. The light dimmer works and reports state correctly in Home Assistant. However, the switch works but does not report the state correctly, only in Home Assistant. From zwave JS UI’s perspective, everything looks fine.

Here are the relevant zwave JS UI logs regarding to the ZEN30. First, I turned on and off of the bottom relay switch, and then I turned on and off of the top dimmer switch. As you can see, the zwave JS UI correctly received the state changes of both switches. However, on Home Assistant side, somehow the bottom relay switch state is not updated, even though the light dimmer state is updated.

2023-01-23 11:50:27.073 INFO Z-WAVE: Node 113: value notification: 91-0-scene-003 0
2023-01-23T19:50:27.075Z CNTRLR « [Node 113] received CentralScene notification {
"nodeId": 113,
"ccId": "Central Scene",
"ccCommand": "0x03",
"payload": "0x938003"
}
2023-01-23 11:50:27.336 INFO Z-WAVE: Node 113: value updated: 37-1-currentValue false => true
2023-01-23 11:50:27.341 INFO Z-WAVE: Node 113: value updated: 37-1-targetValue false => true
2023-01-23 11:50:27.347 INFO Z-WAVE: Node 113: value updated: 37-1-duration 0s => 0s
2023-01-23 11:50:29.099 INFO Z-WAVE: Node 113: value notification: 91-0-scene-003 0
2023-01-23T19:50:29.102Z CNTRLR « [Node 113] received CentralScene notification {
"nodeId": 113,
"ccId": "Central Scene",
"ccCommand": "0x03",
"payload": "0x948003"
}
2023-01-23 11:50:29.365 INFO Z-WAVE: Node 113: value updated: 37-1-currentValue true => false
2023-01-23 11:50:29.370 INFO Z-WAVE: Node 113: value updated: 37-1-targetValue true => false
2023-01-23 11:50:29.372 INFO Z-WAVE: Node 113: value updated: 37-1-duration 0s => 0s
2023-01-23 11:50:31.006 INFO Z-WAVE: Node 113: value notification: 91-0-scene-001 0
2023-01-23T19:50:31.009Z CNTRLR « [Node 113] received CentralScene notification {
"nodeId": 113,
"ccId": "Central Scene",
"ccCommand": "0x03",
"payload": "0x958001"
}
2023-01-23 11:50:32.004 INFO Z-WAVE: Node 113: value updated: 32-0-currentValue 0 => 99
2023-01-23 11:50:32.011 INFO Z-WAVE: Node 113: value updated: 38-0-currentValue 0 => 99
2023-01-23 11:50:32.674 INFO Z-WAVE: Node 113: value notification: 91-0-scene-002 0
2023-01-23T19:50:32.678Z CNTRLR « [Node 113] received CentralScene notification {
"nodeId": 113,
"ccId": "Central Scene",
"ccCommand": "0x03",
"payload": "0x968002"
}
2023-01-23 11:50:33.665 INFO Z-WAVE: Node 113: value updated: 32-0-currentValue 99 => 0

Did you re-interview? There are two switch entities.

There are two switch entities in zwave JS UI. 113-37-0 and 113-37-1. From what I can tell, 113-37-0 never changes its state, while 113-37-1 changes its state when turning on/off the bottom relay switch. I can re-interview, though I doubt it will change anything.

I see the problem. In Home Assistant, the relay switch is controlling and synchronizing the state of 113-37-0. When controlling 113-37-0 (turning on or off), the state of both 113-37-0 and 113-37-1 change. However, when controlling locally, only the state of 113-37-1 changes.

In ZUI those are “values”, not entities. In HA, there is a switch entity for value “113-37-0”, and a second switch entity for value “113-31-1”. The entity corresponding to endpoint 0 will not update in HA. The entity for endpoint 1 will update. You just need to disable the former one.

Post a copy of your Device diagnostic file if you aren’t seeing these entities.

Yes. I finally figured it out. I was using the wrong switch. Thanks.