Was kein Wunder ist. Du kannst nicht einfach beliebige Dinge als Status im Trigger hinterlegen. Da es sich hier um ein String Item handelt, ist stop und close kein Status, sondern ein String.
Das mag aus Anwendersicht verwirrend sein
aber so als Grundsatz:
Erlaubte Status sind:
Für alle Itemtypen: UNDEV, NULL (eventuell gibt es auch noch weitere "kein gültiger Status" Status, NULL ist der Urzustand beim Start von openHAB)
Zusätzlich für Switch: ON, OFF
Zusätzlich für Contact: OPEN, CLOSED
Es gibt noch ein paar weitere Itemtypen mit potenziell sinnvollen Status, z.B. das Player Item (STOP, PLAY), aber schon bei Number kommen erhebliche Probleme auf, denn 1.0 ist ein anderer Status als 1.
Es gibt aber auch keinen triftigen Grund, den Status so abzufragen. Wenn Du möchtest, dass die Rule nur reagiert, wenn der Rollladen vorher gestoppt war, kannst Du die Rule weitgehend unverändert verwenden, Du musst lediglich eine weitere Bedingung einbauen:
Code: Alles auswählen
rule "Balkontür auf Rolladen hoch Taster"
when
Item DGRolladenWZTuer_Status changed
then
if(previousState.toString == "stop" && newState.toString == "close" && ZWaveNode003FGDW_SensorDoor.state == OPEN)
DGRolladenWZTuer_Steuerung0offen100geschlossen.sendCommand(STOP)
end
Die beiden Objekte perviousState und newState sind implizite Variablen, welche automatisch in jeder Rule zur Verfügung stehen, die über das changed Ereignis getriggert wurden.
Allerdings könnte man dann den Rollladen schließen, indem man zunächst den Befehl zum Öffnen sendet und unmittelbar daran anschließend den Schließen Befehl.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet