Hallo
In OH2.5 hat diese Rule noch funktioniert,
aber in Openhab 3.1 bekome ich diese Fehlermeldung
"Cannot refer to the non-final variable tmpRegenFlag inside a lambda expression;"
Getriggert wird die Rule das Item "Wetter_Aktuell_Current_Rain" wenn Changed
Die Funktion sollte nur einmal eine Meldung senden wenn die Regenmenge >0 und ein Fenster offen ist.
Hi
Danke für deine Antwort
Aber in OH3.1 Oberfläche (DSL-Script) kann ich doch keine globale Variablen mehr setzen.
Nur wenn ich Daten xx.rules verwende.
Oder bin ich da falsch dran?
Ja und? Du schreibst: in openHAB2.5 hat das noch funtioniert. openHAB2.5 erlaubt nicht das Erstellen einer komplexen Rule über die UI. Wohl kannst Du aber in openHAB3.1 (und auch weiterhin... das wird entgegen allen Unkenrufen erst mal nicht verschwinden) Rules exakt so erstellen, wie das auch schon unter openHAB 1.0 funktioniert hat. Mit der Einschränkung, dass sich an einigen Stellen die Syntax leicht geändert hat, insbesondere steht kein Joda Time mehr zur Verfügung.
Es gibt derzeit keinen Grund, Rules unbedingt über die UI zu erstellen, außer, man will partout die UI dafür nutzen. Dann allerdings darf man nicht mit "Unter OH2 hat das noch funktioniert" kommen, denn unter OH2 gab es solche Rules überhaupt nicht.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet
Hi
meine Dateibezogenen Rules funktionieren auch in >OH30.
Ich wollte eigentlich nur wissen wie ich es im OH30 als UI dsl.rule Script programmieren muss damit kein Fehler ausgeworfen wird.
Ich weiß nicht genau wo die globale Variaable tmpRegenFlag im UI-Code gesetzt werden muss damit es keinen Fehler auswirft :
"Cannot refer to the non-final variable tmpRegenFlag inside a lambda expression;"
fkempter hat geschrieben: ↑15. Dez 2021 05:22
aber in Openhab 3.1 bekome ich diese Fehlermeldung
"Cannot refer to the non-final variable tmpRegenFlag inside a lambda expression;"
Handelt es sich tatsächlich um eine Fehlermeldung? Auch OH2.5 hat bei dieser Konstruktion gewarnt, man konnte es aber geflissentlich ignorieren, und es hat funktioniert.