Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Tasmota: mit Schalter unterschiedliche Szenen steuern

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Tasmota: mit Schalter unterschiedliche Szenen steuern

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      puls200 @Armilar last edited by puls200

      @armilar Was meinst Du mit faul? 😉

      Ich setze mich mal parallel an Blockly.

      Edit:
      Genial! Der Tipp mit dem Zähler hat funktioniert.... mega-easy..... Vielen Dank!

      Armilar 2 Replies Last reply Reply Quote 0
      • Armilar
        Armilar Most Active Forum Testing @puls200 last edited by Armilar

        @puls200

        "Habe fertig" 😉

        ce65a6b0-cdca-47be-8068-e5aa612da82f-image.png

        <xml xmlns="https://developers.google.com/blockly/xml">
          <variables>
            <variable id="z!GKy|Q})Di=AC4a{;ru">Schalter_Zaehler</variable>
          </variables>
          <block type="variables_set" id=":Em;L);+6{SmlXSJrzvI" x="63" y="38">
            <field name="VAR" id="z!GKy|Q})Di=AC4a{;ru">Schalter_Zaehler</field>
            <value name="VALUE">
              <block type="get_value_var" id=")1?[8XsYRC#86mY)iIBF">
                <field name="ATTR">val</field>
                <value name="OID">
                  <shadow type="text" id="Q;WY/i:@I/!pO+Wd9Tgo">
                    <field name="TEXT">Datenpunkt unter 0_userdata</field>
                  </shadow>
                </value>
              </block>
            </value>
            <next>
              <block type="comment" id="M;9EMi4wCo,$u`*yJ.Gs">
                <field name="COMMENT">Trigger auf true/false vom Tasmota-Shelly POWER</field>
                <next>
                  <block type="on_ext" id="u+e+qJXmut#.6ycH^9I8">
                    <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                    <field name="CONDITION">ne</field>
                    <field name="ACK_CONDITION"></field>
                    <value name="OID0">
                      <shadow type="field_oid" id="@7$rdJMK(Ln)]T*|ZlZ5">
                        <field name="oid">default</field>
                      </shadow>
                      <block type="text" id="Xg5HV+lHf_k~QBuB-0ME">
                        <field name="TEXT">Hier der Shelly Power</field>
                      </block>
                    </value>
                    <statement name="STATEMENT">
                      <block type="math_change" id="T,p;F+NCfMG+7gW!,hPw">
                        <field name="VAR" id="z!GKy|Q})Di=AC4a{;ru">Schalter_Zaehler</field>
                        <value name="DELTA">
                          <shadow type="math_number" id="%?{~@Pz?,tH?FP(UAM2@">
                            <field name="NUM">1</field>
                          </shadow>
                          <block type="math_number" id="n4j%$B]}iixLDOReQdQA">
                            <field name="NUM">1</field>
                          </block>
                        </value>
                        <next>
                          <block type="controls_if" id="aha$x}M5F:GTsFh!]0N*">
                            <value name="IF0">
                              <block type="logic_compare" id="YwZuR#81k|J~Q_Z-mpU1">
                                <field name="OP">EQ</field>
                                <value name="A">
                                  <block type="variables_get" id="C_FdxB#jKmHrm:@?8vQ@">
                                    <field name="VAR" id="z!GKy|Q})Di=AC4a{;ru">Schalter_Zaehler</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="math_number" id="jt!Nj98C}s8ywr@clf/c">
                                    <field name="NUM">5</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <statement name="DO0">
                              <block type="variables_set" id="Ly[kg@Xr3^Mx:0H,CLmc">
                                <field name="VAR" id="z!GKy|Q})Di=AC4a{;ru">Schalter_Zaehler</field>
                                <value name="VALUE">
                                  <block type="math_number" id="$cq7bXDTT0?tHmvkI,MX">
                                    <field name="NUM">1</field>
                                  </block>
                                </value>
                              </block>
                            </statement>
                            <next>
                              <block type="control_ex" id="kE_snr^#q8J-)=/yRwk{">
                                <field name="TYPE">false</field>
                                <field name="CLEAR_RUNNING">FALSE</field>
                                <value name="OID">
                                  <shadow type="field_oid" id="E}=q6lP^!uBL^j#6v~qA">
                                    <field name="oid">Object ID</field>
                                  </shadow>
                                  <block type="text" id="oJytZV0VTk@*yv1vl^c:">
                                    <field name="TEXT">Hier wieder DP unter 0_userdata (siehe oben)</field>
                                  </block>
                                </value>
                                <value name="VALUE">
                                  <shadow type="logic_boolean" id=".OaFLgbYm`B#k8oJ]Cb=">
                                    <field name="BOOL">TRUE</field>
                                  </shadow>
                                  <block type="variables_get" id=")*)M@S*MY8ZWl[e}8o`-">
                                    <field name="VAR" id="z!GKy|Q})Di=AC4a{;ru">Schalter_Zaehler</field>
                                  </block>
                                </value>
                                <value name="DELAY_MS">
                                  <shadow type="math_number" id="OP:1]2nJ*dC3R~yxY~6`">
                                    <field name="NUM">0</field>
                                  </shadow>
                                </value>
                                <next>
                                  <block type="comment" id="iH(kFz5n0;KF^h{cB8D%">
                                    <field name="COMMENT">Entweder jetzt hier direkt weiter mit den Szenen</field>
                                    <next>
                                      <block type="comment" id="DX3qjiuR0%vJy80rafqR">
                                        <field name="COMMENT">oder separater Trigger</field>
                                        <next>
                                          <block type="logic_switch_case" id="~J`$fXe:-c6A[PhN1(:x">
                                            <mutation xmlns="http://www.w3.org/1999/xhtml" case="4"></mutation>
                                            <value name="CONDITION">
                                              <block type="variables_get" id="/:@83FSX{`BKRzF`^,=]">
                                                <field name="VAR" id="z!GKy|Q})Di=AC4a{;ru">Schalter_Zaehler</field>
                                              </block>
                                            </value>
                                            <value name="CASECONDITION0">
                                              <block type="math_number" id="2q{KdViNsyPCICK-yx[y">
                                                <field name="NUM">0</field>
                                              </block>
                                            </value>
                                            <statement name="CASE0">
                                              <block type="comment" id="-_#;Q5!=dDLxQ#-,U#V}">
                                                <field name="COMMENT">Mache alles aus</field>
                                              </block>
                                            </statement>
                                            <value name="CASECONDITION1">
                                              <block type="math_number" id="$4LM7~$@#Sa=@2p~F~gV">
                                                <field name="NUM">1</field>
                                              </block>
                                            </value>
                                            <statement name="CASE1">
                                              <block type="comment" id="-r7a`d%mUr~uo4@fhS=Z">
                                                <field name="COMMENT">Steuer Szene 1</field>
                                              </block>
                                            </statement>
                                            <value name="CASECONDITION2">
                                              <block type="math_number" id="mDEP}Y$Va+2plTA@lz_s">
                                                <field name="NUM">2</field>
                                              </block>
                                            </value>
                                            <statement name="CASE2">
                                              <block type="comment" id="0Mn3tkKGHHA-!T.jhqCa">
                                                <field name="COMMENT">Steuer Szene 2</field>
                                              </block>
                                            </statement>
                                            <value name="CASECONDITION3">
                                              <block type="math_number" id="au=O-:y`D}[)9AaIIGj#">
                                                <field name="NUM">3</field>
                                              </block>
                                            </value>
                                            <statement name="CASE3">
                                              <block type="comment" id="{=%/|Tl+k//8:O{FnWlr">
                                                <field name="COMMENT">Steuer Szene 3</field>
                                              </block>
                                            </statement>
                                            <value name="CASECONDITION4">
                                              <block type="math_number" id="enn48sZheD#StUAHf@z9">
                                                <field name="NUM">3</field>
                                              </block>
                                            </value>
                                            <statement name="CASE4">
                                              <block type="comment" id="INd]Sa(6Qv||M]f%/upx">
                                                <field name="COMMENT">Steuer Szene 4</field>
                                              </block>
                                            </statement>
                                          </block>
                                        </next>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </next>
                      </block>
                    </statement>
                  </block>
                </next>
              </block>
            </next>
          </block>
        </xml>
        

        EDIT: den Fehler kannst du behalten 😉 ... Mit 5 soll er natürlich nicht auf 1, sondern auf 0 und die letzte Szene sollte 4 sein...

        Cinimod 1 Reply Last reply Reply Quote 0
        • Armilar
          Armilar Most Active Forum Testing @puls200 last edited by

          @puls200 sagte in Tasmota: mit Schalter unterschiedliche Szenen steuern:

          Was meinst Du mit faul?

          Und ganze 14 Minuten für ne komplette Steuerung... 😂

          P 1 Reply Last reply Reply Quote 0
          • P
            puls200 @Armilar last edited by

            @armilar Sorry, aber Dein Rat mit dem Zähler war Gold wert. Bei mir funktioniert es jetzt blendend. Dennoch ist Dein Blockly hilfreich für mich, da ich mir abgucken kann, wie man etwas eleganter macht. Vor allem der Hinweis mit dem "... im Falle von 1... im Falle von 2... im Falle von 3..." wird mir in Zukunft weiterhelfen.

            Bei mir sieht es erstmal so aus:

            832000b9-1de2-4651-9615-8484d2be7cc2-grafik.png

            Ausgiebiges Testen und Fault-Injections stehen noch aus.

            BESTEN DANK!

            Armilar 1 Reply Last reply Reply Quote 0
            • Armilar
              Armilar Most Active Forum Testing @puls200 last edited by

              @puls200

              Na immer gerne 😊

              1 Reply Last reply Reply Quote 0
              • Cinimod
                Cinimod Most Active @Armilar last edited by

                @armilar

                Musst nicht schalter_zähler nach der Aktion wieder zurückgesetzt werden? Sonst zählt er doch weiter wenn ich ne stunde später nur ein mal schalte ?! Dann währe auch der teil „wenn 5 erreicht wieder zurücksetzen“ überflüssig… oder übersehe ich da was ?

                Armilar 1 Reply Last reply Reply Quote 0
                • Armilar
                  Armilar Most Active Forum Testing @Cinimod last edited by

                  @cinimod

                  Das soll er ja auch. Der schaltet nur die Gänge hoch und hinter jeder Zählernummer ist eine andere Aktion. Wenn ich auf 3 bin musst du 2x Schalten, dann ist alles aus.

                  Ich würde aber in jedem Fall in einen Datenpunkt den letzten Zustand schreiben, damit es beim Neustart dort auch weitergeht.

                  1 Reply Last reply Reply Quote 0
                  • BananaJoe
                    BananaJoe Most Active @puls200 last edited by

                    @puls200 Wenn du ein Tasmota-Gerät schaltest - also Vermutlich ein "Relais" mit Tasmota ... dann stell doch um auf Taster?

                    Ok, du musst dann alle Schalter durch Taster ersetzen die damit dran hängen (wenn es eine Wechselschaltung ist), aber der Komfortgewinn wäre doch enorm (von der Bedienung mal ganz abgesehen)

                    Armilar P 2 Replies Last reply Reply Quote 1
                    • Armilar
                      Armilar Most Active Forum Testing @BananaJoe last edited by

                      @bananajoe

                      sehe ich ebenso...

                      1 Reply Last reply Reply Quote 0
                      • P
                        puls200 @BananaJoe last edited by

                        @bananajoe Da bin ich voll und ganz bei Dir. Wesentlich komfortabler wäre das, aber ich müsste ca. 10x Schalter mit Taster ersetzen... das ist mir zu teuer, daher lieber erstmal versuchen, das Problem über die kostenlose Software zu lösen... 😉

                        Aber Du hast Recht, irgendwann wechsel ich komplett auf Taster.

                        BananaJoe 1 Reply Last reply Reply Quote 0
                        • BananaJoe
                          BananaJoe Most Active @puls200 last edited by

                          @puls200 also wenn es ein "Marken" Schalterprogramm ist ... ein Busch-Jaeger Taster kostet z.B. keine 6 Euro und Rahmen + Abdeckung kannst du weiter verwenden (Also "nackt" kaufen).

                          Mir wäre das die 60 Euro Wert anstatt zu versuchen innerhalb einer Zeit schnell genug und in der richtigen Anzahl zu schalten. Könnte aber gut für die Geschicklichkeit sein.

                          Und damit die Verbraucher nicht leiden müsstest du Schalter und Relais entkoppeln und somit nur über ioBroker schalten der ja bitteschön erst mal zählt wie oft geschaltet wurde.

                          Taster funktioniert auch ohne ioBroker nativ zwischen den Geräten (nur WLAN muss laufen), der normale Schaltvorgang funktioniert aber auch ohne WLAN.

                          1 Reply Last reply Reply Quote 0
                          • soRai
                            soRai @BananaJoe last edited by soRai

                            @bananajoe said in Tasmota: mit Schalter unterschiedliche Szenen steuern:

                            @puls200 Also, Ich nutze bei mir das normale Schalten und langes Drücken. Ob "Doppelklick" ginge müsste ich erst einmal recherchieren ...

                            Ich zitiere mal von meiner Webseite: https://znil.net/index.php?title=Shelly_1_mit_Tasmota_als_Stromstossschalter_Ersatz#Bei_HOLD_anderes_Tasmota-Ger.C3.A4t_schalten

                            Statt der Auswertung per MQTT kann der Shelly auch direkt auf einen langen Tastendruck reagieren und einen anderen Shelly mit Tasmota-Firmware schalten.
                            Ich nutze das für die Nachtischlampen - bei mir ist neben dem Bett auf jeder Seite ein Taster welcher die jeweilige Nachtischlampe ein- oder ausschaltet.
                            Drückt man nun lange (in diesem Beispiel > 3 Sekunden) auf den Taster wird nun die Lampe auf der anderen Seite geschaltet.

                            SwitchMode 6
                            SwitchTopic 0
                            SetOption32 3
                            SetOption13 0
                            Rule1 ON Switch1#State=3 DO WebSend [192.168.1.114,admin:test1234] POWER TOGGLE ENDON
                            Rule1 1
                            

                            SwitchMode 6 ist der Tastermodus (wie 4), aktiviert aber auch die Auswertung des "Long Press".
                            SwitchTopic 0 deaktiviert das Senden per MQTT, sonst ist die lokale Auswertung in einer RULE nicht möglich
                            SetOption32 3 setzt die Zeit für einen langen Tastendruck auf 3 Sekunden. Alles darunter schaltet nur um.
                            SetOption13 0 sorgt dafür das er erst wartet wir lange gedrückt wurde und erst dann reagiert.
                            Rule1 ON Switch1#State=3 DO WebSend [192.168.1.114,admin:test1234] POWER TOGGLE ENDON bedeutet folgendes:
                            ON Switch1#State=3 wenn der HOLD Status ermittelt wurde (siehe https://tasmota.github.io/docs/Rules/#rule-trigger)
                            DO dann tue folgendes ...
                            WebSend [192.168.1.114,admin:test1234] POWER TOGGLE sende an das Geräte 192.168.1.114 mit dem Benutzer admin und dem Passwort test1234 den Befehl TOGGLE = von an auf aus oder umgekehrt wechseln. Ist der andere Tasmota nicht mit einem Passwort geschützt so lasst den Teil nach dem Komma weg, die IP muss aber trotzdem in eckige Klammern
                            ENDON = Ende der Anweisung
                            Rule1 1 Aktiviert die Regel auch, ansonsten steht die da nur und wird nicht ausgeführt

                            Ich kann jetzt super meinen 2. Shelly schalten (egal ob Short or Long press) aber den "eigentlichen" Shelly, der schaltet nun nicht mehr... :S Was mach ich falsch?

                            edit Rausgefunden... Mittlerweile wird anscheinend SetOption32 nicht in Sek sondern Sek / 10 (1= 0.1 Sek) angegeben...

                            Allerdings reagiert er trotzdem noch beim "normalen" Schalten auf hold .... UND schaltet nur alle 1-2 Versuche und parallel schaltet sich der andere Shelly mit.. Ideen?!

                            BananaJoe 1 Reply Last reply Reply Quote 0
                            • BananaJoe
                              BananaJoe Most Active @soRai last edited by

                              @sorai Öhm, was genau willst du machen?
                              Die von dir zitierte Anleitung dient der folgenden Funktion:

                              • Kurzer druck schaltet das direkt angeschlossene Gerät/Licht
                              • Langer druck (Hold) schaltet ein anderes Tasmota-Gerät

                              Das mit der SetOption32 ... mhh lauf der offziellen Anleitung, ja es sind inzwischen 0.1 Sekunden-Schritte.
                              Bei läuft es überall wo ich es einsetzt noch mit einer 3, in einem Zimme rnutze ich 5. wenn ich drüber nachdenke sind es keine 5 Sekunden, muss ich mal beobachten. In meiner Anleitung auf meiner Webseite habe ich mal einen Hinweis dazu eingebaut.

                              Das habe ich neulich noch nach meiner eigenen Anleitung eingerichtet.
                              Die Rule reagiert ja auf ON Switch1#State=3
                              Und das ist Hold laut Dokumentation:
                              60323010-a4d0-4635-bc65-698f7984b526-image.png
                              https://tasmota.github.io/docs/Rules/#rule-trigger
                              Hast du noch mehr Rules laufen?

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              710
                              Online

                              31.7k
                              Users

                              79.8k
                              Topics

                              1.3m
                              Posts

                              5
                              21
                              1870
                              Loading More Posts
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes
                              Reply
                              • Reply as topic
                              Log in to reply
                              Community
                              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                              The ioBroker Community 2014-2023
                              logo