Battery Calculator logo

Battery Calculator

Solar Manager & Home Assistant energy analysis
📂 Upload Energy Data
⬆️

Drop one or more CSV files here or browse

Supports Solar Manager, Home Assistant, and generic Standard CSV exports (timestamp + production_kwh/consumption_kwh, or production_w/consumption_w) · Multiple files are merged automatically

What does the Standard CSV need to look like?

For any other data source, export a CSV with a timestamp column plus either summed energy or instantaneous power for production and consumption. One row = one interval; any interval length works, from minutes to a full day.

Energy per interval (kWh) — used as-is:

timestamp,production_kwh,consumption_kwh
2026-06-01T00:00:00,0.000,0.120
2026-06-01T00:15:00,0.050,0.115

Or instantaneous power (W) — converted to kWh automatically using the gap between timestamps:

timestamp,production_w,consumption_w
2026-06-01T00:00:00,0,480
2026-06-01T00:15:00,200,470

Optionally add battery_soc_pct (0–100), and battery charge/discharge as either battery_charge_kwh/battery_discharge_kwh or battery_charge_w/battery_discharge_w — independent of the unit used for production/consumption.

Download a working example: example_energy.csv (kWh) · example_power.csv (W, with battery)

📊 Production, Consumption & Battery
Solar Production
kWh
Consumption
kWh
Direct Self-use
kWh
Grid Import
kWh
Grid Export
kWh
🔋 Battery Calculator
Battery Size Self-Sufficiency Self-Consumption Grid Savings Annual Savings Purchase Cost Payback Period
How is the recommendation calculated?

Each battery size is simulated over the selected dataset. For every 5-minute interval the calculator charges the battery from surplus solar, discharges it to cover consumption, and tracks grid import/export — applying the configured round-trip efficiency.

The recommended size is the smallest battery where each additional kWh yields less than 3 percentage points of extra self-sufficiency. Beyond that threshold the curve flattens and the marginal benefit no longer justifies the extra capacity.

Annual savings are calculated as:
(reduced grid import × electricity price) − (lost feed-in export × feed-in tariff)
and are scaled to a full year if the dataset covers less than 365 days.

The purchase cost per size is battery cost (CHF/kWh) × size, and the payback period is that cost divided by the annual savings. A payback within the assumed 15-year battery lifetime is shown in green; a longer or non-existent payback is shown in red — a sign the battery may not be worth it financially even if it improves self-sufficiency.