Sump Pump Monitoring with ZEN15 → InfluxDB Cloud → Grafana
Hey all, wanted to share a little project I put together for monitoring my sump pumps. I've got three Zooz ZEN15 800LR plugs on my pumps feeding data into InfluxDB Cloud and visualizing everything in Grafana via a custom Hubitat app. I'm still making my way through this, but though I'd share it in case it saves anybody time. And I welcome feedback on how to make it better. I'm over-reporting a bit right now.
The nice thing is you can use this with any sump pump. I use Zoeller Model 53 (M53) which has 2 different cycles. My goal was to capture both cycles because one of them is under my bedroom and the noise was bothering me. Additional noise insulation has helped, but understanding the number of cycles helps me understand what's happening and ensure proper maintenance.
ClaudeCode and the Grafana AI assistant were hugely helpful, but it still took a bit of time.
Why amperage instead of power? Short pump cycles (~6 seconds) can slip right between 30-second polling intervals if you're watching the power attribute. Subscribing to current instead fires on every reported change, so you actually catch those quick runs. Idle draw is around 0.004A and running is 7–10A, so a 1.0A threshold gives plenty of noise margin.
The setup: The Hubitat app subscribes to current and voltage on each ZEN15, writes to InfluxDB Cloud in line protocol format, and fires a heartbeat every 30 minutes so I can alert in Grafana if the hub goes quiet. Grafana then shows run cycles, daily run counts per pump, and hub health.
ZEN15 tip: Don't set all reporting parameters to fast intervals — with 3 plugs × 4 parameters you'll flood your Z-Wave mesh. I use minimum interval + 0.5A threshold for current (the important one), and much slower intervals for voltage and energy.
I wrote up the full guide with the Groovy app code, InfluxDB data schema, and Grafana Flux queries if anyone wants it — happy to share. Would also note that v.timeRangeStart / v.timeRangeEnd are broken in newer InfluxDB datasource plugin versions; use ${__from:date} instead.
Anyone else doing power monitoring on their sump pumps?
As I recall @jtp10181 did something similar with a sump pump.
I just recently put in a heavy duty relay for my well pump. What's different than your setup is that it's totally quiet. The pump is at the bottom of a drilled hole, maybe 350' down. I've been notifying myself when it runs to get a feel for it. I'd like to figure out something better, in case a check valve fails. Maybe cycles per hour? KwH over a period of time (not sure if the granularity is there)?
I was using a Zooz Zen 15 to monitor and graph sump pump run cycles. At times it can run as frequently as every three minutes. After being perfectly reliable for a couple of years, for some reason it failed to auto on after a power outage. Fortunately I caught it, at that point I decided that I wanted no "smart" switch in series with the pump. My solution is a vibration sensor taped to the discharge pipe. Works perfectly and no risk of a power disruption. Graph from built-in webCoRE.
The devices parameters, no hub intervention required. I have since repurposed that switch to track the water heater exhaust fan cycle. It has never failed again. BUT, if it does I'll have to reset/remove to get the hot water back. No damage, just a minor inconvenience. The sump on the other hand could result in many many thousands of dollars of damage. Not worth taking a second chance when the risk is eliminated with a $25 widget.
I have two sump pumps. The primary one handles normal duties. The auxiliary one is a backup that only runs if the primary fails or there is a lot of water runoff in the window wells. I want to know when the auxiliary pump is running as it normally is idle.
I use the Zooz Zen15 with current monitoring as the trigger. Everytime the pump runs, my alarm speakers announce "The backup sump pump is running". We have had a lot of rain lately, so I have heard this announcement many times in the past couple of weeks. Then it will probably be idle until next spring.
Yes, but my use case appears to be dramatically different and my needs more simple. My sump pump is only used when rain is coming down so much that the ground can't absorb it and it heads into my crawl space. The perimeter inside the foundation receives this water and puts it into the sump pump.
The information I need to know is covered in this dashboard, which doesn't look too interesting since the pump hasn't run in months. But when it is in use, the dashboard tells me whether soil saturation is increasing, stable, or decreasing. This isn't so much for the sump pump as it is the septic field, and the sump pump monitoring tells me how worried I should be about the septic system.
I also use a ZEN15. I don't understand the comments about using current instead of power. Either would work just the same as you can set reporting frequency as percentage or time on either. Power is just current * voltage (P=IE), so you are getting the same information from either.
I do the same thing (using a Sinope load controller, which I like a lot). I just count the number of cycles per day.
I could make the monitoring more sophisticated but all I really want to know is if the pump runs between midnight and 5 AM, I want to know why. If it says one time and we got home very late, or one of us flushed the toilet in the middle of the night I ignore it. Recently it was telling me it was running five times every night. After more investigation, I discovered a very subtle leaky fill valve one of the toilets. It thrilled my soul that this one was something I could fix for less than $10.
If we are away and the pump runs outside of the irrigation window, it just shuts itself off.
I was inspired to do this after a break in the PVC between the well and reservoir cost me about $10,000 in damage (two months of sky-high electric bills, replacing a burned out well pump that was almost new to begin with, tearing up my concrete driveway, fixing the cracked PVC with a $5 part, putting down new concrete). The $150 for the load controller was a great investment.
Hi Bill.d - does that on/off state work for low power clearing? I noticed my pump has two states - a lower power state where it clear out water and then a full on state which is much louder.
I love the idea of monitoring a sump pump. I have a sump in the midwest (photo below) that runs all year but especially in Spring. I put in a 3/4HP pump a few years ago after the 1/2HP struggled with one tremendous spring rain.
I also have a 12VDC "Aquanot" pedestal sump pump for backup. It has high gallonage capacity similar to my AC pump. I added a marine style charger for the deep cycle battery. I swap out the battery every 3-4 years. While at it I put in a trouble light with a 12VDC LED bulb running off the battery. In case power is out I can get light down there without searching for a flashlight.
I also have a water probe that alerts via my monitored alarm system such that I get a phone call if water rises to that point (which would only happen if both pumps fail).
I also put in a light and an IP camera more recently. When I am away I can flip on the light and check the view to see if everything is ok.
With a finished basement and dodgy insurance carve outs for basement flooding I just need a safe system.
I would like to add this monitoring scheme to better understand the power usage. One small concern is putting a switch in series with the primary pump. If the node ever went down and the relay was open the sump pump would be out of commission. I know an unlikely scenario, but it isn't zero risk. Has anyone tried opening up on of these modules and soldering the relay contacts closed such that they never open. Then you'd have the power monitoring without the failure path.....
The Zooz ZEN15 has configuration options to disable both physical and Z-Wave on/off commands. That's good enough for me, I've been using a couple generations of ZEN15s in a similar manner since 2018 and never had an issue.
I would be cautious about using this on a sump pump. Maybe a 1/3 HP but no more. This says it is designed for servers and routers, not inductive load motors.
Also, I see it has overload protection which would probably trigger with the inrush current. Wonder what it does if it detects overload since it can't turn off the power.
Similar experience here except I had a single instance when it did not recover from a power interruption, maybe a surge. That disqualified it for me from mission critical can't ever fail use. From my perspective, the goal is to observe sump activity without risking interrupting it. Not to discredit the Zen 15, I have two that are completely reliable. But I wouldn't risk a flooded basement on them.
Agree on the risks from failure and I like your vibration sensor idea. I minimize my risks via some rules. As long as the plug doesn’t mechanically fail there are some rules one can implement to address the time a plug doesn’t turn back on automatically. I have several plugs of various manufacturers that I always want on. Some I do need to toggle every once in a while to reset the devices that are plugged into them. I have a rule that turns those plugs back on after 10 seconds if they turn off. I could extend the logic for longer and/or use a notification to identify the issue in the case of a longer power outage or mechanical failure.