Jump to content

Leak Sensors - A (Suggested) Complete Program Package


belias

Recommended Posts

This might be of interest to some. In my email notifications I was able to add:

 

Leak Detected on ${sys.date} at ${sys.time12}

 

${sys.node.XX XX XX 2.name}: ${sys.node.XX XX XX 2.ST}

 

${sys.node.YY YY YY 2.name}: ${sys.node.YY YY YY 2.ST}

 

${sys.node.ZZ ZZ ZZ 2.name}: ${sys.node.ZZ ZZ ZZ 2.ST}

 

This gives me the ISY date and time the leak was detected (first line) and the name and status of the WET signal from each of my 3 sensors (one sensor per line). ON means a wet condition was sensed and OFF means status quo.

 

XX XX XX is the device ID. The 2 after the device ID indicates the condition of the WET sensor. Use 1 or 3 if you want the status of the heartbeat or Dry sensor.

 

Noel

 

I tried this and I can get WET status (using a value of 2) or DRY status (using a value of 1).  I CANNOT get a HEARTBEAT status (I tried using a 3 but it doesn't return anything other than the node address in the notification).  Any ideas?

 

 

My notification has the following:

 

A Water Leak Detector has missed a daily heartbeat as of ${sys.date} at ${sys.time}
 
${sys.node.21 78 1F 1.name}: ${sys.node.21 78 1F 1.ST}
${sys.node.21 78 1F 2.name}: ${sys.node.21 78 1F 2.ST}
${sys.node.21 78 1F 3.name}: ${sys.node.21 78 1F 3.ST}
 
 
And the notification received is the following:
 
A Water Leak Detector has missed a daily heartbeat as of 2015/01/05 at 10:50:46
 
Leak 1 Washer-Dry: On
Leak 1 Washer-Wet: Off
node[21 78 1F 3]: node[21 78 1F 3]

 

I like the idea that I can have a single notification of all leak detectors and was hoping to get the Heartbeat status if one of them is missed by a single program.  I tried the DRY version for all nine of my leak detectors and can get the notification for all of them in one message.

 

Leak 1 Washer-Dry: On
Leak 2 Hot Water-Dry: On
Leak 3 HVAC Attic-Dry: On
Leak 4 Crawl-Dry: On
Leak 5 Master Bath-Dry: On
Leak 6 Kitchen-Dry: On
Leak 7 1st Bath-Dry: On
Leak 8 2nd Guest Bath-Dry: On
Leak 9 Garage-Dry: On
Link to comment

Thanks!  That did the trick.  Now without having a separate notification for each Leak Detector, I can see the status of all of them in one notification

 

A Water Leak Detector has missed a daily heartbeat as of ${sys.date} at ${sys.time}
 
${sys.node.21 78 1F 4.name}: ${sys.node.21 78 1F 4.ST}
${sys.node.21 77 33 4.name}: ${sys.node.21 77 33 4.ST}
${sys.node.25 B7 F9 4.name}: ${sys.node.25 B7 F9 4.ST}
${sys.node.25 B4 3 4.name}: ${sys.node.25 B4 3 4.ST}
${sys.node.25 B2 1C 4.name}: ${sys.node.25 B2 1C 4.ST}
${sys.node.25 B4 AA 4.name}: ${sys.node.25 B4 AA 4.ST}
${sys.node.23 33 54 4.name}: ${sys.node.23 33 54 4.ST}
${sys.node.23 32 88 4.name}: ${sys.node.23 32 88 4.ST}
${sys.node.28 6 A4 4.name}: ${sys.node.28 6 A4 4.ST}
 
 
Assuming I didn't run this manually, one of the nodes would be status OFF.
 
A Water Leak Detector has missed a daily heartbeat as of 2015/01/05 at 18:22:54
 
Leak 1 Washer-HB: On
Leak 2 Hot Water-HB: On
Leak 3 HVAC Attic-HB: On
Leak 4 Crawl-HB: On
Leak 5 Master Bath-HB: On
Leak 6 Kitchen-HB: On
Leak 7 1st Bath-HB: On
Leak 8 2nd Guest Bath-HB: On
Leak 9 Garage-HB: On
Link to comment

I checked out the thread on the new leak sensors, and it looks like the major change is that the new version does not update the node status when the sensor goes from wet to dry.  The issue (if I understand it correctly) is that this creates the situation where everything can look fine in the program (Status = 1; no emails) even though the sensor could be stuck in a Wet condition (and unable to report a new leak).

 

I took a look at the programs, and came up with the following thoughts on a modification.  I don't have the new version of the leak sensors, so it will be up to someone else to test and report back.  Open for suggestions on how to streamline this as well...

 

 

"Change Log"

1.  If a heartbeat signal is received and the sensor is reporting "wet", the status will remain at 9 (causing future emails to be sent)

2.  If a heartbeat signal is missed and the sensor is reporting "wet", the status will change to 2 (heartbeat missed; causing future emails)

3.  This preserves the functionality of the Variable Control 3 program (regardless of wet / dry) to ensure that Variable Control 2 is running correctly

4.  The modified program should work with old and/or new sensors

 

Program Modifications (untested)

 

1.  Variable Control 2 is split into 2 separate programs:

 

Variable Control 2a

If
(
Control 'Leak Sensors / Kitchen Sink-Heartbeat' is switched On
Or Control 'Leak Sensors / Kitchen Sink-Heartbeat' is switched Off
)
And Status 'Leak Sensors / Kitchen Sink-Wet' is not On

Then
$sLeakKitchenSink = 1
Wait 25 hours
$sLeakKitchenSink = 2

Else
- No Actions - (To add one, press 'Action')

Variable Control 2b

If
(
Control 'Leak Sensors / Kitchen Sink-Heartbeat' is switched On
Or Control 'Leak Sensors / Kitchen Sink-Heartbeat' is switched Off
)
And Status 'Leak Sensors / Kitchen Sink-Wet' is On

Then
Wait 25 hours
$sLeakKitchenSink = 2

Else
- No Actions - (To add one, press 'Action')

2. Modify Variable Control 3

If
(
$sLeakKitchenSink is 1
And Time is Last Run Time for 'KitchenSink - Variable Control 2a' + 26 hours
)
Or (
$sLeakKitchenSink is 9
And Time is Last Run Time for 'KitchenSink - Variable Control 2b' + 26 hours
)

Then
Wait 5 seconds
$sLeakKitchenSink = 3

Else
- No Actions - (To add one, press 'Action')

That's it...please report back any findings and I will update the original post if it works properly.

 

Thanks.

 

- Brian

 

Link to comment

Hi Brian, I have both the old (v.41) and new (v.43) leak sensors.  How do I go about testing all the functions (wet and heartbeat) of the new modified program?  Should I just place both old and new sensors in water? How long should I leave them there?  Etc...

Link to comment
  • 2 months later...

I am still using the original programs, Thank you again so much for them.  I received a problem notification and checked the battery on our powder room leak sensor and it was dead.  new battery, device restore and back in business.

Eric

Link to comment
  • 5 weeks later...
  • 1 month later...

Running the "modified" version of the program for about 3 months now without any major problems.  I do miss a heartbeat here or there, but that is perhaps an issue with the sensors sending their heartbeats a little late, rather than the program itself.  The heartbeats are resolved after a day or two.

Link to comment

Running the "modified" version of the program for about 3 months now without any major problems.  I do miss a heartbeat here or there, but that is perhaps an issue with the sensors sending their heartbeats a little late, rather than the program itself.  The heartbeats are resolved after a day or two.

That sounds more like bad communications. My two leak detectors have never missed a beat in about a year now.
Link to comment

That sounds more like bad communications. My two leak detectors have never missed a beat in about a year now.

 

Agreed... One of my leak sensors which was at the extreme end of my house where I don't have any Insteon devices worked for nearly a year and then started to miss heartbeats once in a while.  A couple weeks ago it started missing every heartbeat.  I moved it closer to some other devices and it worked fine.  I had a dual band switchlinc sitting around that I hadn't installed so I put it in on a porch light very near the leak sensor location.  The leak sensor hasn't missed a heartbeat since.

Link to comment

Agreed... One of my leak sensors which was at the extreme end of my house where I don't have any Insteon devices worked for nearly a year and then started to miss heartbeats once in a while.  A couple weeks ago it started missing every heartbeat.  I moved it closer to some other devices and it worked fine.  I had a dual band switchlinc sitting around that I hadn't installed so I put it in on a porch light very near the leak sensor location.  The leak sensor hasn't missed a heartbeat since.

 

I would encourage you to measure the voltage on the battery with in the LS. If the LS was fully operational in that location for an entire year and now its not able to transmit its heart beat to be seen over the Insteon network. Its possible the battery voltage is low and placing a dual band device is simply acting as a band aid in hiding that fact.

Link to comment

I would encourage you to measure the voltage on the battery with in the LS. If the LS was fully operational in that location for an entire year and now its not able to transmit its heart beat to be seen over the Insteon network. Its possible the battery voltage is low and placing a dual band device is simply acting as a band aid in hiding that fact.

I think the LS I have is sealed, I don't recall seeing a way to open it up.  Also, if it is low I'll know if it becomes time to change the battery when I lose communication with it.  I don't see a need to replace a battery if it is still working...

-Tom

Link to comment

tome

 

The Leak Sensor is not sealed. Flip it over and look for a slot along the outer edge of the bottom section. A Leak Sensor battery is expected to last 10 years so it is not likely to need a new battery. If you do take it apart be sure the top, which holds the battery in place, is correctly positioned relative to battery location.

Link to comment

I think the LS I have is sealed, I don't recall seeing a way to open it up.  Also, if it is low I'll know if it becomes time to change the battery when I lose communication with it.  I don't see a need to replace a battery if it is still working...

-Tom

 

The unit is supposed to have a 10 year service life which is based on so many XXX activation's / interactions. A few people have already commented they had to replace the battery well before the 10 year threshold.

 

I wouldn't count on the battery being 100% given how most makers use the lowest quality (read cheap) in their products. 

Link to comment
  • 1 month later...

Greetings!

 

I'm having problems with the "Leak Sensor Activation" program, it doesn't change its state (from false to true) once any variable changes from 1 to 9 but if I manually run the "If part" after a variable is changed to 9 by any "Variable Control 1" program, it changes its states and I receive the email.

 

The same occurs if its state is true and I clear the water leak (Variable back to 1 and the program condition is still showing true).

 

Anyone having the same issue? I'm forcing it to run by inserting the instruction in then and else from the "Variable Control 1" programs. Otherway, I wouldn't be receiving instant emails.

 

Thanks!

Link to comment

Hi Michel, Thanks!

 

No, I have all variables as Int, I already read about the differences and I guess that was the problem...

 

Still learning about ISY heheh, it was a rookie mistake.

 

If anyone is interested in making it work with integer variables:

 

Variable Control 1:

BS_VC1 - [ID 001D][Parent 000B]

If
        Status  'Fuga de Agua / B S-Wet' is On
 
Then
        $sLeakBS  = 9
        Wait  5 seconds
        Run Program 'Leak Sensor Activation' (If)
 
Else
        Wait  10 seconds
        $sLeakBS  = 1
        Run Program 'Leak Sensor Activation' (If)
 

Also, I added instructions on the Startup program to run the if part of the Variable Control 1 programs after the 5 seconds wait. While testing, I found out that the states weren't updated if a leak sensor was triggered or untriggered while the ISY was down. But the sensor state shows correctly.

Leak Startup - [ID 0012][Parent 000B][Run At Startup]

If
        $iStartUp is 0
 
Then
        Run Program 'BC2_VC2' (Then Path)
        Run Program 'BC3_VC2' (Then Path)
        Run Program 'BCP_VC2' (Then Path)
        Run Program 'BL_VC2' (Then Path)
        Run Program 'BS_VC2' (Then Path)
        Run Program 'Cocina_VC2' (Then Path)
        Run Program 'Lavadero_VC2' (Then Path)
        Run Program 'Vestier_VC2' (Then Path)
        Wait  5 seconds
        $iStartUp  = 1
        Run Program 'BC2_VC1' (If)
        Run Program 'BC3_VC1' (If)
        Run Program 'BCP_VC1' (If)
        Run Program 'BL_VC1' (If)
        Run Program 'BS_VC1' (If)
        Run Program 'Cocina_VC1' (If)
        Run Program 'Lavadero_VC1' (If)
        Run Program 'Vestier_VC1' (If)
 
Else
   - No Actions - (To add one, press 'Action')
 

Link to comment
  • 4 weeks later...

I checked out the thread on the new leak sensors, and it looks like the major change is that the new version does not update the node status when the sensor goes from wet to dry.  The issue (if I understand it correctly) is that this creates the situation where everything can look fine in the program (Status = 1; no emails) even though the sensor could be stuck in a Wet condition (and unable to report a new leak).

 

I took a look at the programs, and came up with the following thoughts on a modification.  I don't have the new version of the leak sensors, so it will be up to someone else to test and report back.  Open for suggestions on how to streamline this as well...

 

 

"Change Log"

1.  If a heartbeat signal is received and the sensor is reporting "wet", the status will remain at 9 (causing future emails to be sent)

2.  If a heartbeat signal is missed and the sensor is reporting "wet", the status will change to 2 (heartbeat missed; causing future emails)

3.  This preserves the functionality of the Variable Control 3 program (regardless of wet / dry) to ensure that Variable Control 2 is running correctly

4.  The modified program should work with old and/or new sensors

 

Program Modifications (untested)

 

1.  Variable Control 2 is split into 2 separate programs:

 

Variable Control 2a

If
(
Control 'Leak Sensors / Kitchen Sink-Heartbeat' is switched On
Or Control 'Leak Sensors / Kitchen Sink-Heartbeat' is switched Off
)
And Status 'Leak Sensors / Kitchen Sink-Wet' is not On

Then
$sLeakKitchenSink = 1
Wait 25 hours
$sLeakKitchenSink = 2

Else
- No Actions - (To add one, press 'Action')

Variable Control 2b

If
(
Control 'Leak Sensors / Kitchen Sink-Heartbeat' is switched On
Or Control 'Leak Sensors / Kitchen Sink-Heartbeat' is switched Off
)
And Status 'Leak Sensors / Kitchen Sink-Wet' is On

Then
Wait 25 hours
$sLeakKitchenSink = 2

Else
- No Actions - (To add one, press 'Action')

2. Modify Variable Control 3

If
(
$sLeakKitchenSink is 1
And Time is Last Run Time for 'KitchenSink - Variable Control 2a' + 26 hours
)
Or (
$sLeakKitchenSink is 9
And Time is Last Run Time for 'KitchenSink - Variable Control 2b' + 26 hours
)

Then
Wait 5 seconds
$sLeakKitchenSink = 3

Else
- No Actions - (To add one, press 'Action')

That's it...please report back any findings and I will update the original post if it works properly.

 

Thanks.

 

- Brian

 

Thanks Brian for the hard work on this.  I'm assuming that testing did not go well, as I did not see this bit on the Original Post?

Link to comment
  • 4 weeks later...

I have set up the programs for a new Leak Sensor and I am having some problems. I keep receiving the notification that my sensor is missing the heartbeat (#2)! I am guessing that it may be a communications issue, however I am unsure as to how to debug this! 

 

The Leak Sensor - Dry shows as ON; the Leak Sensor - Wet shows as OFF; and the Leak Sensor - Heartbeat shows as ON. If I move the Leak Sensor close to say the PLM to ensure proper communications is there a procedure to test the unit? I tried getting it wet without success! I tried pressing the set button with no apparent change! I am somewhat confused by this little device!

Link to comment

I have set up the programs for a new Leak Sensor and I am having some problems. I keep receiving the notification that my sensor is missing the heartbeat (#2)! I am guessing that it may be a communications issue, however I am unsure as to how to debug this! 

 

The Leak Sensor - Dry shows as ON; the Leak Sensor - Wet shows as OFF; and the Leak Sensor - Heartbeat shows as ON. If I move the Leak Sensor close to say the PLM to ensure proper communications is there a procedure to test the unit? I tried getting it wet without success! I tried pressing the set button with no apparent change! I am somewhat confused by this little device!

 

A simple test is place the Leak Sensor close to any dual band device in your home and wait for the program to confirm the heartbeat is received. Since the Leak Sensor (firmware) has evolved so many times in the last 16 months it depends what hardware / firmware your sensor is using that will determine what you will see.

 

Older units would flash the LED quickly when placed in water and the only method to determine a wet / dry condition was using the above program. Later firmware caused the sensor when placed in a wet condition would turn on the wet node.

 

Upon the sensor becoming dry the reverse would happen . . .

 

The most recent firmware requires the user to physically to tap the set button to reverse the wet node. This version also flashes the LED at 15-20 second intervals to indicate a wet condition exists.

 

There are however short runs of hardware / firmware where the ISY will show the exact same firmware but the above behavior is not seen but reflects previous firmware releases.

 

Speaking in a general sense most of the Leak Sensors when pressed with in 10-30 seconds of activation would cause a heart beat message to be seen. If you activate the Lever 3 log reporting you should be able to determine what data is being sent and received by the device you have on hand.

 

But my guess is you're too far from a dual band device to receive the signals. 

Link to comment

GMD99

 

As Teken has described the Heartbeat message pattern varies by device hardware/firmware.   There is usually a method to force a Heartbeat message but that DOES NOT verify the device will send a Heartbeat at the 24 hour mark.   Locate the Leak Sensor near the PLM for 24+ hours.   May not take that long but it could take 24 hours to receive the timed Heartbeat message.  Be sure your Program is testing for both Heartbeat On and Heartbeat Off.

 

This test Program will issue an X10 message if the Heartbeat is not received.   Most users prefer to have a Notify if the Heartbeat is not received.  Once it is confirmed the Heartbeat is being sent and the required link records exist in the Leak Sensor and PLM it can be moved to the desired location to see if Heartbeat is received from the new location.

 

HeartBeat - [iD 0044][Parent 0001]
 
If
        Control 'Leak Sensor-Heartbeat' is switched On
     Or Control 'Leak Sensor-Heartbeat' is switched Off
 
Then
        Wait  25 hours 
        Send X10 'A10/All Lights On (5)'
 
Else
   - No Actions - (To add one, press 'Action')
 
The fact that the Heartbeat node has Status means the device sent a Heartbeat message after the Leak Sensor was added to the ISY as the Status is null until some Heartbeat is received.   Looking at the Heartbeat Current State field is not useful as some Leak Sensors send only one type command for the Heartbeat message.   The Event Trace will show the Heartbeat message but the trace has to run the full 24 hours and you need to be familiar with Insteon traffic.  Although it takes 24 hours the test Program is the easiest way to know if Heartbeat is received.
Link to comment

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...