ich versuche gerade etwas hinter due ERROR-Einträge in meinem LOG zukommen.
Die unten stehende Rule funktioniert zwar, bringt mir aber im Minutentakt folgenden Fehler.
2023-01-16 20:34:03.262 [ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'zaehler-1' failed: Could not cast 2055.717 to java.lang.Number; line 7, column 25, length 60 in zaehler
rule "Stromzaehler Verbrauch Tag"
when
Item SM_DG_ges_Verbrauch changed
then
val dMidnight = ZonedDateTime.now().with(LocalTime.MIDNIGHT)
val Number nTotal = SM_DG_ges_Verbrauch.historicState(dMidnight).state as Number
val Number nDelta = SM_DG_ges_Verbrauch.deltaSince(dMidnight) as Number
logInfo("verbrauch","Zählerstand um Mitternacht: {}",nTotal)
logInfo("verbrauch","Zählerstand aktuell : {}",SM_DG_ges_Verbrauch.state)
logInfo("verbrauch","Persistence Delta : {}",nDelta)
logInfo("verbrauch","errechnetes Delta : {}",(SM_DG_ges_Verbrauch.state as Number) - nTotal)
SM_DG_ges_Verbrauch_Tag.postUpdate(nDelta)
end
Und dennoch werden die nachfolgenden Logzeilen ausgegeben?
Ich würde ja erwarten, dass er Dir beim Auftauchen der Meldung keinen Wert in nTotal ablegt.
Wobei auch witzig ist, dass er eine gültige Zahl nicht als Zahl interpretieren will...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet
Mmmh, da hast Du mich jetzt eiskalt erwischt.
Ich hab mir die Rule mal irgendwo rauskopiert und an meine Items angepasst.
Wie kann ich denn die Werte der Variablen sichtbar machen, um Deine Frage zu beantworten?
Für Visual Studio gibt es ja DataTips aber Visual Studio Code funktioniert das nicht.
Die Befehle (logInfo...) stehen ja schon da, das müsste also schon im log auftauchen (genauer: openhab.log, eigentlich sollte auch die ERROR Zeile aus der openhab.log stammen)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet