NEWS
Neues Script: Hausspeicher Energiemanager Sonnen
-
Dies ist eine komplett neue Script version für das alte Thema hier:
https://forum.iobroker.net/topic/69604/hausspeicher-laden-dynamisch-tibberlink-scripte/186
Zu diesem Script werden nur noch 3 Adapter benötigt.
Sonnenadapter
Tibberlink Adapter
PV Prognose
Optional EVCC AdapterBitte lasst uns hier diskutieren, was man besser machen könnte, und bitte in diesem Thread auch nur daß was mit dem Script zusammenhängt, keine anderen Fragen zu anderen Adaptern oder zu anderen Scripten sonst wird es einfach zu unübersichtlich.
In dieser Zip findet ihr den Energiemanager als Zip zum importieren in Javascript, eine Vis zum Importieren, und eine Anleitung als Word Datei.
Ich hoffe daß bei Änderungen oder anderen Batteriespeichern dieser Thread weitergeführt wird und so für einige der Batteriespeicher eine Lösung getroffen werden kann. Funktionieren tut das ganze natürlich nur mit Tibber als Stromanbieter für andere müßte einiges umgeschrieben werden, ebenso für die anderen Batteriespeicher außer Sonnen.
-
Hallo @babl,
danke für deine Skripte, ich habe die Logik zum Laden und Sperren des Speichers auf Sungrow adaptiert. Die beiden json Dateien (Javascript Editor, nicht Blockly) verlinke ich als GitHub Gist.
8_Speicher_sperren.json
7_Speicher_laden.jsonIch zeichne den Verlauf der Datenpunkte derzeit auf um das Verhalten nachvollziehen zu können. Bislang sieht es so aus, als würde alles wie beabsichtigt funktionieren und der EMS Modus schalten.
Der Sungrow WR hat einen Force Charge Moduls (App, Web, Modbus Register), der allerdings mehr für Zweitarifzähler gedacht ist, wo grundsätzlich jede Nacht ein günstiges Fenster besteht. Dieser wird mit Ziel SoC und Uhrzeit gesetzt. Diese Änderungen versuche ich zu vermeiden.Daher setze ich auf den EMS Übersteuerungsmodus, der das Sungrow EMS für die Batterie deaktiviert, erzwungen Laden, Entladen oder das Sperren erlaubt. Dieser ist meinem Eindruck nach für Elektriker gedacht, die in der entsprechenden Berechtigungsebene der App für Wartungs- / Erweiterungsarbeiten des Speichers diesen Modus nutzen können.
Für Anwender: An anderen Stellen in den Skripten finden sich Sonnen-Aliase, hier bitte selbst anpassen. In den meisten Fällen wird der SoC referenziert. Ich kommuniziere mit dem Sungrow WR (BYD Batterie) über Modbus. Bei mir ist das der Adapter 3. Bitte proaktiv selbst Eindenken und verstehen.
Batteriespeicher_Netto_in_Wh = getState('0_userdata.0.Energiemanager.Batteriespeicher_Kapazität').val; Zeit_Batteriespeicher = (Batteriespeicher_Netto_in_Wh * getState('modbus.3.inputRegisters.13022_Battery_level').val) / 100; if ((() => { const d = new Date().getDay(); return d === 0 ? 7 : d; })() == 6) {
Allerdings auch die PV DC Leistung, wie im Skript zur Berechnung des PV Durchschnitts.
Wolkentimer_Zeit = (Wolkentimer_Zeit_in_Min * 60) / 5; Liste = listsRepeat(getState('modbus.3.inputRegisters.5016_Total_DC_Power').val, Wolkentimer_Zeit); on({ id: [].concat(['modbus.3.inputRegisters.5016_Total_DC_Power']), change: 'any' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val;
Oder die Last:
liste = []; on({ id: [].concat(['modbus.3.inputRegisters.13007_Load_power']), change: 'ne' }, async (obj) => { let value = obj.state.val;
-
Es gibt 2 Änderungen, da es mit dem evcc und der Grundlastberechnung so nicht klappte, jetzt sollte um Mitternacht die Differenz berechnet werden und somit auch die reelle Grundlast richtig berechnet werden.
Auch im Script Pv Ertrag habe ich noch was geändert, da daß mit dem PV Module voll Schnee mir so nicht gefallen hat, hier die Änderung
Bitte die beiden alten Scripte durch diese beiden neuen ersetzen.