NEWS
E3DC Hauskraftwerk steuern
-
@ArnoD sagte in E3DC Hauskraftwerk steuern:
Ich würde erst nWirkungsgradWR = 100 einstellen und nKorrFaktor = 0 um zu sehen wie gut die Prognose ohne Korrektur ist und dann rantasten.
Okay, probiere ich mal. Die 88% sind bei dir auch ein Schätzwert, wenn ich das richtig verstanden habe.
Und welchen Wert dann zuerst runtersetzen wenn die Schätzung wie erwartbar zu hoch ist?
Wenn ich den Codeif (PrognoseMorgen_kWh > 87) {PrognoseMorgen_kWh = PrognoseMorgen_kWh + nKorrFaktor;}
richtig verstehe, dann ist das gar kein Faktor (also Multiplikation), sondern ein Wert, der zur Prognose addiert wird. Ich dachte als Faktor wäre 1 neutral, deswegen hätte ich 0 jetzt auch nicht verstanden. Ich hab also immer 1 dazu addiert. Tatsächlich könne ich mit -2 beispielsweise 2 kWh Schätzung abziehen, korrekt?
Und nWirkungsgradWR ist eigentlich der Faktor, 100 wäre neutral und ich sollte dann mal mit 70 oder so testen...
Scheint wie bei Einstellung einer Heizkurve zu sein: nWirkungsgradWR bestimmt die Kurve und nKorrFaktor verschiebt diese dann nur noch nach oben oder unten. Also so ganz grob bildlich gesprochen.
Ich werde auch das Diagramm bei Änderung der sourceanalytix-Werte aktualisieren so das man eine live Anzeige hat.
Was bedeutet das? Also nicht mehr Erstellung des Diagramms mit tatsächlichem Verbrauch einmal um 22 Uhr, sondern fortwährend solange Strom erzeugt wird? Also quasi ein wachsender grüner Balken? Das wäre cool...wobei die Bekanntgabe der Werte um 22 Uhr auch was hatte...
-
@ArnoD Sourceanalytix hat heute 7 kWh zu wenig gezählt. Falls dir mal langweilig wird , wäre ein Korrekturfaktor auf den Gesamtwert beider Anlagen interessant. Also einmalig abends das zu visualisierende Ergebnis für die Statistik mit dem Korrekturfaktor multiplizieren. Könnte man auch einmalig nach Sonnenuntergang auf die beiden Analytix-States machen?! Falls man die ohne Nebenwirkungen überschreiben kann...
-
@ArnoD
Hallo Arno,
ich habe mir jetzt nen Modbuszähler als Erzeugungszähler zusätzlich eingebaut...
Dafür habe ich ein Script geschrieben, welches täglich den Ertrag hochzählt, wie sourceanalytics. Wegen einem State wollte ich keinen ganzen Adapter laufen lassen.
Den TagesZähler resette ich jetzt täglich um 23:59Uhr.
Mit deinem Script würde ich die Werte gerne um 23:58 abholen...
Spricht da was dagegen, weil du die Werte von Source analytiys schon viel früher abrufst... -
Nein da spricht nichts dagegen.
Ich hole mir die Werte nur so früh, weil sich beim Zähler in der Nacht nichts mehr ändert und bei mir um 0:01 bereits einige Skripte laufen.
Wollte das Ganze etwas entzerren.
Werde am Wochenende eine neue Version 0.2.0 hochladen, in der ist dann auch die Abfrage von Proplanta integriert so das man das Proplanta Script nicht mehr benötigt.
Das Diagramm und die PV-Leistung, wird dann laufend aktualisiert. -
@ArnoD Super! Ab morgen kann ich dann richtig mit machen...Dann kommt endlich der neue Zähler...War bis heute im Inselbetrieb.
Find ich klasse, das dann Proplanta integriert ist...
SuperArbeit... -
@smartboart sagte in E3DC Hauskraftwerk steuern:
Mal ne andere Frage...Bis zum ählerwechsel fahre ich gerade auf Notstrom...
Heute Nacht hat die Kiste bestimmt 4 mal den Strom abgeschaltet und hat dann immer wieder selbstständig zugeschaltet. Hat das auch mal jemand beobachtet?falls es jemand interessiert...hatte beim support angerufen...die entwickler arbeiten schon daran...ist dort schon bekannt...
-
@ArnoD sagte in E3DC Hauskraftwerk steuern:
Das sieht dann so aus:
Hey Arno, muss darauf nochmal zurück...
meinste hier findet sich jemand, der daraus bzw. aus deinem script ne schöne HTML Tabelle bastelt und vlt. noch ne Textdatei welche auf nem Nass abgelegt wird? Wollen wir hier mal einen neuen Threat aufmachen? Ist dein Script, deshalb will ich das nicht machen. -
@ArnoD Hätte mal ne Verständnisfrage: Macht es Sinn den Parameter unload so sehr auszureizen? Bei mir war das heute so extrem, dass Parameter unload = 0 berechnet wurde:
Bin allerdings kein Freund davon so knapp auf Risiko zu fahren. Da hätte nur ne größere Wolke und ein noch höherer Verbrauch passieren müssen, als der SoC ganz unten war und ich hätte ohne Not Strombezug gehabt.
Davon abgesehen wurde die Ladekurve dadurch unnötig steil (Batteriestress) und bis auf 0% SoC zu entladen ist auch schädlich für die Batterie. Das führt den Gedanken von E3DC-Control ad absurdum...Vorschlag/Idee: Könntest du einen weiteren Parameter einführen, mit dem man den Mindest-SoC/unload-Wert fest vorgeben kann? Also dass der berechnete unload-Wert auf mind. diesen Parameterwert gesetzt wird, selbst wenn ein niedrigerer unload-Wert berechnet wurde. Ich würde z.B. gerne nie unter unload = 50 gehen wollen...
-
@smartboart sagte in E3DC Hauskraftwerk steuern:
@ArnoD sagte in E3DC Hauskraftwerk steuern:
Das sieht dann so aus:
Hey Arno, muss darauf nochmal zurück...
meinste hier findet sich jemand, der daraus bzw. aus deinem script ne schöne HTML Tabelle bastelt und vlt. noch ne Textdatei welche auf nem Nass abgelegt wird? Wollen wir hier mal einen neuen Threat aufmachen? Ist dein Script, deshalb will ich das nicht machen.Ist kein Problem, kannst du gerne machen.
Ich brauche die Seite nur für das Finanzamt, habe mich deswegen nicht weiter darum gekümmert.
Wenn jemand eine ansprechende HTML Seite daraus machen kann, würde ich mich freuen -
@stevie77 sagte in E3DC Hauskraftwerk steuern:
@ArnoD Hätte mal ne Verständnisfrage: Macht es Sinn den Parameter unload so sehr auszureizen? Bei mir war das heute so extrem, dass Parameter unload = 0 berechnet wurde:
Vorschlag/Idee: Könntest du einen weiteren Parameter einführen, mit dem man den Mindest-SoC/unload-Wert fest vorgeben kann? Also dass der berechnete unload-Wert auf mind. diesen Parameterwert gesetzt wird, selbst wenn ein niedrigerer unload-Wert berechnet wurde. Ich würde z.B. gerne nie unter unload = 50 gehen wollen...
Der berechnete Unload Wert wird im Script nicht verwendet.
Ich lassen ihn mir im LOG nur anzeigen um zu sehen was passieren würde, wenn ich Unload automatisch einstellen lasse.
In Zeile 327 wird er bereits auf min. 50% begrenzt wenn der berechnete Wert unter 50% ist, mehr zu entladen macht keinen Sinn.
Im LOG angezeigt wird aber immer der berechnete Wert ohne Begrenzung.
Wenn du das Entladen des Speichers automatisieren willst, müsstest du in Zeile 345
sUnload[2] = UnloadSoC;
eintragen.
Ich habe für mich festgestellt, dass es ausreicht, das Laden am Morgen bis zum Start der Regelung von E3DC-Control zu verhindern.
Das mache ich indem ich den aktuellen Speicher SoC auslese und den als Unload Wert verwende.
Deswegen steht in der Zeile 345: sUnload[2] = AktSpeicherSoC; -
@ArnoD Missverständnis meinerseits...löschen des Beitrags nicht möglich mit meiner Berechtigung, sagt das Forum.
-
@ArnoD Hat sich erledigt. habe deinen Beitrag nicht genau genug gelesen.
-
@ArnoD Der falsch ermittelte Speicher-SoC von 0 % anstatt richtig 26 % gestern lag vielleicht an einem Update des Modbus-Adapters zuvor (möglicherweise < 24 h vorher). Deswegen ist bei mir dann unload auf 0 gesetzt worden. Ich hab den Code jetzt wie von dir beschrieben an der entsprechenden Stelle geändert und UnloadSoC benutzt. Dummerweise deinen Text nicht genau gelesen oder verstanden heute Nacht und jetzt eben selbst gedebugt und gefunden wo das Problem ist.
Muss ich halt in Zukunft daran denken nach jedem Update des Skripts selbst noch die Zeile zu ändern.05:15:00.369 info javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Gepeichert wurde Prognose forecast 2/2 : 24115 :24445 05:45:00.006 info javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Bewölkungsgrad 12 Uhr Proplanta 12.5 05:45:00.007 info javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Bewölkungsgrad 15 Uhr Proplanta 12.5 05:45:00.009 info javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Prognose Forecast in kWh = 100.971 05:45:00.009 info javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Prognose Proplanta in kWh = 97.66950000000001 05:45:00.010 info javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Globalstrahlung Proplante = 6.9 05:45:00.010 info javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: AktSpeicherSoC in % = 0 05:45:00.010 info javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: FreieKapBatterie_kWh = 11.7 05:45:00.010 info javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Prognose_kWh für Berechnung = 87.90255 05:45:00.011 info javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Ueberschuss in kWh = 64.20255 05:45:00.011 info javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Ueberschuss in Prozent = 100 05:45:00.011 info javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Berechneter Unload SoC ist = -100 05:45:00.011 info javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Einstellung 2 aktiv 05:45:00.019 info javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: E3DC Config Datei gespeichert! 05:45:01.023 info javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: E3DC Config Datei eingelesen!
-
Hat eigentlich das Speichern der History Daten Juli bei euch funktioniert ?
Bei mir wurden die Daten nicht gespeichert.
Da ich aber gestern einige Tests durchgeführt habe, kann es sein das mit dem ständigen stoppen und starten vom Script nur bei mir das speichern nicht funktioniert hat. -
@ArnoD sagte in E3DC Hauskraftwerk steuern:
Hat eigentlich das Speichern der History Daten Juli bei euch funktioniert ?
Bei mir wurden die Daten nicht gespeichert.Ist das denn zum Monatsende ein anderes Speichern als das jeden Tag abends um 22 Uhr? Bei mir wurde jeder einzelne Tag gespeichert und ist auch noch da, wenn ich zu August und wieder zurück zum Juli wechsle...
-
Ja, am Monatsende wird nur das Json Objekt kopiert und ansonsten wird das Json Ojekt aus den States laufend neu geschrieben.
-
Ich habe soeben die Version 0.2.0 hochgeladen.
ACHTUNG !! Anpassungen in VIS erforderlich, da sich States geändert haben.
Bitte unter den Objekten die ID 0_userdata_0.E3DC-Control.Allgemein manuell löschen und vom Script neu anlegen lassen.Änderungen:
-
Abfrage Globalstrahlung von Proplanta integriert. Typescript Proplanta wird nicht mehr benötigt.
Bei der Prognose Proplanta wird jetzt eine Vorschau für vier Tage im Diagramm angezeigt.
Leider gibt es hier keine API, somit musste ich aus der HTML Seite die benötigten Daten filtern.
Sollte sich an der Proplanta Seite was an den im Script verwendetet Suchwörter ändern, kann es natürlich sein das das Script ins leere läuft. Es wird jetzt auch das jeweilige Datum der abgerufenen Prognosewerte in eigenen State gespeicher, sodass man dieses in Vis anzeigen und prüfen kann. -
Neuer State für die Summe von Leistungsmesser 0 und Leistungsmesser 1, um diesen in Vis anzuzeigen.
-
Nur noch ein Korrekturfaktor in %, um die berechneten Prognosewerte anzugleichen.
-
Diagramm wird jetzt bei Änderungen der PV-Leistung regelmäßig aktualisiert.
Script optimiert und aufgeräumt. Neue State Struktur erstellt, um das Ganze übersichtlicher zu gestalten.
-
-
@ArnoD Ich hab mal den Wechsel versucht...was mir aufgefallen ist:
- nKorrWert_PV_Leistung scheint ein toter Parameter zu sein, eine Textsuche findet nur die Deklarierung des Werts.
- Der Fehler "javascript.0 (32733) script.js.e3dc-control.handleE3DCControl: Bewölkungsgrad_12 oder Bewölkungsgrad_15 wurde nicht abgerufen. 12=200 15=200" scheint ein erwarteter Fehler zu sein?! Taucht der jetzt nur auf, weil beim Start des Skripts nicht wirklich eine Abfrage durchgeführt wird? Finde ich etwas nervig, dass jedes Mal, wenn ich das Skript anklicke und unten das Log aufgebaut wird, eine rote Fehlermeldung angezeigt bekomme...
Ob tatsächlich alles funktioniert wird sich wohl erst im Verlauf von 1-2 Tagen zeigen...
-
@ArnoD Der erwähnte Fehler =200 scheint nun weg zu sein, seit um 5:15 Uhr der erste richtige Wetterabruf war.
Andere Sache: Seit ich dein Programm benutze hat die Automatik immer Einstellung 2 gewählt. Heute erstmals Einstellung 1. Hat das mit der Zeile
// 2 Prognose PV-Leistung höher als benötigter Eigenverbrauch,Batterie laden und Überschuss ins Netz einspeisen. // keine Bewölkung > 80% if (Ueberschuss > 0 && Bedeckungsgrad12 < 90 && Bedeckungsgrad15 < 90)// && AutomatikAnwahl == true)
zu tun? In der letzten Skriptversion war Automatik nicht auskommentiert...
Mit den 5 Einstellungsmöglichkeiten bin ich eh noch überfordert, momentan habe ich überall dieselben Werte hinterlegt, die sich als passend für die meisten Wettersituationen erwiesen haben. Bin noch in der Beobachtungsphase, was wann gewählt wird...Jetzt steige ich noch weniger durch: Die Prognose ist 47,7 kWh, aber es wird Überschuss 0 kWh errechnet. Einstellung 1 wäre doch die Schlechtwetter-Einstellung, wo man fast keine Sonne erwartet?! Also läuft jetzt irgendwas schief, ne?
05:45:00.006 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Bewölkungsgrad 12 Uhr Proplanta 62.5 05:45:00.006 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Bewölkungsgrad 15 Uhr Proplanta 62.5 05:45:00.009 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Prognose Forecast in kWh = 53.058 05:45:00.009 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Prognose Proplanta in kWh = 86.3455 05:45:00.010 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Prognose_kWh_heute für Berechnung = 47.7522 05:45:00.011 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: AktSpeicherSoC in % = 30 05:45:00.011 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: FreieKapBatterie_kWh = 8.19 05:45:00.011 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Ueberschuss in kWh = 0 05:45:00.011 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Ueberschuss in Prozent = 0 05:45:00.013 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Berechneter Unload SoC ist = 30 05:45:00.014 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Einstellung 1 aktiv
Definiert habe ich const nEigenverbrauchTag = 12.0. FreieKapBatterie_kWh würde ich sagen ist mit 8,19 kWh richtig berechnet.
Also müsste Ueberschuss_kWh =(Prognose_kWh-nEigenverbrauchTag)-FreieKapBatterie_kWh; wie folgt zu rechnen sein: 47,7 - 12 - 8,2 = 27,5 kWh. Tatsächlich kommt da aber 0 raus im Log. Irgendeine Idee? -
@ArnoD Hmm, jetzt habe ich noch ein bisschen die Kommentare zu den Einstellungen ergänzt und die Zahlen 80<>90 Prozent korrigiert und dann gespeichert. Da lief das Skript nochmals durch und hat nun auf den ersten Blick alles richtig gemacht (im Gegensatz zu davor):
06:40:31.589 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Bewölkungsgrad 12 Uhr Proplanta 62.5 06:40:31.590 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Bewölkungsgrad 15 Uhr Proplanta 62.5 06:40:31.593 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Prognose Forecast in kWh = 53.058 06:40:31.593 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Prognose Proplanta in kWh = 86.3455 06:40:31.594 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Prognose_kWh_heute für Berechnung = 47.7522 06:40:31.596 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: AktSpeicherSoC in % = 26 06:40:31.596 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: FreieKapBatterie_kWh = 8.66 06:40:31.596 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Ueberschuss in kWh = 27.092200000000002 06:40:31.597 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Ueberschuss in Prozent = 100 06:40:31.599 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Berechneter Unload SoC ist = -74 06:40:31.599 info javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Einstellung 2 aktiv
Kann es sein, dass vielleicht irgendein State noch nicht richtig initialisiert war oder so? Aber es war ja eigentlich auch beim ersten falschen Lauf alles da womit gerechnet wird...versteh' ich nicht.