The Twine forums are now archived. If you need help, please visit

Sump Pump Monitoring - working!

My house is situated on a spring, it seems.  During wet season, my sump pump can cycle 60 seconds on, 150 seconds off.  It can get to a depth of four inches in my whole basement overnight if the pump fails (it has, once).  Battery backup is pretty useless if power is out for more than a couple hours, due to the heavy use.  Yes, a generator might be a good idea... but is a lot more money than a Twine.

And hot damn, got vibration working with a Google Docs spreadsheet as I reported previously
I've now got it set up the following rules:
1) Gets Wet for more than .1 sec > Email me that the basement might be flooding.  
I may need something more alerting than this -- my email doesn't make noise on my phone, and my phone often isn't by my bed.  I may have to do something like trigger Google Voice to call my home phone as well.  I'm also concerned about the occasional "splash" as the sump lid isn't a seal -- I don't want to wake myself up constantly.

2) Temperature falls below 40 > Email me that pipes might be heading toward freezing
I don't expect this to happen, but hey, the feature is there, I might as well

3) Vibration On for more than 2 seconds after being off for at least 3 > Issue an HTTP request to my Google Spreadsheet web app script
4) Vibration Off for more than 2 seconds after being on for at least 3 > Issue an HTTP request to my Google Spreadhseet web app script.
The script logs the time the HTTP request is sent, then checks for the parameter.  Unfortunately, the web app URL is rather long, leaving me just three characters for my own use.  The parameters are either ?ON or ?OF (rolls eyes).

The script puts the date/time, then compares with the previous date/time and lots either "1824 seconds since last run" or "Ran for 96 seconds"
I could probably use some spreadsheet-fu -- my script puts a horrendous formula in, e.g.
="Ran for " & Int((INDIRECT(ADDRESS(ROW(),COLUMN()-1,4))-INDIRECT(ADDRESS(ROW()-1,COLUMN()-1,4)))*86400) & " seconds"

Next step is to amend the Google Spreadsheets script to send me alerts if the behavior of the sump pump changes significantly: Not running for an hour when it's been running every three minutes could be a sign of failure, even if the water sensor hasn't tripped (firm believer in software belt and suspenders). Running more frequently than previously could be a sign of another disaster: a leaking pipe, for instance.

Best Answer

  • 14 Comments sorted by Votes Date Added
  • edited January 2013 Answer ✓ Vote Up0Vote Down
    anybody using twine to monitor critical condtions should be aware that reporting is extremely inconsistan. i received a battey weakness alert eventhough twine is connected to a usb charger for the last 45days. battey waste could exceed the cost if a twine in a years time.


  • Aaarghhh!! I should have been more aggressive in my programming.
    The sump pump failed at 23:44 -- looks like it cut out mid cycle.  I'd logged about 340 cycles in the 48 hours I'd had it connected.  At 4:54AM the moisture sensor trigger started hollering at my email, but I don't have notification sounds on my email or I'd never get any work done.  Thankfully I woke up about an hour later, and laid there listening for the pump -- when it didn't happen in ten minutes, I checked my email, and it had hit the Twine email flood rule (I need to fix the moisture sensor rule so it doesn't send so often).  Luckily no damage, I just a big puddle (which I can eliminate if I bail a few buckets full every 20 minutes), and I'm waiting on a plumber.

    I've joined IFTTT this morning, and there's a gmail-scan-to-call-voice-phone recipe I can use.  Probably need to mod it so I can call both my house and cell phone.  I should be able to use IFTTT for the "hasn't run in a while" and other pattern change events.
  • OK, got a new pump (it's much quieter, probably have to adjust the vibration sensistivity).
    IFTTT can only dial one phone number, but thankfully Google Voice can call multiple phones -- that solves that conundrum.

    I think if I set the trigger/untrigger times on the moisture sensor longer, I shouldn't flood my email -- it sent it dozens of times in the first couple minutes, then stopped.  Not simple to test, and with a 5-year warranty on the pump, it'll be a while before there's a real-world situation again, hopefully.

  • Hash - I'm using a micro-usb power supply, figuring the batteries are only for backup.
    Then again, without power, my sump pump isn't running either.
    Next step is to set up an IFTTT trigger or Google Drive app trigger to check the Google Drive Spreadsheet every, say, hour, to see whether the pump has changed behavior (running much more frequently or much less frequently or not at all in a long while -- figuring out what a "long while" is the tricky part).
  • yes i would put in some kind of test to make sure you are getting constant feed back before the real thing happens (flood). I Monitor my home temp to send me an sms below 72degrees and above 74deg. you would be amazed how often i dont get txtd.
  • edited February 2013 Vote Up0Vote Down
    another suggestion use a few other numbers to send txt msgs. i suggest using yeenagers or young adults in the family. i have my nephews on alert with a txt msg if i get a warning from my twine. the chance of one number not getting through during an alter is reduced immensly when the alert call three or four numbers. make sure the txt is very thorough like," call your uncle there is a flood in the basement".
  • p.s you need to test your system once a month. one of my tenants unplugged the sump to use the outlet lucky testing showed it was dead and save $ 10,000 in restoration.
  • I just added another IFTTT recipe similar to the other one: A rule detecting 300 seconds of vibration sends a Gmail message containing "#frozenpipe" -- if the sump pump has been running for five minutes, the pipe is probably blocked.  I did have this happen once, and nearly burned out the pump motor (there was steam rising from the sump as it had been running for a full day -- luckily it was dry season and hadn't flooded the basement).  IFTTT searches for the hashtag above every 15 minutes, then calls my phones like the wet basemanet one.

    I realized this was necessary because if the pump is running on, the "Pump Off" message never get sent.  I could have a trigger in Google Docs look for an On without an Off, but this could have false positives if the Twine misses sending an actual Off -- which happens several times a day.
  • another caution to point out when using twine in a critical situation... twine does not have a heartbeat.

    if it loses connection, you may go on thinking all is fine, because it isn't reporting

  • I use a micro usb charger with batteries as backup.  I have a UPS on my wireless router.  I have my twine zip tied on my outflow pipe with a moisture sensor above the float level.  When it vibrates it notifies me via twitter and Email that it is running.  If the water level reaches my sensor in the pit it emails me also then I know the sump isn't working.  Also do the temp thing, but it is basically pointless.  Works flawlessly and gives me peace of mind in the spring and during heavy rainfall.  
  • Jesse,
    If I had it "ring" every time my pump ran, it would swiftly be ignored, as right now it's running about 7 minutes per cycle, but can get as little as 200 seconds.

    I'd suggest adding the long-run alert (see the March 2013 post above), as it can detect things such as a frozen outflow, or something other than the sump that might be flooding the basement and keeping your sump full (broken pipe, sewer backup, etc.).

    I'd still like to put some smarts in the whole thing, that could see that something unusual is happening, such as the cycle time decreasing dramatically (another sign of, say, sewer backup), or decreasing dramatically (pump failure, for instance).  My Google Docs spreadsheet could probably do that, but because signals do get missed periodically, I'd fear too many false positives.
  • We just got a new sump pump (just in time for the Spring rains) and the night before it went in to heavy action I hooked up my Twine to detect vibration from the pump and send me an e-mail.  The cycle is about 15 seconds of pumping every 2 minutes (Settings - trigger after shaking for 2 seconds, and untrigger after being still for 60 seconds).  And it's working great... but... I am getting a LOT of e-mails.  Which on one hand is comforting, but I sure wish I could reduce the frequency, like even by half.  I mean I'm getting an e-mail every two minutes obviously.  When I extend the second parameter, the "untrigger after being still for" to something longer it obviously eliminates any reporting because the pump is never still for that long.  Is there a way to adjust this rule to only get an e-mail like every 15 minutes or so?  Any suggestions would be welcome.
  • Rick, take another look at the Google Sheets scripting I did at the top of this thread, that might be a better method -- log it to a spreadsheet.
    You may also want to consider a separate email account for this, and perhaps IFTTT to look to see what the most recent message is... and if it hasn't triggered recently, then send email to the account where real worries should show up.
Sign In or Register to comment.