NEWS
E3DC Hauskraftwerk steuern
-
@arnod
Mist, da habe ich wohl gerade ein kleineres ProblemSchön, dass sowas immer dann auftritt, wenn man selbst nicht zuhause ist.
Ich poste hier mal ein paar relevante Zeilen. So beginnt es um 01:00 Uhr:2023-02-14 01:00:00.243 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Vor Regelbeginn ====- "}## 2023-02-14 01:00:00.243 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 1 M_Power: -261 = Math.round(((Unload_SOC_Proz:32 - Batterie_SOC_Proz:46)*Speichergroesse_kWh: 18*10*3600) / (tRegelbeginn:34750 - Zeit_aktuell_UTC_sek:0)) ====- "}## 2023-02-14 01:00:00.290 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" Entladeleistung M_Power=-261 "}## 2023-02-14 01:00:00.290 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" Entladeleistung PowerGrid =-730"}## 2023-02-14 01:00:00.342 - [33mwarn[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen Schritt = 1 Set_Power_Mode = 2 entladen Set_Power_Value_W = -730 M_Power = -730 ====-"}## 2023-02-14 01:00:03.006 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 1 M_Power: -261 = Math.round(((Unload_SOC_Proz:32 - Batterie_SOC_Proz:46)*Speichergroesse_kWh: 18*10*3600) / (tRegelbeginn:34750 - Zeit_aktuell_UTC_sek:3)) ====- "}## 2023-02-14 01:00:03.054 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" Entladeleistung M_Power=-261 "}## 2023-02-14 01:00:03.055 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" Entladeleistung PowerGrid =-526"}## 2023-02-14 01:00:03.117 - [33mwarn[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen Schritt = 1 Set_Power_Mode = 2 entladen Set_Power_Value_W = -526 M_Power = -526 ====-"}## 2023-02-14 01:00:06.008 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 1 M_Power: -261 = Math.round(((Unload_SOC_Proz:32 - Batterie_SOC_Proz:46)*Speichergroesse_kWh: 18*10*3600) / (tRegelbeginn:34750 - Zeit_aktuell_UTC_sek:6)) ====- "}## 2023-02-14 01:00:06.053 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" Entladeleistung M_Power=-261 "}## 2023-02-14 01:00:06.054 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" Entladeleistung PowerGrid =-927"}## 2023-02-14 01:00:06.068 - [33mwarn[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen Schritt = 1 Set_Power_Mode = 2 entladen Set_Power_Value_W = -927 M_Power = -927 ====-"}## 2023-02-14 01:00:09.072 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 1 M_Power: -261 = Math.round(((Unload_SOC_Proz:32 - Batterie_SOC_Proz:46)*Speichergroesse_kWh: 18*10*3600) / (tRegelbeginn:34750 - Zeit_aktuell_UTC_sek:9)) ====- "}## 2023-02-14 01:00:09.157 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" Entladeleistung M_Power=-261 "}## 2023-02-14 01:00:09.157 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" Entladeleistung PowerGrid =-509"}## 2023-02-14 01:00:09.222 - [33mwarn[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen Schritt = 1 Set_Power_Mode = 2 entladen Set_Power_Value_W = -509 M_Power = -509 ====-"}##
Und so endet es dann um 03:47 Uhr:
2023-02-14 03:47:12.050 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" Entladeleistung M_Power=-26 "}## 2023-02-14 03:47:12.050 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" Entladeleistung PowerGrid =-508"}## 2023-02-14 03:47:15.009 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 1 M_Power: -26 = Math.round(((Unload_SOC_Proz:32 - Batterie_SOC_Proz:33)*Speichergroesse_kWh: 18*10*3600) / (tRegelbeginn:34750 - Zeit_aktuell_UTC_sek:10035)) ====- "}## 2023-02-14 03:47:15.055 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" Entladeleistung M_Power=-26 "}## 2023-02-14 03:47:15.056 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" Entladeleistung PowerGrid =-519"}## 2023-02-14 03:47:18.012 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}## 2023-02-14 03:47:18.058 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Regelung E3DC überlassen. Schritt = 1 SET_POWER_MODE = 0 normal ====- "}## 2023-02-14 03:47:21.010 - [32minfo[39m: javascript.0 (197) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}##
-
Welche Version vom Script hast du im Einsatz?
Der Fehler ist eigentlich, dass die Lade-\Entladefreigabe nicht deaktiviert wurde, warum auch immer.
Das sollte eigentlich mit der aktuellen Version nicht mehr passieren.Ich schaue mir das mal genauer an, ob ich da was übersehen habe.
Gruß Arno
-
@arnod
Ich habe die aktuelle 1.1.6 im Einsatz -
@jans_ios
Was ist bei dir aktuell für ein Notstrom SoC eingestellt? -
Neue Version Charge-Control auf GitHub hochgeladen.
Version: 1.1.7
Änderungen:- Fehler in behoben, dass auf Unload SoC entladen wurde, obwohl noch keine PV-Leistung vorhanden war.
-
@jans_ios
Kannst du mal bitte die Version 1.1.7 testen und schauen, ob damit das Problem behoben ist? -
@arnod
Klar, mache ich morgen, wenn ich wieder zuhause bin.Gibt es eine Möglichkeit, den Strom an ein Gerät wie meinen Heizstab zu schicken, statt einzuspeisen?
Danke für Deinen.Einsatz!
Gruß, Jan
-
@jans_ios
Wenn du eine Schnittstelle hast, über die du den Heizstab einschalten kannst, ist das kein Problem.
Ich bekomme nächste Woche meine Wärmepumpe und werde diese dann über Modbus einbinden, um möglichst viel am Tag zu verbrauchen.
Wird aber vermutlich ein eigenes Script, was die Wärmepumpe, Pool, Wallbox und Batterieladung E3DC steuern soll. -
@arnod
Der Heizstab (Elwa-E) kann einfach per Modbus angesteuert werden. Ich schreibe da eine W-Zahl rein und los läuft er. Ich hatte mir schon mal auf blockly-Ebene gebaut, was dann den Überschuss nahm und in den Wert überführte, jedoch war das dann immer eine Art Timing-Problem. Das Charge-Control-Skript sah einfach einen dadurch erhöhten Hausverbrauch und stellte um auf "Steurung durch E3DC", durch Zufall war dann zwischendurch mal sehr viel Überschuss vorhanden und der Heizstab wurde auf sein max. von 3kW hochgedreht und die Akku-Ladung brach ein etc.Man müsste also irgendwie im Charge-Control-Sktipt etwas bauen, welches verschiedene Stromabnehmer wie bspw. einen Heizstab oder eine Wärmepumpe entweder selbst steuert oder aber deren Verbräuche dem Überschuss zurechnet oder so.
Die 1.1.7 konnte ich übrigens mangels Sonne noch nicht intensiv testen, aber diese Woche sieht es so aus, als könnte ich auch mal mit einem randvollen Akku in den Abend gehen. Ich werde berichten!
-
@ArnoD
Vielleicht wäre eine Möglichkeit, ein zu Charge-Control "passendes" Skript zu bauen, für das man dann in einer Variable die Objekt-Bezeichnung des Werts für den Stromverbrauch eines entsprechend steuerbaren Verbrauchers einträgt. Vielleicht noch mit min- und max-Werten.Da könnte ich dann bspw. in der Variable meinen Modbus-Pfad zum Heizstab eintragen, Du zur Wärmepumpe und ein Dritter zur Pool-Heizung.
-
@arnod
Die 1.1.7 hat nicht mehr nachts eingespeist und ich wittere eine minimale Einspeisung bei Solarproduktions-Beginn - es war knapp, aber 0,03kWh scheinen genau dann eingespeist worden zu sein. Die Nächte sind für den Effekt noch etwas langIch beobachte weiter und melde mich dazu wieder, sollte es da noch Probleme geben. Im Moment gehe ich davon aus, dass Du das Problem mal wieder in Rekordzeit gelöst hast! Danke!!
-
@jans_ios sagte in E3DC Hauskraftwerk steuern:
Vielleicht wäre eine Möglichkeit, ein zu Charge-Control "passendes" Skript zu bauen, für das man dann in einer Variable die Objekt-Bezeichnung des Werts für den Stromverbrauch eines entsprechend steuerbaren Verbrauchers einträgt. Vielleicht noch mit min- und max-Werten.
Ich befürchte, so einfach wird es nicht werden.
Es muss eine Priorisierung der Verbraucher erstellt werden z.B. erst Wasserspeicher Laden, dann E-Auto und sollte dann noch was übrig sein die Batterie.
Da gibt es dann aber wieder Ausnahmen z.B ich benötige das E-Auto und will es sofort laden noch vor dem Wasserspeicher oder der Pool soll vor dem E-Auto berücksichtigt werden, weil ich das Auto nicht benötige.
Da alle möglichen Konstellationen zu berücksichtigen wird sehr umfangreich. -
Neue Version Charge-Control auf GitHub hochgeladen.
Version: 1.2.0
Änderungen:- Bei dieser Version habe ich die Einstellung der Regelzeiten umgestellt auf die Astrofunktion von JS.
Es sind auch Änderungen in der View erforderlich und einige Parameter werden nicht mehr benötigt.
Folgende Objekte wurden gelöscht:
Winterminimum_MEZ
Sommermaximum_MEZ
Sommerladeende_MEZ
Anwahl_MEZ_MESZ
Winterminimum_0 bis 5
Sommermaximum_0 bis 5
Sommerladeende_0 bis 5
Die View für die neue Version 1.2.0 findet ihr auf Github:
Die Anleitung Charge-Control auf Github wurde auch angepasst und dort sind die neuen Einstellungen beschrieben.
Die Regelzeiten werden jetzt über drei Offset Werte eingestellt, wie ich es bereits weiter oben hier im Forum erklärt habe: - Bei dieser Version habe ich die Einstellung der Regelzeiten umgestellt auf die Astrofunktion von JS.
-
Neue Version Charge-Control auf GitHub hochgeladen.
Version: 1.2.1
Änderungen:- Wechselrichterverluste beim Notstrom SOC werden jetzt um 2:00 Uhr aus dem Netz geladen, um den Notstrom SOC stabil zu halten.
-
@arnod
Klasse Sache, Deine neuen Updates, läuft!Mir ist beim Studieren der neuen Anleitungsversion jedoch aufgefallen, dass Du im Screenshot auf Seite 7 noch den Punkt "Winterzeit MEZ" zu sehen hast, es nach Import der View-Datei jedoch nicht so ist.
Außerdem: Kann man das manuelle Nachladen nachts auch deaktivieren?
Ich habe aktuell damit zu kämpfen, dass mein Speicher einfach mal eine Stunde nicht erreichbar ist - mal kürzer, mal länger. Andere Geräte an der selben Fritzbox (als Mesh-Repeater) sind durchgehend erreichbar, Kabel- und Port-Tausch brachten keine Besserung. Da entlädt der im Zweifel auch einfach die Notstromreserve - ich möchte die dann aber nicht aus dem Netz wieder aufbauen, wenn tagsüber dafür wieder genug PV zu erwarten ist.
Danke!
-
@jans_ios sagte in E3DC Hauskraftwerk steuern:
Mir ist beim Studieren der neuen Anleitungsversion jedoch aufgefallen, dass Du im Screenshot auf Seite 7 noch den Punkt "Winterzeit MEZ" zu sehen hast, es nach Import der View-Datei jedoch nicht so ist.
Danke, werde ich noch korrigieren.
Kann man das manuelle Nachladen nachts auch deaktivieren?
Deaktivieren ist die leichteste Aufgabe.
Mach ich mit der nächsten Version. -
@arnod
Sehr sehr cool, die neue Version!
Vielen DankPS: das Objekt Offset_solarNoon ist aber noch nicht drin, oder überseh ich das irgendwo?
-
@bluebean
solarNoon ist die Astrofunktion von JS und wird automatisch berechnet.
Die Zeit von solarNoon wird mit dem Offsetwert Regelbeginn ins Minus verschoben und mit Regelende ins Plus.
Ich sollte in der Darstellung am besten nur solarNoon eintragen und Offset weglassen, das verwirrt nur. -
Neue Version Charge-Control auf GitHub hochgeladen.
Version: 1.2.2
Änderungen:- Neue Objekt ID "NotstromAusNetz", um die Funktion Notstrom SOC aus dem Netz nachladen in VIS ein und ausschalten zu können.
-
@arnod
Man, Du bist schnellDanke mal wieder, wird morgen eingespielt!