Battery timeline modal + switch to real 2025 data

Modal:
- Click any battery row to open a modal with three uPlot charts:
  irradiance (W/m²), battery SoC (kWh), net meter flow (kWh/h).
- Date picker + prev/next buttons + 1/3/7-day window selector.
- 'Battery on' toggle flips the SoC and grid charts to the
  no-battery baseline; summary numbers update accordingly.
- New /api/timeline endpoint returns the full per-hour series for
  any (battery, scenario, window).

Data:
- Re-exported prices + solar from data-vm for 2025-01-01 → 2025-09-01
  (8 months — solar coverage limit). All three signals now share
  real 2025 timestamps; no more month/day alignment fudge.
- Re-processed dad's CSV against the new window so power_w is real
  net consumption per actual hour.
- Compute_leaderboard now applies an 8766/window-hours annualisation
  factor to year-1 savings, capt kWh, throughput, and total surplus
  so payback / 10-yr net stay correct on the shorter window.
- Defaults: demand 1010 (= dad's net over 8 months, scale 1.0),
  start 2025-06-15.

Tests pass. Local run: PORT=8765 uv run python -m pluginbattery.web,
click any row.
This commit is contained in:
Michiel Berger 2026-05-01 09:21:16 +02:00
parent 10cc32ddc0
commit b39501ca21
7 changed files with 17794 additions and 26343 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff