johnstonf Posted December 29, 2016 Posted December 29, 2016 This is very cool!... when my sump pump goes off, i get notified based on watts value being pushed to ISY from GEM! (Saves always sit wondering if my sump pump is active or not... quick and dirty cheap way of knowing!) What I want: When my sump pump turns on, send me ONE (max) email every hour, while it is active... What I currently get: When sump activates, i get a BURST of 8 emails, every time it runs Overview: I have my GEM dumping values into ISY variables, and it is set to do so every 8 seconds, from the GEM side, which PUSHES the values over to the ISY using REST calls. When my sump pump goes off (only a couple of weeks spring and fall normally), it is in short burst of anywhere from a few seconds to a minute, depending on water level around the house). So my program right now, sends me 8 emails in a burst, whenever the sump pump uses more than 100 watts. I'm assuming that the sump goes for a few seconds, then GEM sends its watts used and gets sent via REST to the ISY. The ISY then, every second, or so, triggers based on my program: If $s.Dash_Box_FrontOD_SUMP_03 > 100 Then Send Notification to 'ALL FREDS Email Addresses' content 'SumpPumpActivated" Wait 1 hour Questions: -Based on the above (8 seconds bursts give 8 or so emails), is it because ISY runs a program interrups every second? -How can i restructure/reprogram so i only get ONE email per HOUR while the sump pump is active? Thanks
paulbates Posted December 29, 2016 Posted December 29, 2016 Hi John Because the ISY program is evaluating a variable, its executing any time that variable changes. Chances are what you are seeing is a steady increase in voltage, each change re-executing the program I would put a 10 second wait as the first statement of the "Then" section of the program, that will give the pump time to start and stabilize, and the changes get a chance to complete. I would do this If (....leave as is) Then wait 10 seconds Repeat every one hour Send Notification (....leave as is) Paul
johnstonf Posted December 29, 2016 Author Posted December 29, 2016 OK, so that makes sense... the change in value is an "interrupt" much like all the other interrupt driven conditions... So it would, in this case be more like: -GEM sends new watts value every 8 seconds -Sump runs maybe for 1 minute -8x7=56seconds, 8x8=64seconds (thus the reason i'd sometimes get 7, sometimes 8 emails in a group) I'll try that, thanks... /Fred
paulbates Posted December 29, 2016 Posted December 29, 2016 Ok, I might have misunderstood based on the initial post, when it comes to the 'repeat every 1 hour'. That part will only work every hour as long as the variable > 100. You can leave the repeat every one hour out Another way to do it with 2 programs Program a (new program) If $dashbox.... > 100 $sumpOn = 1 Else $sumpOn = 0 Program b (existing program, modified) if $sumpOn = 1 Send Notification (...leave as is) $sumpCycles +=1 (count the number of sump pump cycles) Repeat every 1 minute $sumpRuntime += 1 (measure the runtime of the pump.. maybe seconds instead of minutes) I added the statements to count cycles and runtime... You can reset daily, weekly or monthly with another program (set them to 0). Given its winter, probably weekly or monthly is more useful. I do something similar for my furnaces Paul
ronvond Posted December 29, 2016 Posted December 29, 2016 John, I am by no means an expert at programming, but I too have a sump pump in my finished basement. Obviously a pump failure would be disastrous. I use two INSTEON devices to monitor the pump. I start with a 2423A5 SynchroLinc that merely monitors the pump starts. Very simple program follows: IF Status 'Sump Monitor' (2423A5) is 100% THEN $Pump_Run_Counter += 1 ELSE no actions The program keeps track of runtime over a 24 hour period. At midnight each day the following program runs: IF Time is 12:00:00 AM THEN $Daily_Run = $Pump_Run_Counter $Pump_Run_Counter = 0 (This is the reset for the next day) ELSE no actions Located adjacent to my sump pit is a 2852-222 Leak Sensor that sends me a text message if it senses liquid. The only other item sitting next to my sump pit is a spare pump. If you don't have a spare, there's little point in monitoring! At any time during the day I can check in via MobiLinc HD on my iPhone to see the last time the pump ran, and how often it is cycling on and off. Happy New Year, Ron
kohai Posted December 29, 2016 Posted December 29, 2016 I have two z-wave appliance power cords on two pumps. When the pump auto starts due to detecting water, the isy sends me an email (voltage > 0). Mine run really short... like 10 seconds since they are actually condensation pumps. Then in one pit I have a water leak sensor to tell me if a pump fails (e.g. water level rises). I need to buy a spare to have on hand. I haven't found the right way to monitor my outside sump pump that is on the french drains around the house. I haven't researched a good way to deal with monitoring it given the distance from my isy. I only use zwave.
johnstonf Posted December 29, 2016 Author Posted December 29, 2016 (edited) Yeah, I'm a bit anal on my sump pump too... I have a sump pump, with a battery backup 2nd on top. Then i have a float sensor to my monitored home alarm system. Then i have a camera on my sump pump. Then i have an INSTEON leak sensor close to the pump, on a block. Then i have a backup sump pump. Then i have a spare sump pump with no float on a quick hose fitting (Hose handy) (it is more for high water in driveway when the ice melts, but is great backup2backup) Then i have a small generator i can connect, if power out too long... Then i have NOW have some feedback from the EM system via DashBox feed. I too am VERY concerned about "another" sump pump failure (as you MIGHT be able to tell LOL) The DashBox to ISY was sort of an afterthought, but a nice "HEY!" bonus! I'm sure there'll be tons of these little lights going off in my head in the middle of the night! Edited December 29, 2016 by johnstonf
johnstonf Posted December 31, 2016 Author Posted December 31, 2016 Ok, I might have misunderstood based on the initial post, when it comes to the 'repeat every 1 hour'. That part will only work every hour as long as the variable > 100. You can leave the repeat every one hour out Another way to do it with 2 programs Program a (new program) If $dashbox.... > 100 $sumpOn = 1 Else $sumpOn = 0 Program b (existing program, modified) if $sumpOn = 1 Send Notification (...leave as is) $sumpCycles +=1 (count the number of sump pump cycles) Repeat every 1 minute $sumpRuntime += 1 (measure the runtime of the pump.. maybe seconds instead of minutes) I added the statements to count cycles and runtime... You can reset daily, weekly or monthly with another program (set them to 0). Given its winter, probably weekly or monthly is more useful. I do something similar for my furnaces Paul Hi Paul, Thanks for sharing that!... I'm going with a version of this for now! Fred
Recommended Posts