Settings
1 · Your data
Drop usage CSV here, or click
Octopus half-hourly electricity export
Drop gas CSV here, or click
2 · Current tariff
Use this if your export has no cost column, or to test a future price rise.
3 · Tariff to compare
4 · Battery & inverter
Min charge is the discharge floor — the bottom slice the battery
never dips below (makers typically say 10%).
Battery cost ÷ (cycles × usable kWh) is charged to every plan as wear on each
kWh stored, so trades thinner than the wear are skipped. Fogstar quote 8,000 cycles at 91%
depth for the 32 kWh pack; a cautious planning figure is half that.
Export current lifts your terminals by I·Z until the 253 V statutory cap
(230 V +10%): I = (253 − V)/Z, export = 253·I. Ze is on an
EICR, or an electrician's loop tester reads it. This is the physics ceiling — a G99 study
shares the same headroom with your neighbours, so the DNO may grant less.
Leave the import cap blank to let grid import be house load plus battery charge.
Price rise feeds time-to-payback (0 hides it). Lifespan gives the return over the
battery's life (blank hides it); a cycle life that runs out sooner at the run's cycling rate cuts it short.
5 · Strategy
Set 0 to charge only when prices are negative or free.
Planner options
Defaults are the shipped planner. "Known schedule" is hindsight on Agile,
whose prices really are unknown before 16:00.
6 · Heat pump
Gas kWh → useful heat (× efficiency) → electricity (÷ COP).
7 · Solar
No site yet. Irradiance comes from the UK Met Office 2 km model via
Open-Meteo for this postcode; forecasts are the day-ahead values as they were issued.
Your CSV is kept in this browser’s own storage so you don’t have to
re-upload it — it never leaves your machine.
Result
Day explorer
grid import
battery discharge
export
solar
Whole day
import price
export price
state of charge (hover for the plan's)
house load
solar (dashed = day-ahead forecast)
Monthly
Start by dropping in your usage CSV
Download your half-hourly electricity data from Octopus, then drop the CSV on the left. Rates are fetched live from the public Octopus API for whichever region and tariff you pick, and cached in your browser. Nothing is uploaded anywhere — the whole simulation runs in this page.
What the model assumes
- Capacity is usable kWh; round-trip loss applies on charge, so storing 32 kWh imports 32/0.9 = 35.6 kWh.
- Inverter power caps charge and discharge per half-hour; discharge to load and to export share that cap.
- One cycle per day: all charging precedes all discharging, and everything charged is discharged the same day.
- Perfect foresight of each day's prices — realistic on Agile, which publishes day-ahead.
- Your consumption is assumed unchanged by the tariff switch.