-
Since I'm new to zwave-js, I wanted to raise this here before assuming it was an issue. I have an Ecolink Flood/Freeze Sensor and I have a Binary Sensor (113-0-Water Alarm-Sensor Status in CP) and a second binary sensor (which doesn't appear in the zwavejs2mqtt CP, but does in Home Assistant), which tracks the 113-0 (NOTE: this is NOT the 48-0-Water binary sensor in the CP). What is happening is that when the sensor is triggered by water, the 48-0-Water binary sensor goes TRUE, and the 113-0-Water Alarm-Sensor Status goes to "Water Leak Detected" - both as they should. When the Water is removed, the 48-0 value goes to FALSE, but the 113-0 remains at "Water Leak Detected". This is true with that second BS in HA that tracks 113-0, which is set to On in HA and stays On even after the water is removed. I'm not sure, but I believe both of these latter values (that don't change back) are the Notification Type "Water (0x05)" (consistent with what I'm seeing in the logs). I can see the 0x02 value Set when Water is Detected initially. However, when the water is removed, there is no entry to unSet it. Per the docs, I think we should see a 0x04 "Water No Longer Detected" being sent/received when water is removed. I don't know if this is a bug in the driver, or an error in the device config files used by it, or if the device is ACTUALLY NOT sending a 0x04 as the manual indicates. I've attached the manual, and the values I'm talking about are in the Notification CC Table on Pg 6. Also, In the attached driver (and zw2m) logs, look at Nodes 42, 62, and 63, all of which I tested by wetting, and all responded identically as described above. In the logs, you will see that on the first wetting, there is a Notification CC set from 0 to 2, consistent with the manual. On following tests, the Notification CC set is from 2 to 2 upon wetting. It is never being reset after water is removed (0x04). I assume it should. The 48-0 sensor is working correctly, and the logs show it going to TRUE and then back to FALSE. EDIT: Actually, looking at the zw2m logs, I can see a 0x04 for Notification CC Type 0x05 (Water) where it should be, as shown here.
It corresponds to the following in the driver log.
I never see the "Water Level Dropped", just the "Water Detected". Please advise, if possible. Thanks. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 4 replies
-
See this discussion in an HA issue: home-assistant/core#51691 (comment) The easiest solution is to just ignore the Notification-based binary sensor and use the Binary Sensor-based binary sensor (after enabling it) that is working. Other solutions would depend on custom behavior for this device in node-zwave-js. |
Beta Was this translation helpful? Give feedback.
-
I'm not sure what that means. Value IDs consist of command class (113), endpoint (0) and at least a property, sometimes also a property key.
I think this is one of the cases where the Z-Wave specifications need to be improved. Water Leak Detected (2) is defined in the specs as a state (the value has a meaning after the notification is received). Water Level Dropped (4) is defined as an event (that has a meaning only the instant the notification is received). I don't see any indication that those are related to each other. Water Level Dropped could just mean that you have a container where the water level went down, e.g. from half full to quarter full. To reset a notification state, Z-Wave has a special idle (0) notification, which the device should be using instead. Since you have a working binary sensor, I agree with @kpine - it isn't worth the developer time to implement a workaround. |
Beta Was this translation helpful? Give feedback.
I'm not sure what that means. Value IDs consist of command class (113), endpoint (0) and at least a property, sometimes also a property key.
I think this is one of the cases where the Z-Wave specifications need to be improved. Water Leak Detected (2) is defined in the specs as a state (the value has a meaning after the notification is received). Water Level Dropped (4)…