URS - Battery Simulation Tool
Version: 0.3.0
Date: 2026-03-08
Status: Active prototype
1. Purpose
This document captures the user requirements for a static-site battery simulation tool that estimates how a home battery could have performed on historical household energy data.
The tool must run locally in the browser for the core workflow.
2. MVP Scope
In scope:
- upload and parse one HomeWizard-oriented CSV workflow
- detect and map the minimum required columns
- configure one battery scenario
- simulate battery behavior per 15-minute interval
- show a compact KPI summary and a limited chart set
- estimate indicative savings from manual import/export prices
Out of scope for MVP:
- live device integration
- cloud storage
- guaranteed savings predictions
- advanced degradation modeling
- external price APIs
- multiple scenario comparison
- user preset storage
- advanced strategy modes such as peak shaving optimization
3. Primary User
A household user who wants to evaluate whether a home battery might have reduced grid import/export and improved self-consumption, based on historical data.
4. Functional Requirements
4.1 CSV Upload and Mapping
FR-001The system shall allow the user to upload a CSV file from a local device.FR-002The system shall parse the uploaded CSV in the browser.FR-003The system shall attempt to detect relevant columns, including timestamp, import, export, and tariff-related fields where present.FR-004The system shall show which columns were detected.FR-005The system shall warn the user when required fields are missing or ambiguous.FR-006The system shall allow manual column mapping when automatic detection is insufficient.FR-007The system shall support at least one year of 15-minute interval data in the browser.FR-008The MVP shall support a common HomeWizard-oriented CSV structure with cumulative import/export meter columns, including multiple tariff columns that must be combined into one total import/export series.FR-009The MVP may ignore per-phase behavior for simulation decisions, provided the total connection-level import/export result is used.
4.2 Battery Inputs
FR-010The system shall provide user-configurable battery parameters.FR-011The system shall allow the user to enter battery capacity in kWh.FR-012The system shall allow the user to enter maximum charging power in kW.FR-013The system shall allow the user to enter maximum discharging power in kW.FR-014The system shall allow the user to enter efficiency assumptions.FR-015The system shall allow the user to define minimum and maximum usable state of charge.FR-016The system shall allow the user to define initial state of charge.FR-017The system shall allow the user to choose whether charging from the grid is allowed.FR-018The system shall allow the user to reserve part of the battery capacity from use.FR-019The interface shall clearly separate basic inputs from any advanced inputs.FR-020The interface shall provide concise inline help for battery settings.FR-021The system shall allow the user to enter an indicative acquisition cost for the battery setup.FR-022After a valid dataset is loaded, the prototype shall rerun when relevant inputs change.
4.3 Simulation Logic
FR-030The system shall simulate battery behavior for each 15-minute interval.FR-031The system shall calculate surplus and deficit energy per interval from the total connection result, not from individual phases.FR-032The system shall apply charging limits based on battery space, power limits, and efficiencies.FR-033The system shall apply discharging limits based on available battery energy, power limits, efficiencies, and state-of-charge boundaries.FR-034The system shall update the battery state of charge after every interval.FR-035The system shall calculate resulting grid import and grid export after battery action.FR-036The system shall retain the baseline case without battery for comparison.FR-037The system shall produce identical results for identical inputs and datasets.FR-038The MVP shall simulate one scenario at a time.
4.4 Financial Summary
FR-040The system shall calculate estimated electricity cost without battery.FR-041The system shall calculate estimated electricity cost with battery.FR-042The system shall calculate avoided import costs.FR-043The system shall calculate reduced or deferred export/feed-in revenue.FR-044The system shall calculate net estimated savings from user-entered prices.FR-045The system shall clearly indicate which pricing basis is used.FR-046The MVP shall use manual pricing only.FR-047The system shall estimate an indicative payback period when acquisition cost and positive annualized savings are available.
4.5 Visualization and Output
FR-060The system shall present outputs as interactive plots.FR-061The system shall support zooming, panning, and hover inspection.FR-062The system shall show at least:- battery state of charge over time
- cumulative charged/discharged battery energy over time
- grid import/export or net exchange over time
- indicative savings versus battery capacity from
0to30 kWh - a baseline versus simulated comparison view
FR-063The system shall show summary metrics for import, export, battery charged/discharged energy, savings, and self-consumption improvement.FR-064The system shall support aggregated daily or monthly summaries for at least one output view.FR-065The system shall allow export of key result summaries as CSV or JSON.FR-066The MVP shall limit the default chart set to 2 or 3 charts.
4.6 Privacy
FR-080The system shall process the uploaded CSV locally in the browser for the base simulation.FR-081The system shall clearly indicate that uploaded usage data is not sent to the server in normal operation.FR-082The system shall not require user registration.
5. Non-Functional Requirements
NFR-001The system shall remain deployable as a static website.NFR-002The system shall remain usable with annual 15-minute datasets in a modern desktop browser.NFR-003The interface shall be understandable for non-technical users.NFR-004The interface shall separate basic settings from advanced settings when advanced options exist.NFR-005The simulation shall validate inputs and fail gracefully on incomplete or inconsistent CSV data.NFR-006The tool shall clearly communicate assumptions and limitations.NFR-007The solution should be modular so parser, simulation, KPI, and visualization logic can evolve independently.NFR-008The page should remain desktop-first, with acceptable use on tablets.
6. Acceptance Criteria
The first release is acceptable when:
- A user can upload a HomeWizard-oriented CSV file.
- The tool can detect or map the required columns.
- The user can configure core battery size, power, efficiency, and state-of-charge limits.
- The simulation runs fully in the browser.
- The tool shows KPI cards and interactive charts.
- The tool calculates an indicative savings result using manual import/export pricing.
- The page clearly states that the result is indicative and not a real-world guarantee.
- The MVP remains limited to one scenario and one reliable CSV-oriented flow.
7. Post-MVP Direction
After the MVP is proven useful, later phases may add:
- multiple scenario comparison
- local presets
- external dynamic price integration
- richer aggregation modes
- smarter strategy modes