NEWS
E3DC Hauskraftwerk steuern
-
@stevie77 sagte in E3DC Hauskraftwerk steuern:
Habt ihr evtl. auch dieses Problem oder/und wie könnte ich das debuggen? Gab es View-Anpassungen, die ich nicht übernommen haben könnte?
Habe es bei mir gerade getestet und konnte kein Problem feststellen.
Vor der Version 0.2.21 war ein Fehler beim Speichern History JSON enthalten, wo es möglich war das der aktuelle Monat mit falschen Daten überschrieben wurde.Weitere Beobachtung: Ab Mitte Juli sind bei mir die Daten (wohl aus dem letzten Jahr?) vorhanden. Mitte Juli 2020 hatte ich möglicherweise damit angefangen. Jetzt werden im Juli 2021 Daten aus Juli 2020 angezeigt. Werden die gelöscht, wenn der Juli 2021 beginnt, so dass der Monat dann leer angezeigt wird?
Richtig, die alten Daten aus dem letzten Jahr werden immer erst mit Beginn den aktuellen Monat gelöscht.
Allerdings stimmt für Juni auch schon irgendwas nicht, denn für Ende Juni sind auch schon Daten da?! Wie geht das denn?
Könnte noch mit dem Fehler im Skript vor Version 0.2.21 zu tun haben.
Weitere Ergänzung: Noch ein bisschen rumgespielt - es scheint so, als werden im Juni die noch nicht erreichten Tage zum Monatsende hin mit den Tagen aus Mai angezeigt. Wenn ich zwischen Mai und Juni umschalte, dann bleiben die Balken für 22. bis 30. unverändert.
Das ist genau der Fehler vor der Version 0.2.21, wenn in Vis zum Monatswechsel ein anderer Monat angewählt wahr wurde der aktuelle Monat mit dem angewählten Monat überschrieben.
Werde mir das mal anschauen, ob das Löschen der alten Daten funktioniert. Habe erst ab August alte Werte drin so das mir ein Fehler im Script erst da auffallen würde. Werde mal für Juli zum Testen Werte eintragen.
-
@arnod
Servus Arno,
würdest du mir für genau den Datenpunkt zu "zerlegen" den Code posten. Bei mir zeigt er zum Teil sehr merkwürdige Sachen an. z.B: Typ2_gesteckt = 128 u.ä.
Bei mir sieht der Code derzeit so aus:// Wallbox_2_CTRL var id3 = 'modbus.0.holdingRegisters.40088_WallBox_0_CTRL'; createState('0_userdata.0.Solar.WB_vorhanden_verfügbar'); createState('0_userdata.0.Solar.Solarbetrieb1_Mischbetrieb0'); createState('0_userdata.0.Solar.LadenAbgebrochen1_LadenFreigegeben0'); createState('0_userdata.0.Solar.Auto_lädt'); createState('0_userdata.0.Solar.Typ2_verriegelt'); createState('0_userdata.0.Solar.Typ2_gesteckt'); createState('0_userdata.0.Solar.Schuko_an'); createState('0_userdata.0.Solar.Schuko_gesteckt'); createState('0_userdata.0.Solar.Schuko_verriegelt'); createState('0_userdata.0.Solar.Relais_Schuko_an'); createState('0_userdata.0.Solar.Relais_1_Typ2_an'); createState('0_userdata.0.Solar.Relais_2_Typ2_an'); createState('0_userdata.0.Solar.1Phase_1_3Phasen_0'); createState('0_userdata.0.Solar.nicht_belegt'); on(id3, function (obj) { setState('0_userdata.0.Solar.WB_vorhanden_verfügbar', obj.state.val & 0xFF, true); setState('0_userdata.0.Solar.Solarbetrieb1_Mischbetrieb0', (obj.state.val >> 1) & 0xFF, true); setState('0_userdata.0.Solar.LadenAbgebrochen1_LadenFreigegeben0', (obj.state.val >> 2) & 0xFF, true); setState('0_userdata.0.Solar.Auto_lädt', (obj.state.val >> 3) & 0xFF, true); setState('0_userdata.0.Solar.Typ2_verriegelt', (obj.state.val >> 4) & 0xFF, true); setState('0_userdata.0.Solar.Typ2_gesteckt', (obj.state.val >> 5) & 0xFF, true); setState('0_userdata.0.Solar.Schuko_an', (obj.state.val >> 6) & 0xFF, true); setState('0_userdata.0.Solar.Schuko_gesteckt', (obj.state.val >> 7) & 0xFF, true); setState('0_userdata.0.Solar.Schuko_verriegelt', (obj.state.val >> 8) & 0xFF, true); setState('0_userdata.0.Solar.Relais_Schuko_an', (obj.state.val >> 9) & 0xFF, true); setState('0_userdata.0.Solar.Relais_1_Typ2_an', (obj.state.val >> 10) & 0xFF, true); setState('0_userdata.0.Solar.Relais_2_Typ2_an', (obj.state.val >> 11) & 0xFF, true); setState('0_userdata.0.Solar.1Phase_1_3Phasen_0', (obj.state.val >> 12) & 0xFF, true); setState('0_userdata.0.Solar.nicht_belegt', (obj.state.val >> 13) & 0xFF, true);
-
@streit187
Ich habe die Script Sammlung für die Modbus Datenpunkte hier bereits gepostet:
Script Sammlung für E3DCEntweder alles verwenden oder nur die Teile die für dich relevant sind.
-
@ArnoD Jetzt im Juli hat das mit dem Löschen der Monatsdaten geklappt. War dann vielleicht doch ein Problem mit dem Einspielen meines Backups oder warum auch immer. Generell scheint es ja zu funktionieren.
Das Umschaltproblem zwischen mehreren Monaten habe ich weiterhin, ist aber nicht wild, da es erst nach mehrmaligem Umschalten passiert und es scheint so, dass es nur passiert, wenn man mehrmals nacheinander recht flott den Monat ändert. Mit etwas Pausen dazwischen habe ich bis zu 10 Umschaltungen erfolgreich getestet (aktueller Skriptstand). Aber wie gesagt, macht man so in der Realität ja nicht und zur Not wird im Browser halt die Seite aktualisiert, dann geht's wieder. -
@stevie77
Habe es bei mir jetzt mehrmals getestet mit dem Umschalten und kann deinen Fehler nicht reproduzieren.
In welchem Browser hast du das Problem oder ist das unabhängig davon?
Habe es mit Firefox getestet.Welches Widget verwendest du zum Umschalten?
Bei mir ist es das Materialdesign - Select. -
@arnod Ja genau, Firefox benutze ich auch für das ioBroker-Fenster. Aber das ist ein so kleines Problem, das es nicht wert ist weiter Zeit drauf zu verschwenden...
-
Ich habe mich jetzt etwas mit Github beschäftigt und alle Javascript Dateien für E3DC dort hochgeladen.
Ich werde neue Versionen ab jetzt immer auf Github aktualisieren:
https://github.com/ArnoD15/iobroker_E3DC -
Neue Version 0.2.27 auf GitHub https://github.com/ArnoD15/iobroker_E3DC
Änderungen:
Beim Umschalten zwischen Proplanta und Forecast wurde das Diagramm nicht bzw. nur verzögert aktualisiert.
Durch die Verzögerung ist beim schnellen Umschalten auch nicht mit den richtigen Werten gerechnet worden,
so das eine falsche Einstellung angewählt wurde.
Bei Anwahl Automatik wird jetzt der State EinstellungAnwahl auf 0 gesetzt, um bei einer manuellen Anwahl
der Einstellung (Werte im Bereich 1-5) im Skript, das als Änderung erkannt wird. -
@arnod
Super, danke für das Update.
Könntest du uns bitte noch sagen in welchen Zeilen Änderungen vorgenommen wurden ähnlich wie du es bei der Version 0.2.25 gemacht hast.Danke.
-
Ein Grund warum ich mich mit Github beschäftigt habe, ist die Nachverfolgbarkeit der Änderungen
Einfach auf Commits klicken und du kannst bei jeder Version erkennen was genau geändert wurde. -
Moi,
@chilihead said in E3DC Hauskraftwerk steuern:Alles in allem wars nicht wirklich einfach den E3DC-Control auf dem gleichen Linux wie IOBroker zu installieren, gut jetzt wo man's weiß wie's geht ist's eigentlich ganz einfach.
Läuft bei mir in einer Proxmox VM
Vor genau diesem Schritt stehe ich auch gerade, also iobroker läuft bei mir unter Proxmox in einer VM und nun möchte ich E3DC-Control installieren. Wärst Du so nett und würdest schreiben, auf was dabei besonders zu achten ist? Ohne Deinen Post hätte ich jetzt einfach losgelegt, aber es scheint ja Fallstricke zu geben...
Danke im Voraus & Gruß -
@arnod
seit dem Update schaltet die Wettervorschau um 15:30 von Einstellung 2 (schönes Wetter) auf Einstellung 1 (schlechtes Wetter) um. Das ganze konnte ich gestern und heute beobachten. Das ganze sieht dann wie folgt aus:
Als ich das bemerkt hatte habe ich dann die Automatik deaktiviert und habe manuell auf Einstellung 2 gestellt.
Hast du eventuell eine Ahnung woran das liegen könnte, bzw. konntest du ein ähnliches Verhalten bei dir beobachten?
Mit der alten Version 0.2.25 ist mir so ein Verhalten noch nicht aufgefallen.Gruß Chris
-
@chrischros
Kannst du mal dein Log File von 15:30 Uhr hier einstellen. Da kann man am besten erkennen, warum auf Einstellung 1 gewechselt wurde.
Kann es sein das beide Prognosen nicht abgerufen werden konnten und deswegen auf Einstellung1 gewechselt wurde? -
das Log-File müsste doch im E3DC-Control Ordner gespeichert werden wenn ich folgende Parameter in dem Skript stehen habe:
var logflag = true; const sLogPath = "/home/pi/E3DC-Control/HistoryPV_Leistung.json";
aktuell kann ich kein Log-File sehen oder wird da noch wo anders was gespeichert?
-
@chrischros
sorry habe mich missverständlich ausgedrückt.
Meine den Log Text im iobroker Admin. -
2021-07-22 15:30:00.930 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: RB = 8:19 2021-07-22 15:30:00.931 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: RE = 14:53 2021-07-22 15:30:00.931 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: LE = 16:5 2021-07-22 15:30:00.932 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: Prognose Forecast in kWh = 50.913 2021-07-22 15:30:00.932 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: Prognose Proplanta in kWh = 0 2021-07-22 15:30:00.933 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: Prognose_kWh nach Abzug Korrekturfaktor = 40.730399999999996 2021-07-22 15:30:00.933 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: Bereits produzierte PV-Leistung = 38.04899298581051 2021-07-22 15:30:00.934 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: Prognose_kWh_heute für Berechnung = 2.681407014189489 2021-07-22 15:30:01.934 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: Start Ueberschuss_Prozent 2021-07-22 15:30:01.935 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: BatterieProzent(wert)=0 2021-07-22 15:30:01.936 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: Berechneter Eigenverbrauch = 7 2021-07-22 15:30:01.936 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: AktSpeicherSoC in % = 74 2021-07-22 15:30:01.937 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: FreieKapBatterie_kWh = 2.81 2021-07-22 15:30:01.937 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: Ueberschuss in kWh = 0 2021-07-22 15:30:01.938 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: Ueberschuss in Prozent = 0 2021-07-22 15:30:01.938 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: ende Ueberschuss_Prozent 2021-07-22 15:30:01.938 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: Bewölkungsgrad 12 Uhr Proplanta 0 2021-07-22 15:30:01.939 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: Bewölkungsgrad 15 Uhr Proplanta 25 2021-07-22 15:30:01.939 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: Berechneter Unload SoC ist = 74 2021-07-22 15:30:01.940 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: Einstellung 1 aktiv 2021-07-22 15:30:02.449 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: E3DC Config Datei gespeichert! 2021-07-22 15:30:03.448 - info: javascript.0 (30070) script.js.common.E3_DC.E3DC_Control_Prognose: E3DC Config Datei eingelesen!
Wenn ich das richtig lese, hat das Skript von Proplanta keine Daten bekommen. Da bei mir Proplanta am besten von der Vorhersage passt, verwende ich aktuell nur diese. Das würde erklären, warum er auf schlecht Wetter gewechselt hat.
Oder siehst du noch etwas anderes? -
@chrischros
Ja richtig.
Es wurde mit den Daten von Forecast gerechnet, da von Proplanta keine Daten abgerufen werden konnten.
Ich vermute aber das es sich hier um Ablaufproblem im Script handelt, da du ja Werte bei der Bewölkung von Proplanta erhalten hast.
Ich werde heute beim Aufruf der Main() Funktion wieder eine Verzögerung einbauen, diese habe ich entfernt da es bei mir keine Auswirkung hatte.
Kann sein das damit dein Problem gelöst wird. -
@arnod super danke dir. Werde das dann mal bei mir einspielen und berichten. So lange verwende ich jetzt wieder beide Vorhersagen.
Kann ich eigentlich bei dem Korrektur-Faktor auch negative Werte eintragen, um die Vorhersage nicht zu reduzieren, sondern um diese etwas zu erhöhen? -
@chrischros sagte in E3DC Hauskraftwerk steuern:
Kann ich eigentlich bei dem Korrektur-Faktor auch negative Werte eintragen, um die Vorhersage nicht zu reduzieren, sondern um diese etwas zu erhöhen?
Ja, sollte funktionieren.
-
@aueland hat etwas gedauert bis ich per putty auch online gekommen bin; dann nicht das Verzeichnis des users nehmen sonder "/opt/iobroker"