NEWS
E3DC Hauskraftwerk steuern
-
@arnod
Ich kann es mir auch nur so erklären, dass entweder keine Tibberdaten da waren... oder kein Block gefunden wurde.
Da der billigste Blockpreis ja auf infinity gesetzt ist rutscht das Skript ja automatisch in die Zuweisung einer billigsten Zeit, sobald überhaupt ein Blockpreis ermittelt werden konnte, denn egal wie hoch dieser ist, er ist < infinity und damit wird auch billigsteZeit vorbesetzt.
Komisch das Ganze... -
Tibber Skript,
Version: 1.3.6 auf Github hochgeladen.Änderungen:
- Neue Hysterese-Schwelle Reichweite_h von ±30 Minuten, damit geringen Schwankungen der Batterie Reichweite, nicht zu einem häufigen Wechsel zwischen Ladefreigabe true und false führen.
- Funktion bestLoadTime() Überprüfung array datenTibberLink48h und neue Log Ausgabe um eventuell den Fehler weiter einzugrenzen.
@modulo-n
Ich habe jetzt mehrere Versuche durchgeführt und kann den Fehler bei mir nicht mehr reproduzieren.
Kannst du mal die neue Version bei dir testen. -
@arnod
Ich bekomme gleich beim Start den Fehler:function pruefePVLeistung(): reichweiteStunden ist keine gültige Zahl
Jetzt etwas später erhalte ich folgendes:
javascript.0 00:03:00.062 error script.js.E3DC_ChargeControl.Tibber: function pruefePVLeistung(): reichweiteStunden ist keine gültige Zahl javascript.0 00:03:00.149 error script.js.E3DC_ChargeControl.Tibber: Fehler in Funktion bestLoadTime: Cannot read properties of undefined (reading 'startsAt') javascript.0 00:03:00.150 error script.js.E3DC_ChargeControl.Tibber: Fehler in Funktion tibberSteuerungHauskraftwerk: Cannot read properties of undefined (reading 'getTime') javascript.0 00:04:00.103 error script.js.E3DC_ChargeControl.Tibber: function pruefePVLeistung(): reichweiteStunden ist keine gültige Zahl javascript.0 00:04:00.107 error script.js.E3DC_ChargeControl.Tibber: Fehler in Funktion bestLoadTime: Cannot read properties of undefined (reading 'startsAt') javascript.0 00:04:00.108 error script.js.E3DC_ChargeControl.Tibber: Fehler in Funktion tibberSteuerungHauskraftwerk: Cannot read properties of undefined (reading 'getTime')
Ich geh erst einmal wieder auf die letzte Version.
Nachtrag -> Mit der alten Version erhalte ich den Fehler auch.
-
@psrelax
Was für ein Wert ist bei0_userdata.0.Charge_Control.Allgemein.Autonomiezeit
eingetragen? -
@arnod
Jetzt ist natürlich wieder alles in Ordnung
Hier die Log zum Zeitpunkt des Fehlers:2024-11-26 00:01:00.160 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ******************* Debug LOG Tibber Skript Version 1.3.6 ******************* 2024-11-26 00:02:00.145 - [31merror[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: function pruefePVLeistung(): reichweiteStunden ist keine gültige Zahl 2024-11-26 00:02:00.237 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ************************************************************************************ 2024-11-26 00:02:00.237 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** timerIds = 2024-11-26 00:02:00.237 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** timerTarget = [] 2024-11-26 00:02:00.237 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** timerState = [] 2024-11-26 00:02:00.237 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** timerObjektID = [] 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** minStrompreis_48h = 0.1839 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** batterieKapazitaet_kWh = 15 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Batterie_SOC = 11 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Power_Bat_W = 0 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Power_Grid = 2111 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** prognoseLadezeitBatterie = 2 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** reichweiteBatterie = 0:10 h / 0:10 h 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** batteriepreisAktiv = true 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** strompreisBatterie = 0.244 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** bruttoPreisBatterie = 0.2773 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Aktueller Preis Tibber = null 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** naechstePhasen[1].endLocale = undefined 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** naechstePhasen[1].startLocale = undefined 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** naechstePhasen[1].Type = undefined 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** naechstePhasen[0].endLocale = undefined 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** naechstePhasen[0].startLocale = undefined 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** naechstePhasen[0].Type = undefined 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** aktivePhase.endLocale = 27.11.2024, 00:00:00 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** aktivePhase.startLocale = 25.11.2024, 14:00:00 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** aktivePhase.Type = peak 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Schwellwert Spitzenstrompreis = 0.2614 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Schwellwert hoher Strompreis = 0.23 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Schwellwert niedriger Strompreis = 0.1057 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** schneeBedeckt = false 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Prognose PV-Leistung heute = 14.111999999999998 kWh 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Prognose PV-Leistung morgen = 13.4505 kWh 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** pvLeistungAusreichend = false 2024-11-26 00:02:00.238 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** eAutoLaden = false 2024-11-26 00:02:00.239 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** BatterieEntladenSperren = true 2024-11-26 00:02:00.239 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** battSperrePrio = false 2024-11-26 00:02:00.239 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** BatterieLaden = false 2024-11-26 00:02:00.239 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Status = Aktuell Strompreis zu hoch, es wird nicht geladen (aktive Phase: peak) 2024-11-26 00:02:00.239 - [33mwarn[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** ProgrammAblauf = 27,1,18,19,22,32,19,10,30, 2024-11-26 00:02:00.239 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ******************* Debug LOG Tibber Skript Version 1.3.6 ******************* 2024-11-26 00:02:18.814 - [33mwarn[39m: javascript.0 (250) script.js.Tibber.Preis_Alexa_Abfrage_Erzeugung: ladescript2 2024-11-26 00:03:00.062 - [31merror[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: function pruefePVLeistung(): reichweiteStunden ist keine gültige Zahl 2024-11-26 00:03:00.106 - [33mwarn[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Charge_Control: -==== Tibber output signal BatterieEntladesperre wurde in false geändert ====- 2024-11-26 00:03:00.149 - [31merror[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: Fehler in Funktion bestLoadTime: Cannot read properties of undefined (reading 'startsAt') 2024-11-26 00:03:00.150 - [31merror[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: Fehler in Funktion tibberSteuerungHauskraftwerk: Cannot read properties of undefined (reading 'getTime') 2024-11-26 00:04:00.103 - [31merror[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: function pruefePVLeistung(): reichweiteStunden ist keine gültige Zahl 2024-11-26 00:04:00.107 - [31merror[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: Fehler in Funktion bestLoadTime: Cannot read properties of undefined (reading 'startsAt') 2024-11-26 00:04:00.108 - [31merror[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: Fehler in Funktion tibberSteuerungHauskraftwerk: Cannot read properties of undefined (reading 'getTime') 2024-11-26 00:05:00.105 - [31merror[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: function pruefePVLeistung(): reichweiteStunden ist keine gültige Zahl 2024-11-26 00:05:00.148 - [31merror[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: Fehler in Funktion bestLoadTime: Cannot read properties of undefined (reading 'startsAt') 2024-11-26 00:05:00.149 - [31merror[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: Fehler in Funktion tibberSteuerungHauskraftwerk: Cannot read properties of undefined (reading 'getTime') 2024-11-26 00:05:39.232 - [32minfo[39m: javascript.0 (250) Stopping script script.js.E3DC_ChargeControl.Tibber
Das müsste das selbe sein, wie "reichweiteBatterie" und da ist etwas eingetragen.
Unter "Autonomiezeit" ist jetzt natürlich auch etwas eingetragen.Ich könnte es heute Nacht um 00:00 Uhr noch einmal prüfen, wie letzte Nacht auch.
-
@ArnoD
Keine Ahnung was das wieder war. Heut funktioniert es. -
@arnod
Hi Arno... Version 1.3.6 läuft seit gestern abend und das bisher fehlerfrei. Ich behalte das trotzdem mal im Auge, da die möglichen Fehlerbedingungen ja durchaus komplex sind und natürlich dann, wenn man drauf schaut, eben nicht auftreten.Gruß Michael
@arnod said in E3DC Hauskraftwerk steuern:
@modulo-n
Ich habe jetzt mehrere Versuche durchgeführt und kann den Fehler bei mir nicht mehr reproduzieren.
Kannst du mal die neue Version bei dir testen. -
@ArnoD
Heute war den ganzen Nachmittag die Entladesperre drin. Unter Tags lass ich es mir eingehen aber sobald ab ca. 16 Uhr kein Solar mehr kommt, sollte schon wieder entladen werden.
2024-11-27 17:29:00.220 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ******************* Debug LOG Tibber Skript Version 1.3.6 ******************* 2024-11-27 17:30:00.304 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ************************************************************************************ 2024-11-27 17:30:00.305 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** timerIds = 2024-11-27 17:30:00.307 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** timerTarget = [] 2024-11-27 17:30:00.307 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** timerState = [] 2024-11-27 17:30:00.307 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** timerObjektID = [] 2024-11-27 17:30:00.307 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** minStrompreis_48h = 0.2238 2024-11-27 17:30:00.307 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** batterieKapazitaet_kWh = 15 2024-11-27 17:30:00.307 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Batterie_SOC = 60 2024-11-27 17:30:00.307 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Power_Bat_W = 0 2024-11-27 17:30:00.307 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Power_Grid = 2692 2024-11-27 17:30:00.307 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** prognoseLadezeitBatterie = 1 2024-11-27 17:30:00.307 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** reichweiteBatterie = 5:56 h / 5:56 h 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** batteriepreisAktiv = true 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** strompreisBatterie = 0.3497 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** bruttoPreisBatterie = 0.3974 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Aktueller Preis Tibber = 0.3173 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** naechstePhasen[1].endLocale = 28.11.2024, 07:00:00 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** naechstePhasen[1].startLocale = 27.11.2024, 22:00:00 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** naechstePhasen[1].Type = normal 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** naechstePhasen[0].endLocale = 27.11.2024, 22:00:00 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** naechstePhasen[0].startLocale = 27.11.2024, 20:00:00 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** naechstePhasen[0].Type = high 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** aktivePhase.endLocale = 27.11.2024, 20:00:00 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** aktivePhase.startLocale = 27.11.2024, 00:00:00 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** aktivePhase.Type = peak 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Schwellwert Spitzenstrompreis = 0.3068 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Schwellwert hoher Strompreis = 0.27 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Schwellwert niedriger Strompreis = 0.1057 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** schneeBedeckt = false 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Prognose PV-Leistung heute = 19.761 kWh 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Prognose PV-Leistung morgen = 5.9639999999999995 kWh 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** pvLeistungAusreichend = false 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** eAutoLaden = false 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** BatterieEntladenSperren = true 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** battSperrePrio = false 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** BatterieLaden = false 2024-11-27 17:30:00.308 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Status = Aktuell Strompreis zu hoch, es wird nicht geladen (aktive Phase: peak) 2024-11-27 17:30:00.308 - [33mwarn[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** ProgrammAblauf = 27,1,18,18/4,19,22,32,10,30,
-
@ArnoD
Es wurde vorhin der Akku voll geladen und das nicht beim niedrigsten Preis.
2024-11-27 22:29:00.196 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ******************* Debug LOG Tibber Skript Version 1.3.6 ******************* 2024-11-27 22:30:00.224 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ************************************************************************************ 2024-11-27 22:30:00.224 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** timerIds = 660303319,660303332 2024-11-27 22:30:00.224 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** timerTarget = ["2024-11-27T21:00:00.000Z","2024-11-28T06:00:00.000Z"] 2024-11-27 22:30:00.224 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** timerState = [true,false] 2024-11-27 22:30:00.224 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** timerObjektID = ["Laden","Laden"] 2024-11-27 22:30:00.224 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** minStrompreis_48h = 0.2238 2024-11-27 22:30:00.224 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** batterieKapazitaet_kWh = 15 2024-11-27 22:30:00.224 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Batterie_SOC = 79 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Power_Bat_W = 8526 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Power_Grid = 10309 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** prognoseLadezeitBatterie = 1 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** reichweiteBatterie = 7:22 h / 7:22 h 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** batteriepreisAktiv = true 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** strompreisBatterie = 0.3218 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** bruttoPreisBatterie = 0.3657 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Aktueller Preis Tibber = 0.2659 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** naechstePhasen[1].endLocale = 28.11.2024, 10:00:00 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** naechstePhasen[1].startLocale = 28.11.2024, 08:00:00 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** naechstePhasen[1].Type = peak 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** naechstePhasen[0].endLocale = 28.11.2024, 08:00:00 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** naechstePhasen[0].startLocale = 28.11.2024, 07:00:00 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** naechstePhasen[0].Type = high 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** aktivePhase.endLocale = 28.11.2024, 07:00:00 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** aktivePhase.startLocale = 27.11.2024, 22:00:00 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** aktivePhase.Type = normal 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Schwellwert Spitzenstrompreis = 0.3068 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Schwellwert hoher Strompreis = 0.27 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Schwellwert niedriger Strompreis = 0.1057 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** schneeBedeckt = false 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Prognose PV-Leistung heute = 19.761 kWh 2024-11-27 22:30:00.225 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Prognose PV-Leistung morgen = 5.9639999999999995 kWh 2024-11-27 22:30:00.226 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** pvLeistungAusreichend = false 2024-11-27 22:30:00.226 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** eAutoLaden = true 2024-11-27 22:30:00.226 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** BatterieEntladenSperren = true 2024-11-27 22:30:00.226 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** battSperrePrio = false 2024-11-27 22:30:00.226 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** BatterieLaden = true 2024-11-27 22:30:00.226 - [32minfo[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** Status = warte auf Normalpreisphase von 22:00 Uhr bis 07:00 Uhr (aktive Phase: high) 2024-11-27 22:30:00.226 - [33mwarn[39m: javascript.0 (250) script.js.E3DC_ChargeControl.Tibber: ** ProgrammAblauf = 27,1,18,18/4,19,21,19,12,12/8,
-
Und prompt kommen wieder Fehler... allerdings lässt sich der bestLoadTime-Fehler
2024-11-28 02:49:00.357 - error: javascript.0 (6178) script.js.E3DC-Control.Tibber-1_3_6: Fehler in Funktion bestLoadTime: Cannot read properties of undefined (reading 'startsAt')
ziemlich gut eingrenzen, da es in der Funktion nur ein einziges 'startsAt' gibt und zwar hier:
for (let i = 0; i < datenTibberLink48h.length - ladezeit_h; i++) { const startEntry = datenTibberLink48h[i]; const startTime = new Date(startEntry.startsAt);
Der Aufruf findet also keinen gültigen Eintrag, entweder weil der Index i nicht stimmt oder einfach kein Eintrag an Stelle i da ist.
Der andere Fehler dürfte wieder ein Folgefehler sein, denn er kommt jeweils direkt nach einem bestLoadTime Fehler:
2024-11-28 02:49:00.363 - error: javascript.0 (6178) script.js.E3DC-Control.Tibber-1_3_6: Fehler in Funktion tibberSteuerungHauskraftwerk: Cannot read properties of undefined (reading 'getTime')
Ich hab jetzt mal folgendes ergänzt:
for (let i = 0; i < datenTibberLink48h.length - ladezeit_h; i++) { let startEntry = datenTibberLink48h[i]; let startTime = new Date(new Date().getTime() + 48 * 60 * 60 * 1000);; if (!startEntry) { log('Keinen Eintrag für i='+i+' in den Tibberdaten48h gefunden','error'); } else { startTime = new Date(startEntry.startsAt); }
Mit der Vorbelegung von startTime auf einen Wert in 48h wird im Fehlerfall die j-Schleife definitiv übersprungen. Auf jeden Fall sehe ich dann auch den Wert für i (bzw. die Werte, falls es mehrere sein sollten.)
@modulo-n said in E3DC Hauskraftwerk steuern:
@arnod
Hi Arno... Version 1.3.6 läuft seit gestern abend und das bisher fehlerfrei. Ich behalte das trotzdem mal im Auge, da die möglichen Fehlerbedingungen ja durchaus komplex sind und natürlich dann, wenn man drauf schaut, eben nicht auftreten.Gruß Michael
@arnod said in E3DC Hauskraftwerk steuern:
@modulo-n
Ich habe jetzt mehrere Versuche durchgeführt und kann den Fehler bei mir nicht mehr reproduzieren.
Kannst du mal die neue Version bei dir testen. -
@psrelax sagte in E3DC Hauskraftwerk steuern:
Heute war den ganzen Nachmittag die Entladesperre drin. Unter Tags lass ich es mir eingehen aber sobald ab ca. 16 Uhr kein Solar mehr kommt, sollte schon wieder entladen werden.
Das ist aber auch richtig. Der Batteriepreis war bei 0.3974 und der Tibber Preis war günstiger bei 0.3173, warum soll dann der teure Strom aus der Batterie verwendet werden? Das ergibt nur Sinn, wenn mit PV-Leistung gerechnet wird und man Platz schaffen will.
-
@psrelax sagte in E3DC Hauskraftwerk steuern:
Es wurde vorhin der Akku voll geladen und das nicht beim niedrigsten Preis.
Ja, diesen Fehler hatte ich auch und ist in der Version 1.3.7 behoben.
-
@modulo-n sagte in E3DC Hauskraftwerk steuern:
Und prompt kommen wieder Fehler... allerdings lässt sich der bestLoadTime-Fehler
Das ist ja interessant, da jetzt datenTibberLink48h auf jeden Fall ein gültiges Array ist und auch daten enthält.
Ich würde die if abfrage für die LOG Ausgabe noch um startEntry.startsAt ergänzen, da ja eventuell startEntry einen Wert enthält, aber die Eigenschaft startEntry.startsAt nicht.let startTime if (!startEntry || !startEntry.startsAt){ log(`Keinen Eintrag für i = ${i} in den Tibberdaten48h = ${JSON.stringify(datenTibberLink48h[i])} gefunden. datenTibberLink48h.length = ${datenTibberLink48h.length} ladezeit_h = ${ladezeit_h}`,'error'); } else { startTime = new Date(startEntry.startsAt); }
-
Tibber Skript,
Version: 1.3.7 auf Github hochgeladen.Änderungen:
- Mehrere Fehler Ladelogik Normalphase behoben.
- Weitere Abfrage für Fehler startEntry.startsAt in Funktion bestLoadTime().
-
@arnod kann das skript auch ohne tibber vertrag genutzt werden
wo kommen dann die aktuellen preise her , der ungefähre preisverlauf würde ja grundsätzlich reichen um zu günstiger zeit zu laden z.b -
@as
Generell ja, wenn du ein JSON Objekt erstellst, das so aussieht und mindestens die Eigenschaften "total" und "startsAt" enthält:[ { "total": 0.2299, "energy": 0.0492, "tax": 0.1807, "startsAt": "2024-11-28T00:00:00.000+01:00", "currency": "EUR", "level": "CHEAP" }, { "total": 0.2204, "energy": 0.0412, "tax": 0.1792, "startsAt": "2024-11-28T01:00:00.000+01:00", "currency": "EUR", "level": "CHEAP" }, { "total": 0.2106, "energy": 0.033, "tax": 0.1776, "startsAt": "2024-11-28T02:00:00.000+01:00", "currency": "EUR", "level": "CHEAP" }, { "total": 0.2095, "energy": 0.0321, "tax": 0.1774, "startsAt": "2024-11-28T03:00:00.000+01:00", "currency": "EUR", "level": "CHEAP" }, { "total": 0.2091, "energy": 0.0317, "tax": 0.1774, "startsAt": "2024-11-28T04:00:00.000+01:00", "currency": "EUR", "level": "CHEAP" }, { "total": 0.2336, "energy": 0.0523, "tax": 0.1813, "startsAt": "2024-11-28T05:00:00.000+01:00", "currency": "EUR", "level": "CHEAP" }, { "total": 0.2487, "energy": 0.065, "tax": 0.1837, "startsAt": "2024-11-28T06:00:00.000+01:00", "currency": "EUR", "level": "CHEAP" }, { "total": 0.2762, "energy": 0.0881, "tax": 0.1881, "startsAt": "2024-11-28T07:00:00.000+01:00", "currency": "EUR", "level": "NORMAL" }, { "total": 0.2992, "energy": 0.1074, "tax": 0.1918, "startsAt": "2024-11-28T08:00:00.000+01:00", "currency": "EUR", "level": "NORMAL" }, { "total": 0.2992, "energy": 0.1074, "tax": 0.1918, "startsAt": "2024-11-28T09:00:00.000+01:00", "currency": "EUR", "level": "NORMAL" }, { "total": 0.281, "energy": 0.0921, "tax": 0.1889, "startsAt": "2024-11-28T10:00:00.000+01:00", "currency": "EUR", "level": "NORMAL" }, { "total": 0.2888, "energy": 0.0987, "tax": 0.1901, "startsAt": "2024-11-28T11:00:00.000+01:00", "currency": "EUR", "level": "NORMAL" }, { "total": 0.2858, "energy": 0.0962, "tax": 0.1896, "startsAt": "2024-11-28T12:00:00.000+01:00", "currency": "EUR", "level": "NORMAL" }, { "total": 0.2864, "energy": 0.0967, "tax": 0.1897, "startsAt": "2024-11-28T13:00:00.000+01:00", "currency": "EUR", "level": "NORMAL" }, { "total": 0.2878, "energy": 0.0979, "tax": 0.1899, "startsAt": "2024-11-28T14:00:00.000+01:00", "currency": "EUR", "level": "NORMAL" }, { "total": 0.3042, "energy": 0.1116, "tax": 0.1926, "startsAt": "2024-11-28T15:00:00.000+01:00", "currency": "EUR", "level": "NORMAL" }, { "total": 0.3292, "energy": 0.1326, "tax": 0.1966, "startsAt": "2024-11-28T16:00:00.000+01:00", "currency": "EUR", "level": "NORMAL" }, { "total": 0.3491, "energy": 0.1493, "tax": 0.1998, "startsAt": "2024-11-28T17:00:00.000+01:00", "currency": "EUR", "level": "EXPENSIVE" }, { "total": 0.3597, "energy": 0.1582, "tax": 0.2015, "startsAt": "2024-11-28T18:00:00.000+01:00", "currency": "EUR", "level": "EXPENSIVE" }, { "total": 0.3545, "energy": 0.1539, "tax": 0.2006, "startsAt": "2024-11-28T19:00:00.000+01:00", "currency": "EUR", "level": "EXPENSIVE" }, { "total": 0.3427, "energy": 0.144, "tax": 0.1987, "startsAt": "2024-11-28T20:00:00.000+01:00", "currency": "EUR", "level": "NORMAL" }, { "total": 0.329, "energy": 0.1325, "tax": 0.1965, "startsAt": "2024-11-28T21:00:00.000+01:00", "currency": "EUR", "level": "NORMAL" }, { "total": 0.3167, "energy": 0.1222, "tax": 0.1945, "startsAt": "2024-11-28T22:00:00.000+01:00", "currency": "EUR", "level": "NORMAL" }, { "total": 0.3054, "energy": 0.1126, "tax": 0.1928, "startsAt": "2024-11-28T23:00:00.000+01:00", "currency": "EUR", "level": "NORMAL" } ]
-
@arnod habe aktuell das Problem mit meinem Netzbetreiber der ein IMSYS verbauen will da ich eine Erweiterung angemeldet habe
nun fordert dieser die Umsetzung nach §14a für die Battieladung/Netzbezug ist es möglich über dein Skript soetwas zu integrieren das das E3DC nur mit 4,2 KW den Akku laden würde bei Anforderung! und möglicherweise auch eine gesamte Leistungsbegrenzung des Bezuges für andere Verbraucher oder gar alle im Haus vorhandenen zb WP und Wallboxdie externen Signale könnte man ja irgendwie vom IMSYS entgegennehmen und per Iobroker ans E3DC umsetzten
aktuell gibt es ja nichts von irgendeinem WR Hersteller -
@arnod irgendwo müssen ja die Tibber Preise abgerufen werden
die option hatte ich im hinterkopf -
@as sagte in E3DC Hauskraftwerk steuern:
ist es möglich über dein Skript soetwas zu integrieren das das E3DC nur mit 4,2 KW den Akku laden würde bei Anforderung!
Das ist bereits jetzt möglich.
irgendwo müssen ja die Tibber Preise abgerufen werden
Das alleine wird dir aber nicht helfen ohne Liefervertrag der die Börsenpreise berücksichtigt.
-
@arnod said in E3DC Hauskraftwerk steuern:
@modulo-n sagte in E3DC Hauskraftwerk steuern:
Und prompt kommen wieder Fehler... allerdings lässt sich der bestLoadTime-Fehler
Das ist ja interessant, da jetzt datenTibberLink48h auf jeden Fall ein gültiges Array ist und auch daten enthält.
Mit meiner "temporären" Ergänzung habe ich heute nacht die folgenden Fehler bekommen:
2024-11-29 02:01:00.243 - error: javascript.0 (187) script.js.E3DC-Control.Tibber-1_3_6: Keinen Eintrag für i=24 in den Tibberdaten48h gefunden 2024-11-29 02:01:00.244 - error: javascript.0 (187) script.js.E3DC-Control.Tibber-1_3_6: Keinen Eintrag für i=25 in den Tibberdaten48h gefunden 2024-11-29 02:01:00.244 - error: javascript.0 (187) script.js.E3DC-Control.Tibber-1_3_6: function bestLoadTime: Kein Eintrag gefunden datenTibberLink48h.length = 24 billigsteZeit = null
Sieht so aus, als wäre das Array nur noch "halb-voll" (length=24, also [0..23]) und das Skript greift auf Indizes [24] und [25] zu ...
Besonders interessant finde ich den Zeitstempel, den ich bisher nicht so im Fokus hatte: 02:01 ... Ich hatte erst die "Zwangstrennung" der Fritz!Box in Verdacht, aber die hat sich erst gegen 02:43 neu verbunden. Passiert in deinem Skript etwas um 02:00, was dann beim ersten Neuberechnen der besten Ladezeit eine Minute später ein Problem erzeugt?
Auf jeden Fall installiere ich erstmal Version 1.3.7...
Nachtrag:
Vielleicht auch noch interessant => der Kontext der Fehlermeldungen... Direkt vor Auftreten der ersten Meldung wurde Batterieladen auf true gesetzt:2024-11-29 02:00:00.052 - warn: javascript.0 (187) script.js.E3DC-Control.Charge-Control-1_5_11: -==== Tibber output signal BatterieLaden wurde in true geändert ====- 2024-11-29 02:00:00.258 - warn: javascript.0 (187) script.js.E3DC-Control.Charge-Control-1_5_11: ##{"from":"Charge-Control", "message":" -==== EMS Laden/Entladen der Batterie ist eingeschaltet ====- "}## 2024-11-29 02:01:00.243 - error: javascript.0 (187) script.js.E3DC-Control.Tibber-1_3_6: Keinen Eintrag für i=24 in den Tibberdaten48h gefunden 2024-11-29 02:01:00.244 - error: javascript.0 (187) script.js.E3DC-Control.Tibber-1_3_6: Keinen Eintrag für i=25 in den Tibberdaten48h gefunden 2024-11-29 02:01:00.244 - error: javascript.0 (187) script.js.E3DC-Control.Tibber-1_3_6: function bestLoadTime: Kein Eintrag gefunden datenTibberLink48h.length = 24 billigsteZeit = null
und das ging dann durchgängig im Minutentakt weiter bis das Laden wieder auf false gesetzt wurde
2024-11-29 03:37:00.251 - error: javascript.0 (187) script.js.E3DC-Control.Tibber-1_3_6: Keinen Eintrag für i=24 in den Tibberdaten48h gefunden 2024-11-29 03:37:00.251 - error: javascript.0 (187) script.js.E3DC-Control.Tibber-1_3_6: Keinen Eintrag für i=25 in den Tibberdaten48h gefunden 2024-11-29 03:37:00.252 - error: javascript.0 (187) script.js.E3DC-Control.Tibber-1_3_6: function bestLoadTime: Kein Eintrag gefunden datenTibberLink48h.length = 24 billigsteZeit = null 2024-11-29 03:38:00.282 - warn: javascript.0 (187) script.js.E3DC-Control.Charge-Control-1_5_11: -==== Tibber output signal BatterieLaden wurde in false geändert ====- 2024-11-29 03:38:03.253 - warn: javascript.0 (187) script.js.E3DC-Control.Charge-Control-1_5_11: ##{"from":"Charge-Control", "message":" -==== Notstrom Reserve erreicht, Laden/Entladen der Batterie ist ausgeschaltet ====- "}##
Dann war 20min Ruhe und nach dem Einschalten des Batterieladens ging es wieder los... bis zum erneuten Abschalten (war aber nur kurz)
2024-11-29 03:57:00.235 - warn: javascript.0 (187) script.js.E3DC-Control.Charge-Control-1_5_11: -==== Tibber output signal BatterieLaden wurde in true geändert ====- 2024-11-29 03:57:03.132 - warn: javascript.0 (187) script.js.E3DC-Control.Charge-Control-1_5_11: ##{"from":"Charge-Control", "message":" -==== EMS Laden/Entladen der Batterie ist eingeschaltet ====- "}## 2024-11-29 03:58:00.195 - error: javascript.0 (187) script.js.E3DC-Control.Tibber-1_3_6: Keinen Eintrag für i=24 in den Tibberdaten48h gefunden 2024-11-29 03:58:00.196 - error: javascript.0 (187) script.js.E3DC-Control.Tibber-1_3_6: Keinen Eintrag für i=25 in den Tibberdaten48h gefunden 2024-11-29 03:58:00.196 - error: javascript.0 (187) script.js.E3DC-Control.Tibber-1_3_6: function bestLoadTime: Kein Eintrag gefunden datenTibberLink48h.length = 24 billigsteZeit = null 2024-11-29 03:58:00.198 - error: javascript.0 (187) script.js.E3DC-Control.Tibber-1_3_6: 2024-11-29 03:59:00.290 - warn: javascript.0 (187) script.js.E3DC-Control.Charge-Control-1_5_11: -==== Tibber output signal BatterieLaden wurde in false geändert ====- 2024-11-29 03:59:03.206 - warn: javascript.0 (187) script.js.E3DC-Control.Charge-Control-1_5_11: ##{"from":"Charge-Control", "message":" -==== Notstrom Reserve erreicht, Laden/Entladen der Batterie ist ausgeschaltet ====- "}##