hurra hat geschrieben:ist das auch möglich, auf einzelne Werte eines Items zu triggern?
Ja aber.
Du kannst z.B. den Trigger
verwenden. Voraussetzung ist aber, dass MyItem einen Integer Wert hält. Über diese Einschränkung stolpert man gerne mal.
Wenn man Übergänge von einem auf einen anderen Wert betrachtet, also
müssen beide Werte exakt so im Item vorliegen. Bei Items, die einen Float Wert halten, ist es oft notwendig, die erste Nachkommastelle mit anzugeben, also
In den allermeisten Fällen ist es sinnvoller, den Trigger der Rule allgemeiner zu fassen (z.B. changed ohne irgendeine Einschränkung) und anschließend zu Beginn des Rule Codes Bedingungen einzubauen, die den Wert prüfen (denn dort kann man z.B. gezielt den Wert nach Integer wandeln).
Beim Trigger changed stehen im Rule-Code die beiden expliziten Variablen previousState und newState zur Verfügung (previousState hat in diesem Fall nichts mit Persistence zu tun!), man kann also auch so etwas machen:
Code: Alles auswählen
if((previousState as Number).intValue == 1 && (newState as Number).intValue == 2)
Oftmals will man aber ehr für viel mehr Werte Code ausführen und der alte Wert interessiert höchstens am Rande.
Gesendet von iPad mit Tapatalk
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet