Aeotec ZW097 - Invert sensor state using Zwave Configuration Options

I have several unused Aeotec ZW097 Dry Contact Sensors that I found can detect a water leak and have the bonus of allowing easy use of custom probes such as the ones I made for my 2 HVAC water pans. The issue is that the options to invert the status reported by the sensor doesn’t appear to work.

First of all, I tried to change the “Notification Type” to “Water Alarm” but the sensor stops reporting status and if I recall correctly it adds new entities but they do not do anything. Most of my testing has therefore been done with the default “Access Control” type.

I currently have defined a new device_class of “moisture” to make the sensors appear as leak sensors, and that works fine. However when the contact is open, it says “Wet” and conversely, it says “Dry” when the contact is closed.

On another Aeotec door/window sensor I had to change “Invert Binary Report Value” to invert the open/closed status.

That sensor is also set to “Report Type to Send: Binary Sensor CC Report” so I tried that on this one too, but no combination I tried worked.

What am I missing? I would rather not use a template, etc to do it on the front-end if the sensor suppors inverting the status on the firmware level.

EDIT: Most of my testing was done AFTER I customized the sensor with the new moisture device_class in case it matters.

EDIT2: The engineering specifications document is attached on the page linked below (a direct link did not work):




EDIT[n+1]: In all, it would appear that the sensor is already inverted given the tables above indicate the sensor reports WET when ON (closed contact), but both my sensors report WET when OFF (open contact). I may have inverted them in their previous use… not sure, if which case it may mean that the configuration is not sticking. I tried doing it from Node Red and while the Configuration tab reflects the change, it still does not invert the state reported.

This seems to finally work (I managed to crash ZWAVE JS while testing…) but the value I highlighted is the only one that changes:

Contact Open:

Contact Closed:

Solved it…

Final config:

  1. Renamed “Dry Contact Sensor: Any” to “Upstairs HVAC Leak Sensor” (with matching entitiy.
  2. Disabled all other entities that did not work and will likely delete the ones I am allowed to.
  3. Added the following to my configuration.yaml:
binary_sensor.upstairs_hvac_leak_sensor:
  device_class: moisture

That was harder than it should have been… but it now works. Leaving my posts here for others in the same boat.

Part of the issue was that new entities needed to be enabled and given time to be activated. Once you set the sensor to the right settings, enable the entities and give them time to activate, it all becomes more clear. You then disable all you don’t need (and doesn’t work anyway) and then convert it to moisture (this last step is strange given it is a water alarm but I guess a water level is different than a leak so…)

New here and found this post. Have this device, followed the settings above except set for motion. No matter how I set the “report on” and “Set on”, the device always shows motion “detected”. Any thoughts would be appreciated.