NEWS
E3DC Hauskraftwerk steuern
-
Neue Version 0.3.3 hochgeladen.
Änderungen:
Daten Proplanta wurden bei einem Serverfehler erst wieder am nächsten Tag abgerufen.
Zeiten RB, RE und LE wurden beim manuellen Wechsel der Einstellungen nicht neu berechnet. -
@arnod Super danke für die Korrektur, werde ich gleich mal testen.
Alles super, Zeiten werden jetzt alle neu berechnet wenn das Automatikprogramm deaktiviert und eine manuelle Einstellung gewählt wird.
Danke. -
Hallo @ArnoD,
mir ist heute etwas im Log aufgefallen. Scheinbar werden einige Daten im Skript falsch übergeben.
2021-09-26 21:55:14.503 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.MinimumLadeleistung" has to be type "string" but received type "number" 2021-09-26 21:55:14.504 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Ladeschwelle" has to be type "string" but received type "number" 2021-09-26 21:55:14.505 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Ladeende" has to be type "string" but received type "number" 2021-09-26 21:55:14.506 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Ladeende2" has to be type "string" but received type "number" 2021-09-26 21:55:14.508 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Sommerladeende" has to be type "string" but received type "number"
Da es nicht im Fehler-Log angezeigt wird, glaube ich nicht das es einen großen Einfluss haben wird. Eventuell hilft es aber das Skript noch weiter zu verbessern.
Gruß Chris
-
@chrischros
Kannst du das noch eingrenzen, wann dieser Fehler auftritt?
Was änderst du zu diesem Zeitpunkt oder passiert das ohne manuellen Eingriff?
Bei mir kann ich im LOG nichts finden und kann das auch nicht nachvollziehen da alles als String übergeben wird.
Kann es sein das du in VIS, was falsch eingestellt hast?Ich bin gerade dabei das Script zu optimieren und alle setTimeout zu entfernen und die Synchronisierung besser hinzubekommen. Da das ganze doch sehr träge läuft.
-
@arnod ich hatte das gestern gesehen nachdem die automatische Aktualisierung der Daten um 22:00 Uhr durchgelaufen ist.
Ich schaue mir die 5 Parameter heute Abend noch einmal an was ich da eingetragen habe und poste das hier mal. Eventuell übersehe ich da auch was. -
@arnod hier mal ein Auszug von dem Skript mit den entsprechenden Parametern.
//*********************************** Einstellung 1 ************************************* // Prognostizierte PV-Leistung geringer als benötigter Eigenverbrauch, Überschuss zu 100% in Batterie speichern. sEinspeiselimit[1] = 5.8; // alter Wert 300 sUntererLadekorridor[1] = 100; // alter Wert 3000 sObererLadekorridor[1] = 2300; sMinimumLadeleistung[1] = 0; // alter Wert 6000 sMaximumLadeleistung[1] = 4500; sLadeschwelle[1] = 75; sLadeende[1] = 85; sLadeende2[1] = 95; sWinterminimum[1] = 11.40; sSommermaximum[1] = 15.00; sSommerladeende[1] = 16.25; sSpeichergroesse[1] = 10.8; sUnload[1] = 100; //*********************************** Einstellung 2 ************************************* // Prognostizierte PV-Leistung höher als benötigter Eigenverbrauch, Batterie laden und Überschuss ins Netz einspeisen. // Von 12 - 18 Uhr Bewölkung < 90 %. sEinspeiselimit[2] = 5.8; sUntererLadekorridor[2] = 300; // alter Wert 3500 sObererLadekorridor[2] = 2700; sMinimumLadeleistung[2] = 100; // alter Wert 6000 sMaximumLadeleistung[2] = 4500; sLadeschwelle[2] = 24; sLadeende[2] = 75; sLadeende2[2] = 87; sWinterminimum[2] = 11.40; sSommermaximum[2] = 15.75; sSommerladeende[2] = 17.75; sSpeichergroesse[2] = 10.8; // sUnload wird automatisch auf Aktuellen Batterie SoC oder berechneten UnloadSoC eingestellt um ein Laden der Batterie bis zum Start der Regelung zu verhindern //*********************************** Einstellung 3 ************************************* // Prognostizierte PV-Leistung höher als benötigter Eigenverbrauch, Batterie laden und Überschuss ins Netz einspeisen. // Von 12:00 - 18:00 Uhr Bewölkung >= 90 %. sEinspeiselimit[3] = 5.8; // alter Wert 300 sUntererLadekorridor[3] = 100; // alter Wert 3000 sObererLadekorridor[3] = 2300; sMinimumLadeleistung[3] = 100; // alter Wert 6000 sMaximumLadeleistung[3] = 4500; sLadeschwelle[3] = 70; sLadeende[3] = 80; sLadeende2[3] = 90; sWinterminimum[3] = 11.40; sSommermaximum[3] = 15.00; sSommerladeende[3] = 16.50; sSpeichergroesse[3] = 10.8; sUnload[3] = 100; //*********************************** Einstellung 4 ************************************* // Prognostizierte PV-Leistung höher als benötigter Eigenverbrauch, Batterie laden und Überschuss ins Netz einspeisen. // Von 12:00 - 15:00 Uhr Bewölkung > 90%, danach weniger Bewölkung. sEinspeiselimit[4] = 5.8; // alter Wert 300 sUntererLadekorridor[4] = 100; // alter Wert 3000 sObererLadekorridor[4] = 2300; sMinimumLadeleistung[4] = 100; // alter Wert 6000 sMaximumLadeleistung[4] = 4500; sLadeschwelle[4] = 55; sLadeende[4] = 80; sLadeende2[4] = 90; sWinterminimum[4] = 11.40; sSommermaximum[4] = 15.00; sSommerladeende[4] = 17.25; sSpeichergroesse[4] = 10.8; sUnload[4] = 100; //*********************************** Einstellung 5 ************************************* // 5 Prognostizierte PV-Leistung höher als benötigter Eigenverbrauch, Batterie laden und Überschuss ins Netz einspeisen. // Ab 12:00 - 15 Uhr Bewölkung < 90 %, ab 15:00 - 18:00 Uhr Bewölkung >= 90 %. sEinspeiselimit[5] = 5.8; // alter Wert 300 sUntererLadekorridor[5] = 100; // alter Wert 3000 sObererLadekorridor[5] = 2300; sMinimumLadeleistung[5] = 100; // alter Wert 6000 sMaximumLadeleistung[5] = 4500; sLadeschwelle[5] = 55; sLadeende[5] = 80; sLadeende2[5] = 90; sWinterminimum[5] = 11.40; sSommermaximum[5] = 15.00; sSommerladeende[5] = 16.75; sSpeichergroesse[5] = 10.8; sUnload[5] = 100;
Auf den ersten Blick kann ich keinen Fehler erkennen.
Hier noch ein Auszug von heute als ich manuell auf "schlecht Wetter" gestellt habe. eventuell hilft dir das weiter:2021-09-27 10:10:07.906 - info: web.0 (1912) ==>Connected system.user.admin from ::ffff:XX.XX.XX.XX 2021-09-27 10:10:13.033 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: BatterieProzent(wert)=6.501979962444959 2021-09-27 10:10:13.034 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Berechneter Eigenverbrauch = 13.589743589743591 2021-09-27 10:10:13.035 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: AktSpeicherSoC in % = 27 2021-09-27 10:10:13.035 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: FreieKapBatterie_kWh = 7.88 2021-09-27 10:10:13.036 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Ueberschuss in kWh = 6.501979962444959 2021-09-27 10:10:13.043 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Ueberschuss in Prozent = 60.20351817078665 2021-09-27 10:10:13.044 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Bewölkungsgrad 12 Uhr Proplanta 87.5 2021-09-27 10:10:13.045 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Bewölkungsgrad 15 Uhr Proplanta 100 2021-09-27 10:10:13.045 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Berechneter Unload SoC ist = -33 2021-09-27 10:10:13.046 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Einstellung 5 aktiv 2021-09-27 10:10:13.533 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Prognose Forecast in kWh = 27.361 2021-09-27 10:10:13.534 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Prognose Proplanta in kWh = 29.841 2021-09-27 10:10:13.534 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Prognose_kWh nach Abzug Korrekturfaktor = 28.601 2021-09-27 10:10:13.535 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Bereits produzierte PV-Leistung = 3.3585054377104395 2021-09-27 10:10:13.535 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Prognose_kWh_heute für Berechnung = 25.242494562289558 2021-09-27 10:10:15.034 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: RB = 9:34 2021-09-27 10:10:15.034 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: RE = 12:55 2021-09-27 10:10:15.035 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: LE = 14:0 2021-09-27 10:10:19.839 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Trigger manuelle Programmvorwahl 2021-09-27 10:10:19.848 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Automatik gestoppt 2021-09-27 10:10:19.941 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: BatterieProzent(wert)=3.7727509725459667 2021-09-27 10:10:19.941 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Berechneter Eigenverbrauch = 13.589743589743591 2021-09-27 10:10:19.942 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: AktSpeicherSoC in % = 27 2021-09-27 10:10:19.942 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: FreieKapBatterie_kWh = 7.88 2021-09-27 10:10:19.942 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Ueberschuss in kWh = 3.7727509725459667 2021-09-27 10:10:19.943 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Ueberschuss in Prozent = 34.932879375425614 2021-09-27 10:10:19.943 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Bewölkungsgrad 12 Uhr Proplanta 87.5 2021-09-27 10:10:19.943 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Bewölkungsgrad 15 Uhr Proplanta 100 2021-09-27 10:10:19.944 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Berechneter Unload SoC ist = -8 2021-09-27 10:10:19.944 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Einstellung 1 aktiv 2021-09-27 10:10:20.441 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Prognose Forecast in kWh = 27.361 2021-09-27 10:10:20.442 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Prognose Proplanta in kWh = 29.841 2021-09-27 10:10:20.443 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Prognose_kWh nach Abzug Korrekturfaktor = 28.601 2021-09-27 10:10:20.443 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Bereits produzierte PV-Leistung = 3.3585054377104395 2021-09-27 10:10:20.444 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: Prognose_kWh_heute für Berechnung = 25.242494562289558 2021-09-27 10:10:20.455 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: E3DC Config Datei gespeichert! 2021-09-27 10:10:21.448 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: E3DC Config Datei eingelesen! 2021-09-27 10:10:21.582 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.MinimumLadeleistung" has to be type "string" but received type "number" 2021-09-27 10:10:21.595 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Ladeschwelle" has to be type "string" but received type "number" 2021-09-27 10:10:21.596 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Ladeende" has to be type "string" but received type "number" 2021-09-27 10:10:21.600 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Ladeende2" has to be type "string" but received type "number" 2021-09-27 10:10:21.627 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Sommerladeende" has to be type "string" but received type "number" 2021-09-27 10:10:21.941 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: RB = 9:34 2021-09-27 10:10:21.942 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: RE = 12:55 2021-09-27 10:10:21.942 - info: javascript.0 (28644) script.js.common.E3_DC.E3DC_Control_Prognose: LE = 13:46 2021-09-27 10:10:24.735 - info: web.0 (1912) <==Disconnect system.user.admin from ::ffff:XX.XX.XX.XX vis.0
Einen fast identischen Eintrag habe ich im Log noch einmal, als ich wieder auf Automatik umgeschaltet habe.
Ich lasse das Skript morgen mal komplett im Automatikmodus durchlaufen und schauen dann noch einmal, ob ich ähnliche Einträge im Log finde. Interessant ist auch, ob Einträge geschrieben werden, wenn der Modus im Automatikbetrieb geändert wird.Gruß Chris
-
@chrischros
Was mich etwas irritiert ist, dass die Meldung nicht von der Instanz "javascript.0", sondern von "web.0" kommt.
Das würde für mich bedeuten, dass die Instanz web.0 auf die Parameter zugreift und den Type bemängelt.
Deswegen meine Frage, ob eventuell von VIS aus versucht wird die Parameter, als number und nicht als string zu schreiben . -
@arnod
weißt du ob ich das im widget einstellen kann wie ein Wert übergeben werden soll?
Ich habe gesehen, dass die ganzen Eingabefelder als "basic number widget" angelegt waren. Ich habe diese nun in "basic string" abgeändert aber die Einträge im Log sind geblieben, es sind sogar mehr geworden.
Welches widget hast du da bei dir benutzt? -
@chrischros
Habe bei mir gerade nachgeschaut und habe auch die basic-Number Widget verwendet.
Habe aber keine Fehlermeldungen.
KomischNachtrag:
mit den basic number Widget werden nur die Werte angezeigt, zum Schreiben von neuen Werten verwende ich die hqwidgets-CircleKnob. -
@arnod
das gleiche verwende ich auch.
Bei mir sehen die Einstellung für z.B. Sommer Ladeende so aus:
siegt das so ähnlich auch bei dir aus? Könntest du bitte deine Einstellungen Posten?
Gruß Chris
-
@chrischros
Sieht genauso aus.
-
@arnod
dank dir.
Keine Ahnung warum im Log bei mir diese Einträge geschrieben werden. Da sie nicht als Alarm geschrieben werden kann es nicht so tragisch sein. Werde das jetzt erst mal nicht weiterverfolgen. -
Neue Version 0.3.4 hochgeladen.
Änderungen:
Skript optimiert, xmlhttprequest Forecast und Proplanta anders programmiert
Script ohne setTimeout mit async/await programmiert, dadurch schneller.Am Script wurde jetzt einiges optimiert und beschleunigt. Die Umschaltung in VIS ist jetzt flüssiger und nicht mehr so verzögert.
Habe das Script jetzt zwei Wochen bei mir getestet und hoffentlich alle Fehler so weit beseitigt. -
@chrischros
Versuch mal die neue Version. -
@arnod die gleiche Einträge im Log.
-
@chrischros
Das komische ist ja das nur die vier States bemängelt werden alle anderen nicht.
Hast du mal die vier gelöscht und durch das Script neu erstellen lassen ? -
@arnod ich denke das hängt damit zusammen weil diese Werte geändert werden.
löschen habe ich bisher noch nicht probiert. Wäre noch ein Ansatz.
Wenn ich das Skript und den Ordner E3DC-Control in dem Reiter Objekte lösche, im Anschluss das Skript neu erstelle müssten doch alle Objekte wiederhergestellt werden? -
@chrischros
Es reicht schon, wenn du das Script stoppst und in dem Reiter Objekte E3DC-Control löschen würdest.
Beim Starten vom Script würden dann alle States neu angelegt werden. -
@arnod
leider keine Besserung2021-09-29 21:02:20.343 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Einspeiselimit" has to be type "string" but received type "number" 2021-09-29 21:02:20.349 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.UntererLadekorridor" has to be type "string" but received type "number" 2021-09-29 21:02:20.353 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.ObererLadekorridor" has to be type "string" but received type "number" 2021-09-29 21:02:20.360 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.MinimumLadeleistung" has to be type "string" but received type "number" 2021-09-29 21:02:20.367 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.MaximumLadeleistung" has to be type "string" but received type "number" 2021-09-29 21:02:20.380 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Ladeschwelle" has to be type "string" but received type "number" 2021-09-29 21:02:20.385 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Ladeende" has to be type "string" but received type "number" 2021-09-29 21:02:20.390 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Ladeende2" has to be type "string" but received type "number" 2021-09-29 21:02:20.396 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Winterminimum" has to be type "string" but received type "number" 2021-09-29 21:02:20.402 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Sommermaximum" has to be type "string" but received type "number" 2021-09-29 21:02:20.408 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Sommerladeende" has to be type "string" but received type "number" 2021-09-29 21:02:20.416 - info: web.0 (1912) State value to set for "0_userdata.0.E3DC-Control.Parameter.Speichergroesse" has to be type "string" but received type "number"
-
@chrischros
Kann es eventuell an Web liegen? Das ist jetzt noch der einzige Unterschied, der mir einfällt.