Beiträge von ApplePrime

    Hab mir delayswitch gerade angesehen. Ist viel besser als mein Script. Du musst nur dafür sorgen, dass bei "Bewegung erkannt" der DelaySwitch deaktiviet wird, was den Timer stoppt und der zugehörige DummyBewegunssensor nicht ausgelöst wird.


    Wenn nun deine Kamera "Bewegung nicht erkannt" auslöst, soll sie den DelaySwitch einschalten. In Homebridge hast du den dann auf 30 Sekunden eingestellt ggf abzüglich der Zeit, die du nach #67 gemessen hast. Neustart Homebride nicht vergessen ☹


    Der eigentliche Schließbefehl und eventuelle Zusatzabfragen wandert dann in die Automation für den Trigger "Bewegung erkannt" beim zugehörigen DelaySwitch-MotionSensor

    Ich bin auch Anfänger, DelaySwitch kenne ich wiederum noch nicht, ich verwende homebridge-dummy.


    Stell dich doch einfach mal unter oder hinter den Sensor und mach die HomeApp mit der Seite auf, wo der Sensor drin ist und beobachte diesen. Fuchtele jetzt vor dem Sensor herum bis er Bewegung erkennt. Dann tritt zurück und stoppe die Zeit, bis der Bewegungssensor wieder aus geht. Möglichweise kann man das bei deiner Kamera auch irgendwo einstellen. Wenn da was anderes als 10 Sekunden rauskommt, ziehe eine Sekunde von der gemessenen Zeit ab und passe mein Script entsprechend an.

    Zunächst verwirrt mich, dass das erste Wenn direkt mit "Ende von Wenn" wieder abgeschlossen wird. Der folgende Teil müsste also immer ausgeführt werden, egal wie der Status ist. Du müsstest also den Rest des Scripts innerhalb des ersten WENN ... ENDE einbauen, sodass am Schluss der Autimation 3x ENDE steht.


    Andererseits halte ich diese Abfrage am Anfang für überflüssig. Ansonsten geht es vermutlich wie in meinem Beitrag #65 beschrieben. 30 Sekunden warten ist blöd, weil wenn zwischen Sekunde 15 und 19 nochmal jemand durchläuft, wird die Zeit nicht neu gestartet, bzw das Script wird in Sekunde 19 sogar ein zweites Mal gestartet.


    Wie lange wartet dein Bewegungssensor bis er von Bewegung auf "keine Bewegung" triggert? Auch 10 Sekunden? Dann nimm mein Script, lasse die Schleife 3x durchlaufen und lasse dann das Tor schließen. Falls vor dem Schließbefehl zwischendurch jemand durchs Bild läuft wird das Script beendet und erst beim nächsten "Keine Bewegung"-Event neu gestartet mit neuem Timer.


    Falls dein Tor mucken macht, wenn es bereits geschlossen ist, bzw auch Status wie "öffnet gerade" oder "schließt gerade" kennt, solltest du diese WENN-Abrage ans Ende stellen und den Schließbefehl da reingeben. Ich habe kein Garagentor könnte mir aber vorstellen, dass es problematisch wird, wenn du das Tor gerade öffnen willst während innen kurz zuvor jemand Bewegung ausgelöst hatte und wieder den Sensorbereich verlassen hat und dein Script nun während des Öffnungsvorgangs den Befehl zum Schließen gibt.


    Falls es die Zwischenstatus am Garagentor nicht gibt und du Homebridge o.ä. einsetzt, könntest du einen Dummyschalter einrichten, der sich nach x Sekunden (Öffnungsvorgang+Zeit zum Ein/Ausfahren) automatisch ausschaltet. Beim Öffnen des Tors also den Dummyschalter einschalten und dann im Script des Bewegungssensors abfragen. Schließvorgang also nur starten, wenn Dummy aus ist.

    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:

    Code
    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.