Page Spec - Battery Simulation Tool
Version: 0.3.0
Date: 2026-03-08
Status: Active prototype
1. Page Goal
Allow a user to upload energy data, configure a hypothetical battery, run one simulation, and inspect the result through KPIs and interactive charts.
2. Page Sections
2.1 Intro
- title
- short explanation
- privacy/local-processing note
- clear statement that results are indicative
2.2 Upload Section
- CSV upload input
- parse status
- detected column list
- visible combined-mapping state when HomeWizard tariff columns are auto-summed
- fallback mapping controls when needed
- local-processing/privacy note
2.3 Battery Settings
Basic settings:
- capacity
- charge power
- discharge power
- round-trip efficiency
- min/max usable SOC
- initial SOC
- import tariff
- export tariff
- acquisition cost
Each setting should provide a concise inline ? tooltip with a short explanation.
Advanced settings:
- reserve capacity
- grid charging permission
2.4 Run Action
- one clear
Run simulationbutton - run action placed near the top of the settings card for fast iteration
- loading/progress state while parsing or calculating
- relevant field changes should auto-rerun the current analysis
2.5 KPI Summary
- compact cards with key outputs
- without-battery versus with-battery values
- pricing-basis label
- indicative payback result when acquisition cost is filled
2.6 Charts
Recommended MVP chart set:
- time-series chart for net import/export behavior
- time-series chart for battery charge/discharge energy
- time-series chart for cumulative charged/discharged battery energy
- time-series chart for battery SOC
- 15-minute bar chart for battery SOC as a
0to100%view - capacity-versus-savings chart for
0to30 kWhdirectly below the KPI summary - aggregated day comparison chart
2.7 Export Section
- export summary JSON
- export summary CSV
2.8 Assumptions / Disclaimer
- manual pricing basis
- indicative result warning
- note on unsupported edge cases or missing columns
3. Interaction Rules
- the user should understand validation failures without opening the console
- the bundled sample should present a completed valid result state on first load
- results should refresh automatically after valid mapping or setting changes
- charts should update from the current scenario only
- the time-based charts should share the same visible time window when the user zooms or pans one of them
- the page should remain usable on desktop-first layouts and acceptable on tablets
- the tool should not expose advanced options by default unless they are implemented