Christmas Tree Water Monitor

Tis the season…

My first public submission is dedicated to keeping our Christmass tree well watered during the holidays this year. I’ve seen some nice implementations here using leak sensors to monitor the water level of a Christmas tree, but all seem to have focused on the SmartThings and other similar leak sensors. While those sensors will work, they burn through batteries due to lighting the LED when wet which prevents the device from sleeping.

Having some extra Utilitech Z-Wave leak detectors lying around I took a look at the documentation and learned these do not suffer from this problem. The device treats wet/dry conditions the same; after detecting water and beeping for 30 seconds, it will resume sleeping, checking in only at the set interval or when a state change (wet/dry) occurs. This behavior makes this a perfect sensor to use in this application.

I could have implemented all of this using CoRE, but I really wanted a simple app for this purpose. The Christmas Tree Water Monitor will monitor a single leak sensor and upon detecting a dry condition, will send a push notification alerting the tree has run dry. It can optionally turn the Christmas tree off, and also prevent it from being turned back on, until it has been watered again.

Christmas Tree Monitor

Being a stickler for details, I also made some GUI modifications to tosa68’s original DTH for the Utilitech leak sensor. My changes essentially invert the UI indicating a wet state as OK, and dry state as bad. This DTH is NOT required for the SmartApp to function.

Modified Utilitech DTH

In my implementation, I have the water sensor set to wake up and report in every 4 hours so I know it’s alive. Reporting of wet/dry changes is nearly instantaneous. After 4 days of the sensor being submerged in a glass of water, the battery level has not changed. I think I may have found a working combination.

I hope this can be of use to others this holiday season!


Leak detectors can definitely be useful for that purpose. Several community members have created Christmas tree apps with these in the past using different devices. If you look at the quick browse lists in the community – created wiki and check the projects list for holidays, you can see those. :snowman_with_snow:️:christmas_tree:

Oh, and since you’re just going to use it for a couple of weeks for the Christmas tree, you may not care about the following, but the Utilitech is a normally dry sensor, and you will run through the batteries really quickly when you use it to be normally wet.

For Something which is used year round like knowing if a pet bowl has run out of water, people generally prefer the aeon sensors because they can be configured as a normally wet sensor.

1 Like

Appreciate the feedback! The apps I found here didn’t work as I wanted them to. I wanted to be able to sent an alert, turn the tree off (both with a delay), and keep it off if it went dry.

So you know, the Everspring/Utiitech sensor should not run the batteries down any faster whether it’s in a persistent wet or dry state. Upon a wet detection, the device will send a SENSOR_ALARM_REPORT, then go back to sleep. It will not send another report until it detects a dry condition. For that reason the battery life should be similar, if not identical to using it as a normally-dry sensor.

Everspring Leak Detector Manual

1 Like

My Utiitech stays wet basically 24/7. Used as a low water sensor on my fish tank autofill tank(until Xmas for the tree). Battery life is just fine, easily over a year and think close to 2. No issues with LED staying on as an other user stated so it may depend on firmware or something.


I did this a few years ago. But now I am just using a Plantlink sensor, works great.


I followed your thread last week when I was researching existing implementations. Pretty nice work with the 3D printing. I wasn’t able to find a plantlink sensor cheap but that was my initial preference. How is it working out still?

This is awesome! I’ve been looking for something like this for a long time. I’m using it with a Utilitech water sensor and it works great. When the water is gone in the tree stand, I get a notification. When I refill it the sensor does beep, but only for 15 - 30 seconds, and then it’s quiet. Thanks for creating this!