Ik ben al een tijd bezig met het schrijven van software om onze thuisbatterij optimaal in te zetten. En geloof me: daar komt meer bij kijken dan je denkt.
- Hoeveel verbruiken we, en kan ik dat voorspellen? CHECK
- Hoeveel wekken de zonnepanelen op, en kan ik dat voorspellen? CHECK
- Wat zijn de kosten voor de komende periode? CHECK
- Wat is de afschrijving van de batterij bij laden en ontladen? CHECK
- Kan ik de batterij aansturen? CHECK
En toch: hoezo komt er dan nog zoveel bij kijken als je dit allemaal al op een rij hebt?
Was het maar zo simpel: laden op de goedkoopste momenten en ontladen op de duurste momenten.
Maar zelfs dat roept meteen vragen op. Hoe bepaal je eigenlijk wat de goedkoopste momenten zijn? En wanneer zijn de duurdere momenten daarna? Hoe houd je bovendien bij tegen welk tarief je hebt geladen, en wat het minimale tarief moet zijn om nog effectief te kunnen ontladen?
Het klinkt allemaal zo eenvoudig, maar zodra je het echt probeert uit te werken, krijg je al snel hoofdpijn.
En om eerlijk te zijn: ik krijg er écht hoofdpijn van. Het is stukken moeilijker dan het lijkt.
And yet…. 🙂
En het werkt heel anders dan je zou verwachten. In plaats van dat ik zelf alles uitschrijf, uitzoek en met een ingewikkeld algoritme tot deze uitkomst kom, gaat het precies andersom.
Ik geef de software de data en de spelregels, en daarna moet de software zélf de optimale uitkomst vinden.
Lineaire solver
Om dit soort optimalisaties te berekenen gebruik ik een zogeheten lineaire solver. In plaats van zelf alle mogelijkheden door te rekenen, geef ik de software de regels, de data en de grenzen.
De solver zoekt vervolgens automatisch de beste oplossing. Het voelt een beetje alsof je een schaakcomputer alle zetten laat doorrekenen:
jij geeft het bord en de regels, de computer bepaalt de optimale zet.
De uitdaging
Alleen… de hamvraag blijft: hoe weet je nu dat de uitkomst klopt, en dat er niet tóch een betere oplossing bestaat?
Goede vraag!
En ik heb (nog) geen sluitend antwoord. Mijn oplossing: testcases bouwen waarbij de meest logische uitkomst zó overduidelijk is, dat je meteen ziet of het klopt.
Met andere woorden: regressietesten!
En tot nu toe heb ik nog geen enkel gat in de lineaire solver kunnen schieten.
Excel
Dit was de oplossing waarmee mijn software gisteren kwam. Rond 14:00 uur komen de prijzen beschikbaar voor de volgende dag.
Met de randvoorwaarde van een lege batterij (20% SoC) gaf de software dit plan:
- 14:00 maximaal laden (net + PV-panelen)
- 15:00 idem
- 18:00 ontladen uit de batterij
- 19:00 ontladen uit de batterij
- etc.
Uit de laatste twee kolommen kan ik vervolgens berekenen wat de besparing is: iets meer dan één euro over anderhalve dag.
Is dat het waard? Geen idee. Ik ben nog bezig om de software uit te breiden zodat deze exercitie over een heel jaar kan worden doorgerekend. En dat brengt ook weer de nodige uitdagingen met zich mee.
Wordt vervolgd!
Waarom afschrijven?
Wel inkopen op goedkoop tarief.
Overschot verkopen ‘s avonds of volgende ochtend piek.
Inkoop om direct verbruik te dekken is geen verlies, gebruik van PV en accu wel winst.
Tenminste, zo rekent mijn Thuisbatterij.
https://services.tenergy.nl/public.aspx/actualimbalanceprices
Heb je hier misschien iets aan? Geeft mooi en een snel inzicht in de onbalansprijzen.
wat heb je als burger en domme hollander te maken met onbalans prijzen, dus terugleverkosten ? het is toch iets waar je voor betaald netbeheer en leveranciers kosten, en bijvoorbeeld bij water ook niet. (iedereen douched smorgens) het is een aangepraat probleem en lobby, danwel verdienmodel. mijn leverancier doet er niet aan. hoera.
verander de woorden en zie hoe gek het eigenlijk is.
hoe heeft het zover kunnen komen dat we dat nu normaal vinden. personeelsgebrek in een garage, geeft ook geen extra dure beurt voor je fossiele rokende ros.
dit heeft het huidige kabinet dus wel bereikt, helaas.
totaal kansloos.
wat heb je als burger en domme hollander te maken met onbalans prijzen, dus terugleverkosten ? het is toch iets waar je voor betaald netbeheer en leveranciers kosten, en bijvoorbeeld bij water ook niet. (iedereen douched smorgens) het is een aangepraat probleem en lobby, danwel verdienmodel. mijn leverancier doet er niet aan. hoera.
verander de woorden en zie hoe gek het eigenlijk is.
hoe heeft het zover kunnen komen dat we dat nu normaal vinden. personeelsgebrek in een garage, geeft ook geen extra dure beurt voor je fossiele rokende ros.
dit heeft het huidige kabinet dus wel bereikt, helaas.
totaal kansloos.