Commit graph

6 commits

Author SHA1 Message Date
Michiel Berger
10cc32ddc0 timeline: label columns 'no-bat meter' / 'with-bat meter' to avoid confusion 2026-04-30 22:47:59 +02:00
Michiel Berger
2f05a40d40 Add timeline inspector — print hour-by-hour LP schedule for any week 2026-04-30 22:37:05 +02:00
Michiel Berger
91ea434912 Use dad's real P1 data; add export-rate input for terugleveringskosten
- scripts/import_dad_p1.py converts his 15-min cumulative meter dump
  (~/Downloads/P1e-2025-1-1-2026-1-1.csv) into our hourly format.
  Net of PV exports — power_w can be negative on surplus hours.
  Aligned to our 2023-09 → 2024-09 window by (month, day, hour) so
  prices and irradiance stay seasonally matched.
- data/raw/p1_hourly.csv is now dad's data; ours preserved as
  p1_hourly_michiel.csv for diff/comparison.
- LP gE upper bound was 'pv[t]'; now max(0, pv − demand). This was
  wrong before but invisible because demand was always positive; with
  dad's net data demand goes negative and the LP went infeasible.
- New 'Export rate' field in Advanced. Override saldering toggle with
  a literal €/kWh — set to −0.106 for terugleveringskosten.
2026-04-30 21:07:49 +02:00
Michiel Berger
fa7a205eb7 deploy.sh: auto-refresh SSH host key when h4a recreates the VM 2026-04-30 15:02:47 +02:00
Michiel Berger
1d7574e0b2 Add plug-in-only filter to web app + deploy script
- Checkbox 'plug-in only (≤ 0.8 kW, no electrician)' filters the leaderboard
  client-side and re-picks the top recommendation from visible rows.
  Filter state is persisted in localStorage.
- scripts/deploy.sh: idempotent rsync + systemd setup against the
  'thuisbatterij' SSH alias. Run after provisioning the h4a workload.
2026-04-30 14:58:52 +02:00
Michiel Berger
60e0706736 Initial import: home-battery ROI simulator + cracked thuisbatterijgids calc
- Hourly data exporter (InfluxDB → CSV) for prices, P1, irradiance.
- LP-based 24h-foresight oracle dispatch with SoC-consistent state engine.
- Reverse-engineered thuisbatterijgids.nl formula (matches their quotes
  to within €0.50 across three battery configs).
- Catalog scraper for the 52 batteries on thuisbatterijgids.net via their
  /wp-json REST endpoint.
- Web app (Flask) that ranks every catalog battery by honest payback and
  contrasts with the store's quote, deployable via the included Procfile.
2026-04-30 13:46:27 +02:00