Voor degenen die in Belgie wonen: in afwachting van de batterij heb ik deze code voor een Function Node in Node Red gevibecode:
https://pastebin.com/8QHgnP6x
Deze tracht nul-op-de-meter en peak-shaving te combineren. Het verdeelt de werking in
4 States (Toestanden):
1. Native Zelfverbruik (Default)
Zolang de batterij voldoende reservecapaciteit heeft, bemoeit Node-RED zich er niet mee. De batterij handelt het gewone huisverbruik en zonne-overschotten autonoom af. Dit minimaliseert nodeloos commandos sturen naar de batterij.
2. Peak Shaving (Noodingreep)
Dit is de kern. Het script berekent continu of we het doel-capaciteitstarief (bv. 2500W) dreigen te overschrijden in het huidige Fluvius-kwartier.
Hier zit een slim voorspellingsalgoritme in:
In de eerste minuten van een kwartier wordt het actuele verbruik gedempt met het gekende sluipverbruik (een sensor in Home Assistant die het 5e percentiel qua verbruik in het laatste half uur berekent op een manier alsof er geen batterij zou zijn). Als je in minuut 1 een waterkoker aanzet, schiet de code niet in paniek (anders zou hij onnodig batterijcapaciteit dumpen). Hoe verder in het kwartier, hoe strakker het algoritme de werkelijke cijfers volgt. Dreigt er een piek? Dan pakt Node-RED de controle en berekent exact hoeveel Watt de batterij moet ontladen om nét onder de drempel te blijven.
3. Veilig Opladen
Als de batterijreserve onder een bepaald niveau zakt (dynamisch op basis van het uur van de dag, ik heb vooral voor het avondmaal veel reservecapaciteit nodig), forceert de code de batterij om op te laden uit het net of de zon. Het algoritme berekent de "veilige laadruimte" (de marge onder je capaciteitstarief-drempel), zodat de batterij zélf nooit een nieuwe kwartierpiek veroorzaakt tijdens het laden.
4. Standby Waakhond (0W Modus)
Dit voorkomt dat de minimum reservecapaciteit (voor peakshaving) opgebruikt word door de nul-op-de-meter-modus. De batterij wordt gepauzeerd en de energie wordt "vastgehouden" totdat er ofwel Piekgevaar is, of de zon weer doorbreekt.
Beveiligingen in de code:- Anti-Spam Bouncer: Om de omvormer niet gek te maken met commando's voor 10W verschil, worden kleine schommelingen gefilterd en gebatcht per 30 seconden, behalve bvb bij grote veranderingen.
- Worst-Case Noodsignaal: Als de FSM mathematisch berekent dat de hardwarelimiet van de batterij de piek niet meer kán afvangen, stuurt het via een tweede output een notificatie (bijv. naar de HA app) zodat je menselijk kunt ingrijpen (bijv. inductiekookplaat uitzetten).
Ik heb de batterij nog niet dus het is allemaal nogal theoretisch momenteel :-)
Sommige sensors die ik ophaal met de code zijn er uiteraard nog niet bvb.