Du mussst das if- Statement schon unangetastet lassen. instanceof ist eine Funktion.
Code: Alles auswählen
if(PVLeistung.averageSince(now.minusMinutes(1), "rrd4j") instanceof Number)
Bedeutet: "falls PVLeistung.averageSince(now.minusMinutes(1), "rrd4j") eine gültige Zahl ist"
Wenn die Bedingung wahr ist, wird der erste Teil genutzt, falls die Bedingung nicht erfüllt ist, wird der else- Teil verwendet.
Code: Alles auswählen
val Number nPV = if(PVLeistung.averageSince(now.minusMinutes(1), "rrd4j") instanceof Number) (PVLeistung.averageSince(now.minusMinutes(1), "rrd4j") as Number) else 0
wird also den numerischen Wert von PVLeistung.averageSince(now.minusMinutes(1), "rrd4j") verwenden, falls es sich um einen numerischen WErt handelt, ansonsten wird eben 0 als Wert genommen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet