I picked up a couple of Aeotec Z-Wave Water/Flood Sensors for my water heater and under the kitchen sink to add to my Home Assistant instance. We recently had a leak under the kitchen sink and didn’t catch it before it damaged the cabinet, so I was motivated to make sure we receive a notification via Home Assistant the next time a leak happens.
I included the sensors into my Z-Wave network and everything showed up correctly. However when I tested each sensor in a cup of water I wasn’t seeing the
binary_sensor change state to indicate that water was detected. After a brief search I came across this helpful post on the community forums: https://community.home-assistant.io/t/how-to-aeotec-dsb45-water-sensor/51704.
This is one of those times when Z-wave shows its complexity beyond the typical “plug and play” setup for most devices. The sensor must be configured to send the proper report type for Home Assistant to work with it.
To do this, in Home Assistant go to the Configuration > Z-Wave screen and select the water sensor from the Nodes dropdown.
Then scroll to the Node config options section, choose “121: Report Type to Send” as the Config parameter, and enter “4113” as the value.
On the water sensor, make sure you press the “Z-Wave” button to wake it (don’t use the “Wake” button) and then click the “Set Config Parameter” button on the Z-Wave screen in Home Assistant to save the change to the sensor.
Now the sensor should be reporting the state change correctly for the
binary_sensor entity it created. I would also recommend using the Customization screen to set the
binary_sensor‘s device class to “moisture” if it isn’t already so the icon in the UI uses a water droplet and the state says “Dry” or “Wet” instead of “Off” and “On.”
With the sensors working, I created a simple automation that sends me a notification via the Home Assistant iOS app whenever one of the sensors changes to “on.” In the future I’ll probably look into installing a Z-Wave water shut-off valve so I can stop leaks when I’m not at home.