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

                            705
                            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