Technische Details

Hoe werkt de simulatie?

De simulatie gebruikt een day-ahead optimization strategie:

  1. Elke dag om 13:00 worden de prijzen voor de komende 35 uur bekend
  2. De optimizer berekent de optimale laad/ontlaad strategie voor deze periode
  3. Deze strategie wordt uitgevoerd tot de volgende dag om 13:00, wanneer een nieuwe planning gemaakt wordt

Optimizer Algoritme

De implementatie gebruikt MILP (Mixed Integer Linear Programming) met de HiGHS solver:

Formulering

HiGHS solver: Professionele LP/MILP solver ontwikkeld door University of Edinburgh, gecompileerd naar WebAssembly voor browser gebruik.

Deze implementatie volgt exact dezelfde MILP formulering als de originele Python implementatie met PuLP.

Efficienties

De simulatie gebruikt DC power als basis:

De totale efficiëntie is: inverter_efficiency × battery_efficiency

Prijzen

De simulator ondersteunt vier prijs modes:

1. Standaard met salderen (Tibber 2025)

Inkoop: (EPEX + €0,10154) × 1,21 + €0,0248
Teruglevering: (EPEX + €0,10154) × 1,21 + €0,0248

EPEX is in EUR/kWh. Door saldering is inkoop = teruglevering. Formule bevat energiebelasting (€0,10154/kWh), BTW (21%) en Tibber inkoopvergoeding (€0,0248/kWh).

2. Standaard zonder salderen (Tibber 2025)

Inkoop: (EPEX + €0,10154) × 1,21 + €0,0248
Teruglevering: EPEX + €0,0248/1,21

Inkoop inclusief energiebelasting, BTW en Tibber inkoopvergoeding. Teruglevering is EPEX zonder BTW plus de Tibber inkoopvergoeding zonder BTW (€0,0248/1,21 = €0,0205/kWh).

3. Kaal (EPEX zonder BTW)

Inkoop: EPEX
Teruglevering: EPEX

Puur EPEX day-ahead prijzen zonder toeslagen of BTW.

4. Geavanceerd (eigen formules)

Gebruikers kunnen eigen JavaScript formules invoeren voor inkoop en teruglevering prijzen. De variabele epex (in EUR/kWh) is beschikbaar.

Cycles Berekening

Aantal cycles wordt berekend als:

cycles = gemiddelde_doorvoer / capaciteit

Waarbij gemiddelde doorvoer = (totaal_geladen + totaal_ontladen) / 2

Een volledige cyclus = 1× capaciteit laden + 1× capaciteit ontladen

Beperkingen

Broncode

Deze implementatie is gebaseerd op een Python simulator en is volledig herschreven in JavaScript voor client-side uitvoering.

Technologieën: