Hallo,
Ich habe mithilfe von ChatGPT einen Flow erstellt der das Laden auf die Zeit verlegt mit hohem PV Ertrag. Also vorrangiges Laden zur Mittagszeit. Der Flow läuft bei mir zuverlässig und ich würde mich freuen wenn jemand mit testet.
in der Global Defaults muss die Site ID eingetragen werden und bei Solar_FC und Cons_FC muss der eigene Access Token für die VRM API eingetragen werden.
Hier eine kleine KI Zusammenfassung der Funktion
Was der Flow insgesamt macht
-
Alle 15 Min (06–21 Uhr) holt er vom Victron VRM:
-
die PV-Ertragsprognose (
vrm_pv_inverter_yield_fc) -
die Verbrauchsprognose (
vrm_consumption_fc)
-
-
Speichert beide als strukturierte Arrays im global context (
global.forecast.pvundglobal.forecast.consumption). -
Liest Batteriewerte vom BMS (SoC, verfügbare Ah, Spannung) und hält sie in
global.battery. -
Analysiert die Prognosen (Summen/Fenster/Nettobilanz) in
global.analysis.forecast. -
Berechnet daraus einen Ladeplan (“Charge Planner”) und setzt laufend das DVCC-Ladestromlimit auf dem Venus OS:
- Service/Path:
com.victronenergy.settings /Settings/SystemSetup/MaxChargeCurrent.
- Service/Path:
Zentrale Idee des Ladeplans
-
Ziel: Ziel-SoC bis kurz vor Ende der PV-Zeit erreichen (konfigurierbarer Vorlauf
targetLeadHours), dabei PV-Spitzen priorisieren und Netzbezug vermeiden. -
Rechnet den Energiebedarf bis zum Ziel-SoC (unter Berücksichtigung von Wirkungsgrad, Spannung, Kapazität).
-
Drei Hauptfälle:
-
Notfall/Reserve: SoC <
reserveSocPercent⇒ sofort MaxA laden. -
PV reicht bis Deadline nicht ⇒ sofort MaxA (um trotzdem rechtzeitig fertig zu werden).
-
Normalfall: Verteilte Ladung über die prognostisch besten PV-Stunden bis zum Zieltermin.
-
Für die aktuelle Stunde wird ein Watt-Sollwert aus Stundenanteil + Restbedarf/Restzeit berechnet, dann in Ampere (Spannung) umgerechnet.
-
Außerhalb geplanter Stunden: je nach Option 0 A (Grid vor PV vermeiden) oder minA (oder wenn gleich PV kommt/da ist).
-
-
Wichtige Konfiguration (einmalig gesetzt)
global.chargeCfg:
-
targetSocPercent,reserveSocPercent,chargeEff -
maxA,minA,headroomW -
pvThresholdWh(ab wann eine Stunde als “PV-Stunde” zählt) -
targetLeadHours(wie viel früher vor PV-Ende fertig) -
allowGridBeforePV(ob außerhalb Plan minA erlaubt ist) -
capacityAh(Batteriekapazität, falls BMS-“availableAh” fehlt)
global.vrm.idSite muss auf deine VRM-Site-ID gesetzt werden.
Laufende Aktualisierung & Hilfen
-
„Aktualisieren“-Inject: alle 5 Min berechnet Analyse + Plan neu.
-
Debug/Status-Meldungen** zeigen Summen, nächste Stunde, Modus und geplantes Finish-Zeitfenster.
-
Reset-Knoten zum gezielten Löschen von globalen Context-Schlüsseln (z. B. nur
analysisoder hart alles).
Welche Daten landen wo?
-
global.forecast.pv/.consumption: Stundenwerte + Tages-Totals. -
global.battery:socPercent,availableAh,voltageV. -
global.analysis.forecast: zusammengeführte Stunden mitnetWh, Fenster (next 1/3/6 h, Rest), Totals. -
global.analysis.chargePlan: Plan, geplante Stunden, aktueller Stundenmodus, berechnete Ampere.
Version1.txt (24,7 KB)



