Free and Premium
What each plan includes
The free plan schedules your Powerwall by time. Premium adds conditions — automations that check what your system is actually doing before they act, or that just tell you about it.
Free no account cost
- 4 schedules per site by default
- Schedule by time of day, weekday, or month
- Set backup reserve
- Switch operation mode
- Turn grid charging on or off
- Change energy export rules
- Enable or disable Storm Watch
- Push notification when a schedule runs
Premium everything in Free, plus
- 10 schedules per site by default
- Conditions on battery level, battery power, solar, home load, grid flow, and whether the grid is up
- Alerts that notify you without changing any setting
- Time windows, so a condition is only watched when it matters
- Webhooks to Home Assistant, IFTTT, or your own endpoint, at any public HTTPS address
Real setups
Automations people actually run
Drawn from live EnergyPilot accounts, with names and locations removed. Among Premium schedules the most common pattern is not automation at all — it is being told something happened.
-
Warn me before I hit a demand charge
PremiumUtilities that bill on peak demand punish a single short spike. During the expensive hours, EnergyPilot checks grid import every minute and pushes the first time it finds the house above the threshold — while there is still time to turn something off. It is looking at the level, not waiting for a crossing, so if you are already over 3 kW when the window opens it tells you straight away.
When: weekdays, May–October, 14:00–20:00
Condition: grid power above 3 kW
Action: notify only — nothing is changed -
The same warning, on winter hours
PremiumPeak windows move with the season, so this is the winter twin of the automation above. Two schedules, each with its own months and hours, rather than one compromise.
When: weekdays, November–April, 17:00–21:00
Condition: grid power at or above 3 kW
Action: notify only -
Switch to self-powered before peak pricing
FreeA plain time-based schedule, run every weekday through the expensive months. It empties the reserve so the battery is free to cover the house, and turns Storm Watch off so it cannot refill from the grid at the worst possible hour.
When: weekdays, May–October, 14:00
Actions: backup reserve to 0%, mode to Self-Powered, Storm Watch off -
Tell me once the panels are producing
PremiumA single alert on the morning of a working solar day, so you know when it is worth running the dishwasher, the dryer, or the car charger. Give it a daytime window rather than leaving it open all day — a condition is checked against the level at the time, so an all-day "solar below 2 kW" alert is satisfied in the dark as easily as at dusk.
When: a morning window, e.g. 08:00–12:00
Condition: solar power at or above 1 kW
Action: notify only — fires once per window -
Top up overnight, but only if the battery needs it
PremiumWatched through a late-night window: if the battery stays well charged, nothing happens and no cheap-rate grid power is bought for no reason. If it drops below the threshold at any point in that window, the reserve is raised and grid charging is switched on to carry the house through the morning — once, then it rests until tomorrow night.
When: late evening, seasonal months only
Condition: battery below 60%
Actions: backup reserve to 60%, mode to Self-Powered, grid charging on -
Free the battery up when the house is quiet
PremiumTwo conditions rather than one, to cut down on false alarms — low household draw and little coming in from the grid. Both are read at the same moment and there is no test for how long the house has been quiet, so a long enough gap between appliances can still satisfy them. Note the sign: grid power is positive when you are importing and negative when you are exporting, so "below 200 W" is also true while you are sending a lot back to the grid. Then the reserve drops and the battery is free to do the work.
Conditions: home load below 2 kW and grid power below 200 W
Action: backup reserve to 20% -
Keep it near full for outage season
PremiumFor people whose priority is riding out a cut rather than shaving a bill. With no end time it is armed all day, so the battery level is watched every minute; the first time it is under 90% the reserve goes to full and grid charging is allowed to bring it back. That top-up happens once a day, not continuously — give it a time window if you would rather it only watched during certain hours.
Condition: battery below 90%, watched while armed
Actions: backup reserve to 100%, mode to Self-Powered, grid charging on -
Hand the event to Home Assistant
PremiumWhen an automation runs, EnergyPilot can POST the details to a URL you supply — battery level, solar, grid flow, and what was changed. Home Assistant, IFTTT, and anything else that accepts a web request can take it from there: start the immersion heater, flip a smart plug, log it to a spreadsheet.
The address has to be reachable from the internet over HTTPS. Plain HTTP is refused, and so are addresses that only exist on your own network — a local Home Assistant at
homeassistant.localor a private IP will be rejected when you save it. Use whatever public HTTPS address you already reach that instance on.Action: webhook to a public HTTPS endpoint, alongside any Powerwall changes
How to build one
Setting up your first automation
- Open the Automation tab and switch to Schedule, then tap + New.
- Name it something you will recognise in a push notification six months from now.
- Pick when it runs — a time of day, the weekdays it applies to, and optionally the months. Seasonal automations are usually two schedules, not one.
- Choose what it does. Backup reserve, operation mode, grid charging, export rules, or Storm Watch — and a webhook, if you are on Premium. One schedule can carry several actions at once.
- Add conditions, if you want them (Premium). Battery power, solar, home load and grid flow are all in watts, and battery power is signed the way Tesla reports it — negative while the pack is charging — so mind the direction when you pick a comparison. A condition turns "do this at 2pm" into "while this schedule is armed, do it as soon as the battery is below 60%". The condition is re-checked every minute throughout the armed period and acts at most once per occurrence. Give it an end time and it watches only [start, end). Leave the end time off and the start time is ignored altogether: it is armed from midnight to midnight on every matching day, so a schedule set for 14:00 can act at 3am. That is rarely what anyone wants, so set an end time.
- Or make it notify-only (Premium) — no settings change, just a push when the condition is met. This is what most people end up using.
Schedules run in your Powerwall's own timezone, on EnergyPilot's servers — your phone does not need to be awake, or nearby, or even switched on.