Nein, der Code ist so nicht richtig. Kannst Du bitte Deinen Code nicht als Screenshot posten, sondern als Text (markiert mit Code-Tags und vollständig)? So sieht man nur einen Teil des Codes und kann auch nicht darauf zitieren oder den Code überprüfen lassen (also ohne ihn von Hand abzutippen).
Ich habe in Zeile 13 einen Copy&Paste Fehler drin. Ich habe das oben korrigiert.
if() ist eine Boolean Funktion. Das heißt, der Inhalt der Klammern muss true oder false ergeben.
! ist die Boolean Funktion NOT !true = false, !false = true
instanceof ist eine Funktion, die true oder false liefert, je nachdem, ob der angegebene wert eine Instanz vom angegebenen Typ ist.
Code: Alles auswählen
if(!(Rasen_Zaehlerstand_Wasseruhr.state instanceof Number ))
bedeutet also: Falls der Status des Items Rasen_Zaehlerstand_Wasseruhr nicht vom Typ Number ist.
Du hast aus dem instanceof ein as gemacht. Lustigerweise habe ich in meinem Code an der anderen Stelle aus Versehen instanceof stehen lassen, womit die Zeile
Code: Alles auswählen
nWasseruhrAlt = (Rasen_Zaehlerstand_Wasseruhr.state instanceof Number) // alten Zählerstand retten
also versucht, einer Number Variablen einen Boolean Wert zuzuweisen. In dieser Zeile gehört also ein as statt des instanceof:
Code: Alles auswählen
nWasseruhrAlt = (Rasen_Zaehlerstand_Wasseruhr.state as Number) // alten Zählerstand retten
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet