[ShellyScript] Shelly Plus 1 als Treppenlichtschalter / Treppenhausautomat mit erweiterter Funktion

  • Treppenlichtschalter deaktivieren sich nach einer eingestellten Zeitdauer. (Leuchtphase)

    Es kann passieren, dass man hierbei im Dunkeln auf der Treppe steht.

    Hilfreich wäre es, wenn der Automat durch Blinken des Lichtes deutlich macht, dass in Kürze das Licht ausgeht. (Blinkphase)

    Dann hätte man noch die Möglichkeit innerhalb der verbleibenden Zeit, den nächsten Taster zu erreichen

    und könnte so den Treppenlichtschalter erneut aktivieren.

    Genaus das versucht das vorliegende Skript. Es erweitert die Auto_OFF Funktion von Shelly.

    Bedingungen:

    Relay-Type : Momentary oder Detached

    Timer.Auto_OFF : enabled

    Timer.Auto_off_delay >3 Sekunden

    Wird der Taster während der Leuchtphase betätigt, wird das Licht ausgeschaltet.

    Wird der Taster während der Blinkphase betätigt, führt dies zum Retriggern von Auto_OFF.

    Vielleicht ist das Skript auch für Andere hilfreich.

    Aktuelle Version : 1.0.2.0 :
    Freigabe für folgende Hardware : Shelly 1P, Shelly 1PM

    Bug-Fix: Preconditions without brackets

    Bug-Fix: event detection of state

    Feature : possible values for Relay-Type: Momentary or Detached

    Grüße Johann

  • Danke für dein Script, hab ich gleich getestet, bekomme aber kein blinken am ende der Zeit.

    Momentary (ich nutze Taster) ist eingestellt

    Timer Off ist aktiviert und 60 Sekunden (zum testen) eingestellt.

    Das Script unverändert einkopiert, aktiviert und Status running wird angezeigt.

  • Hallo Lötauge,

    bitte WebSocket/Debug aktivieren, das Scripting-Fenster öffnen, dann den Ablauf erneut starten.
    Mich würden die Debug-Ausgaben interessieren, dann kann ich weiterhelfen.

    Gruß Johann

    PS: es gibt eine neuere Version 1.0.1.0 mit einem Bug-Fix

    Einmal editiert, zuletzt von Priamos (20. Juni 2022 um 21:28)

  • Hier mal die Debug Ausgaben:

    Spoiler anzeigen

    {"ts":1656269092.420000,"event":"btn_down","id":0,"component":"input:0"} 20:44:52.439

    {"ts":1656269092.420000,"state":true,"event":"toggle","id":0,"component":"switch:0"} 20:44:52.496

    switchState : true 20:44:52.501

    CheckStart commonState: 99 auto_off: true 20:44:52.514

    CheckStart 99 ==> commonState: 1 20:44:52.522

    GetConfig auto_off_delay: 120 auto_off: true in_mode: momentary 20:44:52.610

    {"ts":1656269092.640000,"event":"btn_up","id":0,"component":"input:0"} 20:44:52.649

    {"ts":1656269092.920000,"event":"single_push","id":0,"component":"input:0"} 20:44:52.936

    OnInput beginning... state: true 20:44:52.944

    {"ts":1656269094.200000,"apower":2,"event":"power_update","id":0,"component":"switch:0"} 20:44:54.213

    switchState : undefined 20:44:54.218

    CheckStart commonState: 1 auto_off: true 20:44:54.233

    CheckStart Force OnEndup 1 20:44:54.241

    OnEndup==> commonState: 99 20:44:54.246

    GetConfig auto_off_delay: 120 auto_off: true in_mode: momentary 20:44:54.333

    GetConfig auto_off_delay: 120 auto_off: true in_mode: momentary 20:44:54.355

    {"ts":1656269096.200000,"apower":62.200000,"event":"power_update","id":0,"component":"switch:0"} 20:44:56.214

    switchState : undefined 20:44:56.220

    CheckStart commonState: 99 auto_off: true 20:44:56.235

    {"ts":1656269096.200000,"current":0.300000,"event":"current_update","id":0,"component":"switch:0"} 20:44:56.273

    switchState : undefined 20:44:56.278

    CheckStart commonState: 99 auto_off: true 20:44:56.292

    GetConfig auto_off_delay: 120 auto_off: true in_mode: momentary 20:44:56.378

    GetConfig auto_off_delay: 120 auto_off: true in_mode: momentary 20:44:56.400

    {"ts":1656269212.420000,"state":false,"event":"toggle","id":0,"component":"switch:0"} 20:46:52.464

    switchState : false 20:46:52.469

    CheckStart commonState: 99 auto_off: true 20:46:52.484

    GetConfig auto_off_delay: 120 auto_off: true in_mode: momentary

  • Hallo Lötauge,

    a.) hast du das korrigierte Script V 1.0.1.0 verwendet ?
    b.) ich habe das Script für Shelly 1 Plus freigegeben (siehe Header vomScript)

    Dieser Log-Eintrag zeigt mir, dass es kein Shelly 1 Plus sein kann, richtig ?

    {"ts":1656269094.200000,"apower":2,"event":"power_update","id":0,"component":"switch:0"} 20:44:54.213

    Genau dieser Event scheint falsch ausgewertet zu werden, da er die Variable switchState auf undefined setzt.
    Grüße Johann

  • Dieses Thema enthält 12 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind.