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.
This commit is contained in:
Michiel Berger 2026-04-30 13:46:27 +02:00
commit 60e0706736
29 changed files with 30358 additions and 0 deletions

26
.gitignore vendored Normal file
View file

@ -0,0 +1,26 @@
.env
__pycache__/
*.pyc
.venv/
venv/
dist/
build/
*.egg-info/
.pytest_cache/
.ruff_cache/
.mypy_cache/
.ipynb_checkpoints/
# Downloaded historical data — large, regenerable, not for git.
# Negations only work against patterns matching the file (not the parent dir),
# so we ignore *contents* and selectively re-include the small runtime files.
data/raw/*
data/processed/*
!data/raw/prices_hourly.csv
!data/raw/p1_hourly.csv
!data/raw/solar_hourly.csv
!data/raw/thuisbatterijgids_catalog.csv
!data/raw/thuisbatterijgids_catalog.json
.DS_Store