NEWS
E3DC Hauskraftwerk steuern
-
@jh537
Im Schritt 2 sollte es richtig funktionieren, habe es jetzt im Schritt 3 auch angepasst.
Bitte nochmal die Version 1.2.9 testen. -
@arnod ?TAG_EMS_REQ_POWER_PV heißt dieses Register genau so
bei mir werden viel mehr angezeigt dieser jedoch nicht - es gibt nur einen ähnlichen TAG_EMS_REQ_POWER_PV_AC........
führt das dann zu fehlenden Werten o Fehlfunktionwie bekomme ich die Daten des E3DC Zusatzwechselrichter mit integriert, u das diese auch in die Kurven kommen aktuell zeigt er mir da keine Daten an
Vielen Dank -
@arnod Moin Arno, habe die 1.29 nochmal neu kopiert und jetzt habe ich paar Fehler:
javascript.0 2023-04-11 07:11:51.009 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:541 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189911003)) ====- "}## javascript.0 2023-04-11 07:11:50.415 info State value to set for "0_userdata.0.Charge_Control.Allgemein.Autonomiezeit" has to be type "number" but received type "string" javascript.0 2023-04-11 07:11:50.384 warn at Object.<anonymous> (script.js.common.Charge_Control:1865:15) javascript.0 2023-04-11 07:11:50.384 warn at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:81:16 javascript.0 2023-04-11 07:11:50.384 warn at new Promise (<anonymous>) javascript.0 2023-04-11 07:11:50.384 warn at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:82:16 javascript.0 2023-04-11 07:11:50.384 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20) javascript.0 2023-04-11 07:11:50.383 warn You are assigning a string to the state "0_userdata.0.Charge_Control.Allgemein.Autonomiezeit" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions. javascript.0 2023-04-11 07:11:48.014 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}## javascript.0 2023-04-11 07:11:48.010 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:541 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189908000)) ====- "}## javascript.0 2023-04-11 07:11:45.012 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}## javascript.0 2023-04-11 07:11:45.008 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:541 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189905002)) ====- "}## javascript.0 2023-04-11 07:11:42.010 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}## javascript.0 2023-04-11 07:11:42.007 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:541 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189902001)) ====- "}## javascript.0 2023-04-11 07:11:40.366 info State value to set for "0_userdata.0.Charge_Control.Allgemein.Autonomiezeit" has to be type "number" but received type "string" javascript.0 2023-04-11 07:11:40.364 warn at Object.<anonymous> (script.js.common.Charge_Control:1865:15) javascript.0 2023-04-11 07:11:40.364 warn at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:81:16 javascript.0 2023-04-11 07:11:40.364 warn at new Promise (<anonymous>) javascript.0 2023-04-11 07:11:40.363 warn at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:82:16 javascript.0 2023-04-11 07:11:40.363 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20) javascript.0 2023-04-11 07:11:40.363 warn You are assigning a string to the state "0_userdata.0.Charge_Control.Allgemein.Autonomiezeit" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions. javascript.0 2023-04-11 07:11:39.012 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}## javascript.0 2023-04-11 07:11:39.009 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:540 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189899002)) ====- "}## javascript.0 2023-04-11 07:11:36.011 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}## javascript.0 2023-04-11 07:11:36.008 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:540 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189896001)) ====- "}## javascript.0 2023-04-11 07:11:35.373 info State value to set for "0_userdata.0.Charge_Control.Allgemein.Autonomiezeit" has to be type "number" but received type "string" javascript.0 2023-04-11 07:11:35.369 warn at Object.<anonymous> (script.js.common.Charge_Control:1865:15) javascript.0 2023-04-11 07:11:35.369 warn at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:81:16 javascript.0 2023-04-11 07:11:35.369 warn at new Promise (<anonymous>) javascript.0 2023-04-11 07:11:35.368 warn at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:82:16 javascript.0 2023-04-11 07:11:35.368 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1719:20) javascript.0 2023-04-11 07:11:35.366 warn You are assigning a string to the state "0_userdata.0.Charge_Control.Allgemein.Autonomiezeit" which expects a number. Please fix your code to use a number or change the state type to string. This warning might become an error in future versions. javascript.0 2023-04-11 07:11:33.011 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}## javascript.0 2023-04-11 07:11:33.008 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:540 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189893001)) ====- "}## javascript.0 2023-04-11 07:11:30.011 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}## javascript.0 2023-04-11 07:11:30.008 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:540 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189890002)) ====- "}## javascript.0 2023-04-11 07:11:27.011 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}## javascript.0 2023-04-11 07:11:27.008 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:540 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189887001)) ====- "}## javascript.0 2023-04-11 07:11:24.011 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}## javascript.0 2023-04-11 07:11:24.007 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:540 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189884001)) ====- "}## javascript.0 2023-04-11 07:11:21.011 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}## javascript.0 2023-04-11 07:11:21.008 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:540 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189881002)) ====- "}## javascript.0 2023-04-11 07:11:18.056 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}## javascript.0 2023-04-11 07:11:18.008 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 2 M_Power:540 = Math.round(((Ladeende_Proz:75 - Batterie_SOC_Proz:39)*Speichergroesse_kWh:12*10*3600) / (tRegelende_milisek:1681218675037 - Zeit_aktuell_milisek:1681189878001)) ====- "}## javascript.0 2023-04-11 07:11:18.008 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Nach Regelbeginn vor Regelende ====- "}## javascript.0 2023-04-11 07:11:15.057 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Regelung E3DC überlassen. Schritt = 1 SET_POWER_MODE = 0 normal ====- "}## javascript.0 2023-04-11 07:11:15.054 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}## javascript.0 2023-04-11 07:11:15.051 info script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Vor Regelbeginn ====- "}## javascript.0 2023-04-11 07:11:15.007 warn script.js.common.Charge_Control: Ladesteuerung: Notstrom_SOC_erreicht= false NotstromVerwenden= false Batterie_SOC_Proz= 39 Notstrom_SOC_Proz= 10
-
scheint doch zu laufen, ich beobachte weiter...
-
@ArnoD Es sieht gut aus, keine Pendelei mehr. Mich hat der Sicherheitspuffer von 500 W etwas irritiert. Danke
-
@as sagte in E3DC Hauskraftwerk steuern:
@arnod ?TAG_EMS_REQ_POWER_PV heißt dieses Register genau so
bei mir werden viel mehr angezeigt dieser jedoch nicht - es gibt nur einen ähnlichen TAG_EMS_REQ_POWER_PV_AC........
führt das dann zu fehlenden Werten o FehlfunktionIst der erste Eintrag in der Liste und heißt genau so.
ohne die PV-Leistung macht das Script keinen Sinn und führt auch zu einer Fehlermeldung.
wie bekomme ich die Daten des E3DC Zusatzwechselrichter mit integriert, u das diese auch in die Kurven kommen aktuell zeigt er mir da keine Daten an
Vielen DankWelche Kurven meinst du ?
Ein zweiter Wechselrichter wird bereits im Script berücksichtigt. -
Neue Version Charge-Control auf GitHub hochgeladen.
Version: 1.2.9
Änderungen:-
Neuer User Parameter 10_Systemwirkungsgrad.
Max. Systemwirkungsgrad inkl. Batterie in % aus den technischen Daten E3DC (beim S10E 88%).
Wird für die Berechnung der Batteriekapazität in kWh zur Anzeige in VIS verwendet.
Neue Objekt ID:0_userdata.0.Charge_Control.Allgemein.Batteriekapazität_kWh
-
Berechnung Autonomiezeit für Anzeige in VIS integriert.
Neue Objekt ID:0_userdata.0.Charge_Control.Allgemein.Autonomiezeit
-
Fehler behoben, dass der unterer Ladekorridor ignoriert wurde.
Der Modbus Adapter wird nun nicht mehr benötigt und die Script Sammlung Modbus Adapter somit auch nicht mehr.
Einziger Grund für den Modbus Adapter ist, wenn jemand die Firmware Version noch anzeigen will. Das geht aktuell nicht über den E3DC-RSCP Adapter.
-
-
@arnod
Du definierst in 1.2.9 einen Timer4, der aber im Script nicht weiter benutzt wird. Plan für etwas, was kommt, oder schlicht überflüssig?
Ich frage deshalb, weil ich Dein Script mit ein paar Ergänzungen anreichere, u.a. einem Timer4 (das würde ich dann rechtzeitig auf einen anderen Timer legen, wenn Du den 4er nutzen wirst). -
@bluebean
Kannst du verwenden, ich werden diesen bei mir löschen. -
@arnod diesen Eintrag gibt es komischerweise gar nicht nur mit dem ac-all
hab jz mal einen Eintrag von den Wallboxen umbenannt- ab das wirklich dann auch so ausgelesen wird kann ich noch nicht sagen. Wollt den Adapter nicht vollständig entfernen müssen.
es fehlen die AC L1,2,3 Spannungen -hab zwar in den FlottLink meine IP eingetragen jedoch kommt keine Anzeige -
Hallo zusammen,
ihr kennt euch so super aus da würde es mich freuen wenn ihr mir kurz weiterhelfen könnt.
Bei mir scheitert es och an der Modbus datenabfragehttps://forum.iobroker.net/topic/63655/e3dc-datenabfrage-mit-modbus
Der Registereintrag des Netzbezug wird nahezu immer falsch ausgelesen. Ich bekomme dort Werte im 6xxxx stelligen Bereich geliefert.
gefühlt ist der Wert dann falsch wenn eingespeist wird.... also wenn er negativ sein sollte.Vielen Dank im Voraus
-
@as
Denn muss es geben.
Kannst du mal ein Bild schicken, wie es bei dir aussieht.Ist das bei dir alles angewählt ?
-
@annnndy
Was hast du für ein Hauskraftwerk?Ist alles richtig beim Modbus Adapter eingetragen?
Hier würden Bilder von deinen Einstellungen helfen. -
@arnod Hallo,
ich habe ein E3DC S10 E.
Ich habe bei den Register -2 machen müssen um die richtigen zu bekommen. Allerdings habe ich die Probleme mit den negativen Werten.
Habe heute auch eine History migeschrieben, die zeigt das gleiche Problem.
Teilweise stimmen die Werte und dann wieder nicht.
Kann es sein das es mit den Typ Einstellungen zu tun hat?
-
@annnndy
mach mal ein Screenshot von den Modbus Allgemein Einstellungen und dann von den Holding-Register.
Dann kann man das vergleichen. -
ok.
die Rolle habe ich gerade Versuchsweise von "Value" auf "State" geändert
-
@annnndy sagte in E3DC Hauskraftwerk steuern:
Kann es sein das es mit den Typ Einstellungen zu tun hat?
Bei mir sieht das so aus:
-
@annnndy
Aktiviere als erstes Aliases benutzen und importiere dann mal die Holdingregister von meiner Github Seite :
Modbus_E3DC_Import_V1.90_2022-01-28.tsv -
jetzt wirkt das ganze Vernünftiger
Vielen Dank
Autarkie_Eigenverbrauch muss noch was gemacht werden.?!
-
Autarkie_Eigenverbrauch muss noch was gemacht werden.?!
Ja, das muss noch richtig aufgeteilt werden.
Ich hatte dafür folgendes Script verwendet:const Statepfad = 'javascript.' + instance + '.e3dc.modbus.'; createState(Statepfad + 'Autarkie'); createState(Statepfad + 'Eigenverbrauch'); const idRegister40082 = 'modbus.0.holdingRegisters.40082_Autarkie_Eigenverbrauch'; //Modbus Register 40082 ***************** Aufteilung "Autarkie und Eigenverbrauch in Prozent" on(idRegister40082, function (obj) { setState(Statepfad + 'Autarkie', (obj.state.val >> 8) & 0xFF, true); setState(Statepfad + 'Eigenverbrauch', obj.state.val & 0xFF, true); });
Warum verwendest du eigentlich nicht den E3DC-RSCP Adapter ?
Damit kannst du mehr Parameter abrufen als mit Modbus.