Water slow leak detection script.
Posted: Sun Dec 03, 2017 9:43 am
Any idea where I would begin on this script? Monitoring for consistent flow is a strategy used by automated water meters to automatically shut off water control valves in the case of a leak, and I use this script for my whole house/pool and sprinkler meters. It has successfully picked up leaks in the past. The data gets into Indigo via Phidget sensors, and each hour the usage is logged in its own variable. The script talks to Indigo every hour.
The script looks at the the most recent 7 hour variables. Here's the hourly log output:
If water flow is detected for 7 consecutive hours it will set a variable to "true" that will then execute a trigger to send an email stating "water flow detected for 7 consecutive hours. Check to be sure there is not a slow leak."
I know it is really simple and inelegant, but it works. Any advice?
The script looks at the the most recent 7 hour variables. Here's the hourly log output:
- Code: Select all
Dec 3, 2017, 10:05:06 AM
Script Total Water Leak for last hour is 64
Script Water Slow Leak register contains 0 in at least one period in seven hours. 0, 0, 0, 0, 0, 42, 64
If water flow is detected for 7 consecutive hours it will set a variable to "true" that will then execute a trigger to send an email stating "water flow detected for 7 consecutive hours. Check to be sure there is not a slow leak."
I know it is really simple and inelegant, but it works. Any advice?
- Code: Select all
using terms from application "IndigoServer"
tell application "IndigoServer"
set WLeakTime_01 to value of variable "WLeakTime_01"
set WLeakTime_02 to value of variable "WLeakTime_02"
set WLeakTime_03 to value of variable "WLeakTime_03"
set WLeakTime_04 to value of variable "WLeakTime_04"
set WLeakTime_05 to value of variable "WLeakTime_05"
set WLeakTime_06 to value of variable "WLeakTime_06"
set WLeakTime_07 to value of variable "WLeakTime_07"
set WLeakTime_08 to value of variable "WLeakTime_08"
set WLeakTime_09 to value of variable "WLeakTime_09"
set WLeakTime_10 to value of variable "WLeakTime_10"
set WLeakTime_11 to value of variable "WLeakTime_11"
set WLeakTime_12 to value of variable "WLeakTime_12"
set WLeakTime_13 to value of variable "WLeakTime_13"
set WLeakTime_14 to value of variable "WLeakTime_14"
set WLeakTime_15 to value of variable "WLeakTime_15"
set WLeakTime_16 to value of variable "WLeakTime_16"
set WLeakTime_17 to value of variable "WLeakTime_17"
set WLeakTime_18 to value of variable "WLeakTime_18"
set WLeakTime_19 to value of variable "WLeakTime_19"
set WLeakTime_20 to value of variable "WLeakTime_20"
set WLeakTime_21 to value of variable "WLeakTime_21"
set WLeakTime_22 to value of variable "WLeakTime_22"
set WLeakTime_23 to value of variable "WLeakTime_23"
set WLeakTime_24 to value of variable "WLeakTime_24"
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_01" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_01 to value of variable "WLeakTime_01"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_01" as string
if ((((WLeakTime_20) as integer) is equal to 0) or (((WLeakTime_21) as integer) is equal to 0) or (((WLeakTime_22) as integer) is equal to 0) or (((WLeakTime_23) as integer) is equal to 0) or (((WLeakTime_24) as integer) is equal to 0) or (((WLeakTime_01) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_20 & ", " & WLeakTime_21 & ", " & WLeakTime_22 & ", " & WLeakTime_23 & ", " & WLeakTime_24 & ", " & WLeakTime_01
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_20 & ", " & WLeakTime_21 & ", " & WLeakTime_22 & ", " & WLeakTime_23 & ", " & WLeakTime_24 & ", " & WLeakTime_01
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_02" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_02 to value of variable "WLeakTime_02"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_02" as string
if ((((WLeakTime_21) as integer) is equal to 0) or (((WLeakTime_22) as integer) is equal to 0) or (((WLeakTime_23) as integer) is equal to 0) or (((WLeakTime_24) as integer) is equal to 0) or (((WLeakTime_01) as integer) is equal to 0) or (((WLeakTime_02) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_21 & ", " & WLeakTime_22 & ", " & WLeakTime_23 & ", " & WLeakTime_24 & ", " & WLeakTime_01 & ", " & WLeakTime_02
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_21 & ", " & WLeakTime_22 & ", " & WLeakTime_23 & ", " & WLeakTime_24 & ", " & WLeakTime_01 & ", " & WLeakTime_02
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_03" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_03 to value of variable "WLeakTime_03"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_03" as string
if ((((WLeakTime_22) as integer) is equal to 0) or (((WLeakTime_23) as integer) is equal to 0) or (((WLeakTime_24) as integer) is equal to 0) or (((WLeakTime_01) as integer) is equal to 0) or (((WLeakTime_02) as integer) is equal to 0) or (((WLeakTime_03) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_22 & ", " & WLeakTime_23 & ", " & WLeakTime_24 & ", " & WLeakTime_01 & ", " & WLeakTime_02 & ", " & WLeakTime_03
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_22 & ", " & WLeakTime_23 & ", " & WLeakTime_24 & ", " & WLeakTime_01 & ", " & WLeakTime_02 & ", " & WLeakTime_03
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_04" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_04 to value of variable "WLeakTime_04"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_04" as string
if ((((WLeakTime_23) as integer) is equal to 0) or (((WLeakTime_24) as integer) is equal to 0) or (((WLeakTime_01) as integer) is equal to 0) or (((WLeakTime_02) as integer) is equal to 0) or (((WLeakTime_03) as integer) is equal to 0) or (((WLeakTime_04) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_23 & ", " & WLeakTime_24 & ", " & WLeakTime_01 & ", " & WLeakTime_02 & ", " & WLeakTime_03 & ", " & WLeakTime_04
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_23 & ", " & WLeakTime_24 & ", " & WLeakTime_01 & ", " & WLeakTime_02 & ", " & WLeakTime_03 & ", " & WLeakTime_04
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_05" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_05 to value of variable "WLeakTime_05"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_05" as string
if ((((WLeakTime_24) as integer) is equal to 0) or (((WLeakTime_01) as integer) is equal to 0) or (((WLeakTime_02) as integer) is equal to 0) or (((WLeakTime_03) as integer) is equal to 0) or (((WLeakTime_04) as integer) is equal to 0) or (((WLeakTime_05) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_24 & ", " & WLeakTime_01 & ", " & WLeakTime_02 & ", " & WLeakTime_03 & ", " & WLeakTime_04 & ", " & WLeakTime_05
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_24 & ", " & WLeakTime_01 & ", " & WLeakTime_02 & ", " & WLeakTime_03 & ", " & WLeakTime_04 & ", " & WLeakTime_05
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_06" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_06 to value of variable "WLeakTime_06"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_06" as string
if ((((WLeakTime_01) as integer) is equal to 0) or (((WLeakTime_02) as integer) is equal to 0) or (((WLeakTime_03) as integer) is equal to 0) or (((WLeakTime_04) as integer) is equal to 0) or (((WLeakTime_05) as integer) is equal to 0) or (((WLeakTime_06) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_01 & ", " & WLeakTime_02 & ", " & WLeakTime_03 & ", " & WLeakTime_04 & ", " & WLeakTime_05 & ", " & WLeakTime_06
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_01 & ", " & WLeakTime_02 & ", " & WLeakTime_03 & ", " & WLeakTime_04 & ", " & WLeakTime_05 & ", " & WLeakTime_06
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_07" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_07 to value of variable "WLeakTime_07"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_07" as string
if ((((WLeakTime_02) as integer) is equal to 0) or (((WLeakTime_03) as integer) is equal to 0) or (((WLeakTime_04) as integer) is equal to 0) or (((WLeakTime_05) as integer) is equal to 0) or (((WLeakTime_06) as integer) is equal to 0) or (((WLeakTime_07) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_02 & ", " & WLeakTime_03 & ", " & WLeakTime_04 & ", " & WLeakTime_05 & ", " & WLeakTime_06 & ", " & WLeakTime_07
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_02 & ", " & WLeakTime_03 & ", " & WLeakTime_04 & ", " & WLeakTime_05 & ", " & WLeakTime_06 & ", " & WLeakTime_07
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_08" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_08 to value of variable "WLeakTime_08"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_08" as string
if ((((WLeakTime_03) as integer) is equal to 0) or (((WLeakTime_04) as integer) is equal to 0) or (((WLeakTime_05) as integer) is equal to 0) or (((WLeakTime_06) as integer) is equal to 0) or (((WLeakTime_07) as integer) is equal to 0) or (((WLeakTime_08) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_03 & ", " & WLeakTime_04 & ", " & WLeakTime_05 & ", " & WLeakTime_06 & ", " & WLeakTime_07 & ", " & WLeakTime_08
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_03 & ", " & WLeakTime_04 & ", " & WLeakTime_05 & ", " & WLeakTime_06 & ", " & WLeakTime_07 & ", " & WLeakTime_08
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_09" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_09 to value of variable "WLeakTime_09"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_09" as string
if ((((WLeakTime_04) as integer) is equal to 0) or (((WLeakTime_05) as integer) is equal to 0) or (((WLeakTime_06) as integer) is equal to 0) or (((WLeakTime_07) as integer) is equal to 0) or (((WLeakTime_08) as integer) is equal to 0) or (((WLeakTime_07) as integer) is equal to 0) or (((WLeakTime_08) as integer) is equal to 0) or (((WLeakTime_09) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_04 & ", " & WLeakTime_05 & ", " & WLeakTime_06 & ", " & WLeakTime_07 & ", " & WLeakTime_08 & ", " & WLeakTime_09
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_04 & ", " & WLeakTime_05 & ", " & WLeakTime_06 & ", " & WLeakTime_07 & ", " & WLeakTime_08 & ", " & WLeakTime_09
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_10" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_10 to value of variable "WLeakTime_10"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_10" as string
if ((((WLeakTime_05) as integer) is equal to 0) or (((WLeakTime_06) as integer) is equal to 0) or (((WLeakTime_07) as integer) is equal to 0) or (((WLeakTime_08) as integer) is equal to 0) or (((WLeakTime_09) as integer) is equal to 0) or (((WLeakTime_10) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_04 & ", " & WLeakTime_05 & ", " & WLeakTime_06 & ", " & WLeakTime_07 & ", " & WLeakTime_08 & ", " & WLeakTime_09 & ", " & WLeakTime_10
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_04 & ", " & WLeakTime_05 & ", " & WLeakTime_06 & ", " & WLeakTime_07 & ", " & WLeakTime_08 & ", " & WLeakTime_09 & ", " & WLeakTime_10
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_11" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_11 to value of variable "WLeakTime_11"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_11" as string
if ((((WLeakTime_05) as integer) is equal to 0) or (((WLeakTime_06) as integer) is equal to 0) or (((WLeakTime_07) as integer) is equal to 0) or (((WLeakTime_08) as integer) is equal to 0) or (((WLeakTime_09) as integer) is equal to 0) or (((WLeakTime_10) as integer) is equal to 0) or (((WLeakTime_11) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_05 & ", " & WLeakTime_06 & ", " & WLeakTime_07 & ", " & WLeakTime_08 & ", " & WLeakTime_09 & ", " & WLeakTime_10 & ", " & WLeakTime_11
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_05 & ", " & WLeakTime_06 & ", " & WLeakTime_07 & ", " & WLeakTime_08 & ", " & WLeakTime_09 & ", " & WLeakTime_10 & ", " & WLeakTime_11
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_12" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_12 to value of variable "WLeakTime_12"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_12" as string
if ((((WLeakTime_06) as integer) is equal to 0) or (((WLeakTime_07) as integer) is equal to 0) or (((WLeakTime_08) as integer) is equal to 0) or (((WLeakTime_09) as integer) is equal to 0) or (((WLeakTime_10) as integer) is equal to 0) or (((WLeakTime_11) as integer) is equal to 0) or (((WLeakTime_12) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_06 & ", " & WLeakTime_07 & ", " & WLeakTime_08 & ", " & WLeakTime_09 & ", " & WLeakTime_10 & ", " & WLeakTime_11 & ", " & WLeakTime_12
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_07 & ", " & WLeakTime_08 & ", " & WLeakTime_09 & ", " & WLeakTime_10 & ", " & WLeakTime_11 & ", " & WLeakTime_12
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_13" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_13 to value of variable "WLeakTime_13"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_13" as string
if ((((WLeakTime_06) as integer) is equal to 0) or (((WLeakTime_07) as integer) is equal to 0) or (((WLeakTime_08) as integer) is equal to 0) or (((WLeakTime_09) as integer) is equal to 0) or (((WLeakTime_10) as integer) is equal to 0) or (((WLeakTime_11) as integer) is equal to 0) or (((WLeakTime_12) as integer) is equal to 0) or (((WLeakTime_13) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in eight hours. " & WLeakTime_06 & ", " & WLeakTime_07 & ", " & WLeakTime_08 & ", " & WLeakTime_09 & ", " & WLeakTime_10 & ", " & WLeakTime_11 & ", " & WLeakTime_12 & ", " & WLeakTime_13
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_06 & ", " & WLeakTime_07 & ", " & WLeakTime_08 & ", " & WLeakTime_09 & ", " & WLeakTime_10 & ", " & WLeakTime_11 & ", " & WLeakTime_12 & ", " & WLeakTime_13
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_14" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_14 to value of variable "WLeakTime_14"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_14" as string
if ((((WLeakTime_08) as integer) is equal to 0) or (((WLeakTime_09) as integer) is equal to 0) or (((WLeakTime_10) as integer) is equal to 0) or (((WLeakTime_11) as integer) is equal to 0) or (((WLeakTime_12) as integer) is equal to 0) or (((WLeakTime_13) as integer) is equal to 0) or (((WLeakTime_14) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in eight hours. " & WLeakTime_07 & ", " & WLeakTime_08 & ", " & WLeakTime_09 & ", " & WLeakTime_10 & ", " & WLeakTime_11 & ", " & WLeakTime_12 & ", " & WLeakTime_13 & ", " & WLeakTime_14
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_07 & ", " & WLeakTime_08 & ", " & WLeakTime_09 & ", " & WLeakTime_10 & ", " & WLeakTime_11 & ", " & WLeakTime_12 & ", " & WLeakTime_13 & ", " & WLeakTime_14
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_15" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_15 to value of variable "WLeakTime_15"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_15" as string
if ((((WLeakTime_09) as integer) is equal to 0) or (((WLeakTime_10) as integer) is equal to 0) or (((WLeakTime_11) as integer) is equal to 0) or (((WLeakTime_12) as integer) is equal to 0) or (((WLeakTime_13) as integer) is equal to 0) or (((WLeakTime_14) as integer) is equal to 0) or (((WLeakTime_15) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_09 & ", " & WLeakTime_10 & ", " & WLeakTime_11 & ", " & WLeakTime_12 & ", " & WLeakTime_13 & ", " & WLeakTime_14 & ", " & WLeakTime_15
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_09 & ", " & WLeakTime_10 & ", " & WLeakTime_11 & ", " & WLeakTime_12 & ", " & WLeakTime_13 & ", " & WLeakTime_14 & ", " & WLeakTime_15
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_16" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_16 to value of variable "WLeakTime_16"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_16" as string
if ((((WLeakTime_10) as integer) is equal to 0) or (((WLeakTime_11) as integer) is equal to 0) or (((WLeakTime_12) as integer) is equal to 0) or (((WLeakTime_13) as integer) is equal to 0) or (((WLeakTime_14) as integer) is equal to 0) or (((WLeakTime_15) as integer) is equal to 0) or (((WLeakTime_16) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_10 & ", " & WLeakTime_11 & ", " & WLeakTime_12 & ", " & WLeakTime_13 & ", " & WLeakTime_14 & ", " & WLeakTime_15 & ", " & WLeakTime_16
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_10 & ", " & WLeakTime_11 & ", " & WLeakTime_12 & ", " & WLeakTime_13 & ", " & WLeakTime_14 & ", " & WLeakTime_15 & ", " & WLeakTime_16
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_17" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_17 to value of variable "WLeakTime_17"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_17" as string
if ((((WLeakTime_11) as integer) is equal to 0) or (((WLeakTime_12) as integer) is equal to 0) or (((WLeakTime_13) as integer) is equal to 0) or (((WLeakTime_14) as integer) is equal to 0) or (((WLeakTime_15) as integer) is equal to 0) or (((WLeakTime_16) as integer) is equal to 0) or (((WLeakTime_17) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_11 & ", " & WLeakTime_12 & ", " & WLeakTime_13 & ", " & WLeakTime_14 & ", " & WLeakTime_15 & ", " & WLeakTime_16 & ", " & WLeakTime_17
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_11 & ", " & WLeakTime_12 & ", " & WLeakTime_13 & ", " & WLeakTime_14 & ", " & WLeakTime_15 & ", " & WLeakTime_16 & ", " & WLeakTime_17
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_18" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_18 to value of variable "WLeakTime_18"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_18" as string
if ((((WLeakTime_12) as integer) is equal to 0) or (((WLeakTime_13) as integer) is equal to 0) or (((WLeakTime_14) as integer) is equal to 0) or (((WLeakTime_15) as integer) is equal to 0) or (((WLeakTime_16) as integer) is equal to 0) or (((WLeakTime_17) as integer) is equal to 0) or (((WLeakTime_18) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_12 & ", " & WLeakTime_13 & ", " & WLeakTime_14 & ", " & WLeakTime_15 & ", " & WLeakTime_16 & ", " & WLeakTime_17 & ", " & WLeakTime_18
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_12 & ", " & WLeakTime_13 & ", " & WLeakTime_14 & ", " & WLeakTime_15 & ", " & WLeakTime_16 & ", " & WLeakTime_17 & ", " & WLeakTime_18
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_19" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_19 to value of variable "WLeakTime_19"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_19" as string
if ((((WLeakTime_13) as integer) is equal to 0) or (((WLeakTime_14) as integer) is equal to 0) or (((WLeakTime_15) as integer) is equal to 0) or (((WLeakTime_16) as integer) is equal to 0) or (((WLeakTime_17) as integer) is equal to 0) or (((WLeakTime_19) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_13 & ", " & WLeakTime_14 & ", " & WLeakTime_15 & ", " & WLeakTime_16 & ", " & WLeakTime_17 & ", " & WLeakTime_18 & ", " & WLeakTime_19
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_13 & ", " & WLeakTime_14 & ", " & WLeakTime_15 & ", " & WLeakTime_16 & ", " & WLeakTime_17 & ", " & WLeakTime_18 & ", " & WLeakTime_19
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_20" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_20 to value of variable "WLeakTime_20"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_20" as string
if ((((WLeakTime_15) as integer) is equal to 0) or (((WLeakTime_16) as integer) is equal to 0) or (((WLeakTime_17) as integer) is equal to 0) or (((WLeakTime_19) as integer) is equal to 0) or (((WLeakTime_20) as integer) is equal to 0) or (((WLeakTime_21) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_14 & ", " & WLeakTime_15 & ", " & WLeakTime_16 & ", " & WLeakTime_17 & ", " & WLeakTime_18 & ", " & WLeakTime_19 & ", " & WLeakTime_20
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_14 & ", " & WLeakTime_15 & ", " & WLeakTime_16 & ", " & WLeakTime_17 & ", " & WLeakTime_18 & ", " & WLeakTime_19 & ", " & WLeakTime_20
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_21" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_21 to value of variable "WLeakTime_21"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_21" as string
if ((((WLeakTime_16) as integer) is equal to 0) or (((WLeakTime_17) as integer) is equal to 0) or (((WLeakTime_19) as integer) is equal to 0) or (((WLeakTime_20) as integer) is equal to 0) or (((WLeakTime_21) as integer) is equal to 0) or (((WLeakTime_22) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_15 & ", " & WLeakTime_16 & ", " & WLeakTime_17 & ", " & WLeakTime_18 & ", " & WLeakTime_19 & ", " & WLeakTime_20 & ", " & WLeakTime_21
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_15 & ", " & WLeakTime_16 & ", " & WLeakTime_17 & ", " & WLeakTime_18 & ", " & WLeakTime_19 & ", " & WLeakTime_20 & ", " & WLeakTime_21
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_22" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_22 to value of variable "WLeakTime_22"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_22" as string
if ((((WLeakTime_16) as integer) is equal to 0) or (((WLeakTime_16) as integer) is equal to 0) or (((WLeakTime_19) as integer) is equal to 0) or (((WLeakTime_20) as integer) is equal to 0) or (((WLeakTime_21) as integer) is equal to 0) or (((WLeakTime_22) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_16 & ", " & WLeakTime_17 & ", " & WLeakTime_18 & ", " & WLeakTime_19 & ", " & WLeakTime_20 & ", " & WLeakTime_21 & ", " & WLeakTime_22
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_16 & ", " & WLeakTime_17 & ", " & WLeakTime_18 & ", " & WLeakTime_19 & ", " & WLeakTime_20 & ", " & WLeakTime_21 & ", " & WLeakTime_22
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_23" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_23 to value of variable "WLeakTime_23"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_23" as string
if ((((WLeakTime_17) as integer) is equal to 0) or (((WLeakTime_18) as integer) is equal to 0) or (((WLeakTime_19) as integer) is equal to 0) or (((WLeakTime_20) as integer) is equal to 0) or (((WLeakTime_21) as integer) is equal to 0) or (((WLeakTime_22) as integer) is equal to 0) or (((WLeakTime_23) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_17 & ", " & WLeakTime_18 & ", " & WLeakTime_19 & ", " & WLeakTime_20 & ", " & WLeakTime_21 & ", " & WLeakTime_22 & ", " & WLeakTime_23
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_17 & ", " & WLeakTime_18 & ", " & WLeakTime_19 & ", " & WLeakTime_20 & ", " & WLeakTime_21 & ", " & WLeakTime_22 & ", " & WLeakTime_23
end if
set value of variable "WLeak_1" to value of variable "WaterUse_01_Today"
delay 3600 --this is 60 minutes
set Water_60min to value of variable "WaterUse_01_Today"
set value of variable "WLeakTime_24" to (Water_60min - (value of variable "WLeak_1"))
set WLeakTime_24 to value of variable "WLeakTime_24"
log "Total Water Leak for last hour is " & value of variable "WLeakTime_24" as string
if ((((WLeakTime_18) as integer) is equal to 0) or (((WLeakTime_19) as integer) is equal to 0) or (((WLeakTime_20) as integer) is equal to 0) or (((WLeakTime_21) as integer) is equal to 0) or (((WLeakTime_22) as integer) is equal to 0) or (((WLeakTime_23) as integer) is equal to 0) or (((WLeakTime_24) as integer) is equal to 0)) then
set value of variable "WaterHouse_Leak_Slow_Detected" to "false" as string
log "Water Slow Leak register contains 0 in at least one period in seven hours. " & WLeakTime_18 & ", " & WLeakTime_19 & ", " & WLeakTime_20 & ", " & WLeakTime_21 & ", " & WLeakTime_22 & ", " & WLeakTime_23 & ", " & WLeakTime_24
else
set value of variable "WaterHouse_Leak_Slow_Detected" to "true" as string
log "Water Slow Leak register indicates a possible leak. No periods contain 0. " & WLeakTime_18 & ", " & WLeakTime_19 & ", " & WLeakTime_20 & ", " & WLeakTime_21 & ", " & WLeakTime_22 & ", " & WLeakTime_23 & ", " & WLeakTime_24
end if
end tell
end using terms from