INSTEON Water Leak Sensor

Posted on
Fri Jun 12, 2015 10:21 am
MattDinOC offline
Posts: 38
Joined: May 30, 2013

Re: INSTEON Water Leak Sensor sending way too many heartbeat

I just got 3 of these sensors, and I'm thinking I need to get a couple more when there's another sale. :)

Unklmarty wrote:
I have 3 Insteon water sensors and each of them send me 20+ heartbeats each day. I replaced the batteries yesterday and today 2 of them sent me, via email (as per trigger settings) 23 heartbeats each. The other one sent me 2 heartbeats. This multiple emails happens almost every day. Help it's driving me crazy. I really need the WS since I am in a high water table area and water sometimes seeps up along the basement floor and outside walls. Last time I got water, the devices did send me multipule alerts as expected. How to I control; the heartbeat problem?
Marty

I set up a timer for each one as suggested on the wiki support page:
There are several ways that Indigo can monitor the heartbeat. For instance, you could have a trigger fire that restarts a Timer device that has a run time for 50 hours (a bit over 2 days). Then create a trigger that fires when the timer expires that will notify you (via email, growl, or whatever) when the heartbeat has been missed.

This makes the most sense to me. Ignoring the heartbeat completely means having a false sense of security... And I don't really want to replace batteries every 6 months on a device that should last for years. It's easy to test your triggers (especially if you have multiple leak sensors) by simply disabling one of the "Heartbeat Detected" triggers -- the one that resets the timer. After a couple days of it being disabled, I expect to get a text message telling me to change its battery. :)

Posted on
Fri Jun 12, 2015 10:41 am
MattDinOC offline
Posts: 38
Joined: May 30, 2013

Re: INSTEON Water Leak Sensor

dduff617 wrote:
documentation and experiments indicate that when water is sensed, group 2 will be sent from the device and will cause the indigo device state to become ON.

is it the case that when the device dries out, group 1 will be sent? and will this switch the indigo device state back to OFF or does the indigo state latch to ON state until turned off "manually"?


The device does not send a Group 1 "On" (sensor dry) automatically. You need to tap the button on the sensor device in order to reset it. That causes it to send the Group 1 "On" (sensor dry) command, which then causes the device state to switch to "off" in Indigo.

Testing this functionality in place where you're installing the sensor (or close by anyway) is critical in my opinion. Test plan:

  1. Place sensor at or near its installation site.
  2. Trigger the sensor by creating a small puddle and placing the sensor in it. This should trigger an alert. Device state in Indigo should switch from off to on.
  3. Dry off the sensor. Wait a few minutes for the circuitry to settle down, as it will send out several Group 2 "On" (leak detected) commands when a leak is detected. Observe that the device state is still on.
  4. Tap the button on the sensor. Observe that the device state is now off.
  5. Repeat steps 2-4 if needed.
  6. Install sensor in final location.

This is another reason why it is important to set up Indigo to monitor the heartbeat signal. If your final installation location is a dead zone for RF signaling, you would never get any "leak detected" alerts ever! You would never know that you're in a dead zone unless you were watching for the heartbeat.

Posted on
Fri Jun 26, 2015 8:43 pm
russg offline
Posts: 46
Joined: Oct 02, 2014

Re: INSTEON Water Leak Sensor heartbeats - beginner questio

Hey Folks,
I have a large number of leak sensors (14 and growing) and I need to figure out how to tell if the batteries are still good and if they are in range (heartbeats). The timeouts idea is great for a couple of sensors, but for a large number, it gets unwieldy fast.

I can iterate though all of the indigo devices and select only the leak sensors in python, so if there was a way to determine from python any issues, all sensors could be monitored from a single script. I do this for detecting which leak sensor changes state when there is a state change; all I have to do to add a new sensor is to create a new device. I'm trying to do that with heartbeats.

I don't know enough about Indigo to tell, but:

1. I noticed the device screen shows the 'last update' for each device. Is there a way to read this and just look for a time lapse of a few days to indicate a battery has died?

2. Is there a way to send a status request to the leak sensors and detect no response?

3. Any other ideas on how to manage this from a single code source?

Thanks! -russg

Here's how I check the sensor state (from a prior post):

# Loop through sensors and set alert levels & location
vLoc = ""
for dev in indigo.devices:
if dev.model.find("Leak Sensor") > -1:
if dev.name.find("Leak") >-1:
indigo.server.log("checking: " + dev.name )
if dev.onState:
indigo.server.log(" ... is ON")
vLoc = vLoc + dev.name
else:
indigo.server.log(" ... is off")

indigo.server.log("Leak Locations: " + vLoc)

Posted on
Sat Jul 18, 2015 4:05 pm
MattDinOC offline
Posts: 38
Joined: May 30, 2013

Re: INSTEON Water Leak Sensor heartbeats - beginner questio

russg wrote:
1. I noticed the device screen shows the 'last update' for each device. Is there a way to read this and just look for a time lapse of a few days to indicate a battery has died?

My leak sensors show a "last update" timestamp that is several weeks old. I'm guessing that's when they were added to Indigo, or last firmware update, or something... It's definitely not the last time it sent a heartbeat, unfortunately.

russg wrote:
2. Is there a way to send a status request to the leak sensors and detect no response?

My understanding is that the leak sensors do not respond to any Insteon commands.

russg wrote:
3. Any other ideas on how to manage this from a single code source?

You could enable the SQL Logger and scrub the database for heartbeats received. You would need to enable "Event Log history" though since the leak sensor heartbeat commands don't get saved to the SQL for some reason.

Posted on
Sat Jul 18, 2015 4:47 pm
MattDinOC offline
Posts: 38
Joined: May 30, 2013

Detecting dead batteries

After having these leak sensors in my system for a few weeks, I've decided to use a different method to detect dead battery situations.

Initially, I was using a countdown timer for each sensor, but didn't like the fact that the timer was set to a fixed start value. Also, if I set it to 50 hours, that will alert me if I miss 2 heartbeats in a row, but it might send that text (email) alert at an inconvenient time. I also won't know if Indigo received a heartbeat on that 3rd day (just 2 missed commands) or not (dead battery). So, my new approach, using my kitchen sink leak sensor as an example:

For each leak sensor in your system:
  1. Create a Variable missedHBKitchenSink with an initial value of 0. This is a counter to see how many heartbeats have been missed. Check the "Remote Display" box.
  2. Create a Trigger Heartbeat Detected - kitchen sink that fires whenever a heartbeat command is received from the kitchen sink leak sensor. The action performed is to set the counter variable missedHBKitchenSink to 0.
Then create two schedules, regardless of how many leak sensors you have:
  1. Create a Schedule check for heartbeat that runs daily. Mine is set to run after dinner when I'm usually home to check the counter values and change a battery if needed. Condition is "If conditions match rules: Any of the following rules are true: if variable missedHBKitchenSink is greater than value 1" (include all of your leak sensors in this list). Action is to send email to my text message email gateway with subject "Leak Sensor - missed heartbeat".
  2. Create a Schedule increment counters that runs daily. Mine is set to run at 11:50 PM. Quite simply, it increments every leak sensor counter. Sensors that are healthy will have a count of 0, so it increments them to 1. If a heartbeat is not received before dinnertime the next day, the value will still be 1 when the check for heartbeat schedule runs. If the counter is already at 1, it gets bumped up to 2, and the check for heartbeat schedule will notify me the next day if a heartbeat is not detected by then.
When I receive a "Leak Sensor - missed heartbeat" text message, I know that 2 heartbeats have been missed for at least one of my leak sensors. Then I can check the counter values via the variables tab on Indigo Touch to see which sensor(s), and how many heartbeats have been missed. A nice side benefit of this system is that Indigo will bug me every day until I change that battery, because the counter for the dead one will just keep ticking up every day. ;)

Posted on
Sun Nov 08, 2015 11:21 pm
Perry The Cynic offline
Posts: 836
Joined: Apr 07, 2008

Re: INSTEON Water Leak Sensor

Why does this device not update its last-modified time when it receives a heartbeat? If it did, we could just periodically check for "last-modified time too far out," without the need to actively monitor the group 3 heartbeat for each device ourselves.

Cheers
-- perry

Posted on
Mon Nov 09, 2015 6:46 am
matt (support) offline
Site Admin
User avatar
Posts: 21411
Joined: Jan 27, 2003
Location: Texas

Re: INSTEON Water Leak Sensor

Agreed it should. We'll look into add that.

Image

Posted on
Sat Jan 09, 2016 9:42 am
greenbergm0625 offline
Posts: 22
Joined: Jan 04, 2016

Re: INSTEON Water Leak Sensor

I just installed one of these sensors and when it detects water I get an "on" event with "leak detected" in the event log, and then another every 15 seconds or so until I press the button.

When I press the button I get another "on" event, but this time it reads "sensor dry".

I dont get any group events like I have read in this thread, or anything else.

I can trigger an alert on a device state change but does anyone know why it sends two different events, each with an "on" state ?

Posted on
Sat Jan 09, 2016 10:55 am
matt (support) offline
Site Admin
User avatar
Posts: 21411
Joined: Jan 27, 2003
Location: Texas

Re: INSTEON Water Leak Sensor

Instead of trigger on type Device State Changed, select the INSTEON Command Received type. Once you select the device you will see the possible commands Indigo can catch for that module.

Image

Posted on
Sat Jan 09, 2016 12:37 pm
greenbergm0625 offline
Posts: 22
Joined: Jan 04, 2016

Re: INSTEON Water Leak Sensor

Thanks Matt -

That's not documented anywhere except here.

I can now trap the heartbeats and take action if none are rec'd (like a dead battery). You can do the same with the wireless door sensors, which I have one of also.

Posted on
Sun Jan 10, 2016 9:34 am
greenbergm0625 offline
Posts: 22
Joined: Jan 04, 2016

Re: INSTEON Water Leak Sensor

Matt -

Do you know how often these devices send heartbeats ? looks like once a day or maybe once in 30 hours ?

Thanks

Posted on
Sun Jan 10, 2016 11:57 am
matt (support) offline
Site Admin
User avatar
Posts: 21411
Joined: Jan 27, 2003
Location: Texas

Re: INSTEON Water Leak Sensor

I'm not sure the specific duration, but I do think it is about once a day.

Image

Posted on
Tue Jan 26, 2016 9:38 pm
xgeek offline
Posts: 7
Joined: Feb 28, 2009

Re: INSTEON Water Leak Sensor

Got my leak sensors working with an e-mail sent for leaks detected, heartbeats checked for dead batteries etc. Thanks for all the help in this topic. Got issues though (don't we all). When my leak sensors detect water they fire off the group 1 message over and over in a fairly rapid succession, perhaps once per second until I move the sensor out of the water. At first this was causing an e-mail to be sent at about the same rate. LOL. I fixed that with an "email_sent" variable that gets set to true and a schedule that resets it back to false every 20 min. Now I will at most get an email every 20 min for sensors that are still wet. What I don't know how to fix is my event log being plastered with: Received INSTEON "Leak Sensor 1" on (leak detected) messages. Suggestions would be appreciated.

Posted on
Wed Jan 27, 2016 10:56 am
matt (support) offline
Site Admin
User avatar
Posts: 21411
Joined: Jan 27, 2003
Location: Texas

Re: INSTEON Water Leak Sensor

The behavior of sending the multiple messages is a "feature" of the leak sensor:

viewtopic.php?start=30&t=8926&f=7#p61569

There isn't a way not to log those messages in Indigo. Excessive INSTEON messages can cause commands to fail (network congestion/collisions), so it is often useful to have repeated traffic like this logged to help troubleshoot those failures/collisions.

Image

Posted on
Wed Jan 27, 2016 12:28 pm
xgeek offline
Posts: 7
Joined: Feb 28, 2009

Re: INSTEON Water Leak Sensor

matt (support) wrote:
The behavior of sending the multiple messages is a "feature" of the leak sensor:

viewtopic.php?start=30&t=8926&f=7#p61569

There isn't a way not to log those messages in Indigo. Excessive INSTEON messages can cause commands to fail (network congestion/collisions), so it is often useful to have repeated traffic like this logged to help troubleshoot those failures/collisions.


OK, I see. So, since I already disable the email sending for 20 minutes at a time while the sensor is detecting water, I was thinking of not doing that and just disable the sensor itself for 20 minutes. I would then re-enable it, get the email, and disable again if still wet. Is there any issue with regular disable/enable actions on a device? For instance, if re-enabling it after it was disabled was not "rock solid", I could be worse off than the large traffic load of the wet device and its event log entries.
Thoughts?

Who is online

Users browsing this forum: No registered users and 1 guest