Demand charges have a cruel property: one bad half hour can undo a month of perfect battery management. Your Powerwall covers peak flawlessly for 29 days, then on day 30 it sits idle at 4pm while your AC pulls 8 kW straight from the grid. On SRP's E-27 plan, July and August demand charges run $9.43/kW for the first 3 kW and $17.51/kW for the next 7, so that single slip can add $70 or more to your bill. And you won't know it happened until the statement shows up weeks later.
That's the problem Grid Getter's anomaly detection exists to solve: it's there to catch the bad day before it costs you.
What is anomaly detection?
Grid Getter already watches your Powerwall around the clock to run automations and manage demand. Anomaly detection is the layer on top of that: it learns what "normal" looks like for your specific system, then alerts you when something drifts away from it.
Normal is different for every home. Maybe your battery charges from solar until about 1pm, sits at 100% until your peak window opens, then discharges to hold your grid draw near zero until 8pm. Maybe you charge overnight on cheap off-peak power because you're on a plan like APS's time-of-use rates, where the 4–7pm weekday window is what matters. Whatever your pattern is, the system builds a rolling baseline from your last ten days of battery data at that specific time of day, then compares today against it.
Then it watches for deviations. A reading like "the battery is at 40%" means nothing in isolation; 40% might be perfectly fine at 10am in December. The question is whether 40% at 3:45pm on a July weekday, an hour before your peak window, matches the last ten days at that same hour. It doesn't, and that's exactly the kind of thing you want a push notification about while there's still time to do something.
Common issues anomaly detection can catch
After enough time watching Powerwalls interact with real utility plans, you see the same failure modes over and over. A few of the big ones:
Battery not charged before peak. The classic. Three days of monsoon cloud cover, solar production down 60%, and your battery enters the 2–8pm SRP window at 35% instead of 100%. It runs dry at 5:30, your AC and pool pump set a new demand peak, and your E-27 bill jumps. An alert at noon that the battery is sitting far below its usual pre-peak level gives you time to charge from the grid while it's still off-peak, which costs cents per kWh instead of dollars per kW.
A setting changed and you didn't do it. A firmware update alters your backup reserve. An automation conflict switches your battery out of the mode you expect. A setting just doesn't stick the way you thought it did. Grid Getter doesn't watch your settings directly, so you won't get an alert that the reserve changed; you'll get an alert when the battery stops behaving like it used to — sitting higher than usual heading into peak, or failing to discharge when your recent pattern says it usually has by then. Nothing looks broken; the app opens fine. But your effective usable capacity just shrank, and the only symptom is usually a bill four weeks later, unless the baseline catches the drift first.
The system stopped reporting. Gateways lose their network connection. The Powerwall's local schedule keeps running when that happens, but your automations can't manage it and any cloud-side adjustments stop applying. Silence is itself an anomaly. Grid Getter sends a push when your Powerwall drops offline and another when it reconnects; most of the time the fix is a router reboot you can do the same afternoon.
Discharge at the wrong time. Your battery dumping energy at 11am when power is cheap means it won't have that energy at 6pm when demand charges are on the line. This can come from a misconfigured schedule or a mode change you forgot about. VPP events do it too. The pattern is easy to spot against a baseline: this system hasn't discharged at this hour in the last ten days.
Slow degradation and underperformance. Some problems aren't a single bad day. A battery losing usable capacity faster than normal aging would explain, or solar production settling in well under what the same weeks looked like last year (dirty panels, a failing optimizer, shade from a tree that grew). These compound quietly for months. We're building toward flagging them too: the same baseline that catches a bad afternoon is the natural tool for catching a bad quarter.
A real-world scenario
Here's a composite of a situation we see regularly, because it happens in some version to almost everyone eventually.
It's late July in Phoenix. A homeowner on SRP E-27 has DemandGuard managing their peak. For most of the summer, their measured demand has stayed under 2 kW, which keeps them in the cheapest demand tier. Their Powerwall routinely enters the 2–8pm window full.
Then their backup reserve gets bumped to 100% overnight. Maybe it's a firmware update, maybe it's an automation conflict, maybe it's a setting that didn't stick the way they thought. The battery is charged, the app looks normal, solar is producing. But with reserve at 100%, the Powerwall won't discharge for peak shaving at all. It's a brick with a green status light.
Without monitoring, here's how that plays out: the AC cycles through a 115° afternoon, the home pulls 7–9 kW from the grid during peak, and the billing demand for the entire month is set by that one afternoon. On E-27's July–August rates, demand runs $9.43/kW for the first 3 kW and $17.51/kW for the next 7, so jumping from 2 kW to 8 kW of billed demand is close to a $100 swing. And because SRP bills demand on your single worst 30-minute interval, there's no recovering it. The rest of the month's good behavior is irrelevant.
With anomaly detection, the story is shorter. At 2:15pm, grid draw during peak blows past this home's usual demand target. They almost never import during the window, and it's suddenly pulling 7 kW. Alert goes out. The homeowner opens the Tesla app from work, sees the reserve setting, drops it back to 20%, and the battery picks up the load by 2:40. The damage is a 25-minute interval instead of a six-hour one, and depending on how the intervals landed, possibly nothing at all.
That's the whole pitch in one afternoon: the difference between finding out at 2:15pm and finding out on your bill.
The system checks itself
You could catch most of this yourself, in theory. Open the Tesla app every morning, check state of charge before peak, verify your reserve setting after every firmware update, eyeball your solar curve against last week's. Some owners actually do this. For about a month.
Battery automation works precisely because you stop thinking about it. And the moment you stop thinking about it is the moment a silent failure gets expensive. Demand charges punish inattention harder than almost any other billing structure, because the penalty for one bad interval persists all month.
Constant monitoring flips the model. Instead of you checking the system, the system checks itself and only interrupts you when something's actually wrong. No news is genuinely good news, because "no news" now means "we looked, and everything matched your baseline."
It also changes how you experience the risky stretches. Monsoon season, a heat wave, the week you're on vacation with the thermostat on hold: these used to be the times you'd nervously check the app. Now they're just weeks. If the battery enters peak under-charged on a stormy Tuesday while you're out of town, you'll know before the peak window opens.
If you've got a Powerwall on a demand-charge or time-of-use plan and nobody's watching it but you, Grid Getter is free to try. It connects to your Tesla account, learns your system's patterns, and starts flagging the stuff you'd otherwise find out about on your bill. If you're in the Valley, the Phoenix page breaks down the SRP and APS specifics.
One thing to check today, whether you sign up or not: open the Tesla app and look at your backup reserve percentage. If it's higher than you remember setting it, a firmware update may have changed it on you. Everything above that reserve line is capacity your battery is allowed to use for peak shaving. Everything below it is battery protection — capacity you're paying demand charges to keep in reserve.
Take control of your demand charge today
Free to start. No credit card. Your utility's rate plan preconfigured and ready.