Can a Flood Sensor be flipped to Alert when there is NO WATER?

I have a spare Utilitech Flood Sensor. I want to put it into my Christmas Tree stand’s water reservoir. I’d like it to let me know when the water level drops (making the sensor dry) off the sensor. This way, I could always get an alert when my tree runs the risk of drying out.
Seems like it could/should be doable, I just don’t know how.

Should be easy with CoRE. Just use the water sensor capability and alert when it reports Dry.


This particular device does report dry after it has reported wet, but I’m not sure if there’s a device type handler that recognizes that.

Yea, this can be done directly in the dth, however some genius decided that the built in led should illuminate when the sensor reports wet…
This will do no favors for battery life.

1 Like

I use one every year for my tree, it reports dry just fine and no issues with the LED.

I use it for my fish tank to tell me when to refill the automatic fill tank(Dry sensor) until the tree goes up then use it for that. With the app just named “no water” but was posted here 2 years ago for just the Christmas tree low water purpose.

1 Like

Here is the code.

  • No Water
  • Author: Alex
    preferences {
    section(“When there’s no water detected…”) {
    input “alarm”, “capability.waterSensor”, title: “Where?”
    section( “Notifications” ) {
    input “sendPushMessage”, “enum”, title: “Send a push notification?”, metadata:[values:[“Yes”,“No”]], required:false
    input “phone”, “phone”, title: “Send a Text Message?”, required: false
    def installed() {
    subscribe(alarm, “water.dry”, waterWetHandler)
    def updated() {
    subscribe(alarm, “water.dry”, waterWetHandler)
    def waterWetHandler(evt) {
    def deltaSeconds = 30
    def timeAgo = new Date(now() - (1000 * deltaSeconds))
    def recentEvents = alarm.eventsSince(timeAgo)
    log.debug “Found ${recentEvents?.size() ?: 0} events in the last $deltaSeconds seconds”

def alreadySentSms = recentEvents.count { it.value && it.value == “wet” } > 1

if (alreadySentSms) {
log.debug “SMS already sent to $phone within the last $deltaSeconds seconds”
} else {
def msg = "${alarm.displayName} has no water!"
log.debug "$alarm is dry, texting $phone"
if (phone) {
sendSms(phone, msg)

1 Like

I have no idea what some of the ST competitors’ communities are like, but THIS response is why I stay with ST. Thanks man, you rock!!!


Snip one leg of the LED! :slight_smile:


It’s an SMD, and a super dinky one at that…


Ice pick? :slight_smile:

Contact sensor, water drops and sensor opens

1 Like

What if it’s de-ionized filtered water? Seriously, never actually tested how sensitive one of those things is, would have to be one with external contacts. Opening the reed switch would be a bad idea unless you remove the reed, as water motion would have it constantly opening/closing probably. Or just solder some fine wire on the pads the reed switch is on, and drop those in the bucket.

You can use a float-style mechanism with any traditional contact sensor or the ST multisensor. See this image for the general idea:

The “mechanically sensitive switch” in the photo is there you’d instead put the multisensor, and on the plunger/rod you’d put the magnet piece. Set it so that the correct water level leaves the contact closed, and then when the water level drops it opens the sensor.

This requires a little bit of tinkering to make the install correct physically, but it means you can run 100% factory default functionality on the ST software. You can even use the standard Smart Home Monitor alerts for the water level.

Or you could adapt the same style float as found in a toilet reservoir: an lever with a float on the end of it. When the float drops, the sensor magnet swings down and away from the sensor, opening it.

1 Like

A really nice thing about using the float style is that it works in ANY liquid. You’d just need to adapt the float and rod for the required buoyancy and chemical resistance. And because the sensors have a range in which the magnet can exist and still register as “closed” it will even tolerate some splashing/waves.

So weird, mine doesn’t stay on when dry.

they stay on when wet, they are off when dry.

Sorry I meant mine does not stay on wet or dry. I know because it’s been under my 65g fish tank for almost 2 years now, LED is not on as it sits in water 24/7 to alert me to fill the autofill tank when it goes dry. and I just replaced the original batteries about a month ago. And when it’s under the tree no constant LED wet or dry. This will be the third year using it with the tree. So the original batteries lasted over 2 years easily.

Oh and the LED did work when I changed batteries, Just flashed as it powered up.

Just weird, maybe a firmware change somewhere?

Dunno, mine are more like three years old, and are a mix of Peq and st.
Both light on activation. But yea probably a difference in firmware…

Mine is the utilitech, with the attached probe. Maybe that’s why.

Yea, I’m specifically talking about the CentraLite moisture sensor.

1 Like