Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Einbindung von Geräten
    5. Zigbee Scene button als Schalter

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Zigbee Scene button als Schalter

    This topic has been deleted. Only users with topic management privileges can see it.
    • Codierknecht
      Codierknecht Developer Most Active @Gutty last edited by

      @gutty
      Prinzipiell sollte das so funktionieren - ungetestet!

      on({id: "tuya.0.LoraTap.click", change: "ne"}, async function (obj) {
        var value = obj.state.val;
        if(value == 0) {
            setState("tuya.0.DeineLampe.On", !getState("tuya.0.DeineLampe.On").val, false); 
        }
      }
      
      G 1 Reply Last reply Reply Quote 0
      • G
        Gutty @Codierknecht last edited by Gutty

        @codierknecht ja, das wäre ja zu einfach.
        Der Wert 0 ändert sich ja nicht, der Datenpunkt bleibt einfach auf 0. Ich habe ausprobiert und ihn nach setState auf 4 gestellt, das ein erneuter click ihn wieder auf 0 stellt. Das schien zu gehen, nur dummerweise schickt das gateway(?) alle paar Sekunden oder Minuten immer wieder 0, was dann die Lampe unerwünscht schaltet. Click und doppelclick bringen das erwünschte Ergebnis, aber schlechter WAF.

        Codierknecht 1 Reply Last reply Reply Quote 0
        • Codierknecht
          Codierknecht Developer Most Active @Gutty last edited by

          @gutty
          OK, dann steht also in dem DP nur der zuletzt abgesetzte Wert und wird zu allem Übel auch noch vom Gateway ständig aktualisiert.
          Gibt es noch einen anderen DP, der sich wirklich nur beim Click ändert?
          Auf den könnte man triggern und aus dem Status dann einfach lesen, ob 1x, 2x oder 2x geklickt wurde.

          G 1 Reply Last reply Reply Quote 0
          • G
            Gutty @Codierknecht last edited by

            @codierknecht Nein, dummerweise nicht. Kurioserweise kann ich aber in der Smart life app ohne iobroker per einfachem click eine Steckdose toggeln.

            Codierknecht 1 Reply Last reply Reply Quote 0
            • Codierknecht
              Codierknecht Developer Most Active @Gutty last edited by

              @gutty
              Und was passiert dann am DP?
              Ändert der (vielleicht nur für einen Augenblick) mal den Wert?

              Log doch mal mit was da so passiert:

              on({id: "tuya.0.LoraTap.click", change: "any"}, async function (obj) {
                console.log('Auslöser: ' + obj.state.from);
                console.log('Wert: ' + obj.state.val);
              }
              
              G 1 Reply Last reply Reply Quote 0
              • G
                Gutty @Codierknecht last edited by

                @codierknecht sagte in Zigbee Scene button als Schalter:

                Also, ich habe das Skript geändert zu

                console.log("Routine gestartet");
                
                on({id: 'tuya.0.bf0a3a1dcb9c1a20d5clm5.1'/*switch type 1*/, change: "any"}, async function (obj) {
                
                  console.log('Auslöser: ' + obj.state.from);
                
                  console.log('Wert: ' + obj.state.val);
                
                });
                

                Dann um 12:07:50 den Knopf gedrückt:

                6.4.2023, 12:07:46.559	[info ]: javascript.0 (97325) Stop script script.js.Ordner_1.Taster1
                6.4.2023, 12:07:46.564	[info ]: javascript.0 (97325) Start javascript script.js.Ordner_1.Taster1
                6.4.2023, 12:07:46.570	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Routine gestartet
                6.4.2023, 12:07:46.570	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: registered 1 subscription, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                6.4.2023, 12:07:50.848	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Auslöser: system.adapter.tuya.0
                6.4.2023, 12:07:50.848	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Wert: 0
                6.4.2023, 12:08:07.225	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Auslöser: system.adapter.tuya.0
                6.4.2023, 12:08:07.225	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Wert: 0
                6.4.2023, 12:08:07.362	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Auslöser: system.adapter.tuya.0
                6.4.2023, 12:08:07.362	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Wert: 0
                6.4.2023, 12:09:07.480	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Auslöser: system.adapter.tuya.0
                6.4.2023, 12:09:07.480	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Wert: 0
                6.4.2023, 12:09:07.637	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Auslöser: system.adapter.tuya.0
                6.4.2023, 12:09:07.637	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Wert: 0
                6.4.2023, 12:10:07.855	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Auslöser: system.adapter.tuya.0
                6.4.2023, 12:10:07.855	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Wert: 0
                6.4.2023, 12:10:07.992	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Auslöser: system.adapter.tuya.0
                6.4.2023, 12:10:07.992	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Wert: 0
                6.4.2023, 12:11:08.104	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Auslöser: system.adapter.tuya.0
                6.4.2023, 12:11:08.104	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Wert: 0
                6.4.2023, 12:11:08.250	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Auslöser: system.adapter.tuya.0
                6.4.2023, 12:11:08.250	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Wert: 0
                6.4.2023, 12:12:08.369	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Auslöser: system.adapter.tuya.0
                6.4.2023, 12:12:08.369	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Wert: 0
                6.4.2023, 12:12:08.512	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Auslöser: system.adapter.tuya.0
                6.4.2023, 12:12:08.512	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Wert: 0
                6.4.2023, 12:13:08.712	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Auslöser: system.adapter.tuya.0
                6.4.2023, 12:13:08.712	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Wert: 0
                6.4.2023, 12:13:08.859	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Auslöser: system.adapter.tuya.0
                6.4.2023, 12:13:08.859	[info ]: javascript.0 (97325) script.js.Ordner_1.Taster1: Wert: 0
                

                Und wie man sieht, feuert der Adapter jede Minute erneut den Wert 0.
                Mache ich dann einen Doppelclick, ändert sich der wert auf 1 und wird auch immer wieder gefeuert.

                Codierknecht 1 Reply Last reply Reply Quote 0
                • Codierknecht
                  Codierknecht Developer Most Active @Gutty last edited by

                  @gutty
                  Dann sieht das mit dem einfachen Klick alleine schlecht aus.
                  Eine Änderung von "any" nach "ne" hilft ja auch nicht - der Wert ändert sich ja nicht.

                  Was natürlich problemlos gehen sollte, wäre mit 1 Klick ein- und mit Doppelklick ausschalten.
                  Aber das ist ja nicht das was Du willst.

                  G 2 Replies Last reply Reply Quote 0
                  • G
                    Gutty @Codierknecht last edited by Gutty

                    @codierknecht ja, mit einfachem und doppel click, das geht, und so habe ich es momentan. Aber das ist auch Mist. Wenn ich über einfachen click einschalte, und z.B. über Siri ausschalte, geht die Lampe ja durch die Wiederholung des Schaltzustandes wieder an. Das muss ich noch rausprogrammieren.

                    1 Reply Last reply Reply Quote 0
                    • G
                      Gutty @Codierknecht last edited by Gutty

                      @codierknecht Ich habe einen unschönen Workaround gefunden. Die Tasmota geflashte S20 habe ich gegen ein Tuya Smart Plug (die man nicht mehr Tasmota flashen kann) getauscht. Den kann ich in der App und mit der Remote control (Scene Button) toggeln und gleichzeitig per IoBroker abrufen und steuern.

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        toralt @Gutty last edited by

                        @gutty wenn ich das jetzt nicht völlig falsch verstehe, dann willst Du doch einfach den Taster kurz drücken, dann Licht an, dann wieder drücken, dann Licht wieder aus, korrekt?

                        Dann wäre doch der Workaround,
                        wenn Status 1 und Licht aus, mache Licht an
                        und das Gegenteil wäre dann,
                        wenn Status 1 und Licht an, dann mache Licht aus

                        So mache ich das mit den HueWall Switches, welche auch nur kurz eine Wertänderung haben.

                        G 1 Reply Last reply Reply Quote 0
                        • G
                          Gutty @toralt last edited by Gutty

                          @toralt Nein, das geht bei dem Button nicht.
                          Es gibt 3 Zustände (enum, 0-2):
                          0 = einfacher Click
                          1 = Doppelclick
                          2 = longpress

                          der Datebpunkt im IoBroker ändert sich nicht, wenn man ein weiteres mal clickt. Er bleibt auf 0. Erschwerdend kommt hinzu, dass vom Zigbee Gateway, wo der Taster dran hängt, alle Minute der aktuelle Zustand (in meinem Fall 0) gesendet wird. Also ich setze manuell in Objekte den Zustand auf z.B. 5, ist er eine Minute später automatisch wieder auf 0 und es wird ungewollt die Schaltaktion ausgelöst, da ja eine Zustandsänderung erkannt wird.
                          Der Zustand bleibt solange auf 0, bis ein Doppelclick oder longpress erkannt wird. Deswegen geht ja auch click=einschalten, doppelclick = ausschalten

                          Gibt es bei Ali o.ä. Zigbee Taster, die einfach nur 0/1 toggeln?

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          397
                          Online

                          31.9k
                          Users

                          80.2k
                          Topics

                          1.3m
                          Posts

                          3
                          12
                          596
                          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