SkyLeader hatte den richtige Ansatz auf Seite 3. Allerdings macht es für die "Erweiterte Treppenschaltung" IMHO keinen Sinn, das Skript 300 Sekunden warten zu lassen. Denn wenn während dieser 5 Minuten eine Bewegung im Bereich des Sensors ist, berücksichtigt das Abschalten-Skript dies nicht. Es schaut ja erst am Ende der 5 Minuten nach, wie dann der Status des Sensors ist. Ganz im Gegenteil würde das Skript nach jeder Zwischenbewegung beim Zustandswechsel auf "keine Bewegung" erneut starten und es liefen u.U. mehrere Skripte mit unterschiedlichen Timern, oder?
Auch wurde nicht erwähnt, dass man offensichtlich nur eine Änderung des Zustands als Event triggern kann oder sehe ich das falsch?
Ich verwende einen Onvis Bewegungssensor, der direkt mit Home verbunden ist. Der Sensor hält den Bewegungszustand bis 10 Sekunden nach der letzten Bewegung aufrecht, erst dann triggert die Abschalt-Automation. Ein AppleTV-4K kommt als HomeZentrale zum Einsatz.
Man erstelle also zwei Automationen. Eine einfache die bei Bewegungserkennung das Licht einschaltet und eine zweite mit "Wenn keine Bewegung erkannt wird" in Verbindung mit einem Kurzbefehl:
X-MAL wiederholen
9 Sekunden warten
Wenn SENSORNAME Bewegung wird nicht erkannt.
Sonst
Kurzbefehl beenden
Ende von "Wenn"
Beenden (die x-mal Wiederholen-Schleife)
LAMPENNAME festlegen (deaktivieren)
In meinem Fall habe ich im ersten Schritt "3-mal wiederholen" reingesetzt. Ohne Bewegung wartet nun der Sensor 10 Sekunden bis er das Event auslöst und dann der Kurzbefehl noch 3x9 Sekunden. Das Licht geht also erst aus, wenn 37 Sekunden keine Bewegung erkannt wurde. Falls bei einer der drei Abfragen des Sensors durch das Skript eine Bewegung festgestellt wird, wird das Skript abgebrochen und das Licht bleibt an.
Ich habe das eben schnell nur unter Testbedingungen erarbeitet. Keine Ahnung ob das dauerhaft so lüppt. Ich fange auch gerade erst an mit HomeKit und SmartHome. Bislang hatte ich nur einen Raum mit drei Hue-Lampen, die ich mit dem HueDimmer bedient hatte. Also nicht wirklich Smart.
Gibt es eigentlich Beschränkungen wie lange so ein Skript laufen darf? Für die in einem anderen Szenario genannten 5 Minuten müsste man die Schleife 33-mal laufen lassen.