NEWS
E3DC Hauskraftwerk steuern
-
@stevie77 was muss ich da machen? Bräuchte nen schnellen Test wo ich sehe, das die analge reagiert..
@smartboart sagte in E3DC Hauskraftwerk steuern:
@stevie77 was muss ich da machen? Bräuchte nen schnellen Test wo ich sehe, das die analge reagiert..
https://hub.docker.com/repository/docker/stehada/e3dc-control
Zuvor Docker installieren, was je nach Umgebung unterschiedlich ist (Raspi, Windows, Synology). Bei meinem Raspi so:
Docker-Installation: https://www.dahlen.org/2019/06/docker-und-raspbian-auf-einem-raspberry-pi/
sudo apt update sudo apt full-upgrade sudo rpi-update echo -n "$(head -n1 /boot/cmdline.txt) cgroup_enable=cpuset cgroup_enable=memory" | sudo tee /boot/cmdline.txt sudo apt remove docker docker-engine docker.io containerd runc curl -fsSL https://get.docker.com -o - | sudo sh sudo usermod -aG docker $(id -un) docker run --rm hello-world -
@stevie77 sagte in E3DC Hauskraftwerk steuern:
Es gab jetzt noch ein Tool-Update, wo die Werte besser angezeigt werden. Bei 100 % Ladeanzeige am Gerät sind die Werte bei mir echt übel.

so sieht es bei mir aus...

@smartboart sagte in E3DC Hauskraftwerk steuern:
@stevie77 sagte in E3DC Hauskraftwerk steuern:
Es gab jetzt noch ein Tool-Update, wo die Werte besser angezeigt werden. Bei 100 % Ladeanzeige am Gerät sind die Werte bei mir echt übel.

so sieht es bei mir aus...

Was zeigt mir eigentlich der SOH Wert bei der Batterie ? ist bei mir je nach Modul zwischen 96.8% und 99.5%. Wobei die neusten Module 99.5% haben ca. 6 Monate alt und die älteren 96.8% ca. 11 Monate alt.
-
@smartboart sagte in E3DC Hauskraftwerk steuern:
@stevie77 was muss ich da machen? Bräuchte nen schnellen Test wo ich sehe, das die analge reagiert..
https://hub.docker.com/repository/docker/stehada/e3dc-control
Zuvor Docker installieren, was je nach Umgebung unterschiedlich ist (Raspi, Windows, Synology). Bei meinem Raspi so:
Docker-Installation: https://www.dahlen.org/2019/06/docker-und-raspbian-auf-einem-raspberry-pi/
sudo apt update sudo apt full-upgrade sudo rpi-update echo -n "$(head -n1 /boot/cmdline.txt) cgroup_enable=cpuset cgroup_enable=memory" | sudo tee /boot/cmdline.txt sudo apt remove docker docker-engine docker.io containerd runc curl -fsSL https://get.docker.com -o - | sudo sh sudo usermod -aG docker $(id -un) docker run --rm hello-world@stevie77 Danke für die Infos...Bei mir laüft es direkt unter debian Buster..
ich denke ich habs aber hinbekommen. muss morgen mal auf dem display schauen.
Zumindest läuft jetzt unter htop wieder .erdc-control..
ich hatte 2 instanzen attached unter screen -ls mit mit screen -r xxxnummer habe ich die instanzen mit ctrl a und k gekillt ...innerhalbs screen konnte ich sehen das er probleme mit der E3DC.sh hatte....Beim Update wohl zerschossen..
Datei angepasst und mit
screen -dmS E3DC /home/pi/E3DC-Control/E3DC.sh gestartet und gegen gecheckt...lief wieder...nach neustart immer noch gut...mal sehen was morgen passiert. -
@smartboart sagte in E3DC Hauskraftwerk steuern:
@stevie77 sagte in E3DC Hauskraftwerk steuern:
Es gab jetzt noch ein Tool-Update, wo die Werte besser angezeigt werden. Bei 100 % Ladeanzeige am Gerät sind die Werte bei mir echt übel.

so sieht es bei mir aus...

Was zeigt mir eigentlich der SOH Wert bei der Batterie ? ist bei mir je nach Modul zwischen 96.8% und 99.5%. Wobei die neusten Module 99.5% haben ca. 6 Monate alt und die älteren 96.8% ca. 11 Monate alt.
@ArnoD sagte in E3DC Hauskraftwerk steuern:
Was zeigt mir eigentlich der SOH Wert bei der Batterie ? ist bei mir je nach Modul zwischen 96.8% und 99.5%. Wobei die neusten Module 99.5% haben ca. 6 Monate alt und die älteren 96.8% ca. 11 Monate alt.
Also ich vermute, dass von möglichen 100 % Kapazität bei einer neuen Batterie du nur noch bei der einen 96,8% und den anderen 99,5 % Kapazität hast.
In den einem Fall wäre das eine Degeneration ( Alterung ) von 3,2% in 11 Monaten.
SOH state of health... -
@ArnoD sagte in E3DC Hauskraftwerk steuern:
Was zeigt mir eigentlich der SOH Wert bei der Batterie ? ist bei mir je nach Modul zwischen 96.8% und 99.5%. Wobei die neusten Module 99.5% haben ca. 6 Monate alt und die älteren 96.8% ca. 11 Monate alt.
Also ich vermute, dass von möglichen 100 % Kapazität bei einer neuen Batterie du nur noch bei der einen 96,8% und den anderen 99,5 % Kapazität hast.
In den einem Fall wäre das eine Degeneration ( Alterung ) von 3,2% in 11 Monaten.
SOH state of health...@smartboart
Ok, danke :+1: -
@ArnoD sagte in E3DC Hauskraftwerk steuern:
Was zeigt mir eigentlich der SOH Wert bei der Batterie ? ist bei mir je nach Modul zwischen 96.8% und 99.5%. Wobei die neusten Module 99.5% haben ca. 6 Monate alt und die älteren 96.8% ca. 11 Monate alt.
Also ich vermute, dass von möglichen 100 % Kapazität bei einer neuen Batterie du nur noch bei der einen 96,8% und den anderen 99,5 % Kapazität hast.
In den einem Fall wäre das eine Degeneration ( Alterung ) von 3,2% in 11 Monaten.
SOH state of health...@smartboart sagte in E3DC Hauskraftwerk steuern:
Also ich vermute, dass von möglichen 100 % Kapazität bei einer neuen Batterie du nur noch bei der einen 96,8% und den anderen 99,5 % Kapazität hast.
In den einem Fall wäre das eine Degeneration ( Alterung ) von 3,2% in 11 Monaten.
SOH state of health...Ja, so sehe ich das auch. Und dann wundert mich nix mehr, dass mein PRO 3-4 kWh verloren hat und nicht mehr als 8 kWh reinlädt. Weil die Batterien bei mir mit SoH 88 % nach 1,5 Jahren schon bedeutend schlechter aussieht.
Die Frage ist nun auch, ob der bei mir maximal erreichbare SoC von real nur noch 75 % zwangsläufig aus dem schlechten SoH resultiert... -
@smartboart sagte in E3DC Hauskraftwerk steuern:
Also ich vermute, dass von möglichen 100 % Kapazität bei einer neuen Batterie du nur noch bei der einen 96,8% und den anderen 99,5 % Kapazität hast.
In den einem Fall wäre das eine Degeneration ( Alterung ) von 3,2% in 11 Monaten.
SOH state of health...Ja, so sehe ich das auch. Und dann wundert mich nix mehr, dass mein PRO 3-4 kWh verloren hat und nicht mehr als 8 kWh reinlädt. Weil die Batterien bei mir mit SoH 88 % nach 1,5 Jahren schon bedeutend schlechter aussieht.
Die Frage ist nun auch, ob der bei mir maximal erreichbare SoC von real nur noch 75 % zwangsläufig aus dem schlechten SoH resultiert...@stevie77 ja, vlt...hast du ne schlechte charge erwischt..Interessant waere ob beide batterien so schlecht sind oder nur die eine...vlt. ist es ja auch ein FW Thema...Auf die antwort bin ich gespannt...
-
Neue Version 0.2.17 hochgeladen.
Änderungen:
Version: 0.2.17 Neue E3DC-Control Version von Eberhard, die Parameter "wbminlade" und "wbmode" integriert. Es sind auch Änderungen in VIS erforderlich, um diese in Vis zu ändern.
Version: 0.2.16 Problem dass bei Prognoseanwahl Änderung Proplanta Forcast oder beide die json nicht gleich aktualisiert wird behoben.Danke an smartboart.Neue View E3DC-Control Stand 04.10.2020 habe ich auch hochgeladen.
-
@stevie77 ja, vlt...hast du ne schlechte charge erwischt..Interessant waere ob beide batterien so schlecht sind oder nur die eine...vlt. ist es ja auch ein FW Thema...Auf die antwort bin ich gespannt...
@smartboart sagte in E3DC Hauskraftwerk steuern:
@stevie77 ja, vlt...hast du ne schlechte charge erwischt..Interessant waere ob beide batterien so schlecht sind oder nur die eine...vlt. ist es ja auch ein FW Thema...Auf die antwort bin ich gespannt...
77,8 % und 88,8 % SoH. Der SoC dazu ist bei beiden gleich niedrig bei leicht unter 75 %.
-
Neue Version 0.2.17 hochgeladen.
Änderungen:
Version: 0.2.17 Neue E3DC-Control Version von Eberhard, die Parameter "wbminlade" und "wbmode" integriert. Es sind auch Änderungen in VIS erforderlich, um diese in Vis zu ändern.
Version: 0.2.16 Problem dass bei Prognoseanwahl Änderung Proplanta Forcast oder beide die json nicht gleich aktualisiert wird behoben.Danke an smartboart.Neue View E3DC-Control Stand 04.10.2020 habe ich auch hochgeladen.
@ArnoD sagte in E3DC Hauskraftwerk steuern:
Neue Version 0.2.17 hochgeladen.
Neue View E3DC-Control Stand 04.10.2020 habe ich auch hochgeladen.
Cool. :-) Bei dem Skript kann man ja immer ganz gut mit Textvergleich arbeiten, bei Vis schwierig. Kannst du evtl. beschreiben, was sich da geändert hat? Neue Felder für die neuen Parameter, nehme ich mal an, noch mehr?
-
@ArnoD sagte in E3DC Hauskraftwerk steuern:
Neue Version 0.2.17 hochgeladen.
Neue View E3DC-Control Stand 04.10.2020 habe ich auch hochgeladen.
Cool. :-) Bei dem Skript kann man ja immer ganz gut mit Textvergleich arbeiten, bei Vis schwierig. Kannst du evtl. beschreiben, was sich da geändert hat? Neue Felder für die neuen Parameter, nehme ich mal an, noch mehr?
Cool. :-) Bei dem Skript kann man ja immer ganz gut mit Textvergleich arbeiten, bei Vis schwierig. Kannst du evtl. beschreiben, was sich da geändert hat? Neue Felder für die neuen Parameter, nehme ich mal an, noch mehr?
Nein nur die neuen Felder für die neuen Parameter.
-
Cool. :-) Bei dem Skript kann man ja immer ganz gut mit Textvergleich arbeiten, bei Vis schwierig. Kannst du evtl. beschreiben, was sich da geändert hat? Neue Felder für die neuen Parameter, nehme ich mal an, noch mehr?
Nein nur die neuen Felder für die neuen Parameter.
@ArnoD Also meine Kiste regelt wieder...
Die Portfreigaben in meinem Router mussten neu gesetzt werden. Durch den downgrade meines routers und dem einspielen der gesicherten config war die portfreigabe weg...Hatte das backup wohl vorher erstellt... Wie dumm... -
@stevie77 ja, deshalb bin ja so gespannt was bei deinem Ticket raus kommt.
Ich denke der eine oder andere wird sich das windows tool RSCP Tool auch noch mal anschauen...Mal sehen was die so für Werte haben...
Ich hatte auf die Infinity Variante gesetzt, weil hier biz zu 5 Jahre Batterie nachgerüstet werden kann...Da sollte das eigentlich nicht passieren...
Vorgänger können glaube ich nur 1 Jahr nachrüsten...keine Ahnung was da anders ist an den Anlagen..Ab Juli war die Infinity verfügbar weshalb ich gewartet habe...@smartboart sagte in E3DC Hauskraftwerk steuern:
@stevie77 ja, deshalb bin ja so gespannt was bei deinem Ticket raus kommt.
Heute Vormittag bekam ich eine Mail von E3/DC, eine der Batterien hätte womöglich ein Produktionsfehler (aufgefallen im Monitoring - naja, nachdem die Facebook-Gruppe vor Beschwerden glühte g), weswegen beide demnächst getauscht werden. Hörte sich etwas nach Standard an, zumal bei mir ja beide Batterien einen gleich schlechten SoH haben.
Ach so, das war allerdings eine Mail mit einer Oktober-Ticketnummer; ich habe mein Ticket noch im September erstellt. Vermutlich bekommen die Mail mehrere Benutzer...Ich denke der eine oder andere wird sich das windows tool RSCP Tool auch noch mal anschauen...Mal sehen was die so für Werte haben...
Ich hatte auf die Infinity Variante gesetzt, weil hier biz zu 5 Jahre Batterie nachgerüstet werden kann...Da sollte das eigentlich nicht passieren...Aber Moment mal, dann hast du gar keinen PRO? Ich dachte, der Infinity liege zwischen normalem S10 E und dem PRO? Also Batterien wie der PRO, nur etwas weniger Lade- und Entladeleistung? Dann wären unsere Systeme ja doch nicht so vergleichbar...
Vorgänger können glaube ich nur 1 Jahr nachrüsten...keine Ahnung was da anders ist an den Anlagen..Ab Juli war die Infinity verfügbar weshalb ich gewartet habe...
Das hat nun was gutes, ich kriege nach eineinhalb Jahren frische neue Batterien, die dann theoretisch auch noch so viel länger als 10 Jahre halten müssten. :)
Wie du sagst, war bei mir die Zeit einer Aufrüstungsmöglichkeit schon abgelaufen als ich die neue zweite PV-Anlage in Betrieb nahm; die habe ich nun wieder, habe ich extra nachgefragt. Ich glaube ich werde nun noch auf 19,5 kWh aufrüsten, dann bin ich wieder ca. 1:1 PC zu Speicher. Dann fühlt sich mein Solateur vielleicht auch eher bemüßigt das zu machen, springt ja etwas mehr Umfang und Gewinn raus...Nicht geklärt ist momentan, was es mit der Kapazitätsreduktion generell auf sich hat. Fehler? Bewusste Änderung? Dazu ist mein Ticket noch offen...
-
@smartboart sagte in E3DC Hauskraftwerk steuern:
@stevie77 ja, deshalb bin ja so gespannt was bei deinem Ticket raus kommt.
Heute Vormittag bekam ich eine Mail von E3/DC, eine der Batterien hätte womöglich ein Produktionsfehler (aufgefallen im Monitoring - naja, nachdem die Facebook-Gruppe vor Beschwerden glühte g), weswegen beide demnächst getauscht werden. Hörte sich etwas nach Standard an, zumal bei mir ja beide Batterien einen gleich schlechten SoH haben.
Ach so, das war allerdings eine Mail mit einer Oktober-Ticketnummer; ich habe mein Ticket noch im September erstellt. Vermutlich bekommen die Mail mehrere Benutzer...Ich denke der eine oder andere wird sich das windows tool RSCP Tool auch noch mal anschauen...Mal sehen was die so für Werte haben...
Ich hatte auf die Infinity Variante gesetzt, weil hier biz zu 5 Jahre Batterie nachgerüstet werden kann...Da sollte das eigentlich nicht passieren...Aber Moment mal, dann hast du gar keinen PRO? Ich dachte, der Infinity liege zwischen normalem S10 E und dem PRO? Also Batterien wie der PRO, nur etwas weniger Lade- und Entladeleistung? Dann wären unsere Systeme ja doch nicht so vergleichbar...
Vorgänger können glaube ich nur 1 Jahr nachrüsten...keine Ahnung was da anders ist an den Anlagen..Ab Juli war die Infinity verfügbar weshalb ich gewartet habe...
Das hat nun was gutes, ich kriege nach eineinhalb Jahren frische neue Batterien, die dann theoretisch auch noch so viel länger als 10 Jahre halten müssten. :)
Wie du sagst, war bei mir die Zeit einer Aufrüstungsmöglichkeit schon abgelaufen als ich die neue zweite PV-Anlage in Betrieb nahm; die habe ich nun wieder, habe ich extra nachgefragt. Ich glaube ich werde nun noch auf 19,5 kWh aufrüsten, dann bin ich wieder ca. 1:1 PC zu Speicher. Dann fühlt sich mein Solateur vielleicht auch eher bemüßigt das zu machen, springt ja etwas mehr Umfang und Gewinn raus...Nicht geklärt ist momentan, was es mit der Kapazitätsreduktion generell auf sich hat. Fehler? Bewusste Änderung? Dazu ist mein Ticket noch offen...
@stevie77 Doch...es ist die S10E Pro..Nur die Änderungen sind eben nicht so gravierend wie bei den S10E wo sich beim Serienwechsel mehr getan hat....Bei der S10E Pro zur S10 E Pro infinity hat sich nichts geändert, ausser die Möglichkeit bis 5 Jahre Batterien nachzurüsten...Was auch immer dadurch anders ist....
MKT1150210000_Flyer_INFINITY_Hauskraftwerke_2020-04-16.pdf -
@stevie77 Doch...es ist die S10E Pro..Nur die Änderungen sind eben nicht so gravierend wie bei den S10E wo sich beim Serienwechsel mehr getan hat....Bei der S10E Pro zur S10 E Pro infinity hat sich nichts geändert, ausser die Möglichkeit bis 5 Jahre Batterien nachzurüsten...Was auch immer dadurch anders ist....
MKT1150210000_Flyer_INFINITY_Hauskraftwerke_2020-04-16.pdf@smartboart Jein. Du hast zwar das "Infinity-Konzept" in deinem "neuen PRO", aber trotzdem keinen INFINITY. Es gibt laut Flyer nur "S10 E INFIFNITY und S10 E PRO". Deshalb, wenn einer sagt, er habe den Infinity, dann ist das ein Gerät von der Leistung her zwischen dem alten S10 E und dem PRO.
-
@smartboart Jein. Du hast zwar das "Infinity-Konzept" in deinem "neuen PRO", aber trotzdem keinen INFINITY. Es gibt laut Flyer nur "S10 E INFIFNITY und S10 E PRO". Deshalb, wenn einer sagt, er habe den Infinity, dann ist das ein Gerät von der Leistung her zwischen dem alten S10 E und dem PRO.
@stevie77 ok....aber wegen der 5 jahres Geschichte, habe ich die Llieferung der S10EPro extra um 3 Monate verzögert...Wobei ich wahrscheinlich schon balt noch wenigstens den Schrank voll mache und noch eine nachrüste..
-
@stevie77 ja, vlt...hast du ne schlechte charge erwischt..Interessant waere ob beide batterien so schlecht sind oder nur die eine...vlt. ist es ja auch ein FW Thema...Auf die antwort bin ich gespannt...
@smartboart sagte in E3DC Hauskraftwerk steuern:
@stevie77 ja, vlt...hast du ne schlechte charge erwischt..Interessant waere ob beide batterien so schlecht sind oder nur die eine...vlt. ist es ja auch ein FW Thema...Auf die antwort bin ich gespannt...
So, gestern war der Austausch der Batterien. Testweise habe ich mit bis zu 6 kW laden können, auch kurzzeitig mal gegen Ende (das Drosseln auf weniger betrifft wohl nicht die LG-Batterien). Die Werte sehen nun geradezu perfekt aus bei vollem Akku: 100 % SoH, 100 % SoC, verfügbar 90 % (Entladetiefe).
Allerdings sind laut Portal nur 11,1 kWh reingegangen. 11,5 kWh hätte ich erwartet (rechnerisch 11,7 kWh). Vielleicht wird's ja noch mehr wenn sich das nach dem Batterietraining eingependelt hat?!
-
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 So, jetzt bin ich auch endlich wieder auf dem neuesten Stand (Skript und Vis-View). Wallbox sollte theoretisch Anfang April kommen, passend zur neuen Förderung... :-)
Eine Kleinigkeit (vermutlich - denke mal, dass trotzdem alles funktioniert) ist mir noch aufgefallen: Beim Loggen wird Dachfläche 4/2 etc. ausgegeben, aber das beeinflusst wohl nicht die Funktionalität - zumindest stehen in den 4 entsprechenden States jeweils unterschiedliche Werte...Zeile 150 ungefähr, fixe Anzahl 2:
function CallForecast() { InterrogateForecast (i,2); i--;00:23:12.523 info javascript.0 (10985) script.js.Strom.handleE3DCControl: Rueckmeldung :{ "result": { "2020-10-18": 4005, "2020-10-19": 3944 }, "message": { "code": 0, "type": "success", "text": "", "info": { "place": "21368 Dahlenburg, Landkreis L\u00fcneburg, Niedersachsen, DE", "timezone": "Europe/Berlin", "distance": 0, "pid": "w497n78y" }, "ratelimit": { "limit": 12, "remaining": 11 } } } 00:23:12.526 info javascript.0 (10985) script.js.Strom.handleE3DCControl: Gespeichert wurde Dachfläche =3/2 : 4005 :3944 00:23:17.530 info javascript.0 (10985) script.js.Strom.handleE3DCControl: Rueckmeldung :{ "result": { "2020-10-18": 4101, "2020-10-19": 4030 }, "message": { "code": 0, "type": "success", "text": "", "info": { "place": "21368 Dahlenburg, Landkreis L\u00fcneburg, Niedersachsen, DE", "timezone": "Europe/Berlin", "distance": 0, "pid": "696jaq87" }, "ratelimit": { "limit": 12, "remaining": 11 } } } 00:23:17.532 info javascript.0 (10985) script.js.Strom.handleE3DCControl: Gespeichert wurde Dachfläche =2/2 : 4101 :4030 00:23:22.514 info javascript.0 (10985) script.js.Strom.handleE3DCControl: Rueckmeldung :{ "result": { "2020-10-18": 46105, "2020-10-19": 45589 }, "message": { "code": 0, "type": "success", "text": "", "info": { "place": "21368 Dahlenburg, Landkreis L\u00fcneburg, Niedersachsen, DE", "timezone": "Europe/Berlin", "distance": 0, "pid": "eca5qdr4" }, "ratelimit": { "limit": 12, "remaining": 11 } } } 00:23:22.515 info javascript.0 (10985) script.js.Strom.handleE3DCControl: Gespeichert wurde Dachfläche =1/2 : 46105 :45589 -
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.
Noch eine Frage: Ich hab' erst gestern entdeckt, dass in der Vis-View ja auch noch ein Icon auf den Status modbus.0.holdingRegisters.40087_EMS_CTRL eingebaut ist. Allerdings scheint das Register bei mir immer 0 anzuzeigen, auch 4 Minuten vor Ende Regelzeitraum. Nun frage ich mich, müsste das Flag auch auf 1 umspringen, wenn ich mit dem RSCPGui-Tool zum HKW verbinde (um das außerhalb des Regelzeitraums testen zu können)? Dieser Wert ist doch plain, also muss nicht noch bitweise berechnet werden wie beispielsweise modbus.0.holdingRegisters.40085_EMS_Status?
-
@ArnoD Hi Arno, habe das Script Autonomiezeit weiter gepflegt und um aktivierbaren und deaktivierbaren Lastabwurf erweitert ..Falls interesse besteht.....
/* E3DC dynamische Autonomiezeitberechnung inkl. Lastabwurf vor Erreichen der Notstrom Reserve von Smartboard 28.09.2020 V0.0.1 -Dynamische Berechnung der Batterie Autonomiezeit bei Entladung anhand der Modbusinformationen BatSoc und Batterie_Leistung unter Berücksichtigung der Notstromreserve. Für anzeige in Vis.. Autonomiezeit in Vis auf Sichtbarkeit bei != 0 einstellen damit Diese nur bei Entnahme angezeigt wird. BatSoc in kwh 29.09.2020 V0.0.2 -Berechnung auf Durchschnittswert der Autonomiezeit erweitert, dadurch wird die Zeitanzeige ruhiger und gibt einen gemittelten Wert wieder, welcher auch aussagekräftiger ist. - Notstromreserve wird nun aus Sript E3DC Control von ArnoD eingelesen. Sowie unterscheidung zur manuellen Eingabe falls in E3DC eine Notstromreserve hinterlegt wurde. Somit bleibt die Autonomie Berechnung automatisch aktuell sollte in E3DC Control etwas angepasst werden. 30.09.2020 V0.0.3- Autonomiezeit Anzeige in Minuten wenn < 1 Stunde . State Autonomiezeit geändert von type numnber zu string. 03.10.2020 V0.0.4- Logging überarbeitet für Anzeige im Log Adapter 04.10.2020 V0.0.5 - Lastabwurf von Verbrauchern integriert 07.10.2020 V0.0.6 - Berechnungsfehler, welche -Werte erzeugten wurden behoben. Ausgabe der 1. Autonomiezeitberechnung sofort anzeigen dann wird auf Durchschnittswert umgeschalte 20.10.2020 V0.0.7 - Hinweis stevie77 Wirkungsgrad in Berechnung einbeziehen. laut Datenblatt: max. Systemwirkungsgrad inkl. Batterie (%) > 88 Bei 13 KW 13 / 100 * 88 = 11.44 Bemerkung .Vermutlich kann hier 1 eingetragen werden, da im Verbrauchswert Watt schon die die Verluste inkludiert sind. 21.10.2020 V0.0.7 - Hinweis stevie77 Tiefenentladeschutz bei 10 % mit in Berechnung einbeziehen. V0.0.8 - Berücksichtung Notstrombetrieb Im Normalbetrieb erfolgt die Autonomierzeitberechnung bis zur Notstromreserve . Im Notstrombetrieb wird die Autonomiezeit nun weiter berechnet und die Berechnung erfolgt dann bis zur Nettokapazitätsgrenze (Entladeschutz). */ //Konfiguration var logging = true; var debug = false; var Speicherbrutto = 13; // kw/h hier die Speichergröße in kwh var Wirkungsgrad = 0.88; // Faktor Systemwirkungsgrad > 88% beiS10 E Pro Beispiel: 13 KW 13 / 100 * 88 = 11.44 var Entladetiefe = 0.9; // Faktor Tiefenentladeschutz 90% Nutzbar weil Tiefenentladungsschutz von E3DC 11.44 / 100 * 90 = 10,296 var E3DCReserve = 0; // % eingestellte Notstromreserve in Prozent bei E3dC. Wenn diese nicht verwendet wird dan 0 eintragen. var cron1 = 10; // hier die Schedulezeit - Triggerhäufigkeit alle x Sekunden für Zeitberechnung eintragen var counter = 24; // Hier die Anzahl der Zeitberechnungen eintragen um einen Durchschnitswert zu ermitteln var Rest = 5; // Wert in % gibt die Rest Batterieladung an. Dieser Wert wird der Notstromreserve hinzuadiert, und ist der Wert bei welcher die Last abgeworfen werden soll var AbwurfReset = 15; // Wert in % gibt die Batterieladung an bei welcher wieder die abgeworfene Last wieder zugeschaltet wird. Dieser Wert wird der Notstromreserve hinzuadiert. //Aktoren für den Lastabwurf const idWaschmaschine = 'sonoff.0.Steckdose_Waschmaschine.POWER'/*Waschmaschine*/; const idSpuelmaschine = 'sonoff.0.Steckdose_Spuelmaschine.POWER'/*Steckdose Spuelmaschine*/; const idTrockner = 'sonoff.0.Steckdose_Trockner.POWER'/*Trockner*/; const fC = false; const Statepfad = 'javascript.' + instance + '.PVAnlage.Autonomie.'; //Berechnungsgrundlage const idBatEntnahme = 'modbus.1.holdingRegisters.40070_Batterie_Leistung'/*Batterie-Leistung in Watt*/; const idBatSoc = 'modbus.1.holdingRegisters.40083_Batterie_SOC'/*Batterie-SOC in Prozent*/; const idHTSockel = 'javascript.1.PVAnlage.E3DC-Control.Parameter.HTsockel'; const idHTon = 'javascript.1.PVAnlage.E3DC-Control.Parameter.HTon'; const idHToff = 'javascript.1.PVAnlage.E3DC-Control.Parameter.HToff'; const idNotstrombetrieb = 'modbus.1.holdingRegisters.40084_Emergency_Power_Status'/*Emergency-Power Status*/; //hier muss nichts geändert werden //Variable für Cronjob start stop var Timer = null; //Variable Hilfsmerker var Merker = true; //Variable zur Berechnung der Zeit var Autonomiezeit = 0; //Variable für Berechnung var Reserve = 0; // Variablen für Durchschnittsberechnung var count = 0; var Summe = 0; // Wert gleich anzeigen var Anzeige = false; // Variable für Bat Soc in kwh abzüglich Notstromreserve var BatSockWh = null; var Entnahme = null; var BatSoc = null; //states to create Ergebnisse const idAutonomiezeit = Statepfad + 'Autonomiezeit'; const idBatSockWh = Statepfad + 'Batteriekapazitaet'; const idAbwurfAutomatik = Statepfad + 'Lastabwurfatuomatik'; const idLastabwurf = Statepfad + 'Lastabwurf'; //states create // Autonomiezeit in Vis auf Sichtbarkeit bei != 0 einstellen damit nur Sichtbar bei Entnahme createState(idAutonomiezeit, 0, fC, { type: 'string', name: 'Autonomiezeit',role:'text'}); createState(idBatSockWh, 0, fC, { type: 'number', name: 'Batteriekapazität',role:'value', unit: ' kWh'}); createState(idAbwurfAutomatik, true, fC, {type: 'boolean', name: 'Abwurfautomatik',role:'switch'}); createState(idLastabwurf,false,fC , {type : 'boolean', name: 'Lastabwurf', role:'state'}); if(fC && logging)log('force Creation Aktiv States angelegt oder überschrieben'); //Scriptstart var Batterie = Speicherbrutto*Wirkungsgrad; var Speicher = Speicherbrutto*Wirkungsgrad*Entladetiefe; setState(idAutonomiezeit, '0' ,true); if (logging)log('Batterie E3DC: Die Speichergröße ist ' + Speicherbrutto + ' kWh. abzüglich Wirkungsgrad ' + Batterie + ' kWh und abzüglich des Tiefenentladeschutz bleiben Netto '+ Speicher+ ' kWh.') setTimeout( function(){ Berechnung(); },500); //Bei Abwahl Lastabwurfautomatik Verbraucher wieder zuschalten on(idAbwurfAutomatik,function(dp){ if(dp.state.val){ if(logging)log('Batterie E3DC: Lastabwurf Automatik wurde aktiviert.'); }else{ setState (idTrockner,true); setState (idWaschmaschine,true); setState (idSpuelmaschine,true); setState (idLastabwurf,false,true); if(logging)log('Batterie E3DC: Lastabwurf Automatik wurde deaktiviert. Aktoren werden wieder eingeschaltet.'); } }); // Trigger Berechnung Aktueller Bat Soc in kwh und Reset Lastabwurf on(idBatSoc, function(dp) { var Abwurf = getState(idLastabwurf).val; BatSoc = dp.state.val; var EinBedingung = Reserve + AbwurfReset; if(debug)log('Batterie E3DC: Trigger BatSoc aktiv. BatSoc beträgt: '+ BatSoc +' %. Einbedingung nach Abwurf ist ' + EinBedingung + ' %'); Berechnung(); if(BatSoc > EinBedingung && Abwurf){ if(logging)log('Batterie E3DC: Lastabwurf zurück gesetzt, Aktoren wieder eingeschaltet. BatSoc beträgt: '+BatSoc+ ' %'); setState (idTrockner,true); setState (idWaschmaschine,true); setState (idSpuelmaschine,true); setState (idLastabwurf,false,true); } }); //Berechnung Aktueller Bat Soc in kwh und Wert in State schreiben function Berechnung(){ BatSoc = getState(idBatSoc).val; setState(idBatSockWh,Math.round(((Speicher/100) * BatSoc)*100)/100,true); if(debug)log('Batterie E3DC: Die Aktuell verfügbare Netto Speicherkapazität ist: '+ getState(idBatSockWh).val+' kWh'); } // Schedule Berechnung Autonomiezeit starten bei Entnahme on(idBatEntnahme, function(dp) { if(dp.state.val < 0 ){ if(Merker)schedulestart(); Merker = false; if(debug)log('Batterie E3DC: Aktuelle Entnahmeleistung: ' + dp.state.val +' Watt'); } }); //Berechnung Autonomiezeit function schedulestart(){ if(debug)log('Batterie E3DC: Funktion Schedulestart aktiv'); var cronjob = "*/"+cron1+" * * * * *"; Timer = schedule(cronjob, function(){ if(debug)log('Batterie E3DC: Schedule cronjob aktiv'); Entnahme = getState (idBatEntnahme).val; BatSockWh = getState (idBatSockWh).val; var Sockel = parseFloat(getState (idHTSockel).val); var HToff = getState (idHToff).val; var HTon = getState (idHTon).val; var Notstrombetrieb = getState(idNotstrombetrieb).val; if (HTon === HToff && E3DCReserve === 0 && Notstrombetrieb === 2){ Reserve = Sockel; if(debug)log('Batterie E3DC: Die Notstrom Reserve entsprichte der Einstellung in E3DC Control und beträgt: ' + Reserve +' %'); } if (E3DCReserve >0 && Notstrombetrieb === 2){ Reserve = E3DCReserve; if(debug)log('Batterie E3DC: Die Notstrom Reserve entspricht der User Konfig Einstellun und beträgt'+ Reserve + ' %'); } if ((HTon != HToff && E3DCReserve === 0) || Notstrombetrieb !=2){ Reserve=0; if(debug)log('Batterie E3DC: Es wird keine Notstrom Reserve bei der Berechnung berücksichtigt. Wert auf ' + Reserve +' % gesetzt.'); } setTimeout(function(){ if(Entnahme<0){ BatSockWh = Math.round(BatSockWh - (Speicher/100*Reserve*100)/100); if(debug)log('Batterie E3DC: aktuelle Netto Gesamtkapazität abzüglich der Notstromreserve ist: '+ BatSockWh + ' kWh.'); setTimeout(function(){ var Abwurf = getState(idLastabwurf).val; Autonomiezeit = Math.round(BatSockWh*1000/Entnahme*-1*100)/100; Durchschnitt(); if (Abwurf === false){ Lastabwurf(); if(debug)log('Batterie E3DC: Lastabwurfprüfung aktiv'); } // gleich Anzeigen if(Anzeige === false && Autonomiezeit >0){ setState(idAutonomiezeit, Autonomiezeit +' h',true); Anzeige = true; } if(debug)log('Batterie E3DC: Autonomiezeit neu berechnet auf: '+ Autonomiezeit + ' h.'); },100); }else{ //Berechnung stoppen bei Entnahme 0 und Autonomiezeit auf 0 setzen if(Entnahme >=0){ clearSchedule(Timer); Merker = true; if(debug)log('Batterie E3DC: Schedule cronjob gestoppt weil keine Entnahme'); setState(idAutonomiezeit,'0',true); Anzeige = false; } } },100); }); } // Zaehlem für Durchschnittsberechnung function Durchschnitt(){ count ++ Summe = Summe + Autonomiezeit; if(debug)log ('Summe: ' + Summe + ' Zaehler: '+count+ ' Addition: + ' + Autonomiezeit); if(count===counter){ var Zeit= Summe/count; setTimeout(function(){ if(logging)log('Batterie E3DC: Aktuelle Netto Speicherkapazität beträgt: '+ getState(idBatSockWh).val+' kWh, abzüglich der Notstromreserve '+BatSockWh+ ' kWh' ); if(Zeit>=1){ setState(idAutonomiezeit,+ Math.round(Zeit*100)/100 +' h',true); if(logging)log('Batterie E3DC: Autonomiezeit beträgt: '+ Math.round(Zeit*10)/10 + ' h'); } if(Zeit<1 && Zeit >0){ setState(idAutonomiezeit, + Math.round((Zeit*60)*100/100)+' min',true); if(logging)log('Batterie E3DC: Autonomiezeit bis Notstromreserve beträgt: '+Math.round((Zeit*60)*100/100) +' min.'); } if(Zeit < 0){ setState(idAutonomiezeit, '0' ,true); if(logging)log('Batterie E3DC: Autonomiezeit beträgt: 0 min.'); } count=0; Summe=0; if(debug)log('Batterie E3DC: Reset: Count = '+ count+ ' Summe = ' + Summe); },100); } } function Lastabwurf(){ var Automatik = getState(idAbwurfAutomatik).val; var Bedingung = Reserve + Rest; if(debug)log('Batterie E3DC: Trigger Lastabwurf aktiv. BatSoc beträgt: '+ BatSoc +' %. Abwurfbedingung ist ' + Bedingung + ' %'); if(BatSoc <= Bedingung && Automatik){ if(logging)log('Batterie E3DC: Lastabwurf. BatSoc beträgt: '+ BatSoc +' % und ist <= Abwurfbedingung mit ' + Bedingung + ' %'); setState (idTrockner,false); setState (idWaschmaschine,false); setState (idSpuelmaschine,false); setState (idLastabwurf,true,true); } }@smartboart sagte in E3DC Hauskraftwerk steuern:
@ArnoD Hi Arno, habe das Script Autonomiezeit weiter gepflegt und um aktivierbaren und deaktivierbaren Lastabwurf erweitert ..Falls interesse besteht.....
Ich hab' mal versucht dein Skript anzupassen und in Betrieb zu nehmen. Den Lastabwurf hab' ich wieder rausoperiert, da relativ speziell und ich auch keine Geräte habe, die ich einfach so ausschalten wollen würde. Hast du keine Angst, dass dir Spül- und Waschmaschine kaputt gehen, wenn du sie einfach irgendwo zwischendrin abbrichst? Tut das dem Geschirr oder der Wäsche gut, wenn sie irgendwann weiter bearbeitet werden (falls deine Geräte dort fortsetzen, wo sie gerade in ihrem Programm gestoppt wurden)?
Aber nun zu den eigentlichen Fragen:
- Ruckeln sich die Werte (nach jedem Skriptstart) so nach und nach zurecht, je länger das Skript läuft? Bis eben blieb die Autonomiezeit leer und die Batteriekapazität war mal 0 und mal ein einigermaßen plausibler Wert.
- Die Batteriekapazität scheint von den parametrierten 13 kWh Bruttokapazität gerechnet zu sein. Bei mir gerade 13 * 88% = 11,44 kWh. Im State steht 11,31 kWh, was ja ungefähr zusammen passt. Aber das ist doch eigentlich falsch, weil mit der Nettokapazität 11,7 kWh gerechnet werden müsste - schließlich steht ja auch nur die Nettokapazität zur Verfügung...oder werden die 10 % Unterschied noch bei der Berechnung der Restzeit abgezogen?
Edit: Hab' jetzt eben mal beide Zahlen nachgerechnet; bei Berechnung der Reststunden werden die 10 % Abzug von Brutto- zu Nennkapazität auch nicht abgezogen. Von daher sind die 13 kWh, die im Skript standen, falsch (bei einem PRO in der niedrigsten Ausbaustufe, wie wir sie haben). Falls du die verwendest, müsste der Akku eigentlich immer früher leer sein als berechnet.