Shelly1, langer und kurzer Tastendruck

  • Hallo,

    ich habe meine Eltakkos gegen Shelly1 ausgetauscht und mit PulseTime 280 auf 3 Minuten eigerichtet.

    Kann mir jemand die genauen Eintragungen in der Konsole aufzeichen (aufschreiben), wie man den Shelly1 einstellt

    wenn mann einen langen Tastendruck für Dauerlicht und einen kurzen Tastendruck für PulseTime <x>

    nutzen will?

    Für solche Sachen bin ich einfach zu :thumbdown::/ :cursing: (auf deutsch blöde)

    Schon mal Danke im voraus!!!

    Gruß Oppa Henry

  • Hi, bereits erledigt oder noch gefragt?


    dann:


    ### Gerätetyp Shelly 1 (46)

    ### mit Taster (nicht Wipp-Schalter)


    # bei 1x kurz Drücken -> Licht ein für 3 Minuten (RuleTimer1 180)

    # bei > 2 sec Drücken -> Dauerlicht ein/aus (toggle)

    Code
    PulseTime1 0
    SetOption1 1
    SetOption32 20
    SwitchMode1 6
    SwitchTopic1 0
    Rule1 1
    Rule1 on Switch1#State=3 do Power1 2 endon on Switch1#State=2 do backlog Power1 1; RuleTimer1 180 endon on Rules#Timer=1 do Power1 0 endon

    Jede Zeile extra in die Konsole eingeben und mit <Enter> abschicken.


    MQTT muss aktiviert sein und PulseTime1 0 (aus).


    Die Zeiten 2 sec, 3 min können natürlich angepasst werden und ob bei

    langem Drücken umgeschaltet werden soll oder immer nur ein.


    LG

  • @ NoitaercX

    ich habe es Xmal versucht und auch über Reset, Reset 5 usw wieder gelöscht und neu gestartet. Es funzt einfach nicht.

    Unten habe ich mal die Kopie aus der Konsole eingefügt (XYZ-Test.txt) und das Einschalten mit kurzem und langem Tastendruck (kurz und lang Einschalten.txt), vielleicht kanstt du da etwas rauslesen.

    Gruß

  • hmm, scheint als ob es bei dir kein kurzes Tasten gibt, nur langes.


    hab es mal versucht nachzustellen und extra 6.5.0 auf den Shelly geladen,

    ist mir aber nicht gelungen - hab keine Einstellung gefunden, die da querschießen könnte

    und funktioniert bei mir sofort, wie es soll (auch ohne MQTT Konfig., wie bei dir):



    Da wird dann wohl mal ganz Löschen und mit einer fertigen .bin ab v6.6.0 probieren notwendig.


    LG

  • Hi, die Rule scheint zumindest mal zu laufen und auf longpress zu reagieren.


    Sind da auch wirklich Taster (nicht Schalter) vorhanden und

    angeschlossen als Schließer (nicht Öffner), denn irgendwie deutet es darauf hin.


    Man kann auch mal die Zeit fürs lange Drücken auf z.B. 5sec erhöhen SetOption32 50

    und schauen, ob dann ein "kurzes" Drücken gelingt.

  • Hallo NoitaercX,

    shame on me!

    Als alter Elektokomiker habe ich einen Serienschalter mit zwei Kugelschreiberminenfedern zum Serientaster umgebaut. Ich Riesenhornvieh habe nicht auf die Richtung geachtet und einfach benutzt ohne vorher zu testen. Danke für deinen Hinweis.

    Bisschen komisch kam's mir ja vor......?(

    Teste gleich mal und gebe dann Bescheid.

  • Hallo , NoitaercX ich schon wieder mit einer neuen Frage!

    Anbei mal die Zeichnung für meine (neue!) Terassen/Garten Beleuchtungsschaltung.

    Hierzu die Erklärug:

    Mit den Tasten möchte ich die Lampen immer ein und aus schalten können (auch wenn die Zeit vom Longpress läuft).

    Die Bewegungsmelder sollen über den dritten Shelly1 (Sonnenuntergang/Sonnenaufgang) scharfgeschaltet werden

    und als Longpress (Einstellung am PIR auf 2-3 Sekunden) funktionieren und über eine eingestellte Zeit am Shelly) wieder ausschalten.

    Ein erneutes Signal vom PIR in der Ablaufzeit darf nichts bewirken.

    Wäre so etwas mit RULES zu realisieren? Du weist, ich habe auf diesem Gebiet Null Ahnung. :rolleyes:

    Es darf sich aber auch jeder dazu äußern, der mir sagen kann, wie die RULES zu schreiben sind und in Konsole eingetragen werden. :thumbup:


    Gruß Oppa Henry



  • Ich schreib hier mal, was ich bisher mit den Regeln gemacht habe. Bei mir ist die Ausgangslage ein Shelly 1, der einen Eltako ersetzen wird. Und zwar für das Licht im Treppenhaus. Hier sind verschiedene Taster verteilt. Dazu ist der aktuelle Stand der folgende:


    Code
    SwitchMode 6
    SetOption32 20
    BlinkCount 1
    BlinkTime 2
    Rule1 on switch1#state=2 do backlog power1 on; RuleTimer1 120 endon on Rules#Timer=1 do power1 off endon
    Rule1 1
    Rule2 on switch1#state=3 do backlog power1 on; RuleTimer1 600; power1 3 endon on Rules#Timer=1 do power1 off endon
    Rule2 1

    BlinkCount und BlinkTime sind hier, wo es eher um die Regeln geht, eher nebensächlich. SwitchMode allerdings nicht, da nur SwitchMode 5 und 6 einen Long Press bieten. SetOption32 setzt die Zeit, die ein langer Druck gehen soll, in dem Fall 2 Sekunden.


    Und die Regeln, gut... Drückt man kurz, passiert Rule 1. Drückt man lang, passiert Rule 2.


    Rule 1 setzt den Timer 1 auf 120 Sekunden und macht nach den 120 Sekunden das Licht wieder aus.


    Rule 2 setzt den Timer 1 auf 600 Sekunden (so kann man auch nach einem kurzen Drücker mit einem langen Drücker die längere Zeitspanne aktivieren), lässt das Licht einmal kurz blinken zur visuellen Bestätigung und macht dann nach 600 Sekunden das Licht wieder aus.


    Soweit, so gut. Nun kann man die Regeln auch zusammenfassen zu einer, das ist mir klar. So fand ich's allerdings erstmal übersichtlich.


    Leider ist es mir nicht gelungen, mit den Bordmitteln (also standardmäßig kein IF ELSE möglich) das besser hinzubekommen. Denn eigentlich hätte ich gerne, dass die aktuellen Regel 1 nur ausgeführt werden kann, wenn das Licht im Moment ausgeschaltet ist. Denn dann könnte ich mit einem kurzer Drücker das Licht sowohl bei aktivem Counter 120 und auch 600 (von Regel 2) wieder abschalten. Dazu brauche ich irgendwie IF ELSE, denke ich zumindest. Heißt Tasmota mit der Option #define SUPPORT_IF_STATEMENT zu kompilieren...


    Oder hat da jemand ne bessere Idee? Auch generell? Habe mich die Tage erstmalig mit den Regeln befasst und das mag daher noch ziemlich simpel und primitiv sein. ;-)


    Danke und viele Grüße,

    Roi

  • bessere Idee? Auch generell?

    Hi, es gibt mehrere Umwege um ein If..then... zu erreichen,


    hier z.B. mit einer weiteren Rule, die deine Rule1 entsprechend aktiviert bzw. deaktiviert...

    Rule3 on Power1#State=0 do Rule1 1 endon on Power1#State=1 do Rule1 0 endon


    Möchte man das Ganze komfortabler und nahezu ohne Grenzen,

    sollte man sich besser gleich den Script Editor anschauen:

    script editor für Tasmota

    https://github.com/arendst/Tasmota/wiki/Scripting-Language

  • Danke für die Infos. Und auch die Impression, die Rule(s) auszuschalten bei einem bestimmten Ereignis. Aktuell schauen die Rules bei mir nun so aus:


    Rule1 on Switch1#State=2 do backlog Power1 on; RuleTimer1 120 endon on Rules#Timer=1 do Power1 off endon

    Rule2 on Switch1#State=2 do backlog Power1 off endon

    Rule3 on Switch1#State=3 do backlog Power1 on; RuleTimer1 600; Power1 3 endon on Rules#Timer=1 do Power1 off endon

    Rule4 on Power1#State=0 do Rule1 1; Rule2 0 endon on Power1#State=1 do Rule1 0; Rule2 1 endon


    Würde super funktionieren, wenn ich 4 Rules hätte. Mist...


    Spontane Idee?


    Das Thema Scripte ist halt das gleiche Thema wie IF ELSE. Dazu muss ich ein eigenes Image machen für den Shelly. Oder hat da jemand ein passendes Image vorliegen? Und verlier ich da die anderen Einstellungen, die ich schon gemacht habe?