NEWS
E3DC Hauskraftwerk steuern
-
@ArnoD
Moin, mir ist heute früh in meiner Übersicht aufgefallen, dass der Zähler für die von ChargeControl gesicherte Leistung nicht genullt wird um Mitternacht. Ist da dann einfach ein setState(sID_PVErtragLM2,0,true); zu ergänzen bei dem Timer?PS: inzwischen habe ich mir einen View für meine Anlage zusammengemixt, der alle für mich wichtigen Infos enthält
-
@bluebean sagte in E3DC Hauskraftwerk steuern:
Moin, mir ist heute früh in meiner Übersicht aufgefallen, dass der Zähler für die von ChargeControl gesicherte Leistung nicht genullt wird um Mitternacht. Ist da dann einfach ein setState(sID_PVErtragLM2,0,true); zu ergänzen bei dem Timer?
Kommt darauf an, was du erreichen willst. Wenn du keine Jahreswerte benötigst, dann ja.
Dann würde es so aussehen:// jeden Tag um 00:01 Tageswert nullen und Regelzeiten aktualisieren. schedule({hour: 0, minute: 1}, function () { setState(sID_PVErtragLM0,0,true); setState(sID_PVErtragLM1,0,true); setState(sID_PVErtragLM2,0,true); MEZ_Regelzeiten(); if (LogAusgabe)log('-==== Tagesertragswert auf 0 gesetzt ====-'); });
Wenn du aber auch Jahreswerte anzeigen willst, muss du einen neuen State anlegen, denn du dann täglich löschen kannst.
Übrigens tolles View was du da zusammengemixt hast.
-
@arnod said in E3DC Hauskraftwerk steuern:
Übrigens tolles View was du da zusammengemixt hast.
Ich habe nur starke Anleihen bei André genommen, die Grafiken ein wenig gepimpt und mit Teilen von dir ergänzt
Aber ich verstehe es richtig, dass der Zähler LM2 nur dann zählt, wenn ChargeControl regelt?
D.h., wenn ich die gesamte an einem Tag gespeicherten kWh erfassen will, muss ich mir einen neuen State sID_PVErtragLM3 mit einem weiteren Zähler LM3 einschließlich dazugehörigem Timer anlegen? -
@arnod
Super, danke! Habe die neue Version gerade installiert und werde das Verhalten beobachten. BackitUp ist auch deaktiviert.
Den 4-Uhr-Task mit ioBroker beenden und wieder starten kann ich leider nicht deaktivieren - da wird gesichert.Ich habe zwischenzeitlich auch das Wallbox-Skript aktiv und gerade ein leeres Auto dranhängen bei Einstellung 1. Ich hatte es so verstanden, dass er bei viel Überschuss dann auch das Auto lädt parallel zum priorisierten Akku, doch auch bei mehr als 5.000W, die er ins Netz speist, springt der Auto-Ladevorgang nicht an. Ich habe auch MinLadeStromStart_A schon mal testweise auf 6 heruntergesetzt, das wären ja ca. 1.800W, doch es tut sich nichts.
Hast Du da eine Idee?
-
@bluebean sagte in E3DC Hauskraftwerk steuern:
Aber ich verstehe es richtig, dass der Zähler LM2 nur dann zählt, wenn ChargeControl regelt?
Ja, richtig!
Immer wenn sonst die 70 % Grenze oder die WR-Grenze überschritten worden wäre, wird gezählt.D.h., wenn ich die gesamte an einem Tag gespeicherten kWh erfassen will, muss ich mir einen neuen State sID_PVErtragLM3 mit einem weiteren Zähler LM3 einschließlich dazugehörigem Timer anlegen?
Was willst du da genau erfassen, die PV-Leistung von einem Tag oder was du in die Batterie gespeichert hast?
-
@arnod said in E3DC Hauskraftwerk steuern:
Was willst du da genau erfassen, die PV-Leistung von einem Tag oder was du in die Batterie gespeichert hast?
Was in die Batterie gespeichert wurde (die PV-Leistung von einem Tag liegt ja abends im 0_userdata.0.Charge_Control.Allgemein.IstSummePvLeistung_kWh).
-
@jans_ios sagte in E3DC Hauskraftwerk steuern:
Den 4-Uhr-Task mit ioBroker beenden und wieder starten kann ich leider nicht deaktivieren - da wird gesichert.
Wenn jetzt alles richtig funktioniert, musst du den 4-Uhr-Task mit ioBroker beenden nicht mehr deaktivieren.
Der Fehler war nur das die Lade/Entladefreigabe wieder eingeschalten wurde und dann verhindert nur noch das Script, dass entladen wird.
Jetzt sollte es hoffentlich funktionieren.
Habe noch ein paar Fehler gefunden und behoben, die mit der nächsten Version korrigiert werden.
Unter anderem habe ich festgestellt, dass bei einem Neustart vom Script zwischen 0:00 Uhr und 6:00 Uhr auch die
Lade/Entladefreigabe wieder eingeschalten wird.Ich habe zwischenzeitlich auch das Wallbox-Skript aktiv und gerade ein leeres Auto dranhängen bei Einstellung 1. Ich hatte es so verstanden, dass er bei viel Überschuss dann auch das Auto lädt parallel zum priorisierten Akku, doch auch bei mehr als 5.000W, die er ins Netz speist, springt der Auto-Ladevorgang nicht an. Ich habe auch MinLadeStromStart_A schon mal testweise auf 6 heruntergesetzt, das wären ja ca. 1.800W, doch es tut sich nichts.
An dem Script bin ich gerade dran, dieses zu optimieren und habe da schon einige Änderungen vorgenommen.
Muss aber noch ein paar Dinge testen, bevor ich es online stelle.
Bei Einstellung 1 hat die Batterie E3DC Vorrang vor dem Laden vom E-Auto und es wird nur geladen, wenn der Überschuss minus Hausverbrauch und Ladeleistung Batterie E3DC so hoch ist, um MinLadeStromStart_A zu erreichen.
Um dein Beispiel zu nehmen:
6A x 230 V = 1380 W x 3 Phasen = 4140 W, die erreicht werden müssten, damit das E-Auto zu laden beginnt. -
Was in die Batterie gespeichert wurde
Nur was in die Batterie gespeichert wurde oder abzüglich was entladen wurde?
Da musst du einen eigenen Zähler anlegen, der nur die Batterieladung zählt oder du speicherst den Batterie SoC am Morgen und berechnest die Differenz mit dem Batterie SoC am Abend.
Je nachdem, was du genau haben willst. -
@arnod said in E3DC Hauskraftwerk steuern:
Nur was in die Batterie gespeichert wurde ...
Eben jenes - ich werde mich mal daran wagen
-
@jans_ios
Ich habe mal die neue Version 0.4.0 vom Wallbox Script hochgeladen, wenn du die schon mal testen willst. -
@arnod
Hi, habe sie gerade installiert. Ich denke, der Unterschied ist, dass mein X3 Hybrid nur einphasig lädt, mir würde also eine Phase mit 6A reichen, um mit dem Laden zu starten - Du lädst Deinen i3 vermutlich immer dreiphasig, oder? Kannst Du das in dem Skript differenzieren? -
@ArnoD
Ich habe gerade mal testweise bei den Aufrufen der FUnktion "StromA" die 3 als Anzahl der Phasen auf 1 geändert - jetzt brauche ich nur noch SonneIch finde leider keinen Parameter der Wallbox-Modbus-Instanz, der die Anzahl der Phasen für das jeweilige Auto erkennt. Schade
-
@jans_ios sagte in E3DC Hauskraftwerk steuern:
Ich denke, der Unterschied ist, dass mein X3 Hybrid nur einphasig lädt,
Ok, das ist natürlich was anderes. Ich habe das im Script für 1Ph vorbereitet, aber so noch nicht umgesetzt da ich es nicht testen kann.
Ich habe gerade mal testweise bei den Aufrufen der FUnktion "StromA" die 3 als Anzahl der Phasen auf 1 geändert - jetzt brauche ich nur noch Sonne
Du hast ja bereits die richtige Stelle gefunden
Werde das am Anfang vom Script mit einer neuen Konstante „Phasen“ einstellbar machen.Ich finde leider keinen Parameter der Wallbox-Modbus-Instanz, der die Anzahl der Phasen für das jeweilige Auto erkennt. Schade
Da habe ich auch noch nichts gefunden.
-
Neue Version Charge-Control auf GitHub hochgeladen.
Version: 1.0.23
Änderungen:- Mehrere kleinere Fehler korrigiert. Das Einschalten der Lade-\Entladeleistung ist jetzt auch von "sunset" und "sunrise" abhängig, sodass bei einem Neustart vom Script vor Sonnenaufgang die Lade-\Entladeleistung nicht eingeschalten wird.
-
@arnod
Ich habe ja die Phasen jetzt auf 1 reduziert, lt. Log würde ich interpretieren, dass die Wallbox auch laden sollte - tut sie aber nicht. Hast Du eine Idee? Kann ich "mehr liefern" an Daten/Logs, die Dir helfen würden? Es war heute auch schon so, dass >8k W vom Dach kamen, da passierte auch nichts an der WB... Danke!19.9.2022, 11:25:51.112 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: NetzLeistung_W =-1144 19.9.2022, 11:25:51.112 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: BatterieLeistung_W =2442 19.9.2022, 11:25:51.112 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Hausverbrauch_W =878 19.9.2022, 11:25:51.112 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: PV_Leistung_W =4464 19.9.2022, 11:25:51.113 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Ladestrom Auto =3.32 AutoLadeleistung_W =2288 19.9.2022, 11:25:51.224 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Lademodus = 1 19.9.2022, 11:25:51.225 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: HaltezeitLaden1 ist = null 19.9.2022, 11:25:51.225 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Autobatterie_SoC ist = 7 19.9.2022, 11:25:51.225 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: AutoLadenBis_SoC ist = 100 19.9.2022, 11:25:54.068 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: NetzLeistung_W =-1075 19.9.2022, 11:25:54.069 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: BatterieLeistung_W =2442 19.9.2022, 11:25:54.069 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Hausverbrauch_W =873 19.9.2022, 11:25:54.069 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: PV_Leistung_W =4390 19.9.2022, 11:25:54.069 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Ladestrom Auto =3.12 AutoLadeleistung_W =2150 19.9.2022, 11:25:54.109 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Lademodus = 1 19.9.2022, 11:25:54.109 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: HaltezeitLaden1 ist = null 19.9.2022, 11:25:54.109 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Autobatterie_SoC ist = 7 19.9.2022, 11:25:54.110 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: AutoLadenBis_SoC ist = 100 19.9.2022, 11:25:57.004 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: NetzLeistung_W =-1029 19.9.2022, 11:25:57.005 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: BatterieLeistung_W =2442 19.9.2022, 11:25:57.005 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Hausverbrauch_W =876 19.9.2022, 11:25:57.005 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: PV_Leistung_W =4347 19.9.2022, 11:25:57.005 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Ladestrom Auto =2.98 AutoLadeleistung_W =2058 19.9.2022, 11:25:57.083 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Lademodus = 1 19.9.2022, 11:25:57.083 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: HaltezeitLaden1 ist = null 19.9.2022, 11:25:57.084 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Autobatterie_SoC ist = 7 19.9.2022, 11:25:57.084 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: AutoLadenBis_SoC ist = 100 19.9.2022, 11:26:00.041 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: NetzLeistung_W =-1009 19.9.2022, 11:26:00.042 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: BatterieLeistung_W =2442 19.9.2022, 11:26:00.044 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Hausverbrauch_W =867 19.9.2022, 11:26:00.044 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: PV_Leistung_W =4318 19.9.2022, 11:26:00.044 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Ladestrom Auto =2.92 AutoLadeleistung_W =2018 19.9.2022, 11:26:00.126 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Lademodus = 1 19.9.2022, 11:26:00.126 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: HaltezeitLaden1 ist = null 19.9.2022, 11:26:00.126 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Autobatterie_SoC ist = 7 19.9.2022, 11:26:00.126 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: AutoLadenBis_SoC ist = 100
-
@jans_ios
Was ist bei dir bei folgenden Variablen in Script eingetragen:
MaxLadestrom_A
MinLadestromStart_A -
const MinLadestromAuto_A = 6 // minimaler Ladestrom in A der das Fahrzeug benötigt um zu Laden. (Darf nicht unterschritten werden) const MinLadestromStart_A = 8 // minimaler Ladestrom in A. Ab diesem Wert startet das Laden vom E-Auto const MaxLadestrom_A = 16 // maximaler Ladestrom in A const Haltezeit1 = 2 // Haltezeit Lademodus 1 in min. Wenn PV-Leistung nicht mehr ausreicht wird diese Zeit weiter geladen bis das Laden pausiert. const Haltezeit2 = 2 // Haltezeit Lademodus 2 in min. Wenn PV-Leistung nicht mehr ausreicht wird diese Zeit weiter geladen bis das Laden pausiert. const Haltezeit4 = 2 // Haltezeit Lademodus 4 in min. Wenn PV-Leistung nicht mehr ausreicht wird diese Zeit weiter geladen bis das Laden pausiert. let NettoStrompreis = getState('0_userdata.0.PV_Anlage.Kosten.StrompreisMonat').val // Strompreis für Berechnung const Schluesselschalter_Wallbox1_1 = 2 // Welcher Lademodus soll bei Schlüsselstellung 1 angewählt werden. const Schluesselschalter_Wallbox1_0 = 1 // Welcher Lademodus soll bei Schlüsselstellung 0 angewählt werden.
-
@arnod
Da der Hausakku jetzt bereits bei 92% steht, habe ich den Schlüsselschalter einmal umgelegt auf Überschuss mit Prio Wallbox (Lademodus 2). Das Laden begann umgehend mit folgenden Log-Einträgen:19.9.2022, 14:03:33.007 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: NetzLeistung_W =11 19.9.2022, 14:03:33.008 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: BatterieLeistung_W =438 19.9.2022, 14:03:33.008 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Hausverbrauch_W =1713 19.9.2022, 14:03:33.008 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: PV_Leistung_W =4874 19.9.2022, 14:03:33.008 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Ladestrom Auto =9.6 AutoLadeleistung_W =2208 19.9.2022, 14:03:33.111 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Lademodus = 2 19.9.2022, 14:03:33.111 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: HaltezeitLaden2 ist = 11967292 19.9.2022, 14:03:33.111 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Autobatterie_SoC ist = 7 19.9.2022, 14:03:33.111 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: AutoLadenBis_SoC ist = 100 19.9.2022, 14:03:36.004 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: NetzLeistung_W =11 19.9.2022, 14:03:36.004 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: BatterieLeistung_W =438 19.9.2022, 14:03:36.004 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Hausverbrauch_W =1713 19.9.2022, 14:03:36.004 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: PV_Leistung_W =4874 19.9.2022, 14:03:36.005 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Ladestrom Auto =9.6 AutoLadeleistung_W =2208 19.9.2022, 14:03:36.074 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Lademodus = 2 19.9.2022, 14:03:36.076 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: HaltezeitLaden2 ist = 11967909 19.9.2022, 14:03:36.079 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Autobatterie_SoC ist = 7 19.9.2022, 14:03:36.079 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: AutoLadenBis_SoC ist = 100 19.9.2022, 14:03:39.007 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: NetzLeistung_W =11 19.9.2022, 14:03:39.008 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: BatterieLeistung_W =438 19.9.2022, 14:03:39.008 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Hausverbrauch_W =1713 19.9.2022, 14:03:39.008 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: PV_Leistung_W =4874 19.9.2022, 14:03:39.008 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Ladestrom Auto =9.6 AutoLadeleistung_W =2208 19.9.2022, 14:03:39.086 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Lademodus = 2 19.9.2022, 14:03:39.086 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: HaltezeitLaden2 ist = 11968543 19.9.2022, 14:03:39.086 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Autobatterie_SoC ist = 7 19.9.2022, 14:03:39.086 [info ]: javascript.0 (466) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: AutoLadenBis_SoC ist = 100
Was mir hier auffällt ist der HaltezeitLaden2-Parameter. Der HaltezeitLaden1 bei Lademodus 1 war "null" lt. Log oben, hier hat er einen Wert. Ist da der Hund begraben?
-
@ArnoD
Lustigerweise hat das Laden bei 72% Batteriestand des Autos trotz massiven Überschusses aufgehört zu laden. Lädt jetzt auf "max. Ladeleistung Wallbox" weiter und speist auch noch ein aufgrund vollen E3DC-Speichers5min später - meine Frau macht den Herd an, es wird sich aus dem Akku bedient, welcher zwischenzeitlich bei 100% stand und jetzt wieder auf 98% gesunken war. Ich habe wieder auf Überschmuss mit Prio Wallbox gestellt und zack, funktioniert auch der Modus wieder. Kann es sein, dass der 100%-Status des E3DC-Speichers da irgendwie störte? Mich verwirrt das Ganze noch etwas.
Auch die Notstromreserve wurde heute Nacht wieder nicht gehalten
Ich lasse Dir das Log mal per Link im Chat zukommen, vielleicht siehst Du ja etwas.
Danke!
-
@jans_ios
Ein Problem nach dem anderen
Das erste und wichtigstes Problem ist das du anscheinend nicht bei jedem Aufruf derFunction StromA()
die 3 für drei Phasen gegen 1 ausgetauscht hast.
Das erkennst du an der ZeileLadestrom Auto =2.98 AutoLadeleistung_W =2058
im LOG. 2058W = 8,94A bei einer Phase und 2,98 bei drei Phasen.
Ich habe eine neue Version 0.4.1 hochgeladen, wo du in den Script Einstellungen die Anzahl der Phasen eintragen kannst und das Script erledigt den Rest.
Damit sollte der erste Fehler behoben sein.Was mir hier auffällt ist der HaltezeitLaden2-Parameter. Der HaltezeitLaden1 bei Lademodus 1 war "null" lt. Log oben, hier hat er einen Wert. Ist da der Hund begraben?
Nein, der Timer hat immer Null, außer er ist aktiv und dazu muss der Überschuss 8A erreichen, nach deinen Einstellungen. ( MinLadestromStart_A = 8 ). Hat aber wie im LOG ersichtlich nur 2,98 A erreicht und deswegen nicht geladen.
Lustigerweise hat das Laden bei 72% Batteriestand des Autos trotz massiven Überschusses aufgehört zu laden.
Du hast eine Haltezeit von 2 min. eingestellt, das bedeutet, wenn die PV-Leistung 2 min. unter 6 A fällt, wird das Laden gestoppt und erst wieder gestartet, wenn die 8A erreicht werden.
Das mit der Notstrom Reserve schaue ich mir mal an.
.