Eventuell reicht schon folgendes:
Code: Alles auswählen
rule "motor stoppen"
when
Item meinRollershutterTaster received update or
Item meinRollershutterTaster changed
then
if(previousState !== null)
return;
else
meinRollershutter.sendCommand(STOP)
end
Die Rule triggert sowohl, wenn es ein Update gab als auch, wenn es ein Changed Ereignis gab.
Wenn die Rule getriggert wird, prüft sie, ob es einen Wert für previousState gibt. Das sollte nur beim changed Ereignis der Fall sein. Liefert es einen Wert ungleich null (!== ist hier korrekt) so bricht die Rule ab. Ansonsten lag ein Update ohne Änderung des Werts vor und die Rule sendet einen Stopp Befehl.
Falls Du mehrere gleichartig zu bedienende Rollläden hast, kann man auch eine generelle Rule für alle Läden schreiben, aber ich würde es erst mal mit einem Taster ausprobieren.
Der Taster muss dann so konfiguriert sein wie auch jetzt schon, die eine Taste sendet immer eine 0, die andere Taste sendet immer eine 1, beide senden auf derselben GA, welche mit dem Richtungseingang des Motoraktors verbunden ist.