commit 3f67c537a81cea1ce8b7443c3500c29217690173 Author: Martien Date: Fri May 29 11:43:59 2026 +0200 Initial commit: thuisbatterij arbitrage rekentool met README Co-Authored-By: Claude Opus 4.7 (1M context) diff --git a/README.md b/README.md new file mode 100644 index 0000000..d23e628 --- /dev/null +++ b/README.md @@ -0,0 +1,78 @@ +# Thuisbatterij arbitrage rekentool + +Een rekentool waarmee je kunt uitrekenen of het loont om een thuisbatterij in te zetten voor arbitrage op de dynamische stroomprijs. De tool haalt actuele en historische EPEX prijzen op via [energyzero.nl](https://www.energyzero.nl) en vergelijkt vijf strategieën op basis van jouw parameters (capaciteit, vermogen, rendement, aanschafprijs, energiebelasting, terugleververgoeding, etc.). + +De app draait volledig in de browser. Er is **geen server, geen tracking, geen account**. Je instellingen worden lokaal opgeslagen in `localStorage`. + +## Vereisten + +- Een moderne browser (Chrome, Edge, Firefox, Safari — laatste twee versies) +- Internetverbinding (voor de Tailwind/Chart.js CDN en voor het ophalen van EPEX prijzen) + +Er is **geen build stap, geen Node.js, geen package manager** nodig. Het hele project is één `index.html`. + +## Gebruik op macOS + +1. Open Terminal. +2. Clone de repository: + ```bash + git clone https://git.martien.io/Martien/thuisaccu-calculator.git + cd thuisaccu-calculator + ``` +3. Open `index.html` direct in je browser: + ```bash + open index.html + ``` + +### Optioneel: serveren via een lokale webserver + +Als je liever via `http://localhost` draait (bijvoorbeeld om CORS-gedrag realistisch te testen), kun je een ingebouwde webserver gebruiken: + +```bash +# Python 3 (voorgeïnstalleerd op macOS) +python3 -m http.server 8000 +``` + +Open daarna [http://localhost:8000](http://localhost:8000) in je browser. + +## Gebruik op Windows + +1. Open PowerShell of Command Prompt. +2. Clone de repository: + ```powershell + git clone https://git.martien.io/Martien/thuisaccu-calculator.git + cd thuisaccu-calculator + ``` +3. Open `index.html` direct in je browser: + ```powershell + start index.html + ``` + + Of dubbelklik op het bestand in Verkenner. + +### Optioneel: serveren via een lokale webserver + +```powershell +# Python 3 (installeer via https://www.python.org als nodig) +python -m http.server 8000 +``` + +Open daarna [http://localhost:8000](http://localhost:8000) in je browser. + +## Functionaliteit + +- **Parameters**: capaciteit (kWh), laad/ontlaad vermogen (kW), round-trip rendement (%), aanschafprijs (EUR), levensduur in cycli, energiebelasting, BTW, terugleververgoeding. +- **Strategievergelijker**: vijf strategieën worden naast elkaar getoond met saldo per kWh (winst/verlies na alle kosten en verliezen). +- **EPEX dag-strategie**: haalt de prijscurve van vandaag op en berekent het potentiële arbitrage rendement. +- **30-dagen historische analyse**: haalt de afgelopen 30 dagen EPEX prijzen op om te zien hoe vaak arbitrage in die periode zou hebben geloond. +- **Light/Dark mode**: volgt standaard je systeemvoorkeur, kan via de knop in de header worden gewijzigd. + +## Data en privacy + +- Alle parameters en instellingen worden opgeslagen in `localStorage` onder de sleutel `thuisbatterij_*`. +- Wis je browser-storage om de app te resetten naar standaardwaarden. +- EPEX prijzen worden direct vanuit je browser opgehaald bij `api.energyzero.nl` — er gaat niets via een tussenliggende server. + +## Licentie + +Geen licentie gespecificeerd — neem contact op met de auteur voor hergebruik buiten persoonlijk gebruik. diff --git a/index.html b/index.html new file mode 100644 index 0000000..8c7b99d --- /dev/null +++ b/index.html @@ -0,0 +1,1782 @@ + + + + + + Thuisbatterij arbitrage rekentool + + + + + + + + + + + + + + +
+
+
+
B
+
+

Thuisbatterij arbitrage rekentool

+ +
+
+
+ + +
+
+
+ +
+ + +
+ + + + + +
+ + +
+
+
+ Slijtkosten per kWh + ? +
+
EUR 0,0000
+
per kWh die door de batterij gaat
+
+ +
+
+ Prijsverschil dag + ? +
+
EUR 0,000
+
hoog - laag
+
+ +
+
+ Bruikbaar per cyclus + ? +
+
0,00 kWh
+
per laad-ontlaad cyclus
+
+
+ + +
+ +
+

Detailtabel break-even prijzen

+

Voor verschillende lage marktprijzen toont deze tabel wat de hoge prijs minimaal moet zijn om winst te maken

+
+
+ rendabel + marginaal + verlies +
+
+
+ + + + + + + + + + + + +
Lage prijs (kaal)Min verkoop voor winstVerschil% van inkoopMin piek consumerPV opslag rendabel?
+
+
+ + +
+
+

Welke strategie loont nu?

+

Vijf manieren om met je batterij te handelen, op basis van je huidige parameters. Het saldo per kWh is wat je netto overhoudt na alle kosten en verliezen. Groen is winst, rood is verlies.

+
+ + +
+
+
+ +

Heb ik PV-overschot, wat doe ik ermee?

+
+ Beste keuze per kWh PV +
+
+
+ + +
+
+
+ +

Geen zon, loont het om in te kopen?

+
+ Beste keuze per kWh ingekocht +
+
+
+ +
+ + Hoe lees ik dit? + +
+

Saldo per kWh is wat je netto overhoudt nadat je de inkoopkosten of gemiste teruglever vergoeding hebt afgetrokken, en de slijtkosten van de batterij hebt meegenomen. Positief saldo = winst, negatief = verlies.

+

Bovenste kader gaat over PV-overschot: je hebt gratis zonne-energie en moet kiezen wat je ermee doet. Hier is "Direct terugleveren" je gratis alternatief, dus de andere keuzes moeten daar overheen.

+

Onderste kader gaat over inkopen uit het net (geen zon). Dit is alleen rendabel als het prijsverschil groot genoeg is om belasting, BTW, rendementsverlies en slijtkosten te overwinnen.

+

Tip: verschuif de Lage en Hoge marktprijs sliders om te zien wanneer een strategie omslaat van rood naar groen. Of haal echte EPEX data op via de knop onderaan, dan vullen die prijzen zich automatisch.

+
+
+
+ + +
+
+
+

Minimaal benodigde verkoopprijs + ? +

+ EUR / kWh +
+
+
+ +
+
+

Opbouw van de kostprijs + ? +

+ bij lage marktprijs +
+
+
+ +
+
+

Terugverdiend van de aanschaf + ? +

+ over levensduur, verschil EUR 0,15 +
+
+
+ +
+
+

Van kale prijs naar werkelijke kostprijs + ? +

+ opbouw stack +
+
+
+
+
+
+ + +
+
+

Scenario vergelijker

+

Bij spread EUR 0,15 per kWh doorzet

+
+
+
+ + +
+
+
+

EPEX dag-strategie

+

Live prijzen via EnergyZero, optimale laad en ontlaad uren

+
+
+ +
+
+ + + + +
+ + +
+
+
+

30-dagen historische analyse

+

Hoe vaak was er voldoende spread in de afgelopen maand?

+
+ +
+ + + + + + +
+ +
+ Gegevens worden lokaal opgeslagen in je browser. Geen server, geen tracking. +
+ +
+ + + +