NEWS
E3DC Hauskraftwerk steuern
-
@smartboart
Bei mir am 21.10.2022.
Das sieht sehr danach aus, dass da was geändert wurde an der Schnittstelle. -
Neue Version Charge-Control auf GitHub hochgeladen.
Version: 1.0.26
Änderungen:-
Doppelter Aufruf der Timer bei Scriptstart korrigiert. Danke an @smartboart, für den Hinweis .
-
Das Einspeiselimit wird aus "e3dc-rscp.0.EMS.DERATE_AT_PERCENT_VALUE" und "e3dc-rscp.0.EMS.INSTALLED_PEAK_POWER" berechnet, da im e3dc-rscp Adapter seit dem Update E3DC keine W Werte mehr übertragen werden.
-
Für die User Parameter werden jetzt eigene Objekt ID's angelegt. Somit kann das Script immer komplett kopiert werden, ohne dass die Einstellungen angepasst werden müssen.
Die Einstellungen im Script in eine andere Datei kopieren, dann die neue Version kopieren und die alte Version überschreiben und das Script starten. Es werden einige Fehler angezeigt, die beim ersten Start ignoriert werden können.
Anschließen unter 0_userdata.0.Charge_Control.USER_ANPASSUNGEN die Werte wieder eintragen. Wenn jetzt das Script neu gestartet wird, sollten keine Fehler mehr angezeigt werden.
ACHTUNG !! Bitte auf diese Version updaten, da sonst die Batterie mit maximaler Leistung auf 100% geladen wird. Durch das Update E3DC wird die Einspeisegrenze mit 0 W an das Script übertragen.
-
-
Nach Übertragung der Parameter und Starten des neuen Skripts erhalte ich im Log folgenden Fehler:
15:47:57.051 error javascript.0 (3730) script.js.Eigene_Skripte.Energie.Charge_Control: TypeError: Cannot read properties of undefined (reading 'includes') 15:47:57.052 error javascript.0 (3730) at Ladesteuerung (script.js.Eigene_Skripte.Energie.Charge_Control:355:40)
-
@jans_ios sagte in E3DC Hauskraftwerk steuern:
Nach Übertragung der Parameter und Starten des neuen Skripts erhalte ich im Log folgenden Fehler:
Da ist noch was nicht eingetragen.
Welcher Wert steht bei dir unter0_userdata.0.Charge_Control.Allgemein.EinstellungAnwahl
? -
@arnod
Da steht eine 1:
-
@jans_ios
Ok, dann prüfe mal was in 0_userdata.0.Charge_Control.Parameter.UntererLadekorridor_1 drinsteht.
Da bemängelt das Skript das dieser Wert undefiniert ist.
Prüfe mal alle Werte von UntererLadekorridor_x und starte dann das Skript noch mal ob dann der Fehler wieder auftritt. -
@arnod hey Arno...läuft jetzt wie geschmiert...
Ob du mir einen Gefallen tun könntest?
Ich fände es gut wenn du die Instanz auch konfigurierbar machen könntest.. ich speichere nicht unter user data. Ebenfalls wäre die modbus Instanz welche bei mir modbus.1 ist...das wäre echt klasse...dann müsste ich nur noch die log Ausgabe anpassen weil ich da E3DC-Control: voranstelle...was aber auch mit nem state configuriert werden könnte..Nur wenn du Lust hast und keiner was dagegen hat...hält sich ja in Grenzen wenn du es nicht umsetzen möchtest..
-
@arnod
Da steht überall eine 0 drin, das hatte ich aufgrund der Zeilennummer auch schon geschaut:
-
@smartboart sagte in E3DC Hauskraftwerk steuern:
Ich fände es gut wenn du die Instanz auch konfigurierbar machen könntest.. ich speichere nicht unter user data. Ebenfalls wäre die modbus Instanz welche bei mir modbus.1 ist
Kann ich machen.
dann müsste ich nur noch die log Ausgabe anpassen weil ich da E3DC-Control: voranstelle...was aber auch mit nem state configuriert werden könnte..
Warum stellst du E3DC-Control voran? Wird doch im LOG schon angezeigt, von welchem Script die Meldung kommt.
-
@jans_ios
hmm dann verstehe ich die Meldung nicht.
Hast du das Script eins zu eins kopiert?
Kommt die LOG Meldung bei jedem Start?
Eventuell 0_userdata.0.Charge_Control.Parameter.UntererLadekorridor_0-5 mal löschen und neu anlegen lassen. -
Neue Version Charge-Control auf GitHub hochgeladen.
Version: 1.0.27
Änderungen:-
Die Instanz vom Modbus Adapter und e3dc-rscp Adater können jetzt über die beiden neuen Konstanten "instanzModbus" und "instanzE3DC_RSCP" im Script eingestellt werden.
-
Mit der neuen Konstante "LogparserSyntax" kann die Logausgabe vom Script an den Adapter Logparser angepasst werden. Wenn diese auf true eingestellt ist, wird der Log-Text im Format ##{"from":"Charge-Control", "message":""}##' ausgegeben.
-
-
@arnod sagte in E3DC Hauskraftwerk steuern:
Warum stellst du E3DC-Control voran? Wird doch im LOG schon angezeigt, von welchem Script die Meldung kommt
Hi weil ich mit dem logparser logs in vis Anzeige.. das dient quasi als log Tag.. aber hast du ja schon gemacht..
DANKE SEHR!!!
-
@arnod Ich nutze deine Skripte schon eine ganze Weile und finde das absolut klasse was du hier an Arbeit rein gesteckt hast und diese auch noch mit anderen teilst. Hut ab!!
Mir ist aber aufgefallen das im Skript "Modbus.js" ein Schreibfehler enthalten ist den der ungeübte Copy&Paste User wohl in die Verzweiflung treibt wenn dieser denn sein Log prüft und mit den Javascript Fehlern nicht zurecht kommt.
Im "Modbus.js" Skript steht ein "Minus" bei "Charge-Control":
#######################
const idHTSockel = '0_userdata.0.E3DC-Control.Parameter.HTsockel';
const idHTon = '0_userdata.0.E3DC-Control.Parameter.HTon';
const idHToff = '0_userdata.0.E3DC-Control.Parameter.HToff';
#######################Im "Charge-Controlxxx.js" Skript steht ein "Unterstrich" bei "Charge_Control":
#######################
const instanz = '0_userdata.0.'; // Instanz Script Charge-Control
let PfadEbene1 = 'Charge_Control.'; // Pfad innerhalb der Instanz
#######################Ich bin eigentlich immer vorne dabei mit dem testen deiner Skripte und würde zukünftig meine Erfahrungen gerne hier teilen. Das ein oder andere ist mir nämlich schon aufgefallen und habe es meist bei mir lokal gelöst. Meist sind andere aber schneller mit dem melden des Fehlers ... es sollte ja für alle gelöst werden.
-
@icke-pp
Danke für den Hinweis, das Script habe ich vergessen zu aktualisieren.
Habe ich heute gleich gemacht.Freue mich, wenn andere testen und mit optimieren
-
Hallo @ArnoD mir ist aufgefallen, dass sobald der PV-Ertrag um 15:30 größer als die Prognose ist, die Steuerung auf Einstellung 1 (schlecht Wetter) umstellt. Inwieweit ist das sinnvoll? Wäre es nicht klüger, die Steuerung auf der aktuellen Stufe zu belassen oder entsprechend der Wettervorhersage anzupassen?
Bei mir hat das zur Folge, dass die Batterie dann mit allem was geht, auf 100% aufgeladen wird. -
Das selbe "Problem" habe ich auch.
Wenn das eingestellte Ladeende erreicht ist sollte eigentlich nicht weiter geladen werden.
Dennoch wird immer auf 100% geladen. -
Aktuell ist es so, dass nach Ladeende die Regelung E3DC überlassen wird. Das bedeutet, es wird alles geladen, was dann noch an Überschuss vom Dach kommt. Damit wird erreicht, dass die Batterie auf 100 % geladen wird, kurz bevor diese wieder entladen wird.
Die Batterie auf 100 % zu laden ist nicht das Problem, sondern wenn sie längere Zeit mit 100 % Ladung rumsteht und nicht entladen wird.Es gibt zwei Möglichkeiten, entweder eine harte einstellbare Grenze oder Ladeende soweit nach hinten schieben das kein Überschuss mehr vom Dach kommt.
Ich gehe mal davon aus, dass ihr das Update vom Skript gemacht habt.
-
@chrischros sagte in E3DC Hauskraftwerk steuern:
Hallo @ArnoD mir ist aufgefallen, dass sobald der PV-Ertrag um 15:30 größer als die Prognose ist, die Steuerung auf Einstellung 1 (schlecht Wetter) umstellt. Inwieweit ist das sinnvoll? Wäre es nicht klüger, die Steuerung auf der aktuellen Stufe zu belassen oder entsprechend der Wettervorhersage anzupassen?
Bei mir hat das zur Folge, dass die Batterie dann mit allem was geht, auf 100% aufgeladen wird.An dem Problem bin ich bereits dran. Das liegt an der Aktualisierung von Proplanta und der Neuberechnung.
Ich werde das umstellen, sodass nur noch in der Früh vor 5:00 Uhr einmal die Prognose aktualisiert wird und dann nicht mehr neu berechnet wird, sondern nur noch die Bewölkung einen Einfluss hat, wenn sich die Werte ändern.Problem dabei ist nur, dass dann auch der Eigenverbrauch nur noch um 5:00 Uhr berücksichtigt wird und wenn dieser sich über den Tag ändert, dann kein Einfluss mehr auf die Einstellung hätte. Alles nicht so einfach.
-
@arnod said in E3DC Hauskraftwerk steuern:
Es gibt zwei Möglichkeiten, entweder eine harte einstellbare Grenze oder Ladeende soweit nach hinten schieben das kein Überschuss mehr vom Dach kommt.
Moin Arno,
selbst wenn ich aktuell das Sommer Ladeende auf 24 Uhr ändere habe ich nur einen Versatz von max 50 Minuten.
Da würde ich bei 15:50 Uhr liegen. Ich muss mir die Formel mal anschauen. Sie scheint nicht ganz für meine Situation zu passen.
Winterminimum 11 Uhr / Sommermaximum 13:30 / Sommerladeende 19:50Ich habe aktuell dein Script angepasst - damit nach Ladeende nicht weiter geladen wird
else if(Zeit_aktuell_UTC_sek > tSommerladeende){// Nach Sommerladeende // Wurde Batterie SOC Ladeende2 erreicht, dann Ladung beenden ansonsten mit maximal möglicher Ladeleistung Laden. if(LogAusgabeSteuerung && Schritt != 4){log(Logparser1+'-==== Sommerladeende überschritten ====-'+Logparser2,'warn');Schritt=4;} if (Batterie_SOC_Proz < Ladeende2_Proz && PV_Leistung_E3DC_W > UntererLadekorridor_W) {M_Power = maximumLadeleistung_W;} else{M_Power = 0;} }
-
@tbsjah Das ist aber dein persönlicher Wunsch das nicht weiter geladen wird. Ich z.B. teile diesen Wunsch nicht. Mir ist es im Gegenteil sogar ganz recht wenn E3DC die Ladung ab diesem Zeitpunkt übernimmt da ich für abends einen vollen Akku erwarte wenn ich die meisten Verbraucher anwerfe. Dafür habe ich mit den Einstellungen "gespielt" die Arno uns zur Verfügung gestellt hat und mittlerweile passt das auch ohne das ich mir selbst was basteln muss. Und es passt vor allem für, sagen wir mal, 95% aller Anwender. Du gehörst dann wohl zu den restlichen 5%. Da musst du aber dann eine andere Lösung finden da alle anderen deine speziellen Wünsche nicht haben.
Ich habe die E3DC Batterie angeschafft damit ich auch in den Abendstunden keinen Strom zukaufen muss wenn alle zu Hause sind und der Verbrauch am höchsten ist. Aber wenn jemand früher zu Hause ist und z.B. die Waschmaschine und den Trockner anschmeißt und der Akku nicht weiter geladen würde wäre abends nix mehr drin. Daher passt das z.B. nicht für mich was du dir wünschst und ich bin froh das wir den Einfluss über das Skript von Arno nehmen können um das zu berücksichtigen wie wir das wollen.Ich will damit nur sagen: versuch es mit den Bordmitteln die vorhanden sind. Das ist einfach zu speziell was du willst und passt auf die allermeisten hier nicht.