Powerwall automation without running Home Assistant
Home Assistant is the usual answer when a Powerwall owner wants more than the Tesla app offers: a small server in a cupboard, an integration or two, and automations that fill the battery on cheap slots and hold it for the peak. It works. It also costs you a server to keep running, a Tesla connection to keep alive, and an evening now and then to put things back after an update. SunHarvest is the same idea for the Powerwall alone, with the server somebody else's problem. This article sets out what each does, what running your own costs in time rather than money, how the two map onto each other, and where Home Assistant is still the right tool.
What people use Home Assistant for with a Powerwall
The Tesla app has settings but no "if". Time-Based Control follows a fixed set of windows, the reserve is a number you change by hand, and nothing in the app looks at tomorrow's weather or today's prices. Home Assistant adds the "if". A typical set-up pulls in a Tesla integration for control, the local gateway integration for live readings, an Octopus integration for prices, a solar forecast integration and a weather one, and then writes automations across them: fill when Agile drops below a threshold, skip the overnight fill when tomorrow looks sunny, raise the reserve when a storm is forecast, stop the battery draining into the car while it charges. Each automation is a trigger, some conditions and some actions, written in the visual editor or in YAML, and the whole thing runs on hardware you own.
For the people who enjoy it, that is a hobby with a payback. For everyone else it is the only way they knew to get the battery doing the obvious thing, and the point of this article is that it is no longer the only way.
What running it really costs
None of the following is a criticism of Home Assistant, which is excellent software. It is what owning a server means.
- The box. A Raspberry Pi, a small PC or a virtual machine, powered and online around the clock, with backups you have tested, storage that wears out, and an operating system that ships a new release every month.
- The integrations. The community ones that make a Powerwall set-up useful update on their own cycles, and a renamed entity or a changed API quietly stops an automation that was working last week. Nobody tells you; the battery just does something else one evening.
- The Tesla connection. Since Tesla moved third-party access to its Fleet API, controlling a Powerwall from your own software means registering an application with Tesla, with the hosting and pairing steps that go with it. Tesla does not charge for the energy side of the API, but the registration is yours to do and to keep working, and many Home Assistant users end up paying a third-party relay service just for this part.
- Reaching it from outside. A VPN, a reverse proxy you have secured yourself, or a paid cloud subscription, so that the thing you built to save money on the battery can be checked from work.
- The evenings. Monitoring your own monitoring. An update that breaks the price feed at 11 pm in January is yours to fix, and the rules you wrote in March are the rules you have to remember in November.
The same abilities, hosted
SunHarvest is a service rather than a server. You sign in with your Tesla account once and SunHarvest holds the Fleet API registration, the keys, the polling, the retries and the updates. There is nothing to install at home, and the same account works in the phone app and on the web.
The automation model is the one Home Assistant users already know. A rule has one trigger: a value crossing a threshold, with an optional "sustained for" so a blip does not fire it; a state changing; the clock; or sunrise and sunset plus or minus some minutes. It has any number of conditions on values, states, the time of day or the month. It has actions that run in order: set the reserve, the mode, Storm Watch, grid charging or the export rule, apply a tariff preset, push your real prices to the Powerwall, or force a charge or an export until a time. Rules have a cooldown and a priority, read back as a plain sentence, and can be duplicated and grouped so a whole strategy switches with one press.
The signals are where the difference shows. Everything Home Assistant would need five integrations and some template code for is already there to trigger on or check: the live Tesla readings and settings; today's and yesterday's energy; tariff prices now, their averages, where the current price ranks in the day, and the cheapest and dearest slots in the next few hours; the weather now; the forecast, including solar remaining today and tomorrow, cloud, rain, wind and temperature; the expected use of the house, learned from its own history; the sun's elevation and the day's length; and EV charging, once a charger is linked. A rule like "when solar tomorrow is below the house's expected use, fill in the cheap window" is one line, and when grid charging pays is the thinking behind it.
Three things come from running the Powerwall as a product rather than a project. A rule can be told to fire "and keep it that way", so that when the Tesla app, or another hub, undoes a setting, SunHarvest puts it back. Force charge and force export are single actions that write a near-free or a huge price over the real tariff and restore everything at the time you set, which in Home Assistant is a script with a tariff rewrite and a second script to undo it. And every change to the Powerwall, by SunHarvest, by you, by the Tesla app or by something else, lands in the Recent changes list with its source, so when the battery did something odd you can see who asked for it.
A translation table
| In Home Assistant | In SunHarvest |
|---|---|
| Numeric state trigger, with a "for" duration | A threshold trigger, sustained for N minutes |
| State trigger | A state change trigger, such as grid status |
| Time and sun triggers | The clock on chosen days; sunrise or sunset plus or minus minutes |
| Conditions | "Only if" rows on values, states, time of day and month |
| Service calls on the Tesla integration | Actions: reserve, mode, Storm Watch, grid charging, export rule, tariff preset |
| A script that rewrites the tariff, waits and restores it | Force charge or force export until a time |
| Automations switched on and off, and areas | Rule switches and rule groups, with "Only this" to swap strategies |
| Octopus, solar forecast and weather integrations | Built-in signals, kept running for you |
| The logbook | Recent changes, with changes made elsewhere marked as external |
| A long template that scores tomorrow | AI mode, which plans the day from the forecast and the prices |
Where Home Assistant still wins
Everything that is not the Powerwall. Lights, heating, the heat pump, the immersion, starting and stopping the car's charger: SunHarvest reads a charger but never drives it, and it does not talk to a heat pump at all. If the battery is one device among thirty in a house you automate, Home Assistant is the right centre for it and SunHarvest is a specialist beside it. Home Assistant also works with the internet down, reading the gateway on your own network, where SunHarvest reads the Powerwall through Tesla's cloud as the Tesla app does. It is free software, your data stays on your hardware, and there is no limit to what you can bolt on; long chains of delays and notifications are its territory, and a SunHarvest rule has one trigger. And a home can run both. Let one of them own the Powerwall's settings, keep the other reading, and the Recent changes list will show you which did what.
The question is only who runs the server. If the answer is "happily, me", nothing here changes that. If the answer is "I would rather the battery just did the sensible thing", the abilities you built a server for are now a sign-in away, and Cosy with a battery shows what a full rule set looks like once they are.
In SunHarvest
Rules live under Control › Rules on the free plan, with the full signal catalogue and the editor that reads each rule back as a sentence; the rules guide has the mechanics and a page of rules people actually write. The demo on the website lets you build rules against a sample home before signing in. Linking your Tesla account is one sign-in through Tesla's own page, and SunHarvest keeps the connection alive from then on. The forecast, price and expected-use signals need nothing from you: the solar forecast comes from your site's location and arrays, the prices from the Octopus feed or the preset you enter, and the expected use from the history SunHarvest records. AI mode, on Pro, is the step beyond rules: a plan twice a day from the same signals, with your own rules as the fallback the moment it is switched off.
Home Assistant is an open-source project of the Open Home Foundation; its features, and Tesla's developer terms, are described as they stood in October 2026 and change. SunHarvest is not affiliated with either.