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.. -
@ArnoD Hallo Arno,
wäre denn Bedarf da ein weiteres Programm zu fahren, wobei auch noch die aktuelle Batt Soc in die Programmwahl integriert wird?
Z.B Batterie morgens unter 30 % und programm sonne würde gewählt werden. Wenn nun die Vorhersage nicht stimmt und ab mittag wirds wetter schlecht , läuft man gefahr die batterie nicht voll zu bekommen.Lösungsansatz... Bei Batterie unter 30% und isTime in Range 7 - 12 Uhr fahr Programm 1 alles laden bis Batterie soc über 50 und dann zuzrück in 2 wechseln...
Wäre einfach mit ner weiteren && Bedingung in der Programmwahl zu lösen.. und in Programm 1 einfach ne oder | Bedingung <30....
Main müsste halt noch nen zusätzlichen Trigger bekommen..
-
@smartboart
Eberhard sein Programm prüft laufend die Ladung der Batterie und korrigiert selbstständig die Ladung der Batterie wenn die berechneten Werte nicht erreicht werden. Einziger Schwachpunkt ist dein Beschriebener Fall, das am Nachmittag bei schlechtem Wetter keine ausreichende PV-Leistung mehr da ist um die Batterie voll zu laden.
Die Wetterdaten von Proplanta sollen genau das verhindern.
Wenn ich deinen Vorschlag umsetzen würde, hätte das zur Folge das bei einem SoC unter 30% ein gleichmäßiges Laden der Batterie über den Tag ausgeschlossen wäre. Das kann man mit den Parameter von E3DC-Control auch bereits jetzt erreichen, indem man als Einstellung 2 als ladeschwelle 50% einstellt, dann wird bis zu einem SoC von 50% alles in die Batterie geladen.Heute hatte ich das Problem das die Werte von Forecast falsch waren und bei mir um 5:00 Uhr mit der Einstellung 1 gestartet wurde. Bei der Überprüfung um 10:10 Uhr wurde das auf Einstellung2 korrigiert. Da war aber meine Batterie bereits zu 86% geladen. Ist jetzt noch kein Problem da noch genügend Reserve da ist für die Regelung so das ich nicht in die Abregelung komme.
Ich habe jetzt im Script aber eine neue Aktualisierung der Forecast Daten um 8:00 Uhr eingefügt und somit auch eine neu Berechnung der Einstellung um 8:10 Uhr.Es wird jetzt alle 2 Stunden, um 5:45 die erste Berechnung , um 8:10 Uhr die zweite und dann wieder um 10:10 Uhr neu berechnet.
Die letzte Berechnung die sinn macht ist dann um 15:30 mit den neuen Daten von Proplanta.Hier die Ladekurve von heute:
Ursache war die falsche Prognose Forecast von 5:15 Uhr:
Nachdem ich manuell noch mal um 11:45 die Daten von Forecast aktualisiert hatte, sieht die Prognose so aus:
Mit der Neu Berechnung um 8:10 Uhr wird eine falsche Prognose früher erkannt und hat auch den Vorteil das die Forecast Daten für den Rest des Tages aktueller sind.
-
@ArnoD ja das macht auf jeden Fall Sinn....
Bei mir stimmen die Prognosen generell nicht so gut..die letze Woche lag komplett daneben... Denke eine weiter aktualisierung macht auf jedenfall sinn...
-
@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..Ab 3 Sekunden wirds ungenau!
jetzt schon 1 kw zu viel gezählt..Also entweder 1 fürs ganz genaue oder der kompromiss zum resourcen sparen auf 2 sekunden pollen...
-
Habe mir jetzt das Abruflimit von Forecast noch mal angesehen für die kostenlose Version.
Demnach kann man pro Stunde maximal 12 Abrufe der Daten pro IP durchführen.
Wir könnten somit jede Stunde die Forecast Daten aktualisieren. Bei Proplanta werden nur ca, alle 4 Stunden die Daten aktualisiert.
Proplanta wird bereits jetzt alle 4 Stunden abgerufen und aktualisiert, für Forecast könnte ich eine Stündliche Aktualisierung integrieren. Weiß nur noch nicht ob das Sinn macht. Werde ich jetzt einfach mal testen. -
@smartboart gibt es eine Möglichkeit eine schedule Stündlich, aber nur von 5 - 21 Uhr zu programmieren ?
-
@smartboart hat sich erledigt, die Antwort hast du ja bereits in deiner Änderung umgesetzt
-
@ArnoD sagte in E3DC Hauskraftwerk steuern:
@smartboart gibt es eine Möglichkeit eine schedule Stündlich, aber nur von 5 - 21 Uhr zu programmieren ?
ja im Prinzip ist das ja schon in Teilen was ich oben gemacht habe vorhanden ..
Man kann jetzt das kombinieren mit IsTimeinRange...
Ist ein Script aus dem Forum und ich lasse es global laufen..
weil ich es in mehreren Scripten verwende...Damit kannst ne if Bedingung aufbauen..Wenn du es Global installierst , reicht dann in jedem Script das hier...
if(IsTimeInRange('05:00:00', '21:00:00')) {
losgehts();
}function currentDate() { var d = new Date(); return new Date(d.getFullYear(), d.getMonth(), d.getDate()); } function addTime(strTime) { var time = strTime.split(':'); var d = currentDate(); d.setHours(time[0]); d.setMinutes(time[1]); d.setSeconds(time[2]); return d; } function isTimeInRange(strLower, strUpper) { var now = new Date(); var lower = addTime(strLower); var upper = addTime(strUpper); var inRange = false; if (upper > lower) { // opens and closes in same day inRange = (now >= lower && now <= upper) ? true : false; } else { // closes in the following day inRange = (now >= upper && now <= lower) ? false : true; } return inRange; }
-
Aber ja wie es schon oben ist reicht es auch...mit 5 Uhr triggern zum setzen und mit 21 triggern zum zurück setzen..
-
@smartboart
Musste mich jetzt über Funktionen im Modul Javascript aufklären lassen
Im Editor ist oben links ein Button mit einer Uhr:
Wen man den Bereich im Code markiert wo man die Zeit einfügen will und dann auf diesen Button klickt, kann man ganz bequem einstellen wie man es haben will.
Wenn man dann auf ok klickt wird automatisch der richtige Code im Script eingetragen.
Großes Lob an die Entwickler
Man sollte sich doch mal die Anleitungen durchlesen. -
@ArnoD krass .....wusste ich auch nicht....
-
@smartboart
Das Ganze sieht dann in einer Zeile so aus:
Timer3 = schedule('{"time":{"start":"04:10","end":"15:20","mode":"hours","interval":1},"period":{"days":1}}', function(){} -
@ArnoD sagte in E3DC Hauskraftwerk steuern:
@smartboart
Das Ganze sieht dann in einer Zeile so aus:
Timer3 = schedule('{"time":{"start":"04:10","end":"15:20","mode":"hours","interval":1},"period":{"days":1}}', function(){}krass das ersetzt das Time in Range script komplett...
-
Neue Version 0.2.10 hochgeladen.
Änderungen:
Version: 0.2.10 Forecast Daten werden jede Stunde von 4:10 Uhr bis 15:20 aktualisiert.Fehler in der function Ueberschuss_Prozent() behoben, die zu einer falschen Berechnung vom Eigenverbrauch geführt hat. -
@ArnoD sagte in E3DC Hauskraftwerk steuern:
Neue Version 0.2.10 hochgeladen.
Änderungen:
Version: 0.2.10 Forecast Daten werden jede Stunde von 4:10 Uhr bis 15:20 aktualisiert.Fehler in der function Ueberschuss_Prozent() behoben, die zu einer falschen Berechnung vom Eigenverbrauch geführt hat.langt es diesmal nur den Teil unter konfig ende zu tauschen. dann muss ich nicht alles durchforsten...
-
@smartboart
Ja, User Einstellungen sind gleich geblieben. -
@ArnoD heute ist das Skript zwischendurch wieder auf 1 gesprungen..irgendwann nachmittag...
Gibt es noch ein Thema mit der Überschussberechnung?
Wie / Wo startest du die Funktionfunction Ueberschuss_Prozent()
...Kann ich nicht nachvollziehen...
Ueberschuss = Ueberschuss_Prozent();
was macht das
irgendwo muss ja so die Funktion eingeleitet werden...
Ueberschuss_Prozent();
-
@ArnoD
Und nach meinem Verständnis müsste eben diese Funktion auch nochmal aufgerufen werden jedesmal bevor main gestartet wird... -
@smartboart
Ja war bei mir auch so.
Das liegt an der Stündlichen neu Berechnung und das irgendwann die Prognose von der Realität eingeholt wird. Bedeute wenn für den Tag die Prognose z.B. 10 kWh vorhersagt und der tatsächliche PV Ertrag 10 kWh erreicht, ergibt die Berechnung das nur noch 0 kWh zu erwarten sind und das bedeutet Einstellung 1 anwählen.
Habe mir das ganze heute noch mal überlegt und bin zu dem Schluss gekommen das ich einen Denkfehler bei der Aktualisierung hatte.
Eberhards Programm ist so intelligent das es eigentlich nicht viel zu ändern gibt.
Das Script muss nur zwei dinge feststellen , nämlich ob die PV Leistung am Tag ausreicht um die Batterie voll zu laden und ob am Nachmittag schlechtes Wetter ist um die richtige Einstellung zu wählen.
Das wiederum bedeutet das man spätestens bis 10 Uhr, besser bis 9:00 Uhr wissen muss ob die PV Leistung ab 12:00Uhr noch ausreicht um noch was entscheiden zu können.
Alle neu Berechnungen die nach 10:00 Uhr gemacht werden kann man sich somit sparen, denn wenn ich um 11:Uhr durch die Prognose erst mitbekomme das die PV Leistung wegen schlechtem Wetter nicht ausreicht, habe ich bereits bis dahin ins Netz eingespeist.
Werde die letzte Abfrage und Berechnung somit versuchsweise um 10:00 Uhr machen, weil da auch die Proplanta Daten nochmal aktualisiert werden.