NEWS
E3DC Hauskraftwerk steuern
-
@ArnoD sagte in E3DC Hauskraftwerk steuern:
Ich nutze natürlich heimlich auch dein Script
Würde mich über updates hier freuen.Hab meine letzte aktuelle Version hier aktualisiert.
Wirkungsgrad in Berechnung einbeziehen. laut Datenblatt: max. Systemwirkungsgrad inkl. Batterie (%) > 88
Bei 13 KW 13 / 100 * 88 = 11.44
einfach beivar Speicher = 11.44; // kw/h hier die Speichergröße in kwh abzüglich des Systemwirkungsgrad eintragen Bei 13 KW 13 / 100 * 88 = 11.44
eintragen.
https://forum.iobroker.net/topic/32976/e3dc-hauskraftwerk-steuern/591
-
@smartboart sagte in E3DC Hauskraftwerk steuern:
Hab meine letzte aktuelle Version hier aktualisiert.
Wirkungsgrad in Berechnung einbeziehen. laut Datenblatt: max. Systemwirkungsgrad inkl. Batterie (%) > 88
Bei 13 KW 13 / 100 * 88 = 11.44Ähmm, irgendwie bin ich noch nicht zu dir durchgedrungen, meine aber richtig zu liegen.
Du darfst nicht von 13 kWh ausgehen, sondern nur von 11,7 kWh (10 % weniger, weil diese 10 % nie nutzbar sind wegen der 90 % Entladetiefe der Batterien). Dein Speicher ist real nur 11,7 kWh groß und davon musst du dann die 88 % Wirkungsgrad/Verluste abziehen, also 11,7 / 100 * 88 = 10,3 kWh.
Das werde ich nun mal bei mir eintragen. Testen kann/will ich es aber noch nicht, da ich mit den neuen Batterien nun wieder über die Nacht komme. Naja, irgendwann wird das Wetter dann doch mal so schlecht werden, dass es nicht mehr reicht, dann kann ich die Zahl testen. -
@stevie77 sagte in E3DC Hauskraftwerk steuern:
@smartboart sagte in E3DC Hauskraftwerk steuern:
@ArnoD sagte in E3DC Hauskraftwerk steuern:
Ich nutze natürlich heimlich auch dein Script
Würde mich über updates hier freuen.Hab meine letzte aktuelle Version hier aktualisiert.
Wirkungsgrad in Berechnung einbeziehen. laut Datenblatt: max. Systemwirkungsgrad inkl. Batterie (%) > 88
Bei 13 KW 13 / 100 * 88 = 11.44Ähmm, irgendwie bin ich noch nicht zu dir durchgedrungen, meine aber richtig zu liegen.
Du darfst nicht von 13 kWh ausgehen, sondern nur von 11,7 kWh (10 % weniger, weil diese 10 % nie nutzbar sind wegen der 90 % Entladetiefe der Batterien). Richtig wäre also: 11,7 / 100 * 88 = 10,3 kWh.
Das werde ich nun mal bei mir eintragen. Testen kann/will ich es aber noch nicht, da ich mit den neuen Batterien nun wieder über die Nacht komme. Naja, irgendwann wird das Wetter dann doch mal so schlecht werden, dass es nicht mehr reicht, dann kann ich die Zahl testen.OK, jetzt verstehe ich... Ja die maximale entladetiefe habe ich nicht berücksichtigt..
Ich bin mir aber auch nicht sicher ob der Wirkungsgrad hier eine Rolle spielt... Weil die Watt werte ja schon die Verluste / Wirkungsgrad beinhalten... Somit könnten die 11.44 dennoch rechnerisch passen. Da ich keine lineare last habe wie die meisten... Wird es schwer die Zeit exakt zu kontrollieren. Diese Probleme haben auch namenhafte usv hersteller da fällt es besonders Mit abnehmender batteriespannung auf, das dann ganz schnell die Zeit runter laueft. ...
Aber super wenn du mal auf die Uhr schaust und unterstützt... Je genauer es wird desto besser.. -
@stevie77 im Prinzip denke ich würde es reichen nur die entladetiefe zu berücksichtigen also die 10 Prozent abzuziehen... Wie erwähnt werden die Verluste über die Leistung erfasst..400 Watt aus der Batterie sind 300 Watt im eigenen messgeraet / hausverbrauch bei mir.
-
script nochmal aktualisiert ...auf grund der letzten Diskussion habe ich Wirkungsgrad und Tiefenentladeschutz mit in die Berechnung einbezogen und somit die Erkenntnisse einfliessen lassen. Beide Werte sind nun konfigurierbar. Hinweise dahinter beachten...
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
https://forum.iobroker.net/topic/32976/e3dc-hauskraftwerk-steuern/591
-
@smartboart
Hallo smartboart,für was ist eigentlich die Variable "Anzeige" in deinem Script gedacht ?
Wenn ich die auf true setze wird ja erstmal nichts mehr angezeigt.
Erst wenn die Entnahme >=0 ist wird diese Variable im Script wieder auf false gesetz. -
@ArnoD sagte in E3DC Hauskraftwerk steuern:
@smartboart
Hallo smartboart,für was ist eigentlich die Variable "Anzeige" in deinem Script gedacht ?
Wenn ich die auf true setze wird ja erstmal nichts mehr angezeigt.
Erst wenn die Entnahme >=0 ist wird diese Variable im Script wieder auf false gesetz.Hallo Arno, die Variable Anzeige dient als Verriegelung...
Ich möchte ja sofort bei Batteriebetrieb eine Anzeige der Autonomiezeit erreichen und dann erst in die Glättung der Anzeige gehen.
Ansonsten würde beim Starten des Batteriebetrieb erst nach der konfigurierten Zeit und Counter ( erst nach Durchschnittsberenung ) die Anzeiger der Autonomiezeit erfolgen.Im Prinzip realisiere ich damit eine sofortige Berechnung und Anzeige der Zeit und verriegle dann die Sofortberechnung. Die nächste Aktualisierung erfolgt dann erst nach der Durchschnittsberechnung.
-
Habe das Script nochmal aktualisiert und den Notstrombetrieb integriert.
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). Die Anzeige in kWh zeigt immer die Nettokapazität bis zum Entladeschutz.https://forum.iobroker.net/topic/32976/e3dc-hauskraftwerk-steuern/592
-
@smartboart
Ok super, werd ich gleich mal testen -
Mal ne Frage: Da ich ja mal dieses Modbus-Register modbus.0.holdingRegisters.40087_EMS_CTRL in Aktion sehen wollte (weil das Austauschen des Bildes bei mir möglicherweise nicht funktioniert bzw. ich es noch nicht gesehen hatte bisher), habe ich jetzt mal in der Zeit des Regelzeitraums auf mein HKW geschaut und sehe den gelben Balken nicht. E3DC-Control läuft, die Zeit müsste passen. Was mache ich falsch? Liegt es daran, dass E3DC-Control zur Zeit bei schlechtem Wetter bei meiner Einstellung 1 mit Ladeschwelle = 100 überhaupt nicht regelnd eingreift?
-
@stevie77
richtig, wenn E3DC-Control nichts macht bleibt dieser Modbus-Register auf 0.
Ich verwende beim Basic-Image Widget die Eigenschaft Signalbilder mit folgenden Einstellungen:
So sollte es funktionieren.
-
@ArnoD sagte in E3DC Hauskraftwerk steuern:
@stevie77
richtig, wenn E3DC-Control nichts macht bleibt dieser Modbus-Register auf 0.Hmm, ich hatte versucht E3DC-Control während der Regelungszeit versucht zum Steuern zu motivieren, aber hab' nur unload und ladeschwelle niedriger gesetzt. Hätte wohl besser das ladeende darunter gesetzt, fiel mir nach dem Mittagessen ein. Jetzt ist es natürlich zu spät. Naja, nächstes Wochenende dann vielleicht (davor bin ich nicht zu Hause)...
-
@stevie77
logge den Status doch einfach mal mit dem History Adapter oder mit SQL ...
Hatte mich auch lange voppen lassen. Geregelt wird natürlich nur innerhalb der Regelzeit, welche jetzt schon früh zu ende geht... -
@ArnoD sagte in E3DC Hauskraftwerk steuern:
@stevie77
richtig, wenn E3DC-Control nichts macht bleibt dieser Modbus-Register auf 0.
So sollte es funktionieren.Ja, so funktioniert es, ich hatte dieselben Einstellungen (heute mal mit Teamviewer von der Firma aus drauf geschaut). Das warf allerdings eine neue Frage auf: Warum ist das Register außerhalb der Regelzeit aktiv? Screenshot um 10:18 Uhr erstellt (ganz selten wird die Jahreszahl vierstellig anstatt wie parametriert zweistellig dargestellt), d.h. über eine Stunde vor Regelbeginn...
-
@stevie77
Das wird dir aus der Ferne keiner beantworten können.
Es hängt ja auch nicht direkt mit der Regelzeit zusammen ob gerade von E3DC-Control was geändert wird. -
@ArnoD Ich dachte bisher vor Beginn der Regelzeit würde sich E3DC-Control gar nicht einmischen, also keine Steuerbefehle an das Hauskraftwerk senden und der Speicher einfach mit volle Pulle (heute zwischen 4 und 5 kW) laden bis Ladeschwelle (bei mir heute 100 %) erreicht ist? Und erst bei Erreichen von Ladeschwelle wird so weitergeladen (und geregelt), dass zum Ladeende der Zielwert erreicht ist? Andererseits wurde aber möglicherweise auch schon geregelt um den Sockel zu erreichen (muss ja z.B. falls Unload noch nicht erfüllt wurde bis Regelbeginn). Ich bin verwirrt...im Sommer war das einfacher festzustellen, als die Zeitpunkte viel weiter auseinander lagen...
Jedenfalls gehe ich also falsch in der ursprünglichen Annahme, dass E3DC-Control immer nur im Zeitfenster Start und Ende Regelzeitraum regelt. Wäre mir vielleicht besser aufgefallen, wenn es im Sommer schon die Zeitangaben übersichtlich in ioBroker gegeben hätte...
-
Mal was anderes: Ihr (@ArnoD und @smartboart) habt ja deutlich mehr Erfahrung mit ioBroker als ich. Ich hab' hier ne Funktion durch den Scheduler ausgelöst, die läuft einige Tage gut genau um 10:02 Uhr, dann jedoch gibt es irgendwann einen Tag und es passiert nichts. Ich müsste im Log unterhalb des Skripts wenigstens eine Logausgabe sehen. Selbst im heruntergeladen Log für den vollständigen heutigen Tag taucht der Name des Skripts nicht auf, also keine Logausgabe.
Habt ihr das auch mal festgestellt, dass der Scheduler nicht mehr auslöst? Anders kann ich mir die fehlenden Logausgaben im Log nicht erklären...
// Ablauf: Um 10:00 Uhr beendet die Wasserpumpe die Gartenbewässerung, um 10:01 Uhr werden die beiden Motorkugelhähne // geschlossen, um 10:02 Uhr kann frühestens die Teichbewässerung starten. schedule('{"time":{"exactTime":true,"start":"10:02"},"period":{"days":1}}', function(){ log("Scheduler Pondwaterlevel am " + new Date()); if (getState(pondWaterLevelAutomaticStateId).val){ checkAndFillPondWithWater(); } else { log("Automatischer Wasserausgleichausgleich für den Teich ist ausgeschaltet, keine Bewässerung."); } });
-
@stevie77 sagte in E3DC Hauskraftwerk steuern:
// Ablauf: Um 10:00 Uhr beendet die Wasserpumpe die Gartenbewässerung, um 10:01 Uhr werden die beiden Motorkugelhähne
nein meine schedule funktionieren zuverlässig....
baue die auch anders auf...
probier mal den schedule...
'2 10 * * *'
schedule('2 10 * * *', function(){ -
@smartboart sagte in E3DC Hauskraftwerk steuern:
2 10 * * *
Probier' ich mal parallel. Mal sehen, welche Funktion die nächsten Tage länger loggt...
Das Komische ist ja, es funktioniert ja einige Tage lang und dann setzt es irgendwann aus. Ist aber offiziell über die Skriptfunktion rechts oben im ioBroker generiert (auf die Arno glaub' ich irgendwann mal hier hingewiesen hatte), sollte ja schon eigentlich passen. Einige andere Schedules, die so ähnlich sind, laufen auch lange zuverlässig. -
@stevie77
ja aber du hast ein wizard konfiguriert und kein cron...
Was auch immer der unterschied ist...
ich würde es auch so schreiben...// Ablauf: Um 10:00 Uhr beendet die Wasserpumpe die Gartenbewässerung, um 10:01 Uhr werden die beiden Motorkugelhähne // geschlossen, um 10:02 Uhr kann frühestens die Teichbewässerung starten. schedule('2 10 * * *', function(){ log("Scheduler Pondwaterlevel am " + new Date()); var Automatic = getState(pondWaterLevelAutomaticStateId).val; if (Automatic){ checkAndFillPondWithWater(); } else { log("Automatischer Wasserausgleichausgleich für den Teich ist ausgeschaltet, keine Bewässerung."); } });