NEWS
E3DC Hauskraftwerk steuern
-
Nachdem gestern mein Ergebnis mit 1s pollzeit ne Punktlandung war habe ich heute mit 2s gepollt und das Ergebnis ist immer noch sehr gut..
Portal 34,33kwh
Script 34,51kwh
Morgen gehe ich auf 3 s..@smartboart sagte in E3DC Hauskraftwerk steuern:
Nachdem gestern mein Ergebnis mit 1s pollzeit ne Punktlandung war habe ich heute mit 2s gepollt und das Ergebnis ist immer noch sehr gut..
Portal 34,33kwh
Script 34,51kwh
Morgen gehe ich auf 3 s..@ArnoD Wo findet sich die Pollzeit im aktuellen Stand wieder? In den Benutzervariablen habe ich erstmal nichts gefunden. Wenn ich das richtig verstanden habe, ist 1 Sek sehr genau, 2 Sek genau und 3 Sekunden schon untauglich. Was verwendet das Skript aktuell?
Ich komme jetzt von Version 0.2.01 - kann ich die ganzen vorhandenen States bestehen lassen oder alles löschen, damit es sauber anläuft? Ich vermute jetzt mal ersteres, weil in den Update-Erklärungen nichts dazu stand...
-
@stevie77 sagte in E3DC Hauskraftwerk steuern:
Vis-View finde ich nur, wenn ich ganz runterscrolle, oder?
Ja ist immer an der selben Stelle.
@ArnoD Muss noch was fragen: Wie erkennt man in der Vis-View, welche Einstellung gerade aktiv ist (bei Automatik)? Laut Log sollte Einstellung 1 aktiv sein...

8.9.2020, 02:36:41.311 [info ]: javascript.0 (31473) Start javascript script.js.e3dc-control.handleE3DCControlV2 8.9.2020, 02:36:41.673 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Jetzt sind alle States abgearbeitet 8.9.2020, 02:36:41.699 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: registered 19 subscriptions and 7 schedules 8.9.2020, 02:36:43.548 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Rueckmeldung :{"result":{"2020-09-08":9105,"2020-09-09":9170},"message":{"code":0,"type":"success","text":"","info":{"place":"21368 Dahlenburg, Landkreis L\u00fcneburg, Niedersachsen, DE","timezone":"Europe/Berlin","distance":0},"ratelimit":{"limit":12,"remaining":11}}} 8.9.2020, 02:36:43.550 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Gespeichert wurde Dachfläche =2/2 : 9105 :9170 8.9.2020, 02:36:46.695 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose Forecast in kWh = 79.694 8.9.2020, 02:36:46.695 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose Proplanta in kWh = 15.570500000000001 8.9.2020, 02:36:46.696 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose_kWh nach Abzug Korrekturfaktor = 1.24564 8.9.2020, 02:36:46.696 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Bereits produzierte PV-Leistung = 0 8.9.2020, 02:36:46.697 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose_kWh_heute für Berechnung = 3 8.9.2020, 02:36:46.698 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Berechneter Eigenverbrauch = 12 8.9.2020, 02:36:46.698 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: AktSpeicherSoC in % = 44 8.9.2020, 02:36:46.698 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: FreieKapBatterie_kWh = 6.55 8.9.2020, 02:36:46.699 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Ueberschuss in kWh = 0 8.9.2020, 02:36:46.699 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Ueberschuss in Prozent = 0 8.9.2020, 02:36:46.701 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Bewölkungsgrad 12 Uhr Proplanta 100 8.9.2020, 02:36:46.702 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Bewölkungsgrad 15 Uhr Proplanta 100 8.9.2020, 02:36:46.702 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Berechneter Unload SoC ist = 44 8.9.2020, 02:36:46.702 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Einstellung 1 aktiv 8.9.2020, 02:36:47.207 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: E3DC Config Datei gespeichert! 8.9.2020, 02:36:47.955 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose Forecast in kWh = 79.694 8.9.2020, 02:36:47.956 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose Proplanta in kWh = 15.570500000000001 8.9.2020, 02:36:47.956 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose_kWh nach Abzug Korrekturfaktor = 1.24564 8.9.2020, 02:36:47.956 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Bereits produzierte PV-Leistung = 0 8.9.2020, 02:36:47.956 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose_kWh_heute für Berechnung = 3 8.9.2020, 02:36:47.957 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Berechneter Eigenverbrauch = 12 8.9.2020, 02:36:47.957 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: AktSpeicherSoC in % = 44 8.9.2020, 02:36:47.957 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: FreieKapBatterie_kWh = 6.55 8.9.2020, 02:36:47.958 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Ueberschuss in kWh = 0 8.9.2020, 02:36:47.958 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Ueberschuss in Prozent = 0 8.9.2020, 02:36:47.959 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Bewölkungsgrad 12 Uhr Proplanta 100 8.9.2020, 02:36:47.960 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Bewölkungsgrad 15 Uhr Proplanta 100 8.9.2020, 02:36:47.960 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Berechneter Unload SoC ist = 44 8.9.2020, 02:36:48.207 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: E3DC Config Datei eingelesen! 8.9.2020, 02:37:00.015 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: minütlicher Schedule gestoppt 8.9.2020, 02:37:00.029 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: minütlicher Schedule gestopptUnd wieso wiederholt sich das mit noch nem Durchgang im Log nochmals obwohl Einstellung 1 schon gewählt wurde?
-
Ich habe dieses Topic eröffnet, um gemeinsam an einer Überschusssteuerung des E3DC Hauskraftwerks in ioBroker zu arbeiten.
Dankeschön an dieser Stelle an Eberhard und sein Programm E3DC-Control, ohne ihn wäre das alles nicht möglich gewesen.
Großes Lob und Danke auch an Uli, der den Adapter e3dc-rscp programmiert hat, über den die Steuerung im ioBroker erst möglich wurde.Ziel der Steuerung ist:
Mit der Steuerung soll erreicht werden, dass der Batteriespeicher möglichst schonend geladen wird, um die Lebensdauer zu erhöhen.- Speicher soll nie längere Zeit auf 100 % geladen werden oder auf 0 % entladen werden.
- Möglichst gleichmäßige Ladeleistung beim Laden.
- PV-Überschuss soll gespeichert werden, um nicht in die 70 % Abriegelung zu kommen.
- Bei Überschreitung WR Begrenzung soll Überschuss in die Batterie gespeichert werden.
ioBroker
Es werden folgende Adapter benötigt:- Javascript (NPM-Module: axios, is-it-bst)
- e3dc-rscp
Für die View Beispiele in VIS werden noch folgende Adapter benötigt:
- vis-hqwidgets
- vis-materialdesign
- vis-timeandweather
Beispiel View zum Importieren und das Skript Charge-Control, sowie eine Anleitung findet ihr auf GitHub:
https://github.com/ArnoD15/iobroker_E3DCEinstellbare Parameter:
Unload: Wenn der SoC Wert der Batterie > Wert „Unload“ ist, wird der Batteriespeicher mit Beginn Solarproduktion bis Beginn Regelzeitraum, auf SOC Wert Parameter "Unload" entladen. Ist Unload < Ladeschwelle wird bis Ladeschwelle geladen und Unload ignoriert.Ladeschwelle: Mit Beginn Solarproduktion wird die Batterie mit der maximalen Ladeleistung bis zum Wert Ladeschwelle geladen. Erst wenn der Batterie SOC den Wert Ladeschwelle erreicht, wird mit dem geregelten Laden begonnen. Danach wird bis SOC Wert „Ladeende“ gleichmäßig geladen, mit Ausnahme, wenn die PV-Leistung das Einspeiselimit oder die WR-Maxleistung übersteigt, wird die Ladeleistung um den Wert erhöht, um das Einspeiselimit oder WR-Limit einhalten zu können. Bei unterschreiten von dem Wert Einspeiselimit oder WR-Limit, wird wieder mit neu berechneter Ladeleistung, gleichmäßig bis „Ladeende" geladen. Bei großem Überschuss kann die gleichmäßige Ladeleistung bis auf 0 abgesenkt werden. Parameter "Ladeschwelle" hat Vorrang vor "Unload", d.h. "Unload" wird ignoriert, falls "Ladeschwelle" größer sein sollte als „Unload“.
Ladeende: SoC Wert Speicher, der zum Ende des Regelzeitraums erreicht werden soll.
Ladeende2: SoC Wert Speicher, der zum Ende Sommer Ladeende erreicht werden sollten.
Unterer Ladekorridor: Der „Untere Ladekorridor“ definiert nur den min. Wert, ab dem mit dem Laden der Batterie gestartet wird. Erst wenn die berechnetet Ladeleistung den Wert „unteren Ladekorridor“ übersteigt, wird mit dem Laden der Batterie gestartet.
Offset Regelbeginn Zeit in hh:mm, die von der Astro Zeit "solarNoon" (höchster Sonnenstand) abgezogen wird.
Offset Regelende Zeit in hh:mm, die zu der Astro Zeit "solarNoon" (höchster Sonnenstand) dazu addiert wird.
Offset Ladeende Zeit in hh:mm, die von der Astro Zeit "sunset" (Sonnenuntergang) abgezogen wird.

Eigenverbrauch: Der geschätzte Eigenverbrauch pro Tag in kWh. Wird für die Überschussberechnung der Prognose verwendet.Notstrom min.: Speicherreserve in % bei Wintersonnenwende 21.12
Notstrom Sockel: min. SOC Wert bei Tag-/Nachtgleiche 21.3./21.9.
Berechnung Notstrom: 21.12 (Wintersonnenwende) ist der Bezugs-SoC = Wert „Notstrom min“ und wird bis zum 21.3 (Tag-/Nachtgleiche) auf Wert „Notstrom Sockel“ reduziert und bis zum 20.06 (Sommersonnenwende) um ca. weitere 10% reduziert. Ab dem 20.06 (Sommersonnenwende) steigt der Bezugs-SoC wieder bis zum 21.09 (Tag-/Nachtgleiche) auf den Wert „Notstrom Sockel“ und bis zum 21.12 (Wintersonnenwende) auf den Wert „Notstrom min“. Je Monat ändert sich somit der SoC um ca. +- 3,3%. Mit Notstrom min. und Notstrom Sockel kann man eine Dynamische Notstromreserve vorhalten, Vorteil ist, dass der Speicher nicht alle 3 Wochen entladen wird wie bei der Notstromreserve von E3DC.
Starten wir am 21.12 (Wintersonnenwende) der kürzeste Tag, da wird der Speicher bis auf Notstrom min = 20% entladen.
Ab jetzt werden die Tage immer länger, bis zum 21.3 (Tag-/Nachtgleiche) wo die Tage und Nächte gleich lang sind.
Das bedeutet deine Speicherreserve kann immer geringer werden je länger die Tage sind, da ja mehr PV-Leistung zur Verfügung steht. Es wird somit jeden Monat die Speichergrenze um ca.3,33% reduziert bis zum 21.03 auf den Wert Notstrom Sockel = 10%.Ab dem 21.03 werden die Tage immer länger bis zum 20.06 (Sommersonnenwende) dem längsten Tag im Jahr.
Es wird also die Speichergrenze weiter jeden Monat um ca. 3,33% reduziert bis zum 20.06 auf 0%,
Ab diesem Zeitpunkt werden die Tage wieder kürzer bis zum 21.9 (Tag-/Nachtgleiche) wo die Tage und Nächte wieder gleich lang sind und die Speicherreserve wird jeden Monat um ca. 3,33% erhöht auf Notstrom Sockel = 10%.
Die Tage werden immer kürzer bis zum 21.12 (Wintersonnenwende) und die Speichergrenze wird weiter jeden Monat um ca. 3,33% erhöht auf den Wert Notstrom min = 20%Notstrom Sockel ist somit der min. SOC Wert, wenn die Tage und Nächte gleich lang sind, also am 21.3 und 21.09 und
Notstrom min wenn die Tage am kürzesten sind am 21.12 .Laderegelung:
Mit Beginn Solarproduktion wird die Batterie mit der maximalen Ladeleistung bis zum Wert Ladeschwelle geladen oder bis zum SOC Wert Unload entladen. Erst wenn der Batterie SOC den Wert Ladeschwelle erreicht, wird mit dem geregelten Laden begonnen.Mit Start Regelzeitraum wird die benötigte Ladeleistung berechnet, um den SOC Ladeende bis zum Ende Regelzeitraum zu erreichen.
Bei Überschreitung der Zeit, Ende Regelzeitraum wird die benötigte Ladeleistung neu berechnet, um den SOC Ladeende2 bis zur Zeit Ladeende zu erreichen.
Wenn die Zeit Ladeende erreicht ist und die Batterie noch nicht den SOC Ladeende2 erreicht hat, wird das Laden mit maximal noch zur Verfügung stehender PV-Leistung freigegeben.
Ausnahme: Wenn die PV-Leistung das Einspeiselimit oder die maximale Wechselrichterleistung übersteigt, wird die Ladeleistung um den Wert erhöht, um das Einspeiselimit oder die maximale Wechselrichterleistung einhalten zu können. Bei Unterschreiten von dem Wert Einspeiselimit oder WR-Limit, wird mit neu berechneter Ladeleistung, gleichmäßig geladen.
@ArnoD Hat sich am Korrekturfaktor auch etwas geändert? Seither hatte ich mit const nKorrFaktor = 92 eine Reduzierung um 8%. Jetzt scheint die Prognose mit 92 extrem daneben zu liegen?!
10:11:05.007 info javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose Forecast in kWh = 79.256 10:11:05.009 info javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose Proplanta in kWh = 15.570500000000001 10:11:05.010 info javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose_kWh nach Abzug Korrekturfaktor = 1.24564Bisher habe ich tatsächlich 19 kWh produziert, was schon etwas über der Proplanta-Schätzung liegt. Aber die Prognose mit Korrekturfaktor liegt mit 1 kWh doch sehr daneben. Daher vermute ich, dass die 92 nicht stimmt. Wie gebe ich eine Verringerung der Auto-Prognose um 8% richtig an?
-
@smartboart sagte in E3DC Hauskraftwerk steuern:
Nachdem gestern mein Ergebnis mit 1s pollzeit ne Punktlandung war habe ich heute mit 2s gepollt und das Ergebnis ist immer noch sehr gut..
Portal 34,33kwh
Script 34,51kwh
Morgen gehe ich auf 3 s..@ArnoD Wo findet sich die Pollzeit im aktuellen Stand wieder? In den Benutzervariablen habe ich erstmal nichts gefunden. Wenn ich das richtig verstanden habe, ist 1 Sek sehr genau, 2 Sek genau und 3 Sekunden schon untauglich. Was verwendet das Skript aktuell?
Ich komme jetzt von Version 0.2.01 - kann ich die ganzen vorhandenen States bestehen lassen oder alles löschen, damit es sauber anläuft? Ich vermute jetzt mal ersteres, weil in den Update-Erklärungen nichts dazu stand...
-
@stevie77 sagte in E3DC Hauskraftwerk steuern:
Wo findet sich die Pollzeit im aktuellen Stand wieder?
Die kann man nicht im Script sondern in den Einstellungen vom Modbus Adapter einstellen.
@ArnoD sagte in E3DC Hauskraftwerk steuern:
@stevie77 sagte in E3DC Hauskraftwerk steuern:
Wo findet sich die Pollzeit im aktuellen Stand wieder?
Die kann man nicht im Script sondern in den Einstellungen vom Modbus Adapter einstellen.
Achso, das ist gemeint. Da habe ich "Poll delay" schon immer auf 1000 stehen, ohne Performance-Probleme zu bemerken. Danke, schon etwas mehr Klarheit bei mir. ;-)
Momentan wird hier sowas angezeigt, das ist schon verwirrend. Aber hat evtl. auch mit dem Korrekturfaktor zu tun, könnte ich mir vorstellen...

-
@ArnoD Muss noch was fragen: Wie erkennt man in der Vis-View, welche Einstellung gerade aktiv ist (bei Automatik)? Laut Log sollte Einstellung 1 aktiv sein...

8.9.2020, 02:36:41.311 [info ]: javascript.0 (31473) Start javascript script.js.e3dc-control.handleE3DCControlV2 8.9.2020, 02:36:41.673 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Jetzt sind alle States abgearbeitet 8.9.2020, 02:36:41.699 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: registered 19 subscriptions and 7 schedules 8.9.2020, 02:36:43.548 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Rueckmeldung :{"result":{"2020-09-08":9105,"2020-09-09":9170},"message":{"code":0,"type":"success","text":"","info":{"place":"21368 Dahlenburg, Landkreis L\u00fcneburg, Niedersachsen, DE","timezone":"Europe/Berlin","distance":0},"ratelimit":{"limit":12,"remaining":11}}} 8.9.2020, 02:36:43.550 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Gespeichert wurde Dachfläche =2/2 : 9105 :9170 8.9.2020, 02:36:46.695 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose Forecast in kWh = 79.694 8.9.2020, 02:36:46.695 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose Proplanta in kWh = 15.570500000000001 8.9.2020, 02:36:46.696 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose_kWh nach Abzug Korrekturfaktor = 1.24564 8.9.2020, 02:36:46.696 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Bereits produzierte PV-Leistung = 0 8.9.2020, 02:36:46.697 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose_kWh_heute für Berechnung = 3 8.9.2020, 02:36:46.698 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Berechneter Eigenverbrauch = 12 8.9.2020, 02:36:46.698 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: AktSpeicherSoC in % = 44 8.9.2020, 02:36:46.698 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: FreieKapBatterie_kWh = 6.55 8.9.2020, 02:36:46.699 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Ueberschuss in kWh = 0 8.9.2020, 02:36:46.699 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Ueberschuss in Prozent = 0 8.9.2020, 02:36:46.701 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Bewölkungsgrad 12 Uhr Proplanta 100 8.9.2020, 02:36:46.702 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Bewölkungsgrad 15 Uhr Proplanta 100 8.9.2020, 02:36:46.702 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Berechneter Unload SoC ist = 44 8.9.2020, 02:36:46.702 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Einstellung 1 aktiv 8.9.2020, 02:36:47.207 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: E3DC Config Datei gespeichert! 8.9.2020, 02:36:47.955 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose Forecast in kWh = 79.694 8.9.2020, 02:36:47.956 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose Proplanta in kWh = 15.570500000000001 8.9.2020, 02:36:47.956 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose_kWh nach Abzug Korrekturfaktor = 1.24564 8.9.2020, 02:36:47.956 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Bereits produzierte PV-Leistung = 0 8.9.2020, 02:36:47.956 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose_kWh_heute für Berechnung = 3 8.9.2020, 02:36:47.957 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Berechneter Eigenverbrauch = 12 8.9.2020, 02:36:47.957 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: AktSpeicherSoC in % = 44 8.9.2020, 02:36:47.957 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: FreieKapBatterie_kWh = 6.55 8.9.2020, 02:36:47.958 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Ueberschuss in kWh = 0 8.9.2020, 02:36:47.958 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Ueberschuss in Prozent = 0 8.9.2020, 02:36:47.959 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Bewölkungsgrad 12 Uhr Proplanta 100 8.9.2020, 02:36:47.960 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Bewölkungsgrad 15 Uhr Proplanta 100 8.9.2020, 02:36:47.960 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Berechneter Unload SoC ist = 44 8.9.2020, 02:36:48.207 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: E3DC Config Datei eingelesen! 8.9.2020, 02:37:00.015 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: minütlicher Schedule gestoppt 8.9.2020, 02:37:00.029 [info ]: javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: minütlicher Schedule gestopptUnd wieso wiederholt sich das mit noch nem Durchgang im Log nochmals obwohl Einstellung 1 schon gewählt wurde?
@stevie77 sagte in E3DC Hauskraftwerk steuern:
Wie erkennt man in der Vis-View, welche Einstellung gerade aktiv ist
Das lasse ich mir im ValueList HTML Widget anzeigen was ich als Hintergrund verwende.
Da du das gelöscht hast, musst du das bei dir einfügen wie es für dich passt.

-
@stevie77 sagte in E3DC Hauskraftwerk steuern:
Wie erkennt man in der Vis-View, welche Einstellung gerade aktiv ist
Das lasse ich mir im ValueList HTML Widget anzeigen was ich als Hintergrund verwende.
Da du das gelöscht hast, musst du das bei dir einfügen wie es für dich passt.

@ArnoD sagte in E3DC Hauskraftwerk steuern:
@stevie77 sagte in E3DC Hauskraftwerk steuern:
Wie erkennt man in der Vis-View, welche Einstellung gerade aktiv ist
Das lasse ich mir im ValueList HTML Widget anzeigen was ich als Hintergrund verwende.
Da du das gelöscht hast, musst du das bei dir einfügen wie es für dich passt.

Oha, ich dachte, ich lösche nur den Rahmen samt Hintergrund. Aber ich hätte den Text ja eigentlich sehen können. In meiner View-Kopie ist er auch noch da. :-) Ich nahm irgendwie an, dass einer der Buttons farblich markiert werden würde. Dumme Annahme eigentlich. :) Ich glaube, ich bin noch halb im Urlaub... ;-)
-
@ArnoD Hat sich am Korrekturfaktor auch etwas geändert? Seither hatte ich mit const nKorrFaktor = 92 eine Reduzierung um 8%. Jetzt scheint die Prognose mit 92 extrem daneben zu liegen?!
10:11:05.007 info javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose Forecast in kWh = 79.256 10:11:05.009 info javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose Proplanta in kWh = 15.570500000000001 10:11:05.010 info javascript.0 (31473) script.js.e3dc-control.handleE3DCControlV2: Prognose_kWh nach Abzug Korrekturfaktor = 1.24564Bisher habe ich tatsächlich 19 kWh produziert, was schon etwas über der Proplanta-Schätzung liegt. Aber die Prognose mit Korrekturfaktor liegt mit 1 kWh doch sehr daneben. Daher vermute ich, dass die 92 nicht stimmt. Wie gebe ich eine Verringerung der Auto-Prognose um 8% richtig an?
@stevie77 sagte in E3DC Hauskraftwerk steuern:
Hat sich am Korrekturfaktor auch etwas geändert?
Ja.
Wie in der Historie angegeben, ist ab Version 0.2.05 der % Wert einzutragen um den die Prognose reduziert werden soll.
Also 8 wenn um 8% reduziert werden soll. -
@stevie77 sagte in E3DC Hauskraftwerk steuern:
Hat sich am Korrekturfaktor auch etwas geändert?
Ja.
Wie in der Historie angegeben, ist ab Version 0.2.05 der % Wert einzutragen um den die Prognose reduziert werden soll.
Also 8 wenn um 8% reduziert werden soll.@ArnoD Danke für deine Geduld. Das Mitten in der Nacht zu machen ist wohl nicht so zielführend. Hatte alle Update-Notes durchgelesen, aber irgendwie nicht richtig geschaltet. Jetzt wo du's nochmals schreibst, ist es auf Anhieb klar. Hatte ja eigentlich selbst festgestellt, dass damit was nicht stimmt wie ich es eingestellt hatte, aber irgendwie nicht den richtigen Schluss gezogen. :dizzy_face:
-
@smartboart sagte in E3DC Hauskraftwerk steuern:
Nachdem gestern mein Ergebnis mit 1s pollzeit ne Punktlandung war habe ich heute mit 2s gepollt und das Ergebnis ist immer noch sehr gut..
Portal 34,33kwh
Script 34,51kwh
Morgen gehe ich auf 3 s..@ArnoD Wo findet sich die Pollzeit im aktuellen Stand wieder? In den Benutzervariablen habe ich erstmal nichts gefunden. Wenn ich das richtig verstanden habe, ist 1 Sek sehr genau, 2 Sek genau und 3 Sekunden schon untauglich. Was verwendet das Skript aktuell?
Ich komme jetzt von Version 0.2.01 - kann ich die ganzen vorhandenen States bestehen lassen oder alles löschen, damit es sauber anläuft? Ich vermute jetzt mal ersteres, weil in den Update-Erklärungen nichts dazu stand...
@stevie77 sagte in E3DC Hauskraftwerk steuern:
Wenn ich das richtig verstanden habe, ist 1 Sek sehr genau, 2 Sek genau und 3 Sekunden schon untauglich. Was verwendet das Skript aktuell?
nein polle aktuell seit mehreren Tagen mit 5s und das ist immer top!!
war beim letzten Test zu vorschnell und das portal hatte wohl lange nicht aktualisiert... -
@stevie77 sagte in E3DC Hauskraftwerk steuern:
Wenn ich das richtig verstanden habe, ist 1 Sek sehr genau, 2 Sek genau und 3 Sekunden schon untauglich. Was verwendet das Skript aktuell?
nein polle aktuell seit mehreren Tagen mit 5s und das ist immer top!!
war beim letzten Test zu vorschnell und das portal hatte wohl lange nicht aktualisiert...@smartboart Das heißt dann aber auch, dass sich die Live-Ansicht der Verbräuche nur alle 5 Sekunden ändert, oder? Das wäre mir zu lang, ich möchte beim Draufsehen sekundengenau Schwankungen erkennen können, quasi sehr ähnlich zum Display am HKW.
-
@smartboart Das heißt dann aber auch, dass sich die Live-Ansicht der Verbräuche nur alle 5 Sekunden ändert, oder? Das wäre mir zu lang, ich möchte beim Draufsehen sekundengenau Schwankungen erkennen können, quasi sehr ähnlich zum Display am HKW.
@stevie77 ja das ist die kehrseite...Aber 5 sekunden ist ein guter kompromiss zwischen Anzeige und Resourcen schonen..
Habe im Schaltschrank ein Display an einem raspi 4 als multi host slave mit chromium boot to desktop und der chromium saugt ganz schön an dem Prozessor. und wenn dann noch jede Sekunde gepollt wird geht der durch die Decke.
-
@stevie77 ja das ist die kehrseite...Aber 5 sekunden ist ein guter kompromiss zwischen Anzeige und Resourcen schonen..
Habe im Schaltschrank ein Display an einem raspi 4 als multi host slave mit chromium boot to desktop und der chromium saugt ganz schön an dem Prozessor. und wenn dann noch jede Sekunde gepollt wird geht der durch die Decke.
@smartboart Aber ich könnte mal meine 2. Modbus-Instanz für den externen Wechselrichter mal von 1000 auf 5000 erhöhen, da gucke ich selten drauf (bzw. momentan arbeite ich mit diesen Werten noch gar nicht). :-)
By the way, hat einer von euch zufällig ne openWB? Oder fragt zufällig von zwei unterschiedlichen Clients aus das Hauskraftwerk per Modbus ab? Hintergrund: In der Solaredge-Spezifikation zu Modbus habe ich gelesen, dass sich nur ein Client gleichzeitig per Modbus zum WR verbinden kann. Jetzt bin ich mir nicht sicher, ob die openWB eine Modbus-Verbindung zum E3/DC aufmacht, aber falls ja, dann wären es zwei unterschiedliche Clients am HKW und es wäre blöd, wenn das auch für das HKW gelten würde (nur ein Client)...
-
@smartboart Aber ich könnte mal meine 2. Modbus-Instanz für den externen Wechselrichter mal von 1000 auf 5000 erhöhen, da gucke ich selten drauf (bzw. momentan arbeite ich mit diesen Werten noch gar nicht). :-)
By the way, hat einer von euch zufällig ne openWB? Oder fragt zufällig von zwei unterschiedlichen Clients aus das Hauskraftwerk per Modbus ab? Hintergrund: In der Solaredge-Spezifikation zu Modbus habe ich gelesen, dass sich nur ein Client gleichzeitig per Modbus zum WR verbinden kann. Jetzt bin ich mir nicht sicher, ob die openWB eine Modbus-Verbindung zum E3/DC aufmacht, aber falls ja, dann wären es zwei unterschiedliche Clients am HKW und es wäre blöd, wenn das auch für das HKW gelten würde (nur ein Client)...
-
Ich habe dieses Topic eröffnet, um gemeinsam an einer Überschusssteuerung des E3DC Hauskraftwerks in ioBroker zu arbeiten.
Dankeschön an dieser Stelle an Eberhard und sein Programm E3DC-Control, ohne ihn wäre das alles nicht möglich gewesen.
Großes Lob und Danke auch an Uli, der den Adapter e3dc-rscp programmiert hat, über den die Steuerung im ioBroker erst möglich wurde.Ziel der Steuerung ist:
Mit der Steuerung soll erreicht werden, dass der Batteriespeicher möglichst schonend geladen wird, um die Lebensdauer zu erhöhen.- Speicher soll nie längere Zeit auf 100 % geladen werden oder auf 0 % entladen werden.
- Möglichst gleichmäßige Ladeleistung beim Laden.
- PV-Überschuss soll gespeichert werden, um nicht in die 70 % Abriegelung zu kommen.
- Bei Überschreitung WR Begrenzung soll Überschuss in die Batterie gespeichert werden.
ioBroker
Es werden folgende Adapter benötigt:- Javascript (NPM-Module: axios, is-it-bst)
- e3dc-rscp
Für die View Beispiele in VIS werden noch folgende Adapter benötigt:
- vis-hqwidgets
- vis-materialdesign
- vis-timeandweather
Beispiel View zum Importieren und das Skript Charge-Control, sowie eine Anleitung findet ihr auf GitHub:
https://github.com/ArnoD15/iobroker_E3DCEinstellbare Parameter:
Unload: Wenn der SoC Wert der Batterie > Wert „Unload“ ist, wird der Batteriespeicher mit Beginn Solarproduktion bis Beginn Regelzeitraum, auf SOC Wert Parameter "Unload" entladen. Ist Unload < Ladeschwelle wird bis Ladeschwelle geladen und Unload ignoriert.Ladeschwelle: Mit Beginn Solarproduktion wird die Batterie mit der maximalen Ladeleistung bis zum Wert Ladeschwelle geladen. Erst wenn der Batterie SOC den Wert Ladeschwelle erreicht, wird mit dem geregelten Laden begonnen. Danach wird bis SOC Wert „Ladeende“ gleichmäßig geladen, mit Ausnahme, wenn die PV-Leistung das Einspeiselimit oder die WR-Maxleistung übersteigt, wird die Ladeleistung um den Wert erhöht, um das Einspeiselimit oder WR-Limit einhalten zu können. Bei unterschreiten von dem Wert Einspeiselimit oder WR-Limit, wird wieder mit neu berechneter Ladeleistung, gleichmäßig bis „Ladeende" geladen. Bei großem Überschuss kann die gleichmäßige Ladeleistung bis auf 0 abgesenkt werden. Parameter "Ladeschwelle" hat Vorrang vor "Unload", d.h. "Unload" wird ignoriert, falls "Ladeschwelle" größer sein sollte als „Unload“.
Ladeende: SoC Wert Speicher, der zum Ende des Regelzeitraums erreicht werden soll.
Ladeende2: SoC Wert Speicher, der zum Ende Sommer Ladeende erreicht werden sollten.
Unterer Ladekorridor: Der „Untere Ladekorridor“ definiert nur den min. Wert, ab dem mit dem Laden der Batterie gestartet wird. Erst wenn die berechnetet Ladeleistung den Wert „unteren Ladekorridor“ übersteigt, wird mit dem Laden der Batterie gestartet.
Offset Regelbeginn Zeit in hh:mm, die von der Astro Zeit "solarNoon" (höchster Sonnenstand) abgezogen wird.
Offset Regelende Zeit in hh:mm, die zu der Astro Zeit "solarNoon" (höchster Sonnenstand) dazu addiert wird.
Offset Ladeende Zeit in hh:mm, die von der Astro Zeit "sunset" (Sonnenuntergang) abgezogen wird.

Eigenverbrauch: Der geschätzte Eigenverbrauch pro Tag in kWh. Wird für die Überschussberechnung der Prognose verwendet.Notstrom min.: Speicherreserve in % bei Wintersonnenwende 21.12
Notstrom Sockel: min. SOC Wert bei Tag-/Nachtgleiche 21.3./21.9.
Berechnung Notstrom: 21.12 (Wintersonnenwende) ist der Bezugs-SoC = Wert „Notstrom min“ und wird bis zum 21.3 (Tag-/Nachtgleiche) auf Wert „Notstrom Sockel“ reduziert und bis zum 20.06 (Sommersonnenwende) um ca. weitere 10% reduziert. Ab dem 20.06 (Sommersonnenwende) steigt der Bezugs-SoC wieder bis zum 21.09 (Tag-/Nachtgleiche) auf den Wert „Notstrom Sockel“ und bis zum 21.12 (Wintersonnenwende) auf den Wert „Notstrom min“. Je Monat ändert sich somit der SoC um ca. +- 3,3%. Mit Notstrom min. und Notstrom Sockel kann man eine Dynamische Notstromreserve vorhalten, Vorteil ist, dass der Speicher nicht alle 3 Wochen entladen wird wie bei der Notstromreserve von E3DC.
Starten wir am 21.12 (Wintersonnenwende) der kürzeste Tag, da wird der Speicher bis auf Notstrom min = 20% entladen.
Ab jetzt werden die Tage immer länger, bis zum 21.3 (Tag-/Nachtgleiche) wo die Tage und Nächte gleich lang sind.
Das bedeutet deine Speicherreserve kann immer geringer werden je länger die Tage sind, da ja mehr PV-Leistung zur Verfügung steht. Es wird somit jeden Monat die Speichergrenze um ca.3,33% reduziert bis zum 21.03 auf den Wert Notstrom Sockel = 10%.Ab dem 21.03 werden die Tage immer länger bis zum 20.06 (Sommersonnenwende) dem längsten Tag im Jahr.
Es wird also die Speichergrenze weiter jeden Monat um ca. 3,33% reduziert bis zum 20.06 auf 0%,
Ab diesem Zeitpunkt werden die Tage wieder kürzer bis zum 21.9 (Tag-/Nachtgleiche) wo die Tage und Nächte wieder gleich lang sind und die Speicherreserve wird jeden Monat um ca. 3,33% erhöht auf Notstrom Sockel = 10%.
Die Tage werden immer kürzer bis zum 21.12 (Wintersonnenwende) und die Speichergrenze wird weiter jeden Monat um ca. 3,33% erhöht auf den Wert Notstrom min = 20%Notstrom Sockel ist somit der min. SOC Wert, wenn die Tage und Nächte gleich lang sind, also am 21.3 und 21.09 und
Notstrom min wenn die Tage am kürzesten sind am 21.12 .Laderegelung:
Mit Beginn Solarproduktion wird die Batterie mit der maximalen Ladeleistung bis zum Wert Ladeschwelle geladen oder bis zum SOC Wert Unload entladen. Erst wenn der Batterie SOC den Wert Ladeschwelle erreicht, wird mit dem geregelten Laden begonnen.Mit Start Regelzeitraum wird die benötigte Ladeleistung berechnet, um den SOC Ladeende bis zum Ende Regelzeitraum zu erreichen.
Bei Überschreitung der Zeit, Ende Regelzeitraum wird die benötigte Ladeleistung neu berechnet, um den SOC Ladeende2 bis zur Zeit Ladeende zu erreichen.
Wenn die Zeit Ladeende erreicht ist und die Batterie noch nicht den SOC Ladeende2 erreicht hat, wird das Laden mit maximal noch zur Verfügung stehender PV-Leistung freigegeben.
Ausnahme: Wenn die PV-Leistung das Einspeiselimit oder die maximale Wechselrichterleistung übersteigt, wird die Ladeleistung um den Wert erhöht, um das Einspeiselimit oder die maximale Wechselrichterleistung einhalten zu können. Bei Unterschreiten von dem Wert Einspeiselimit oder WR-Limit, wird mit neu berechneter Ladeleistung, gleichmäßig geladen.
@ArnoD Wow, das war heute wirklich eine Punktlandung mit der erzeugten Strommenge: Nur 100 Wh mehr gezählt als der E3/DC-Leistungsmesser. Habt ihr klasse gemacht! Mit meinem Korrekturfaktor war das deutlich ungenauer. Dann kann SourceAnalytix jetzt wirklich weg... :-)
Bin mal auf die nächsten Tage gespannt, ob es so bleibt. Habe heute ca. 31 kWh erzeugt - wird die Abweichung (mehr als Faktor 3) größer, wenn es an nem Sonnentag mal Richtung 90 kWh geht? Wobei das ja immer noch eine lächerliche Abweichung wäre. :-) -
@ArnoD Kann es sein, dass bei der Prognose Proplanta und Forecast vertauscht sind? So wie es jetzt ist, verstehe ich das zumindest nicht...
Hier hat sich die Auto-Prognose-Kurve für den 9. und 10. der Forecast-Kurve angepasst (-8%), obwohl in dem Pulldown-Menü Proplanta ausgewählt ist:

Und wenn ich Forecast auswähle, dann passt sich Auto-Prognose der Proplanta-Vorhersage an.

Werte vertauscht? Oder muss ich noch was konfigurieren?
-
@ArnoD Kann es sein, dass bei der Prognose Proplanta und Forecast vertauscht sind? So wie es jetzt ist, verstehe ich das zumindest nicht...
Hier hat sich die Auto-Prognose-Kurve für den 9. und 10. der Forecast-Kurve angepasst (-8%), obwohl in dem Pulldown-Menü Proplanta ausgewählt ist:

Und wenn ich Forecast auswähle, dann passt sich Auto-Prognose der Proplanta-Vorhersage an.

Werte vertauscht? Oder muss ich noch was konfigurieren?
@stevie77 sagte in E3DC Hauskraftwerk steuern:
Kann es sein, dass bei der Prognose Proplanta und Forecast vertauscht sind?
Prüf mal bitte State: 0_userdata.0.E3DC-Control.Allgemein.PrognoseAnwahl beim umschalten.
0 = Beide Prognosen
1 = Proplanta
2 = Forecast -
@stevie77 sagte in E3DC Hauskraftwerk steuern:
Kann es sein, dass bei der Prognose Proplanta und Forecast vertauscht sind?
Prüf mal bitte State: 0_userdata.0.E3DC-Control.Allgemein.PrognoseAnwahl beim umschalten.
0 = Beide Prognosen
1 = Proplanta
2 = Forecast@ArnoD sagte in E3DC Hauskraftwerk steuern:
Prüf mal bitte State: 0_userdata.0.E3DC-Control.Allgemein.PrognoseAnwahl beim umschalten.
0 = Beide Prognosen
1 = Proplanta
2 = ForecastAlso die Werte in PrognoseAnwahl werden immer sofort richtig aktualisiert bei Umschaltung in der Vis-View. Nur die Anpassung der Grafik klappt irgendwie nicht. Bei 1x jeden Wert 0, 1, 2 auswählen funktioniert es noch (richtige Kurvenanpassung), danach wird es bei Umschalten zwischen Forecast und Proplanta seltsam: Von P. auf F wird die Kurve gar nicht mehr aktualisiert, von F. auf P. springt die Kurve dann erst auf F. (als wäre das letzte Event o.ä. nicht durchgekommen und wird erst jetzt abgearbeitet). Dann kann es passieren, dass die Kurve sich ein zweites Mal nochmals ändert und erst nach 20-30 Sekunden neu gezeichnet wird. Ein Umschalten der Auswahlliste scheint das neu zeichnen der Kurve dann zu forcieren, aber auf den vorherigen Stand.
Es scheint mir nach längerem Herumspielen inzwischen so zu sein, dass nach 2-3x Umschalten die Aktualisierung nicht mehr nachkommt und verspätet nachgeholt wird, obwohl schon was ganz anderes gewählt ist. Das System an sich ist aber flott und reagiert sofort. Es scheint eher ein Problem der Grafik zu sein, welche den State nicht schnell genug auswertet (zu langsam mitbekommt, dass sich der State geändert hat) und alle zwischenzeitlich gemachten Umschaltungen zeitverzögert nachholt. Man scheint für das Widget aber keine Poll-Zeit angeben zu können?! Das einzige was ich daran geändert habe, ist die Einblendung der Tageszahlen auf der x-Achse...
-
@ArnoD sagte in E3DC Hauskraftwerk steuern:
Prüf mal bitte State: 0_userdata.0.E3DC-Control.Allgemein.PrognoseAnwahl beim umschalten.
0 = Beide Prognosen
1 = Proplanta
2 = ForecastAlso die Werte in PrognoseAnwahl werden immer sofort richtig aktualisiert bei Umschaltung in der Vis-View. Nur die Anpassung der Grafik klappt irgendwie nicht. Bei 1x jeden Wert 0, 1, 2 auswählen funktioniert es noch (richtige Kurvenanpassung), danach wird es bei Umschalten zwischen Forecast und Proplanta seltsam: Von P. auf F wird die Kurve gar nicht mehr aktualisiert, von F. auf P. springt die Kurve dann erst auf F. (als wäre das letzte Event o.ä. nicht durchgekommen und wird erst jetzt abgearbeitet). Dann kann es passieren, dass die Kurve sich ein zweites Mal nochmals ändert und erst nach 20-30 Sekunden neu gezeichnet wird. Ein Umschalten der Auswahlliste scheint das neu zeichnen der Kurve dann zu forcieren, aber auf den vorherigen Stand.
Es scheint mir nach längerem Herumspielen inzwischen so zu sein, dass nach 2-3x Umschalten die Aktualisierung nicht mehr nachkommt und verspätet nachgeholt wird, obwohl schon was ganz anderes gewählt ist. Das System an sich ist aber flott und reagiert sofort. Es scheint eher ein Problem der Grafik zu sein, welche den State nicht schnell genug auswertet (zu langsam mitbekommt, dass sich der State geändert hat) und alle zwischenzeitlich gemachten Umschaltungen zeitverzögert nachholt. Man scheint für das Widget aber keine Poll-Zeit angeben zu können?! Das einzige was ich daran geändert habe, ist die Einblendung der Tageszahlen auf der x-Achse...
-
@stevie77
Habe es gerade getestet und es dauert bei mir auch etwas bis sich das Diagramm aktualisiert.@ArnoD Hmm, bei mir hat sich das jetzt nach 2-3x Umschalten so aufgehängt, dass auch nach 2 Minuten Warten keine Aktualisierung der Kurve mehr erfolgt. Aber ist ja auch nicht so wichtig, im Normalfall stellt man das ja nicht um wenn man sich mal für eine Variante entschieden hat.
