Monitor sump pump


Hi I was not sure where to put this i have a piston to monitor 2 sump pump’s
what do i need to do to make sure there are no problem’s for webcore


I am unfamiliar with your sump pumps, or what data they return. You could try this example (in a new piston) to give us a better understanding. In my example below, every place you see “AccuWeather”, replace it with one of your sump pumps. Pay extra attention to the dropdown list on the far right. These are the parameters your sump pump returns.

I would be tempted to make multiple logs in your test piston to see what actually returns. (Maybe wet/dry… maybe a depth of water… maybe a true/false… maybe a power consumption) Try logging each of the ones that apply to your task at hand. Once we know what outputs to expect, it will make the piston creation a lot easier.

So, taking a wild guess here, something like this:

Log info “Sump Pump 1’s depth”;
Log info “Sump Pump 1’s power usage”;
Log info “Sump Pump 1’s overflow”;
Log info “Sump Pump 1’s last time used”;

Obviously, replace my last word or two with the items found in your dropdown list. Once you save this new piston, click on “Test” to populate the log. You can include that log in a future post to give us more info to go on.


I have my sump pump going thru a power monitor.

The parameters I track are power, interval between being triggered, Duration of run time, and the time it was last triggered. I use this to ensure the pump is working, and to gauge roughly how much in-flow there is.

What are you trying to do with it?


I’ve got a power monitor coming in next week to accomplish the exact same thing you just described.
Would you mind sharing your piston?


I don’t mind sharing but it’s split across multiple different pistons and tiles for my own organization purposes.

Basically have a threshold wattage that is below what your pump’s normal operating draw is. When the wattage goes above the threshold, set Interval as “LastTriggeredTime” - $now and set “LastTriggeredTime” = $now . When wattage drops below the threshold, set “Duration” as $now - LastTriggeredTime.

As your Interval drops, and your duration increases, start worrying about whether the pump has enough capacity. If the LastTriggeredTime starts to get abnormally old, consider maybe the pump has died.


Hi slam525i,
what you are doing is what i went to do I am using a zooz zen15
I have tried to make the piston you described

can you please show an example

often does your power monitor report ?
how do you get notified that it has run ?

thanks for any help Beau

Statement type?

You shouldn’t use “if xxx power is greater than” because it will constantly refresh as long as the pump is running. Use a “Rises above” and “drops below” instead. Also, don’t nest the if statements. Keep them parallel.

My power monitor is an Iris 3210-L1 Smart Plug. Reports every 5 seconds.

I don’t have a notification that it has run. I used to have it set up with “send notification” and “Send SMS” but I disabled it because my area’s water table is so high, it runs every half hour even in the driest of seasons.

There may be a better way of doing all this, but it’s been decades since I’ve done programming properly, and this works well enough.



thanks for the info do you have any thing in place to keep the plug from being turned off ?


Nothing to prevent it from being turned off but i’d notice as the time-since-last-trigger goes high. I also have a backup pump that’s unmonitored, so no risk of flooding in case something goes crazy with Z-wave and turns everything off.


If don’t have a notification how do you use the pistion ?


Piston Tiles --> Device Status Tiles


I love the learn how you put it together


Let me know how I can help.


Nice work.

Is there any way to integrate WebCoRE dashboard tiles with ActionTiles? I haven’t seen anything; just thought I’d ask if anyone hacked together a solution. I know there is a request on the ActionTiles forum for WebCoRE integration.


I have the code of your from above how does it connect in to Gauge Tiles & Piston State Display for Energy Reporting Devices



thanks i known you no longer do sms or email when you did where was that code


That’s literally just “Send notification” and “Send SMS notification” under Actions -> Location


I should have been clear in my question was it in it own piston or the first code you posted


Sorry for the misunderstanding.

The code was with that first thing I posted with the time calculations, not with the tiles.

I like to keep many separate pistons, each with their own function or sub-function and triggering other pistons via changes in variables (not by directly triggering the piston). It may not be the most efficient to have a cascade of pistons firing when something happens, but it means I can alter stuff modularly.