NEWS
E3DC Hauskraftwerk steuern
-
@chilihead sagte in E3DC Hauskraftwerk steuern:
@arnod da würd 4500W stehen
Ok dann ändere ich das in der nächsten Version.
-
@arnod Dankeschön
Du eins noch...
Ich hatte heute auf manuell gestellt, aber ab 7h wurde der Speicher entleert, also wirklich ab beginn PV Ertrag.
Kannst du dir erklären warum?
-
ich habe bei mir inzwischen das Charge Control im ioBroker installiert. Allerdings bin ich noch etwas irritiert hinsichtlich der Frage, was dazu laufen muss.
Braucht es für die Funktionalität das Script E3DC-Control (ob nun Version 0.42 oder 0.35), muss es laufen? Muss dort in der Oberfläche (also im iobroker_VIS_View_E3DC_Control) auch der Automatik-Modus aktiv sein?Das Script E3DC-Control ist nur, wenn du das Programm E3DC-Control von Eba verwenden willst und die Einstellungen von diesem Programm (E3DC-Control) in VIS machen willst.
Für das Script Charge-Control benötigst du nur die Adapter e3dc-rscp und Modbus.
Das Programm von Eba wird nicht mehr benötigt. Die Logik übernimmt das Script Charge-Control und die Schnittstelle zum E3DC übernimmt der Adapter e3dc-rscp und somit ist alles in ioBroker vereint.
Auf Github findest du auch eine Anleitung Charge-Control, wo eigentlich alles Wichtige beschrieben ist.Muss am E3DC bei den Smart-Funktionen \ Smart Power \ Betriebsbereiche auf Manuell eingestellt sein oder Automatisch
Das bitte auf manuell einstellen.
-
@chilihead
Hast du da ein LOG file ?
Eigentlich sollte Unload ignoriert werden, wenn die Ladeschwelle höher ist und die ist ja auf 100% eingestellt.
Mit Start PV-Leistung hätte somit alles geladen werden müssen. -
Das Erste, was mir bei dir auffällt, ist dass um 0:12 das Script noch im Schritt 2 (Nach Regelbeginn vor Regelende) hängt. Was eigentlich schon mal nicht sein kann.
Ich lade heute mal die erste Korrektur hoch und dann prüfen wir, ob das damit zusammenhängt. -
@arnod said in E3DC Hauskraftwerk steuern:
Für das Script Charge-Control benötigst du nur die Adapter e3dc-rscp und Modbus. ...
Auf Github findest du auch eine Anleitung Charge-Control, wo eigentlich alles Wichtige beschrieben ist.Cool, danke - soweit läuft's jetzt.
Zusatzfrage: Wo ließe sich denn im Charge-Control hton und htoff einstellen, falls ich das nutzen wollte? Hab ich bisher nur im Konfig-File vom E3DC-Control gesehen. -
@bluebean
Diese Funktion habe ich nicht übernommen, da es mir hier nur um die Laderegelung der Batterie geht.
Die ganzen anderen Funktionen wie aWATTar, HTon, HToff, Wallbox sind in diesem Script nicht enthalten. -
Ist nicht so entscheidend, für mich ist auch eher die dynamische Ausfallreserve wichtig.
EDIT:
Ach so, wie ist es jetzt eigentlich mit dem SET_POWER Wiederholintervall?
Wie in der Anleitung auf 0 oder wie irgendwo in einem Post gesagt auf 10 oder 9? -
@bluebean sagte in E3DC Hauskraftwerk steuern:
Ist nicht so entscheidend, für mich ist auch eher die dynamische Ausfallreserve wichtig.
EDIT:
Ach so, wie ist es jetzt eigentlich mit dem SET_POWER Wiederholintervall?
Wie in der Anleitung auf 0 oder wie irgendwo in einem Post gesagt auf 10 oder 9?Immer auf 0 einstellen, wo steht das die auf 10 oder 9 eingestellt werden soll?
Wenn das Wiederholintervall nicht auf 0 eingestellt wird, dann wird vom Adapter regelmäßig der letzte Wert gesendet und man würde nicht mehr mitbekommen, wen das Script einmal stoppt und gar nicht mehr regelt.
Bei 0 muss min. alle 9 sek. ein Befehl vom Script kommen, sonst übernimmt E3DC wieder die Regelung. -
Neue Version Charge-Control auf GitHub hochgeladen.
Version: 1.0.19
Änderungen:- Für die maximale Ladeleistung der Batterie wird jetzt das Objekt
e3dc-rscp.0.EMS.SYS_SPECS.maxBatChargePower
verwendet. - Bereinigung der html Daten Proplanta geändert
- Kleinere Optimierungen am Script durchgeführt
- Für die maximale Ladeleistung der Batterie wird jetzt das Objekt
-
@arnod
MoinHalte mich jetzt nicht für Faul
Aber meinst es wäre ne Idee die eigenen daten am Anfang des Skript mal in 0_userdata.0.XXXXXXX variablen zu packen??
Weniger Übertragungsfehler (ja, iss nur copy&paste) und Updates / Versionswechsel gehen locker easy von der HandSchönes rest Wochenende euch allen noch
-
@arnod said in E3DC Hauskraftwerk steuern:
Immer auf 0 einstellen, wo steht das die auf 10 oder 9 eingestellt werden soll?
Hier hattest Du dazu mal etwas geschrieben.
-
@arnod
HiHabe jetzt alle deine Vis und Charts übernommen bzw. nachgebaut!
Echt klasse vom Aufbau der ganzen Sachebei 3 Themen bin Ich allerdings nicht dahinter gekommen was du machst
- 26_E3DC_Diag_Leistung --> Wad dad?
- 0_userdata.0.PV_Anlage.Zaehlerstaende.Netzeinspeisung_Jahr_Prozent
--> wie bekommst du den Wert zusammen? Wenn Ich das richtig verstehe nimmst du hier den Gesamt Autarkiegrad übers Jahr?! Die Daten der Einspeisung und der entnahme bekomme Ich aus meine Stromzähler gelesen, was mir aber fehlt, ist der Eigenverbrauch / Direktverbrauch --> wo bekomme Ich den her?? - In der Vis 28_E3DC_RSCP_Batterie ist mir aufgefallen, dass Ich gar kein DCB2 habe --> hast du 3 Akkupacks oder mehr in deiner Pro? Auch dass Ich nur Zelltemperatur 0 und 1 habe ..... 3 und 4 NaN
--> Ist in dem sinne nicht wichtig, mich interressiert nur woher das evtl. kommt
-
@zelkin sagte in E3DC Hauskraftwerk steuern:
26_E3DC_Diag_Leistung --> Wad dad?
0_userdata.0.PV_Anlage.Zaehlerstaende.Netzeinspeisung_Jahr_Prozent
--> wie bekommst du den Wert zusammen? Wenn Ich das richtig verstehe nimmst du hier den Gesamt Autarkiegrad übers Jahr?! Die Daten der Einspeisung und der entnahme bekomme Ich aus meine Stromzähler gelesen, was mir aber fehlt, ist der Eigenverbrauch / Direktverbrauch --> wo bekomme Ich den her??Nein, ich berechne hier, wie viel von dem produzierten Strom in das Netz eingespeist wird.
Das interessiert mich nur, um nicht unter 10% zu kommen wegen der Steuer und um abschätzen zu können, was ich an Potenzial für den Eigenverbrauch noch habe.In der Vis 28_E3DC_RSCP_Batterie ist mir aufgefallen, dass Ich gar kein DCB2 habe --> hast du 3 Akkupacks oder mehr in deiner Pro? Auch dass Ich nur Zelltemperatur 0 und 1 habe ..... 3 und 4 NaN
--> Ist in dem sinne nicht wichtig, mich interressiert nur woher das evtl. kommtIch habe 6 Akkupacks, also maximale Bestückung.
Mit den Temperaturen ist das von E3DC unglücklich gelöst. E3DC verwendet auf der Schnittstelle je nach Typ Hauskraftwerk die gleichen Tags für unterschiedliche Werte. Bei einem Typ sind das die Temperaturwerte beim nächsten Volt Angaben. Uli hat das in seinem Adapter so gelöst das, wenn Werte unter 4.8 von der Schnittstelle kommen, geht er davon aus das es sich um V Werte handelt und über 4.8 um °C.
Bei mir sind es vier Temperaturwerte, wo die allerdings in den Zellen gemessen werden weiß ich auch nicht und kann somit auch nicht sagen was normal ist. Bei mir sind es vier Messsensoren je Batteriepack. -
@arnod Hallo Arno, hab mir das ganze jetzt heute nochmal angesehen, es wurde wieder unter Notstromreserve entladen ab ca. 7:30 Uhr da nicht genügen PV Leistung vorhanden war.
Auch um 2:10 stehen im Log Fehlermeldungen vom Script.
Log hab ich dir geschickt -
@chilihead @ArnoD
Hallo Ihr beiden,
bei mir wird die Notstrom-Grenze ebenfalls ignoriert. Heute kam ich mit weit mehr als Notstrom durch die Nacht, gestern Morgen war der Akku aber trotz errechneter 8% Notstromgrenze leer. -
@chilihead
Die Warnung um 2:10 Uhr ist mir klar, da sind auf der Homepage Proplanta anscheinend noch keine Daten für die Tage 4-6 vorhanden und deswegen stimmt die Zuordnung der einzelnen Arrays zu den Parametern nicht mehr.
Das muss ich bei mir mal logen, um zu sehen, was da genau passiert.Um 4:00 Uhr wurden die Daten von Solcast abgerufen und die Einstellung 1 angewählt.
Die Notstromreserve von 12% wurden auch eingehalten.
Um 7:30 Uhr wurde MAX_DISCHARGE_POWER, MAX_CHARGE_POWER auf 4500W eingestellt.
Soweit passt alles.Jetzt kann ich aber leider nicht erkenne, wie die Regelung vom Script ausgesehen hat, da du LogAusgabeSteuerung = false eingestellt hast.
Bitte folgende Einstellung im Script machen und morgen mal laufen lassen:
LogAusgabe = true
DebugAusgabe = false
LogAusgabeSteuerung = true -
@jans_ios
ohne LOG kann ich nur raten, was die Ursache sein könnte.
Wenn @chilihead mir morgen das LOG schickt, hoffe ich das ich den Fehler finde. -
@arnod
Ich habe die Log-Einstellungen auch wie beschrieben konfiguriert - jedoch erst heute und da war noch deutlich mehr im Akku Wenn der Fehler wieder auftritt, kann ich also auch mit einem Log dienen.Ich habe heute auf die aktuellste Version des Scripts upgedated und seitdem die folgende Meldung im Log:
2022-09-12 20:35:08.052 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: Bewölkungsgrad 12 Uhr Proplanta 200 2022-09-12 20:35:08.052 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: Bewölkungsgrad 15 Uhr Proplanta 200 2022-09-12 20:35:08.052 - [33mwarn[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: -==== Bewölkungsgrad_12 oder Bewölkungsgrad_15 wurde nicht abgerufen. 12=200 15=200 ====-
Was hat das zu bedeuten?
Größerer Auszug, der nach meinem Verständnis zeigt, dass Proplanta grundsätzlich abgerufen wird:
2022-09-12 20:35:00.300 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: ******************* Es wird die Globalstrahlung ab Tag 0 von Proplanta abgerufen ******************* 2022-09-12 20:35:03.550 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: Rueckmeldung InterrogateProplanta XHR.Status= 200 2022-09-12 20:35:03.553 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: Näste Aktualisierung Wetterdaten =21:35 Uhr 2022-09-12 20:35:03.553 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: ******************* Es wird die Globalstrahlung ab Tag 4 von Proplanta abgerufen ******************* 2022-09-12 20:35:07.254 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: Rueckmeldung InterrogateProplanta XHR.Status= 200 2022-09-12 20:35:07.257 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: Globalstrahlung Tag4 =0 Globalstrahlung Tag5 =0 Globalstrahlung Tag6 =0 2022-09-12 20:35:07.257 - [33mwarn[39m: javascript.0 (461) You are assigning a undefined to the state "0_userdata.0.Charge_Control.Proplanta.Datum_Tag_4" which expects a string. Please fix your code to use a string or change the state type to undefined. This warning might become an error in future versions. 2022-09-12 20:35:07.259 - [33mwarn[39m: javascript.0 (461) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1687:20) 2022-09-12 20:35:07.260 - [33mwarn[39m: javascript.0 (461) at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:82:16 2022-09-12 20:35:07.260 - [33mwarn[39m: javascript.0 (461) at new Promise (<anonymous>) 2022-09-12 20:35:07.260 - [33mwarn[39m: javascript.0 (461) at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:81:16 2022-09-12 20:35:07.260 - [33mwarn[39m: javascript.0 (461) at script.js.Eigene_Skripte.Charge_Control:1155:13 2022-09-12 20:35:07.260 - [33mwarn[39m: javascript.0 (461) at runMicrotasks (<anonymous>) 2022-09-12 20:35:07.260 - [33mwarn[39m: javascript.0 (461) at processTicksAndRejections (node:internal/process/task_queues:96:5) 2022-09-12 20:35:07.261 - [33mwarn[39m: javascript.0 (461) You are assigning a undefined to the state "0_userdata.0.Charge_Control.Proplanta.Datum_Tag_5" which expects a string. Please fix your code to use a string or change the state type to undefined. This warning might become an error in future versions. 2022-09-12 20:35:07.261 - [33mwarn[39m: javascript.0 (461) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1687:20) 2022-09-12 20:35:07.262 - [33mwarn[39m: javascript.0 (461) at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:82:16 2022-09-12 20:35:07.262 - [33mwarn[39m: javascript.0 (461) at new Promise (<anonymous>) 2022-09-12 20:35:07.262 - [33mwarn[39m: javascript.0 (461) at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:81:16 2022-09-12 20:35:07.262 - [33mwarn[39m: javascript.0 (461) at script.js.Eigene_Skripte.Charge_Control:1156:13 2022-09-12 20:35:07.262 - [33mwarn[39m: javascript.0 (461) at runMicrotasks (<anonymous>) 2022-09-12 20:35:07.262 - [33mwarn[39m: javascript.0 (461) at processTicksAndRejections (node:internal/process/task_queues:96:5) 2022-09-12 20:35:07.263 - [33mwarn[39m: javascript.0 (461) You are assigning a undefined to the state "0_userdata.0.Charge_Control.Proplanta.Datum_Tag_6" which expects a string. Please fix your code to use a string or change the state type to undefined. This warning might become an error in future versions. 2022-09-12 20:35:07.264 - [33mwarn[39m: javascript.0 (461) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1687:20) 2022-09-12 20:35:07.264 - [33mwarn[39m: javascript.0 (461) at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:82:16 2022-09-12 20:35:07.264 - [33mwarn[39m: javascript.0 (461) at new Promise (<anonymous>) 2022-09-12 20:35:07.264 - [33mwarn[39m: javascript.0 (461) at /opt/iobroker/node_modules/iobroker.javascript/lib/tools.js:81:16 2022-09-12 20:35:07.264 - [33mwarn[39m: javascript.0 (461) at script.js.Eigene_Skripte.Charge_Control:1157:13 2022-09-12 20:35:07.264 - [33mwarn[39m: javascript.0 (461) at runMicrotasks (<anonymous>) 2022-09-12 20:35:07.265 - [33mwarn[39m: javascript.0 (461) at processTicksAndRejections (node:internal/process/task_queues:96:5) 2022-09-12 20:35:07.603 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: Prognose Solcast in kWh = 65.78 2022-09-12 20:35:07.604 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: Prognose Solcast 90 Perzentil in kWh = 69.73 2022-09-12 20:35:07.604 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: Prognose Proplanta in kWh = 68.44907520000001 2022-09-12 20:35:07.604 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: Prognose_kWh nach Abzug Korrekturfaktor = 67.1145376 2022-09-12 20:35:07.604 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: Bereits produzierte PV-Leistung = 60.13671650492071 2022-09-12 20:35:07.668 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: Prognose_kWh_heute für Berechnung = 6.9778210950792925 2022-09-12 20:35:08.017 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: BatterieProzent(wert)=0 2022-09-12 20:35:08.017 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: Eigenverbrauch Tag = 35 2022-09-12 20:35:08.017 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: AktSpeicherSoC in % = 90 2022-09-12 20:35:08.017 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: Ueberschuss in kWh 0 = (Prognose kWh 6.9778210950792925 - Berechneter Eigenverbrauch 35) - FreieKapBatterie_kWh 1.1 2022-09-12 20:35:08.017 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: Ueberschuss in Prozent = 0 2022-09-12 20:35:08.052 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: Bewölkungsgrad 12 Uhr Proplanta 200 2022-09-12 20:35:08.052 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: Bewölkungsgrad 15 Uhr Proplanta 200 2022-09-12 20:35:08.052 - [33mwarn[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: -==== Bewölkungsgrad_12 oder Bewölkungsgrad_15 wurde nicht abgerufen. 12=200 15=200 ====-
-
@jans_ios sagte in E3DC Hauskraftwerk steuern:
Ich habe heute auf die aktuellste Version des Scripts upgedated und seitdem die folgende Meldung im Log:
2022-09-12 20:35:08.052 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: Bewölkungsgrad 12 Uhr Proplanta 200
2022-09-12 20:35:08.052 - [32minfo[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: Bewölkungsgrad 15 Uhr Proplanta 200
2022-09-12 20:35:08.052 - [33mwarn[39m: javascript.0 (461) script.js.Eigene_Skripte.Charge_Control: -==== Bewölkungsgrad_12 oder Bewölkungsgrad_15 wurde nicht abgerufen. 12=200 15=200 ====-Was hat das zu bedeuten?
Das bedeutet erst mal, dass die Seite von Proplanta sich eventuell geändert hat und der Filter somit nicht richtig funktioniert. Warum auch immer, sind die Werte nicht richtig aus der HTML Seite gefiltert worden.
Das kann beim nächsten Abruf bereits wieder anders aussehen.
Ich schaue mir das aber noch mal in Ruhe an.