NEWS
E3DC Hauskraftwerk steuern
-
@arnod nein bisher noch nicht.
Nach dem Neustart von dem Skript wurden die Prognosewerte angezeigt. Ich werde das mal die Tage beobachten. -
@chrischros
Nach deinem LOG wurden die Daten ja auch um 4:00 Uhr abgerufen.
Warum diese dann nicht angezeigt wurden, zumindest die drei Tage, ist seltsam. -
@arnod said in E3DC Hauskraftwerk steuern:
...
Neue Version Charge-Control auf GitHub hochgeladen.
Version: 1.0.28Kleine Schreibfehler: ist bereits die 1.0.29 (im Git korrekt)
-
@arnod Ich habe bei der neuen Version 1.0.29 mal eine Verständnisfrage. In meinem Log steht nach dem Start drin das "Speichergroesse_kWh=0" ist. Was ist damit gemeint? Bei "0" werde ich immer leicht nervös und will auf die Fehlersuche gehen
Mein Überschuss ist anschließend ebenfalls "0" was aber erklärbar ist weil der Verbrauch höher ist als die PV Vorhersage. Da wirst du nicht mit Minus Werten rechnen.
-
Ich habe leider nach wie vor die Situation, dass meine Wallbox bei dem Modbus-InputRegister "modbus.1.inputRegisters.128_total_kwh" immer eine 0 liefert. Ich vermute mittlerweile die Ursache eher in der Wallbox-Konfiguration, gerade der Bereich "Energy Meter" könnte hier relevant sein. Auch kommt mir der Status "Energy Charge Sequence" auf der Status-Seite komisch vor - da zählt nichts hoch, laut Handbuch soll hier die "Energiemenge, die im aktuellen Ladevorgang bereits geladen wurde" angezeigt werden - bei mir nichts
Ich habe mal Screenshots aus dem Webinterface meiner Wallbox gemacht. Kann die mal bitte jemand vergleichen mit seinen Settings?
Danke!
-
@icke-pp sagte in E3DC Hauskraftwerk steuern:
Ich habe bei der neuen Version 1.0.29 mal eine Verständnisfrage. In meinem Log steht nach dem Start drin das "Speichergroesse_kWh=0" ist. Was ist damit gemeint? Bei "0" werde ich immer leicht nervös und will auf die Fehlersuche gehen
0 ist etwas wenig
Was steht bei dir für ein Wert bei dem e3dc-rscp Adapter untere3dc-rscp.0.EMS.SYS_SPECS.installedBatteryCapacity
?Diesen verwende ich im Script für die Berechnung.
-
@jans_ios
Das kann man nur schwer vergleichen, da die Wallbox mit unterschiedlicher Hardware ausgeliefert wird.
Gerade der "Energy Meter" Bereich ist meistens unterschiedlich, je nach eingesetzter Hardware.
Welche Firmware Version hast du gerade ??
-
@arnod
Wenn die Firmware-Version das "links unten" ist, die gleiche wie Du - "Version:SL-01.04.23"Die Seite des Energy Meters sieht ja komplett anders konfiguriert aus. Bspw. sind ja die Modbus-Adressen komplett unterschiedlich und auch die Register Types sind ganz anders. Meinst Du, eine Übernahme Deiner Einstellungen dort könnte etwas ändern? Oder ist das die interne Kommunikation zwischen der Wallbox und einem Metering Device innerhalb des Gehäuses und da geht im Anschluss nichts mehr?
Als Metering Device wird bei mir ja ein 7M.38.8.400.0212 aufgeführt, anscheinend verbirgt sich dahinter dann ein TYP 7M.38 - BIDIREKTIONALER MULTIFUNKTIONSZÄHLER. Bei Dir ist das ein ganz anderes device
-
@arnod Mist. Jetzt wird es doof:
Die 12.000Watt stimmen da schon eher.
-
@jans_ios sagte in E3DC Hauskraftwerk steuern:
Meinst Du, eine Übernahme Deiner Einstellungen dort könnte etwas ändern? Oder ist das die interne Kommunikation zwischen der Wallbox und einem Metering Device innerhalb des Gehäuses und da geht im Anschluss nichts mehr?
Die Einstellungen kannst du nicht übernehmen, da ich einen ganz anderen Typ habe. Diese Modbus Adressen sind zur inneren Kommunikation.
-
@icke-pp
Das ist schon ärgerlich, dass es E3DC nicht schafft zumindest die RSCP Schnittstelle zu standardisieren.
Was hast du für ein Hauskraftwerk (Typ) und welche Batteriekapazität?Welcher Wert steht bei dir unter den beiden Objekt ID's ?
e3dc-rscp.0.BAT.BAT_0.SPECIFIED_CAPACITY
e3dc-rscp.0.BAT.BAT_1.SPECIFIED_CAPACITY
-
@arnod
Neues script kopiert und gestartet... dann der log komplett rot...error...
Alle states können nicht eingelesen werden.bin gerade am suchen woran es liegt..
Edit:
OK du hast in den Useranpassungen oben Anpassungen vorgebnommen... jeweils den Punkt entfernt...
bzw. im Script die Punkte hinzugefügt. Das hat natürlich Auswirkungen wenn der obere User Teil nicht angefasst wird.Kannst du die Useranpassungen nicht auch noch in die Objektliste auslagern unter den Bereich USER_ANPASSUNGEN. Also jeweils noch neue States dazu erstellen?
-
@jans_ios
Was mir bei dir aber auffällt, ist das bei den Energy Meter Modbus Adressen unter Energy Total (kWh) nichts übertragen wird und über die Modbus Schnittstelle aber bei mir genau der Zähler in kWh übertragen wird.
Nach der Bedienungsanleitung von deinem Metering Device würde die Adresse 406 mit 2 Register Energy Counter n1 sein und 462 mit 2 Register 1000 x Energy Counter n1 sein.
Nach der Logik könntest du mal versuchen unter Energy Total (kWh) die Adresse 406 einzutragen und bei Register 2.
Aber wie gesagt nur eine Vermutung von mir ohne gewähr. -
@smartboart
Das geht leider nicht, sonst hätte ich das schon gemacht.
Die Variablen müssen deklariert sein, bevor man diese zu ersten Mal verwendet und das geht nicht, wenn ich dazu die Variable "instanz" z.B schon benötigt.Die Änderung mit dem Punkt hätte ich erwähnen müssen und habe ich in der Eile vergessen, sorry.
-
@arnod Kein Problem.... War ja schnell gefixt...
hab ich mir fast gedacht...
müsste beim Scriptstart direkt eingelesen werden und der Rest verzögert...Hast Recht wäre nicht sauber...
-
@arnod Ich habe seit etwa 2 Monaten eine E3DC S10 X Compact 14 (nutzbare Batteriekapazität 12,3kWh) laut Datenblatt. Firmware H20_2022_04
Ich habe mir die Werte die du genannt hast mal angeschaut. Nächster Mist. Ich habe zwar 4 Batteriemodule (Vollausbau) drin aber es werden nur die Werte für alles gemeinsam angezeigt (nur Bat_0, DCB_0), die stimmen aber. Das hatte ich auch mit dem Entwickler des ioBroker E3DC RSCP Adapters besprochen und wir kamen zum Entschluss das die Schnittstellen bei den neuen Modellen wohl geändert aber nicht aktuell dokumentiert wurden (sein ioBroker RSCP Adapter basiert auf einer Doku aus dem Jahr 2016). Daher kann er das nicht fixen (ein anderer hat aber die gleichen Probleme mit der S10 X Compact gemeldet). Ticket bei E3DC habe ich deswegen zwar eröffnet um zu erfahren warum keine DCB_1,DCB_2,DCB_3 im RSCP Report vorhanden ist aber bislang keine Reaktion.
Ich habe daher im Skript die Werte an den 3 Stellen im Skript mal angepasst aber da stimmt die Berechnung irgendwie nicht mehr (keine Fehlermeldung).
" Ueberschuss in kWh 0 = (Prognose kWh 7.191398208411604 - Berechneter Eigenverbrauch 13.512820512820513) - FreieKapBatterie_kWh 10.12"}##
E3DC_error_nachBatKorrektur.txt
Sorry. Da brauche ich doch deine Hilfe.
-
@arnod
Das werde ich mir demnächst mal genauer anschauen, danke. Gerade musste ich aber Deine Skripte deaktivieren - habe bei E3DC eine Speichererweiterung angefragt und die wollen ein Training etc. auslösen zur Durchmessung meiner bestehenden Batterien. Da möchte ich nicht reinpfuschen Drückt mal die Daumen, dass ich hochrüsten kann! -
@icke-pp sagte in E3DC Hauskraftwerk steuern:
@arnod Ich habe seit etwa 2 Monaten eine E3DC S10 X Compact 14 (nutzbare Batteriekapazität 12,3kWh) laut Datenblatt. Firmware H20_2022_04
Ich habe mir die Werte die du genannt hast mal angeschaut. Nächster Mist. Ich habe zwar 4 Batteriemodule (Vollausbau) drin aber es werden nur die Werte für alles gemeinsam angezeigt (nur Bat_0, DCB_0), die stimmen aber. Das hatte ich auch mit dem Entwickler des ioBroker E3DC RSCP Adapters besprochen und wir kamen zum Entschluss das die Schnittstellen bei den neuen Modellen wohl geändert aber nicht aktuell dokumentiert wurden (sein ioBroker RSCP Adapter basiert auf einer Doku aus dem Jahr 2016). Daher kann er das nicht fixen (ein anderer hat aber die gleichen Probleme mit der S10 X Compact gemeldet). Ticket bei E3DC habe ich deswegen zwar eröffnet um zu erfahren warum keine DCB_1,DCB_2,DCB_3 im RSCP Report vorhanden ist aber bislang keine Reaktion.
Das ist natürlich nicht gut, wenn da E3DC komplett abweicht und keine neue Dokumentation bereitstellt.
Es wäre gut da ein Ticket aufzugeben, dass die Dokumentation der TAG Liste aktualisiert und die einzelnen Tags dokumentiert werden. Ich habe bereits eins eröffnet und um so mehr das machen desto größer der Druck und Uli würde eine neue Liste helfen seinen Adapter besser anzupassen.Die Speichergröße wird in der function Speichergroesse() ab Zeile 980 im Skript berechnet.
Als workaround würde ich die Speichergröße einfach direkt eintragen ohne Berechnung und Abzug vom ASOC der Batterie, dann musst du das auch nur an einer Stelle ändern. Vermute der Wert ASOC stimmt bei dir dann auch nicht.
Das sollte dann so aussehen:// Verfügbare Speichergröße berechnen async function Speichergroesse() { //let Kapa_Bat_Wh = (await getStateAsync(sID_installed_Battery_Capacity)).val; //let ASOC_Bat_Pro = (await getStateAsync(sID_BAT0_Alterungszustand)).val; // E3DC verwendet ca. 10% der Batteriekapazität um sicherzustellen das diese nie ganz entladen wird. //Kapa_Bat_Wh = Kapa_Bat_Wh * (Entladetiefe_Pro/100); //Speichergroesse_kWh = round(((Kapa_Bat_Wh/100)*ASOC_Bat_Pro)/1000,0); Speichergroesse_kWh = 12.3; log(`${Logparser1}Speichergroesse_kWh=${Speichergroesse_kWh} ${Logparser2}`) }
Die Gefahr bei dir ist das noch mehr von E3DC geändert wurde und eine Regelung der Ladeleistung über den e3dc-rscp Adapter auch nicht möglich ist oder nicht so funktioniert wie bei allen anderen.
Aber das kannst du ja dann mal testen. -
@arnod Ich werde dann mal alle Variablen einzeln durchgehen ob dort sinnvolle Werte drin stehen. Der ASoC Wert ist auf jeden Fall sauber drin. Dann mach ich mich mal auf die Reise. Das wird dann aber wahrscheinlich alle neuen E3DC Modelle treffen mit solchen Abweichungen.
-
@arnod Ich habe dein Skript jetzt noch einmal durchgeschaut damit ich mir ein Bild darüber machen kann wie es genau funktioniert und welche Werte ich für die Berechnung brauche. Ich gehe gerade meine Werte im einzelnen durch damit ich weiß ob ich dein Skript weiterhin nutzen kann. Bis jetzt sieht das gut aus auch mit der neuen Generation der E3DC.
Dabei ist mir im Skript in Zeile 1695 aufgefallen das der Wert bei "Timer3" keinen Sinn ergibt da du den Zähler LM2 triggerst. Kann es sein das du dich hier vertan hast und da eigentlich if(!Timer2) ... stehen müsste?// Zaehler LM2
on({id: sID_Saved_Power_W, valGt: 0}, function (obj) {
if(!Timer3)Wh_Leistungsmesser2();
count2 ++
Summe2 = Summe2 + obj.state.val;
});