NEWS
E3DC Hauskraftwerk steuern
-
@psrelax
CC versucht die Lade/Entladeleistung auf 0 zu setzen, aber aus irgendeinem Grund, den ich aus der Ferne nicht feststellen kann, wird diese wieder aktiviert.
Ich weiß nicht, was alles bei dir läuft und auf die Einstellungen vom E3DC zugreift.
Es könnte aber auch EVCC der Grund sein, da hier das Entladen der Batterie immer noch über das Deaktivieren der Lade/Entladeleistung realisiert wird.
Wenn das Schnellladen beendet wird, wird die maximale Entladeleistung statisch wieder auf den Standardwert von 12.000 W gesetzt, ebenso wie die untere Lade-/Entladeschwelle, die ebenfalls statisch auf den Standardwert von 95 W gesetzt wird.
Ich würde die Funktion von EVCC "Verhindere Entladung im Schnell-Modus und beim geplanten Laden" nicht verwenden. -
Neue Version Charge-Control auf GitHub hochgeladen.
Version: 1.6.5
Änderungen:- Die Logik der Funktion Ladesteuerung() wurde angepasst, um das Zusammenspiel zwischen EVCC und Charge-Control zu verbessern.
Neue Logik:
Die Laderegelung von Charge-Control wird jetzt angehalten, wenn: EVCC im Schnelllademodus ist (sMode_evcc === 'now') und der State vom Tibber-Skript BatterieLaden = false ist.
- Die Logik der Funktion Ladesteuerung() wurde angepasst, um das Zusammenspiel zwischen EVCC und Charge-Control zu verbessern.
-
Neue Version Charge-Control auf GitHub hochgeladen.
Version: 1.6.5
Änderungen:- Die Logik der Funktion Ladesteuerung() wurde angepasst, um das Zusammenspiel zwischen EVCC und Charge-Control zu verbessern.
Neue Logik:
Die Laderegelung von Charge-Control wird jetzt angehalten, wenn: EVCC im Schnelllademodus ist (sMode_evcc === 'now') und der State vom Tibber-Skript BatterieLaden = false ist.
@arnod
Deine Änderungen funktionieren bei mir soweit gut. Danke fürs ändern. :-)Ich weiß nicht ob du am "nach Plan" laden noch dran bist aber ich habe eine für mich praktikable Lösung eingefügt, die bis jetzt ihren Dienst tut, auch wenn sie ein hässlicher Workaround ist. Ich lade sehr oft nach Plan, da hier die günstigste Zeit zum Laden verwendet wird.
Vielleicht kannst du so etwas auch bauen, wenn mein Vorschlag über MQTT von weiter oben nicht funktionieren sollte.Iststand von dir:
schedule('*/3 * * * * *', async function() { // Vor Regelung Skript Startdurchlauf erst abwarten //log(`bCharging_evcc = ${bCharging_evcc} sMode_evcc = ${sMode_evcc}`) if((!bStart && bAutomatikRegelung && !bManuelleLadungBatt && !bBattTraining && (!bCharging_evcc || sMode_evcc !== 'now')) || (!bStart && !bManuelleLadungBatt && !bBattTraining && bTibberLaden)){await Ladesteuerung();} });Meine Änderung:
schedule('*/3 * * * * *', async function() { if (bStart) return; // während Startphase nichts tun // aktuelle Ladeleistung aus EVCC holen const wallboxState = await getStateAsync('evcc.0.loadpoint.1.status.chargePower'); const WallboxPower = wallboxState?.val ?? 0; // optional: Grenzwert konfigurierbar machen const WallboxLimit = 10500; // Watt // Debug-Ausgabe (optional) //if (bDebugAusgabe) logChargeControl(`EVCC Mode=${sMode_evcc}, WallboxPower=${WallboxPower}W`); // Bedingung: Ladesteuerung nur aktivieren, wenn erlaubt if ( (bAutomatikRegelung && !bManuelleLadungBatt && !bBattTraining && (!bCharging_evcc || sMode_evcc !== 'now') && !(sMode_evcc === 'pv' && WallboxPower > WallboxLimit)) || (!bManuelleLadungBatt && !bBattTraining && bTibberLaden) ) { await Ladesteuerung(); } }); - Die Logik der Funktion Ladesteuerung() wurde angepasst, um das Zusammenspiel zwischen EVCC und Charge-Control zu verbessern.
-
@arnod
Deine Änderungen funktionieren bei mir soweit gut. Danke fürs ändern. :-)Ich weiß nicht ob du am "nach Plan" laden noch dran bist aber ich habe eine für mich praktikable Lösung eingefügt, die bis jetzt ihren Dienst tut, auch wenn sie ein hässlicher Workaround ist. Ich lade sehr oft nach Plan, da hier die günstigste Zeit zum Laden verwendet wird.
Vielleicht kannst du so etwas auch bauen, wenn mein Vorschlag über MQTT von weiter oben nicht funktionieren sollte.Iststand von dir:
schedule('*/3 * * * * *', async function() { // Vor Regelung Skript Startdurchlauf erst abwarten //log(`bCharging_evcc = ${bCharging_evcc} sMode_evcc = ${sMode_evcc}`) if((!bStart && bAutomatikRegelung && !bManuelleLadungBatt && !bBattTraining && (!bCharging_evcc || sMode_evcc !== 'now')) || (!bStart && !bManuelleLadungBatt && !bBattTraining && bTibberLaden)){await Ladesteuerung();} });Meine Änderung:
schedule('*/3 * * * * *', async function() { if (bStart) return; // während Startphase nichts tun // aktuelle Ladeleistung aus EVCC holen const wallboxState = await getStateAsync('evcc.0.loadpoint.1.status.chargePower'); const WallboxPower = wallboxState?.val ?? 0; // optional: Grenzwert konfigurierbar machen const WallboxLimit = 10500; // Watt // Debug-Ausgabe (optional) //if (bDebugAusgabe) logChargeControl(`EVCC Mode=${sMode_evcc}, WallboxPower=${WallboxPower}W`); // Bedingung: Ladesteuerung nur aktivieren, wenn erlaubt if ( (bAutomatikRegelung && !bManuelleLadungBatt && !bBattTraining && (!bCharging_evcc || sMode_evcc !== 'now') && !(sMode_evcc === 'pv' && WallboxPower > WallboxLimit)) || (!bManuelleLadungBatt && !bBattTraining && bTibberLaden) ) { await Ladesteuerung(); } });@psrelax
Entschuldige bitte, dass ich erst jetzt antworte, aber bei mir ist die vermeintlich ruhige Zeit alles andere als ruhig. 😊Warum möchtest du im "pv" Modus einen Grenzwert für die Wallbox setzen? Das lässt sich doch bereits in EVCC einstellen, oder?
-
@psrelax
Entschuldige bitte, dass ich erst jetzt antworte, aber bei mir ist die vermeintlich ruhige Zeit alles andere als ruhig. 😊Warum möchtest du im "pv" Modus einen Grenzwert für die Wallbox setzen? Das lässt sich doch bereits in EVCC einstellen, oder?
@arnod
Kein Problem. :-)
Ich kann maximal mit 11KW laden. Darum habe ich den Grenzwert auf 10500KW gesetzt.
Wenn jetzt eine Ladung per Plan startet, wird die Ladeleistung den Grenzwert überschreiten und ChargeControl wird die Laderegelung anhalten, auch wenn weiterhin PV eingestellt ist.Wenn ich das nicht so geändert hätte, würde bei einer Ladung nach Plan die Laderegelung nicht gestoppt, da du sowas ja bisher nicht berücksichtigen kannst.
Das hat zur Folge, dass EVCC die Entladung des Akkus unterbindet und ChargeControl sie wieder erlaubt, usw... -
Werden in deiner Steuerung reduzierte Netzentgelte (Modul 3 § 14a EnWG) berücksichtigt bzw. kann die Steuerung entsprechend erweitert werden?
Im Grunde müsste dann jeder die von seinem Netzbetreiber festgelegten Zeiten und Netzentgelte manuell eingeben.
-
Werden in deiner Steuerung reduzierte Netzentgelte (Modul 3 § 14a EnWG) berücksichtigt bzw. kann die Steuerung entsprechend erweitert werden?
Im Grunde müsste dann jeder die von seinem Netzbetreiber festgelegten Zeiten und Netzentgelte manuell eingeben.
@malei
Da muss ich nichts berücksichtigen, da das automatisch durch den Stromlieferanten berücksichtigt werden muss.
Bedeutet das Tibber je nach Modul das entsprechende Netzentgelt berechnen muss. Bei den Brutto Tibber Preisen sollte das dann auch enthalten sein.
Testen kann ich das aber nicht, da ich noch nicht unter die neue Regelung falle und erst ab 01.01.2029 umstellen muss. -
@malei
Da muss ich nichts berücksichtigen, da das automatisch durch den Stromlieferanten berücksichtigt werden muss.
Bedeutet das Tibber je nach Modul das entsprechende Netzentgelt berechnen muss. Bei den Brutto Tibber Preisen sollte das dann auch enthalten sein.
Testen kann ich das aber nicht, da ich noch nicht unter die neue Regelung falle und erst ab 01.01.2029 umstellen muss.Ja, die Abrechnung erfolgt durch den Netzbetreiber über den Stromanbieter. Aber ich (bzw. die Steuerung) muss die Zeiten berücksichtigen. Das macht ja nicht Tibber (oder welcher Stromanbieter auch immer).
Die Steuerung müsste bei mir z. B. jetzt im Winter immer zwischen 0 und 4 Uhr den Batteriespeicher und ggf. das Auto laden ...
-
Ja, die Abrechnung erfolgt durch den Netzbetreiber über den Stromanbieter. Aber ich (bzw. die Steuerung) muss die Zeiten berücksichtigen. Das macht ja nicht Tibber (oder welcher Stromanbieter auch immer).
Die Steuerung müsste bei mir z. B. jetzt im Winter immer zwischen 0 und 4 Uhr den Batteriespeicher und ggf. das Auto laden ...
@MaLei said in E3DC Hauskraftwerk steuern:
Die Steuerung müsste bei mir z. B. jetzt im Winter immer zwischen 0 und 4 Uhr den Batteriespeicher und ggf. das Auto laden ...
Wenn dann der Strompreis inklusive der Netzentgelte am günstigsten ist, wird das ja auch gemacht.
Aber ich (bzw. die Steuerung) muss die Zeiten berücksichtigen. Das macht ja nicht Tibber (oder welcher Stromanbieter auch immer).
Indirekt ja, indem der Strompreis dann ja günstiger sein müsste.
-
@ArnoD
Ich musste meine Diskstation neu starten und bekomme jetzt folgenden Fehler, kann aber nicht herausfinden, an was es liegt.
Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden.2025-11-20 19:50:15.394 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: ******************* Debug LOG Charge-Control ******************* 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 10_Offset_sunriseEnd = 1 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 10_minWertPrognose_kWh = 0 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 10_maxEntladetiefeBatterie = 100 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 10_Systemwirkungsgrad = 100 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 40_minPvLeistungTag_kWh = 3 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 40_maxPvLeistungTag_kWh = 100 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 40_KorrekturFaktor = 0 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 40_WirkungsgradModule = 19 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: bAutomatikAnwahl =true 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: bAutomatikRegelung =true 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Einstellungen =1 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Start Regelzeitraum = 06:03 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Ende Regelzeitraum= 12:03 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Ladeende= 10:33 2025-11-20 19:50:15.792 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Unload = 100 2025-11-20 19:50:15.872 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Ladeende = 95 2025-11-20 19:50:15.874 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Ladeende2 = 100 2025-11-20 19:50:15.876 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Ladeschwelle = 80 2025-11-20 19:50:15.878 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Unterer Ladekorridor = 0 2025-11-20 19:50:15.881 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Offset Regelbeginn = 06:00 2025-11-20 19:50:15.882 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Offset Regelende = 00:00 2025-11-20 19:50:15.884 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Offset Ladeende = 06:00 2025-11-20 19:50:15.885 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Notstrom min = 2 2025-11-20 19:50:15.886 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Notstrom Sockel = 2 2025-11-20 19:50:15.887 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Verbrauch für night am Donnerstag: 1520 Wh 2025-11-20 19:50:15.887 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Eigenverbrauch Nacht = 1520 Wh 2025-11-20 19:50:15.930 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Power_Home_W (Hausverbrauch & Wallbox) = 1642W 2025-11-20 19:50:15.931 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Batterie Leistung = -1662 W 2025-11-20 19:50:15.933 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: PV Leistung = 0 W 2025-11-20 19:50:15.933 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Speichergroesse = 17kWh 2025-11-20 19:50:15.975 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Batterie SoC = 25 % 2025-11-20 19:50:15.975 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Notstrom_SOC_Proz= 2 % 2025-11-20 19:50:15.975 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Notstrom_SOC_erreicht = false 2025-11-20 19:50:15.975 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: bNotstromVerwenden =false 2025-11-20 19:50:15.975 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: bNotstromAusNetz =false 2025-11-20 19:50:16.017 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Notstrom_Status = 2 2025-11-20 19:50:16.017 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: bM_Notstrom = false 2025-11-20 19:50:16.017 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: M_Power = 9000 2025-11-20 19:50:16.018 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Set_Power_Value_W = 0 2025-11-20 19:50:16.018 - [33mwarn[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: ProgrammAblauf = 1,6,4,7,10,34, 2025-11-20 19:50:16.064 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: ueberschuss = -10642 hystereseWatt = 2000 bRegelungAktiv = false M_Power=9000 2025-11-20 19:50:16.360 - [31merror[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-20 19:50:18.087 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: ueberschuss = -10669 hystereseWatt = 2000 bRegelungAktiv = false M_Power=9000 2025-11-20 19:50:18.496 - [31merror[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-20 19:50:20.913 - [31merror[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. -
@ArnoD
Ich musste meine Diskstation neu starten und bekomme jetzt folgenden Fehler, kann aber nicht herausfinden, an was es liegt.
Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden.2025-11-20 19:50:15.394 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: ******************* Debug LOG Charge-Control ******************* 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 10_Offset_sunriseEnd = 1 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 10_minWertPrognose_kWh = 0 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 10_maxEntladetiefeBatterie = 100 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 10_Systemwirkungsgrad = 100 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 40_minPvLeistungTag_kWh = 3 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 40_maxPvLeistungTag_kWh = 100 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 40_KorrekturFaktor = 0 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 40_WirkungsgradModule = 19 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: bAutomatikAnwahl =true 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: bAutomatikRegelung =true 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Einstellungen =1 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Start Regelzeitraum = 06:03 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Ende Regelzeitraum= 12:03 2025-11-20 19:50:15.395 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Ladeende= 10:33 2025-11-20 19:50:15.792 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Unload = 100 2025-11-20 19:50:15.872 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Ladeende = 95 2025-11-20 19:50:15.874 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Ladeende2 = 100 2025-11-20 19:50:15.876 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Ladeschwelle = 80 2025-11-20 19:50:15.878 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Unterer Ladekorridor = 0 2025-11-20 19:50:15.881 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Offset Regelbeginn = 06:00 2025-11-20 19:50:15.882 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Offset Regelende = 00:00 2025-11-20 19:50:15.884 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Offset Ladeende = 06:00 2025-11-20 19:50:15.885 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Notstrom min = 2 2025-11-20 19:50:15.886 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Notstrom Sockel = 2 2025-11-20 19:50:15.887 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Verbrauch für night am Donnerstag: 1520 Wh 2025-11-20 19:50:15.887 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Eigenverbrauch Nacht = 1520 Wh 2025-11-20 19:50:15.930 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Power_Home_W (Hausverbrauch & Wallbox) = 1642W 2025-11-20 19:50:15.931 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Batterie Leistung = -1662 W 2025-11-20 19:50:15.933 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: PV Leistung = 0 W 2025-11-20 19:50:15.933 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Speichergroesse = 17kWh 2025-11-20 19:50:15.975 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Batterie SoC = 25 % 2025-11-20 19:50:15.975 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Notstrom_SOC_Proz= 2 % 2025-11-20 19:50:15.975 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Notstrom_SOC_erreicht = false 2025-11-20 19:50:15.975 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: bNotstromVerwenden =false 2025-11-20 19:50:15.975 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: bNotstromAusNetz =false 2025-11-20 19:50:16.017 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Notstrom_Status = 2 2025-11-20 19:50:16.017 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: bM_Notstrom = false 2025-11-20 19:50:16.017 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: M_Power = 9000 2025-11-20 19:50:16.018 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Set_Power_Value_W = 0 2025-11-20 19:50:16.018 - [33mwarn[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: ProgrammAblauf = 1,6,4,7,10,34, 2025-11-20 19:50:16.064 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: ueberschuss = -10642 hystereseWatt = 2000 bRegelungAktiv = false M_Power=9000 2025-11-20 19:50:16.360 - [31merror[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-20 19:50:18.087 - [32minfo[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: ueberschuss = -10669 hystereseWatt = 2000 bRegelungAktiv = false M_Power=9000 2025-11-20 19:50:18.496 - [31merror[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-20 19:50:20.913 - [31merror[39m: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden.@psrelax
Kommt die Meldung jedes Mal oder nur wenn sich der Batterie SOC ändert?
Was steht bei dir in der Objekt ID0_userdata.0.Charge_Control.Allgemein.arrayHausverbrauchDurchschnitt?Die Fehlermeldung wird angezeigt, wenn die Objekt ID
0_userdata.0.Charge_Control.Allgemein.arrayHausverbrauchDurchschnittfür den entsprechenden Tag/Zeitintervall keinen Wert liefert, also 0 oder undefined ist und der Fallbackwert aktuelle Batterieentladeleistung auch 0 oder undefined ist, was eine sinnvolle Berechnung der Reichweite unmöglich macht.Hast du das Script einmal angehalten und neu gestartet?
-
@ArnoD
Ich hab schon das Script neu gestartet, ein neues ChargeControl geladen, E3DC RSCP neu erstellt, die Diskstation nochmal neu gestartet.Das kommt alle paar Sekunden.

Im arrayHausverbrauchDurchschnitt steht:
{"Montag":{"night":0,"day":0},"Dienstag":{"night":0,"day":0},"Mittwoch":{"night":0,"day":0},"Donnerstag":{"night":0,"day":0},"Freitag":{"night":0,"day":1883},"Samstag":{"night":0,"day":0},"Sonntag":{"night":0,"day":0}} -
@ArnoD
Hallo Arno,
ich habe nahezu exakt das gleiche Problem nach einem Neustart meines IOBroker-RaspPi (SD-Karte war abgeraucht :( ). Der oben gezeigte Fehler taucht bei mir alle 5 sec auf und auch das Array sieht fast genauso aus wie bei @psrelax ...
Skriptversion ist 1.6.5, Version des RSCP ist 1.4.3 ...2025-11-22 10:48:36.698 - warn: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: ProgrammAblauf = 1,6,4,7,9,18,19,21,34, 2025-11-22 10:48:36.797 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: ueberschuss = -5222 hystereseWatt = 2000 bRegelungAktiv = false M_Power=4500 2025-11-22 10:48:39.237 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: ueberschuss = -5222 hystereseWatt = 2000 bRegelungAktiv = false M_Power=4500 2025-11-22 10:48:40.900 - error: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden. 2025-11-22 10:48:42.049 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: ******************* Debug LOG Charge-Control ******************* 2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: 10_Offset_sunriseEnd = 60 2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: 10_minWertPrognose_kWh = 0 2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: 10_maxEntladetiefeBatterie = 90 2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: 10_Systemwirkungsgrad = 92 2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: 40_minPvLeistungTag_kWh = 3 2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: 40_maxPvLeistungTag_kWh = 105 2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: 40_KorrekturFaktor = 10 2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: 40_WirkungsgradModule = 21 2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: bAutomatikAnwahl =true 2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: bAutomatikRegelung =true 2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Einstellungen =2 2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Start Regelzeitraum = 08:04 2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Ende Regelzeitraum= 16:04 2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Ladeende= 15:03 2025-11-22 10:48:42.083 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Unload = 100 2025-11-22 10:48:42.090 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Ladeende = 80 2025-11-22 10:48:42.097 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Ladeende2 = 100 2025-11-22 10:48:42.142 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Ladeschwelle = 50 2025-11-22 10:48:42.186 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Unterer Ladekorridor = 150 2025-11-22 10:48:42.230 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Offset Regelbeginn = 04:00 2025-11-22 10:48:42.274 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Offset Regelende = 04:00 2025-11-22 10:48:42.318 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Offset Ladeende = 01:30 2025-11-22 10:48:42.362 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Notstrom min = 40 2025-11-22 10:48:42.406 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Notstrom Sockel = 30 2025-11-22 10:48:42.407 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Verbrauch für night am Samstag: 671 Wh 2025-11-22 10:48:42.407 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Eigenverbrauch Nacht = 671 Wh 2025-11-22 10:48:42.455 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Power_Home_W (Hausverbrauch & Wallbox) = 812W 2025-11-22 10:48:42.498 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Batterie Leistung = -735 W 2025-11-22 10:48:42.543 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: PV Leistung = 74 W 2025-11-22 10:48:42.543 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Speichergroesse = 13kWh 2025-11-22 10:48:42.590 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Batterie SoC = 74 % 2025-11-22 10:48:42.590 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Notstrom_SOC_Proz= 39 % 2025-11-22 10:48:42.590 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Notstrom_SOC_erreicht = false 2025-11-22 10:48:42.590 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: bNotstromVerwenden =false 2025-11-22 10:48:42.590 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: bNotstromAusNetz =false 2025-11-22 10:48:42.638 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Notstrom_Status = 2 2025-11-22 10:48:42.638 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: bM_Notstrom = false 2025-11-22 10:48:42.638 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: M_Power = 4500 2025-11-22 10:48:42.638 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Set_Power_Value_W = 0Wert: {"Montag":{"night":0,"day":0},"Dienstag":{"night":0,"day":0},"Mittwoch":{"night":0,"day":0},"Donnerstag":{"night":0,"day":0},"Freitag":{"night":799,"day":0},"Samstag":{"night":671,"day":934},"Sonntag":{"night":0,"day":0}} Typ: string Zeitstempel: a few seconds ago Bestätigt: Befehl (false) Zuletzt geändert: 2 minutes ago Qualität: 0x00 - good Von: system.adapter.javascript.0 Benutzer: system.user.admin Kommentar: script.js.E3DC-Control.Charge-Control-1_6_5Gruß
Michael
Update: ein erneuter Neustart des RaspPi (IOBroker läuft dort unter Docker) hat den Fehler verschwinden lassen... Warum? Keine Ahnung!
Update2: und doch wieder da, allerdings nur noch all 2-3 min (wahrscheinlich bei SOC-Level-Änderung)
-
Ich habe hier ein Denkfehler. Die Situation, dass es noch keinen gespeicherten Durchschnittsverbrauch gibt (beim ersten Start vom Skript für die erste Woche) und dass auch keine Entladeleistung vorhanden ist (z.B. weil die Batterie gerade geladen wird) kann natürlich öfter vorkommen. Das darf dann nicht in einem Fehler enden. Ich muss mir, das genauer anschauen, was es für Auswirkungen hätte, wenn dann die Reichweite der Batterie 0 h beträgt. Eventuell nehme ich in so einer Situation einen festen Wert "Basisverbrauch", der in den User_Anpassungen eingetragen werden kann.
-
Könnt ihr bitte diese Änderung mal testen. Die Zeile "await calculateBatteryRange(0);" beim listener[18] ab Zeile 2653 im Code mit //auskommentieren. Eine Aktualisierung der Reichweite bei SOC Änderung mit 0W macht da keinen Sinn und ich denke das daher der Fehler auch kommt.
Der Abschnitt sollte dann so aussehen:// Batterie Kapazität in kWh berechnen wenn sich der SOC in % ändert listeners[18] = on({id: sID_Batterie_SOC, change: "ne"}, async function (obj) { let BatSoc = obj.state.val; await setStateAsync(sID_BatSoc_kWh,Math.round((Speichergroesse_kWh*(Systemwirkungsgrad_Pro/100) * BatSoc))/100,true); //await calculateBatteryRange(0); });