das ist jetzt der Code mit den Veränderungen von Udo.
Code: Alles auswählen
val nowMinus5 = now.minusMinutes(5)
val avgSince = pvPower.averageSince(nowMinus5,"rrd4j")
logInfo("pvPower","Durchschnitt ab {} ist {}",nowMinus5,avgSince)
//if (pvPower.state != 0)
//{
logInfo("PVInfo", "PVInfo Durschnitt 5 berechnen - HomePower: " + homePower_W.state + "W GridPower: " + gridPower_W.state + "W PV-Power: " + pvPower_W.state + " BatteryPower: " + batteryPower_W.state)
pvPower_erzeugung_5.postUpdate(pvPower.averageSince(now.minusMinutes(5), "rrd4j"))
//}
Für mich sieht das so aus, dass solange der berechnete Durschnitt einen Wert größer 0 hat kommt kein Fehler auch wenn Wert des Items pvPower bereits 0 ist.
Code: Alles auswählen
2025-03-05 18:19:24.891 [INFO ] [.model.script.pvPower] - Durchschnitt ab 2025-03-05T18:14:24.889680579+01:00[Europe/Berlin] ist 0.1503671111111111
2025-03-05 18:19:24.892 [INFO ] [org.openhab.core.model.script.PVInfo] - PVInfo Durschnitt 5 berechnen - HomePower: 2565W GridPower: -24W PV-Power: 0 W BatteryPower: 2607
erst wenn der berechnete Durchschnitt den Wert 0 wird, taucht der Fehler im LOG auf.
Code: Alles auswählen
2025-03-05 18:29:55.142 [INFO ] [.model.script.pvPower] - Durchschnitt ab 2025-03-05T18:24:55.140490490+01:00[Europe/Berlin] ist 0
2025-03-05 18:29:55.143 [INFO ] [org.openhab.core.model.script.PVInfo] - PVInfo Durschnitt 5 berechnen - HomePower: 2817W GridPower: 65W PV-Power: 0 W BatteryPower: 2677
2025-03-05 18:29:55.144 [ERROR] [.handler.AbstractScriptModuleHandler] - Script execution of rule with UID 'pvanlage_wallbox_evcc-1' failed: The argument 'state' must not be null. in pvanlage_wallbox_evcc
Das ist aber erst seit dem Upgrade auf 4.3.3 so - Problem in Openhab oder gab es eine "Verbesserung"?