Skip to content

DemandGuard

DemandGuard Plan

DemandGuard is Grid Getter’s most powerful automation type. It watches your live grid draw every minute during demand periods and automatically discharges your battery to keep you under your target demand threshold — protecting you from the expensive demand charges that utilities bill based on your peak usage.


Some utility rate plans include a demand charge — a fee based on the highest 15- or 30-minute average power draw recorded during your billing period. A single afternoon of high usage (air conditioning + EV charging + appliances running simultaneously) can spike your bill for the entire month.

DemandGuard prevents those spikes by acting in real time: the moment your grid draw approaches your target, it switches your home to battery power.


DemandGuard runs every minute during your configured peak window. Each check:

  1. Reads your current live power data from Tesla
  2. Calculates your grid draw for the current demand interval against your target threshold
  3. Picks the cheapest state that keeps you under your target — battery power, a grid hold, or (when solar covers your whole house) just solar — and commands your Powerwall accordingly
  4. Watches the following minutes of live power flow to confirm Tesla actually complied, re-sending the command if it didn’t

DemandGuard optimizes battery discharge across the entire demand window — not just in the moment — so your battery lasts as long as possible through the period.

One rule holds everywhere: DemandGuard never forces your battery to charge from the grid. Every hold it uses either keeps the battery’s charge where it is or lets it discharge; grid power is never pushed into your battery mid-window.

Why DemandGuard runs your home on grid power

Section titled “Why DemandGuard runs your home on grid power”

It can look backwards at first: during a demand window, DemandGuard often holds your home on grid power on purpose. That’s not a mistake — it’s the whole strategy.

A demand charge bills your single highest 15- or 30-minute average draw, not your total usage. Steady grid draw below your target adds nothing to a demand charge. So spending battery to stay off the grid while your usage is already under target buys you nothing — and it drains the one resource you’ll need when usage does spike.

DemandGuard treats your battery as a precision tool instead:

  • While your grid draw is safely under your target, your home runs on grid and the battery holds its charge.
  • The moment a demand interval is on track to cross your target, your home switches to battery and the spike is shaved. DemandGuard makes that call a couple of minutes ahead of the crossing point — Powerwall hardware takes a minute or two to act on a command, and the interval keeps billing your draw while it does — so the interval lands safely under your target rather than exactly at it.

That’s what lets a Powerwall protect a whole 4–6 hour demand window: the battery only works during the minutes that would actually cost you. Running the entire window on battery instead — which is what a Peak Time automation does — spends charge on load the grid would have covered for free (demand-wise), and if the battery runs empty mid-window, a single air-conditioner cycle can set your demand charge for the whole month.

When the demand window opens, Grid Getter disables charging from the grid — under both Hold strategies — and re-enables it when the window closes. Charging the battery from the grid on-peak is the worst possible demand event, so it stays blocked for the whole window. The one exception is Respect Tesla’s Storm Watch: when that’s on, Grid Getter leaves Tesla’s grid-charging setting untouched so Storm Watch can still charge if a storm is forecast.

Alongside the grid-charging pause, DemandGuard also stops your battery from discharging while it waits for a threshold event. With Advanced as your Hold strategy that means Backup mode: the battery pauses in place, neither charging nor discharging, while your home runs on grid power. Classic automations, and Advanced ones with Storm Watch respected, instead raise the backup reserve to the battery’s current charge — never above it — so the battery holds without being forced to charge.

When the window closes, your Powerwall’s operation mode is restored to whatever it was before the window started (Self-Powered stays Self-Powered, Time-Based Control stays Time-Based Control), grid charging is restored when Grid Getter turned it off, and the reserve is handled according to your end setting. The same restore happens if you disable or delete the automation mid-window.

The DemandGuard automation card reflects that setting: it says grid charging is turned off when Storm Watch is not respected, and says grid charging is left unchanged when Storm Watch is respected.

Tesla doesn’t always keep that grid-charging pause in place for the whole window — its own optimizer can quietly resume charging from the grid (often just before your peak period ends, pre-charging for cheaper off-peak rates), and charging the battery from the grid on-peak is the worst possible demand event. So when Grid Getter turned grid charging off, DemandGuard also watches your live power flow every minute: if the grid is caught charging the battery mid-window, the pause is re-sent immediately and you’ll see a “re-disabled grid import” entry in your Activity Log. Battery charging that’s covered by your own solar is left alone.

One case the pause can’t fix on its own: if the battery’s backup reserve ends up above its current charge level mid-window — whether from a DemandGuard hold that outlived a dipping charge reading, or a reserve change made outside Grid Getter (the Tesla app or another service) — the Powerwall charges from the grid to catch back up to the reserve, straight through both the mode setting and the grid-charging pause. With the Advanced hold strategy (below), DemandGuard checks the reserve your Powerwall is actually reporting whenever it catches this kind of charging and lowers it to just meet the current charge level, so the on-peak grid charging stops; the Activity Log entry explains what it found and what it changed. The reserve it replaced is still handed back by your end-of-window setting.

Self-powered mode alone isn’t quite enough: Tesla can still pull from the grid in some cases, and a single grid pull during a demand interval can set your demand bill for the whole month.

Each DemandGuard automation has a Hold strategy, chosen on the create/edit form, that determines how your battery is paused during a grid hold — the stretches of the window where your grid draw is safely under your target and DemandGuard is saving the battery for later. (When your draw approaches your target, DemandGuard switches your home to battery regardless of strategy.)

  • Advanced (Recommended) — pauses your battery in Backup mode, a hidden Tesla mode that stops the battery charging or discharging at any charge level while your home runs on grid power. Backup mode on its own would charge the battery from the grid toward 100%, so Grid Getter always pairs it with the grid-charging pause described above. This is the most reliable way to stop battery drain during a demand event — without a hold, Tesla’s own optimizer could keep draining the battery on-peak and leave nothing for the end of your demand window.
  • Classic (Original) — switches your Powerwall between Tesla’s self-powered and autonomous modes and lets Tesla manage the battery. This is the original DemandGuard behavior.

Existing automations keep working the way they always have — they stay on Classic until you change them. New automations default to Advanced, and the same selector is available on the create/edit forms in the iOS and Android apps.

A few paths use a reserve-pin hold instead of Backup mode even on Advanced: automations with Respect Tesla’s Storm Watch on, the solar situation described below, and the fallback when Tesla rejects the Backup-mode switch. A reserve pin raises the backup reserve to the battery’s current charge — never above it — and releases it when the hold ends.

Backup mode diverts all of your solar into the battery for as long as the hold lasts — your whole home runs on grid, and any solar that would have covered house load goes to charging instead. DemandGuard accounts for that cost and, whenever a hold is warranted, picks the cheapest one that still keeps you under your target:

  • Solar covers your whole house — DemandGuard doesn’t hold on grid at all. Your home runs on solar and the battery stays untouched.
  • Backup hold — when your whole house load (not just what’s left after solar) fits under your target, DemandGuard pauses the battery in Backup mode and lets solar bank into it, saving that energy for later in the peak window.
  • Reserve-pin hold — when the whole house load wouldn’t fit under your target but the load after solar would, DemandGuard pins the reserve at the battery’s current charge instead: solar keeps powering the house, the grid covers only what’s left, and the battery holds its charge without Backup mode’s solar diversion.
  • Battery — when neither hold fits under your target, DemandGuard keeps your home on battery, exactly as it would without any solar in the picture.

Once DemandGuard steps a hold down from Backup to a reserve pin during solar hours, it won’t step back up to Backup until the next demand interval begins — so a passing cloud can’t make your system flip-flop between the two.

If Tesla’s platform ever rejects the Backup-mode switch, Grid Getter falls back to the reserve-pin hold so the demand protection still works. Grid Getter also uses the reserve-pin hold — never Backup mode — whenever your automation has Respect Tesla’s Storm Watch turned on, since Backup mode’s grid-charging-off pairing would otherwise stop Storm Watch from being able to charge your battery. See Storm Watch interaction below.

The hold is released the moment DemandGuard switches back to battery — to your Demand Floor if one is configured, otherwise to the reserve setting captured before the hold. Grid charging isn’t part of that release: once Grid Getter has turned it off for the window, it stays off until the window ends, even if the hold itself has already released earlier in that window. It’s also turned back on early if you disable the automation. You’ll see this as a “holding on grid” entry in your Activity Log, and “reserve returned to N%” when the hold releases.

Tesla acknowledges these commands immediately but can take a few minutes to actually act on them, so after every switch Grid Getter watches your live power flow to confirm the battery really did what was asked. If Tesla hasn’t complied within a few minutes, the command is re-sent automatically (you’ll see a “re-asserted” entry in your Activity Log), and if Tesla still doesn’t comply after two retries, Grid Getter logs that plainly instead of pretending the switch worked.

When your Hold strategy is set to Classic, DemandGuard instead toggles your Powerwall’s operation mode directly — to Tesla’s autonomous mode to send your home to grid power, and back to self-powered mode to resume running on battery. Tesla’s own optimizer manages the battery in autonomous mode: aside from the one-time reserve raise when the window opens, there’s no pin holding a specific charge level during mid-window grid holds, and (unlike Advanced) Grid Getter doesn’t verify or re-assert that Tesla complied when switching to grid — the same live-power-flow check from Advanced still confirms the return to battery. This is the original DemandGuard behavior, unchanged from before Hold strategies existed.


Some utilities — most often commercial rate plans — measure demand at any time of day, with no peak/off-peak split. On those plans a fixed 4–9 PM monitoring window leaves you exposed for the other 19 hours, and a single morning grid spike can set your bill for the whole month.

For example, Colorado’s CORE Cooperative commercial rate structure bills demand based on the highest 15-minute draw recorded at any point in the billing period.

To switch DemandGuard to 24-hour mode, toggle 24 hours a day under the Start/End time fields on the DemandGuard form. The Start and End time inputs grey out, and DemandGuard runs continuously for the full day on whichever days and months you’ve selected.

One thing to expect on the Live Dashboard: the “Measurement Intervals” counter that normally tracks your progress through a peak period is hidden in 24-hour mode. Without a bounded peak window there’s no fixed number of intervals to count down from, so the dashboard just shows the current Demand Usage ring on its own.


  1. Go to Automations and click + Add Automation

  2. Select the DemandGuard tab

  3. Give your automation a name

  4. Set your Target Demand — the maximum kW grid draw you want to maintain (e.g., 8 kW)

  5. Set the Demand Interval — how often your utility measures demand (usually 15 or 30 minutes — check your bill)

  6. Set the monitoring window:

    • Start Time: when demand monitoring begins
    • End Time: when it stops
    • Or toggle 24 hours a day if your utility doesn’t have a peak window (see 24-hour DemandGuard above)

    Times are interpreted in your account’s timezone, pre-filled from your profile (or your browser’s detected timezone if your profile has none). Confirm it’s correct before saving.

  7. Configure optional settings:

    • Hold strategy: how DemandGuard pauses your battery during grid holds — Advanced (the Backup-mode hold, default for new automations) or Classic (the original mode-switching behavior). See Hold strategies.
    • Battery Reserve: set a reserve to apply at the start of the demand window and choose what happens at the end — either restore it to what it was before DemandGuard started, or set it to a specific percentage.
    • Demand Floor: let DemandGuard keep shaving below your normal reserve during the window — see Demand Floor
    • Weather Guard: skips the Demand Floor when severe weather is expected (on by default)
    • Respect Tesla’s Storm Watch: if on, DemandGuard pauses when Storm Watch is active and leaves grid charging unrestricted so Storm Watch can pre-charge for emergencies (recommended for storm-prone areas)
    • Surplus Generation (Classic only): what to do with excess solar during demand management. Advanced automations always store surplus in the battery — see Surplus solar
  8. Set the schedule — days of week and months that match your utility’s demand period schedule

  9. Click Create Automation


SettingWhat it doesDefault
NameLabel for this automationRequired
DescriptionOptional noteEmpty
Target Demand (kW)Maximum grid draw to maintain10 kW
Demand IntervalHow often your utility measures demand30 min
Start TimeWhen monitoring begins16:00 (4 PM)
End TimeWhen monitoring ends21:00 (9 PM)
24 hours a dayReplaces Start/End with a 24-hour window. For utilities that measure demand at any time of day.Off
Hold strategyHow DemandGuard pauses your battery during grid holds: Advanced (Backup-mode hold) or Classic (original mode switching)Advanced (existing automations stay Classic)
Battery Reserve at StartReserve % applied when the demand window beginsOff
End Reserve ModeWhat to do with the reserve at window end: Restore to previous or Set to specific %Off
Battery Reserve at EndReserve % applied when the window ends (only visible when End Reserve Mode is “Set to specific %“)Off
Demand FloorTemporarily lowers your reserve to a floor when the window opens so DemandGuard has more room to shave, then restores it when the window closes (minimum 5%)Off (10% when enabled)
Weather GuardSkips lowering your reserve for Demand Floor when Storm Watch is active, a severe weather alert covers your site, or weather data is missing or staleOn
Respect Tesla’s Storm WatchPause DemandGuard if Storm Watch activates and leave grid charging unrestricted so Storm Watch can pre-charge for emergenciesOff
Surplus GenerationWhere excess solar goes during demand management (Classic only — Advanced always stores surplus in the battery)Store in Battery
Days of WeekWhich days it runsMon–Fri
MonthsWhich months it’s activeAll months

Your target demand should be set below the threshold that would trigger a demand charge tier change on your utility bill.

  • Check your bill for the demand tier thresholds (e.g., “0–10 kW: $X/kW, 10+ kW: $Y/kW”)
  • Set your target 1–2 kW below the tier boundary to give DemandGuard room to act before you breach it
  • For most residential customers with a Powerwall, a target of 6–10 kW works well as a starting point

The demand interval tells DemandGuard how your utility measures peak demand. This should match your actual utility billing:

  • 15 minutes — most common for commercial accounts in the US
  • 30 minutes — common for some residential TOU plans
  • 60 minutes — less common, used by some utilities

Getting this right matters: DemandGuard uses the interval to optimize how aggressively it discharges your battery across the demand window.


During demand management, your solar panels may still be producing more power than your home needs.

Advanced automations always store that surplus in your battery — there’s no setting to configure. Storing surplus builds up the exact reserve DemandGuard needs to shave demand later in the window, and it’s the only surplus behavior Grid Getter can reliably command: routing surplus to the grid instead would hand control to Tesla’s own optimizer, which may choose to charge rather than export and always defers to the export preference set in your Tesla app. Once your battery is full, Tesla automatically exports the excess to the grid according to those Tesla export settings — so you still earn any net metering credits on a full battery.

Classic automations keep the original three-way setting:

OptionWhat happens
Send to GridGrid Getter asks Tesla to export surplus solar to the grid. Tesla’s optimizer and your Tesla export settings decide whether export actually happens.
Store in Battery (default)Surplus charges your battery instead of exporting. Useful if grid export rates are low or zero.
No ActionGrid Getter doesn’t control surplus — Tesla handles it according to its own logic.

DemandGuard can optionally manage your Tesla backup reserve at the start and end of each demand window.

At the start of the demand window, DemandGuard stops the battery from discharging while it waits for a threshold event. With Advanced, Backup mode pauses the battery — the hold doesn’t depend on the reserve at all — and the reserve is set straight to your Demand Floor when you’ve configured one (otherwise your reserve is left where it was). With Classic, or on Advanced’s reserve-pin paths, the reserve is instead temporarily raised to the battery’s current charge — never above it, so the battery is never forced to charge.

At window end, you pick what happens to the reserve:

  • Restore to previous — Grid Getter records your reserve just before the window starts and puts it back when the window closes. Use this if your reserve changes for other reasons throughout the day and you don’t want DemandGuard leaving it at a fixed value.
  • Set to a specific % — Explicitly define what the reserve should be after the window ends.

On the paths that raise the reserve, DemandGuard does so even if you have not configured a custom reserve value. Those temporary raises are released automatically when DemandGuard switches back to battery or when the window ends.

With Advanced as your Hold strategy, Backup mode holds your battery at whatever charge level it’s actually at when a grid hold starts — 100%, 93%, any number — with no clamping. This is what makes Advanced reliable for batteries sitting in the 81-99% range that Tesla’s app and cloud API otherwise refuse to pin directly.

If Tesla ever rejects the Backup-mode switch, DemandGuard falls back to the reserve-pin hold, which does run into that Tesla limitation: when the window opens with the battery at exactly 100%, the fallback holds it full with a 100% reserve, but anywhere between 81% and 99% it can only hold at 80% in Autonomous mode — Tesla won’t honor a reserve in that range, and pinning 100% over a not-quite-full battery would force it to charge from the grid during your demand window.

Tesla adds one wrinkle on that fallback path: a battery reading 100% can drift down a couple of percent while idle as Tesla recalibrates its charge estimate. Under a 100% reserve hold, that drift makes Tesla start charging from the grid to close the gap — mid-window, exactly when grid draw costs the most. DemandGuard monitors for this every minute: if it catches the grid charging the battery because of its own hold, it lowers the hold to 80% (Autonomous) for the rest of the window and writes an entry to your Activity Log explaining what it saw and what it changed.


Turn on Demand Floor to let DemandGuard keep shaving after your battery reaches its normal Battery Protection reserve. Grid Getter keeps your reserve at the demand floor (default 10%, minimum 5%) for the length of the window so the battery can discharge for demand shaving. Without a Demand Floor configured, releasing a hold simply returns the reserve to whatever it was before — your own setting is never lowered. At the end of the window it restores whatever was there before by default, or you can set an explicit end percentage instead under Advanced: at end of DemandGuard window.

The trade-off: during the window you keep less battery held back for outages, in exchange for more room to hold your grid demand down.

Weather Guard (on by default) skips lowering your reserve when severe weather is expected — either Tesla Storm Watch is active or your area has an active Severe/Extreme weather alert. If weather data is missing or stale, Grid Getter plays it safe and leaves your reserve untouched.

Note: your demand charge is usually set by your single highest usage period each month. When Weather Guard keeps your reserve high during severe weather, a spike that evening can still set your monthly demand charge.

Weather Guard needs your site’s location to check for severe weather alerts. If your account has no location set, the toggle is disabled and off, with a Set Location link straight to Settings → Profile.

If your battery reaches the demand floor while the window is still open, Grid Getter sends you a notification — from that point your remaining home usage may draw from the grid until the window ends.

The same applies without a Demand Floor when your battery reaches its normal reserve: DemandGuard detects the grid draw and holds your home on grid power for the rest of the window. No notification is sent in that case — the floor-reached alert is part of the Demand Floor feature.

If your battery is already below the floor before the window even opens, Grid Getter sends a heads-up — “Battery below your demand floor” — so you can charge before the window starts instead of pulling fully from the grid the moment it does.

Grid Getter also notifies you when Weather Guard or Tesla Storm Watch is holding your reserve steady during an active window instead of lowering it to the floor, so a lower-than-expected discharge isn’t a surprise.


When Respect Tesla’s Storm Watch is turned on, DemandGuard pauses automatically if Tesla’s Storm Watch feature activates. Storm Watch charges your battery to 100% for emergency preparedness — if DemandGuard tried to discharge it at the same time, they’d conflict.

The grid-charging pause has a second effect that’s worth understanding. Tesla doesn’t notify Grid Getter when Storm Watch turns on, so if we hard-blocked grid charging at the start of every DemandGuard window, Storm Watch wouldn’t be able to top off your battery for an incoming storm. The toggle splits the difference:

  • Respect Tesla’s Storm Watch ON — Grid Getter does NOT touch Tesla’s grid-charge setting during the demand window, and holds your home on grid power with the reserve-pin hold instead of Backup mode (Backup mode’s grid-charging-off pairing would otherwise get in Storm Watch’s way). DemandGuard still discharges the battery to keep you under your target, and Storm Watch can still grid-charge to 100% if a storm is forecast. The tradeoff: a Storm-Watch grid pull may briefly raise your demand reading.
  • Respect Tesla’s Storm Watch OFF (default for new automations) — Grid Getter strictly disables grid charging at the start of the window and re-enables it at the end, and re-sends the disable if Tesla is caught resuming grid charging mid-window. You get tighter demand-charge protection, but Storm Watch can’t pre-charge from the grid for emergencies during the window.

Pick the side of the tradeoff that fits your area. In a low-storm-risk area, the default (off) gets you the strictest demand-charge protection. In a high-storm-risk or wildfire area, turning it on keeps Storm Watch usable for outages and — as a side effect — switches Advanced automations over to the reserve-pin hold described above instead of Backup mode.


Every decision DemandGuard makes is logged. Go to Activity Log → DemandGuard Decisions to review:

  • When DemandGuard activated during demand periods
  • What your grid draw was at each check
  • What action was taken
  • Whether your target was maintained

This is the best way to verify DemandGuard is working and to tune your Target Demand setting.

DemandGuard’s demand math depends on an unbroken minute-by-minute measurement series. If a check is ever missed (a brief service interruption, for example), the next run fills in the missing minutes automatically, assuming they saw the same reading it sees now. Filled-in entries are labeled Backfilled in the log so you can tell them apart from real measurements.


If you have a Battery Threshold automation with a custom window that overlaps this DemandGuard window, Grid Getter shows a non-blocking warning on the DemandGuard form. Battery Threshold defers automatically during DemandGuard windows — the warning is informational only and doesn’t prevent saving.

If your Battery Threshold automation uses Outside Peak Time and DemandGuard windows mode, it automatically adapts to any DemandGuard automations you add, with no overlap concern.


If your Tesla goes offline during a demand window

Section titled “If your Tesla goes offline during a demand window”

If your Tesla connection drops while DemandGuard is active and your Powerwall is left in Self Consumption mode when the window ends, Grid Getter catches this on reconnect.

When your Tesla comes back online, Grid Getter checks whether your Powerwall is stuck in Self Consumption outside of any active demand window. If it is, Grid Getter restores the operation mode you had before the window started — Self-Powered users stay Self-Powered rather than being switched to Time-Based Control — and logs it in your Activity Log.


DemandGuard automations require a DemandGuard subscription tier. This is separate from (and in addition to) Premium.

See Subscription Tiers for pricing.