Shelly Dimmer2 mit Skriptfähigem Shelly, Taster und Bewegungsmelder betreiben

  • Hallo an alle, ich habe schon in einem anderem Thread: Externe Motion Steuerung ingorieren, wenn Shelly 1PM manuell einschalten wurde mein Script vorgestellt. Da es allerdings noch einen kleinen Bug hatte, habe ich es jetzt ausgebessert und möchte es euch hiermit in diesem Thread präsentieren. Der Grund, warum ich es in einem Extra Thread poste ist einfach der, daß mein Script zum Teil nicht das macht, was der TE sowie ein weiterer Zukömmling ;) benötigte und Eiche den beiden bereits geholfen hat.

    Wozu dient das Script:

    Also ich nutze einen Bewegungsmelder, der in meinem Flur (beim durchlaufen) das Licht einschalten soll und nach einer gewissen Zeit, nachdem keine Bewegung mehr erkannt wurde wird das Licht wieder ausgeschaltet.
    Dann habe ich noch einen Taster der bei einem Single_Push das Licht etwas länger laufen lassen soll und bei einem weiteren Single_Push das Licht ausschalten soll.
    Soweit so gut bis hier hin braucht man keinen Shelly, wenn man den Taster gegen einen Schalter austauschen würde. Aber vielleicht möchte man es, wie ich, etwas Komfortabler haben, dann könnt ihr weiterlesen :P
    Ich habe in meiner Lampe ein 10 Watt (Dimm-fähiges) LED Leuchtmittel eingeschraubt. Dieses ist manchmal Praktisch, wenn die Frau sich anzieht und am Spiegel schauen möchte ob es passt :D. Nachts allerdings ist es wirklich nervig, wenn man halb verschlafen durch den Flur läuft und man von einem Flutlicht angestrahlt wird. Deshalb habe ich mir den Shelly Dimmer2 angeschafft. Dieser regelt ja ganz Praktisch die Helligkeit eines dimm-fähigen Leuchtmittels . Aber da dieser ja nicht Scriptfähig ist braucht man wiederum ein Shelly gerät, das Scriptfähig ist. Hier nutze ich den Shelly I4. Aber Theoretisch sollte das Script mit jedem Shelly der Gen2 und vielleicht auch der Gen3 funktionieren.
    Irgendwie Schweife ich ab, also nochmal von vorn und diesmal in Stichpunkten: Wozu dient dieses Script:

    Bewegungsmelder registriert Bewegung -> Licht geht gedimmt an
    Bewegungsmelder hat abgeschaltet, da keine Bewegung mehr registriert wurde -> Das Script erhält eine Meldung, und ein Timer für das ausschalten des Lichtes wird gestartet
    (Kurze Anmerkung: ich habe den Blind-Timer des Bewegungsmelders auf die niedrigste Stufe gedreht, da ich die Ausschaltzeit über das Script regeln möchte)
    Der Timer des Bewegungsmelders im Script ist abgelaufen -> Das Licht geht aus.
    Der Taster wurde 1 mal gedrückt ->, das Licht geht für eine Gewisse Zeit (Einstellung im Script vorhanden als TimerDauerlicht) an. Der Bewegungsmelder hat keinen Einfluss mehr auf das Licht ( Ähnlich wie beim Dauerlicht)
    Der Taster wurde noch einmal gedrückt (bevor der Timer (TimerDauerlicht) abgelaufen ist) -> das Licht geht aus und der Bewegungsmelder darf wieder arbeiten.
    Der Taster wurde 2x gedrückt -> das Licht geht für eine Gewisse Zeit (TimerDauerlicht) an allerdings mit einer 100 % Helligket. Auch hier hat der Bewegungsmelder keinen Einfluss mehr auf das Licht.
    Der Taster wurde noch einmal gedrückt (bevor der Timer (TimerDauerlicht) abgelaufen ist) -> das Licht geht aus und der Bewegungsmelder darf wieder arbeiten.
    Der Timer (TimerDauerlicht) läuft ab -> das Licht geht aus und der Bewegungsmelder darf wieder arbeiten.

    Dazu gibt es noch einen Tag- und einen Nachtmodus, Die Zeiten kann man im Script ebenfalls einstellen. Und für jeden Modus kann man dementsprechend die Helligkeit des Lichtes einstellen.

    Wie wird was angeschlossen:

    Den Bewegungsmelder habe ich direkt am Dimmer angeschlossen. Das hat den Vorteil, dass man das Licht sofort einschalten lassen kann. Wenn man den Bewegungsmelder an einem anderen gerät anschließt oder den Motion nutzt, gibt eine leichte Verzögerung wegen der Latenzzeiten im Netzwerk. Aber auch das funktioniert mit diesem Script.
    Da ich den Dimmer2 habe, könnte ich auch den Taster am Dimmer anschließen. Allerdings ist der Taster bei mir am I4, auf dem das Script installiert ist, angeschlossen. Auch hier sind beide Varianten möglich. Auch der Shelly Button sollte für dieses Script kein Problem sein.

    Was wird bei dem Gerät wo der Bewegungsmelder angeschlossen ist eingestellt:

    (Ich gehe hier Hauptsächlich vom Dimmer2 aus! Andere Geräte können andere Bezeichnungen haben!)

    Der Button Type des Shellys wird auf Detached - switch doesn't control dimmer output eingestellt.


    BUTTON 1 SWITCHED ON URL:1: http://localhost/light/0?turn=on<-- Dieser Eintrag ist nur nötig wenn der Bewegungsmelder direkt am Dimmer angeschlossen wird,
    2: http://<IP of Shelly I4>/script/<Skript-ID>/myTrigger?button=BM&push=on
    BUTTON 1 SWITCHED OFF URL:1: http://<IP of Shelly I4>/script/<Skript-ID>/myTrigger?button=BM&push=off


    Falls der Bewegungsmelder ein Shelly Motion ist, könnte folgendes zutreffen:

    (Bitte beachtet, dass ich diese Information nicht mit absoluter Sicherheit bestätigen kann, da ich keinen Shelly Motion besitze. Die folgende Aussage basiert lediglich auf meiner Vermutung:)

    MOTION DETECTED:2: http://<IP of Shelly I4>/script/<Skript-ID>/myTrigger?button=BM&push=on
    END OF MOTION DETECTED:1: http://<IP of Shelly I4>/script/<Skript-ID>/myTrigger?button=BM&push=off


    Was wird beim Gerät eingestellt an dem der Taster angeschlossen ist:

    Ist der Taster am Gerät angeschlossen, auf dem das Script ausgeführt wird, dann muss nur bei den Input/Output settings der Type auf "Button" bzw. "Momentary - Set Shelly device to be "Momentary" switch..." eingestellt werden.

    Ist der Taster an einem anderen Gerät angeschlossen oder beim Shelly Button dann muss noch zusätzlich bei:

    BUTTON SHORT PRESSED URL oder BUTTON PUSH URL:2: http://<IP of Shelly I4>/script/<Skript-ID>/myTrigger?button=extbutton&push=single_push
    BUTTON LONG PRESSED URL oder BUTTON DOUBLE PUSH URL:1: http://<IP of Shelly I4>/script/<Skript-ID>/myTrigger?button=extbutton&push=double_push

    Insbesondere bei den GEN1-Geräten scheint es keine Option zu geben, eine Double Push URL einzurichten. In solchen Fällen muss man auf die Long Pressed URL und Methode zurückgreifen, um das Licht mit voller Leistung (100%) einzuschalten.

    Darüber hinaus habe ich nicht Zugang zu allen Shelly-Geräten, um die spezifischen Bezeichnungen der einzelnen URL-Aktionen zu überprüfen. Die oben genannten Bezeichnungen stammen vom Shelly1 und Shelly 2PM. Es ist jedoch zu beachten, dass diese Bezeichnungen bei den verschiedenen Shelly-Modellen variieren können.

    Das Script:

    Ich kann mir vorstellen, dass es einige abschrecken wird, diesen langen Text zu lesen. Aber wenn jemand ein ähnliches Projekt haben möchte, kann er hoffentlich dadurch eine gute Unterstützung finden.

    Ich denke, damit sollte alles nötige gesagt sein. Ich wünsche euch viel Spaß damit 8o

    LG Maik ;)