Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Dimmen mit Ikea Zigbee Lichttaster

    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

    Dimmen mit Ikea Zigbee Lichttaster

    This topic has been deleted. Only users with topic management privileges can see it.
    • stefan999
      stefan999 last edited by

      der Lichttaster von Ikea sendet bei einem kurzen Tastendruck über meinen zigbee2mqtt-Stick eine Nachricht.
      Über ein Script ordne ich diese User-Variablen zu.
      Funktioniert soweit gut.
      Zum Dimmen muss ich aber mehrmals eine Taste betätigen.
      Gibt es eine Möglichkeit den Finger drauf zu lassen und die Variable für Helligkeit zählt langsam hoch?

      licht.jpg datenp.jpg

      on( // Ikea Lichttaster 1
          {id: 'mqtt.0.zigbee2mqtt.0x5c0272fffe33314b', change: "any"}, function () {        
          var x = (getState('mqtt.0.zigbee2mqtt.0x5c0272fffe33314b').val);   
          var x2 = JSON.parse(x).action;   
          //console.log(x2);
          var y = '0_userdata.0.Lichttaster_Ikea_1.Helligkeit';
          var z = '0_userdata.0.Lichttaster_Ikea_1.Farbton';
          var e = '0_userdata.0.Lichttaster_Ikea_1.EIN';
      
          if(x2 == 'brightness_up_click')     setState(y, getState(y).val + 10);
          if(x2 == 'brightness_down_click')   setState(y, getState(y).val - 10);
          if(x2 == 'arrow_right_click')       {setState(z, getState(z).val + 1); if (getState(z).val >9) setState(z,1);}
          if(x2 == 'arrow_left_click')        {setState(z, getState(z).val - 1); if (getState(z).val <2) setState(z,10);}
          if(x2 == 'toggle')                  setState(e, !getState(e).val);     
      });
      
      paul53 1 Reply Last reply Reply Quote 0
      • arteck
        arteck Developer Most Active last edited by arteck

        @stefan999 sagte in Dimmen mit Ikea Zigbee Lichttaster:

        zigbee2mqtt-Stick

        mal zur Aufklärung . zigbee2mqtt ist ein software Projekt das Hardware nutzt..?? mach bitte ein foto von deinem coordinator

        ausserdem warum nutzt du nicht den zigbee adapter für dein vorhaben`?

        stefan999 1 Reply Last reply Reply Quote 0
        • stefan999
          stefan999 @arteck last edited by

          @arteck
          ist ein CC2531 hier ein Foto cc2531.jpg

          Meine Selbstbaugeräte sollen mqtt über zigbee nutzen, einfach weil ich denke das wird sich durchsetzen.
          Bisher haben auch alle gekauften Geräte mit mqtt funktioniert, im Gegensatz zum zigbee-Adapter!
          Und einen zweiten Stick einstecken mit Z-Stack-firmware? Weiss nicht ob es da Probleme gibt und mein Problem wird es auch nicht lösen - oder?
          Ich gehe dann mal davon aus daß es nicht geht.

          arteck 1 Reply Last reply Reply Quote 0
          • arteck
            arteck Developer Most Active @stefan999 last edited by

            @stefan999 das ist ein cc2531..

            ich würde dir empfehlen sich mit dem Thema ein wenig zu befassen.. du vermischt mehrere Themen..

            mqtt ist ein kommunikationsprotokoll was iobroker unterstützt.. nicht mehr nicht weniger..

            Und einen zweiten Stick einstecken mit Z-Stack-firmware?

            was willst du mdamit sagen.. auf deinem Stick ist diese Firmware drauf..

            stefan999 1 Reply Last reply Reply Quote 0
            • stefan999
              stefan999 @arteck last edited by

              @arteck
              nein auf meinem Stick ist zigbee2mqtt (https://github.com/Koenkk/zigbee2mqtt) deshalb nenne ich ihn
              "zigbee2mqtt-Stick". Ich dachte das ist verständlich ich nutze ja auch den mqtt-Adapter.

              Wenn ich zusätzlich den zigbee-Adapter nutzen würde, müsste ich einen zweiten Stick mit Z-Stack geflasht als Coordinator einsetzen. Das erscheint mir nicht sinnvoll.

              Ich denke wir reden aneinander vorbei - das alles hat nichts mit dem SW-Problem zu tun! Die Verbindung funktioniert ja perfekt.

              arteck 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @stefan999 last edited by

                @stefan999 sagte Gibt es eine Möglichkeit den Finger drauf zu lassen und die Variable für Helligkeit zählt langsam hoch?

                Ändert sich der JSON-DP bei Loslassen einer Taste?

                1 Reply Last reply Reply Quote 0
                • arteck
                  arteck Developer Most Active @stefan999 last edited by arteck

                  @stefan999 sagte in Dimmen mit Ikea Zigbee Lichttaster:

                  zigbee2mqtt

                  es gibt keine zigbee2mqtt Firmware.. und nein wir reden nicht aneinander vorbei.. du solltest erstmal Grundwissen haben und erfahren wie es funktioniert bevor du dich mit komplexen sachen beschäftigst..

                  und so entsteht gefährliches Halbwissen..... aber da schisnt du mehr Ahnung haben als ich ..

                  @paul53 ja der sendet ein toggle_hold...was wir auch im zigbee adapter haben

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @arteck last edited by

                    @arteck sagte: der sendet ein toggle_hold

                    @stefan999 Dann kann ein Intervall verwendet werden, das bei "toggle_hold" gestoppt wird.

                    stefan999 1 Reply Last reply Reply Quote 0
                    • stefan999
                      stefan999 @paul53 last edited by stefan999

                      @paul53
                      Danke Paul, das war schon der Hinweis den ich gebraucht habe.
                      Er sendet ein und ein "brightness_up_hold" beim Drücken und ein "brightness_up_release" beim Loslassen.
                      Ich hatte das übersehen.
                      Und sorry wenn ich mich mit den ganzen Begriffen noch nicht so auskenne.
                      Aber Paul hat ja mein Problem dann doch erkannt 👍

                      so geht es

                      var timer= null;
                      on( // Ikea Lichttaster 1
                          {id: 'mqtt.0.zigbee2mqtt.0x5c0272fffe33314b', change: "any"}, function () {        
                          var x = (getState('mqtt.0.zigbee2mqtt.0x5c0272fffe33314b').val);   
                          var x2 = JSON.parse(x).action;  
                            
                          //console.log(x2);
                          var y = '0_userdata.0.Lichttaster_Ikea_1.Helligkeit';
                          var z = '0_userdata.0.Lichttaster_Ikea_1.Farbton';
                          var e = '0_userdata.0.Lichttaster_Ikea_1.EIN';
                      
                          if(x2 == 'brightness_up_click')     setState(y, getState(y).val + 10);
                          if(x2 == 'brightness_down_click')   setState(y, getState(y).val - 10);
                          
                          if(x2 == 'brightness_up_hold')      {
                              timer = setInterval(function(){ setState(y, getState(y).val + 5);}, 500);   
                              if (getState(y).val == 100) clearInterval(timer); } 
                          if(x2 == 'brightness_up_release') {
                              console.log(x2);
                              clearInterval(timer);  }
                      
                          if(x2 == 'brightness_down_hold')      {
                              timer = setInterval(function(){ setState(y, getState(y).val - 5);}, 500);   
                              if (getState(y).val < 1) clearInterval(timer); } 
                          if(x2 == 'brightness_down_release') {
                              console.log(x2);
                              clearInterval(timer);  }    
                      
                          if(x2 == 'arrow_right_click')       {setState(z, getState(z).val + 1); if (getState(z).val >9) setState(z,1);}
                          if(x2 == 'arrow_left_click')        {setState(z, getState(z).val - 1); if (getState(z).val <2) setState(z,10);}
                          if(x2 == 'toggle')                  setState(e, !getState(e).val);     
                      });
                      
                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      757
                      Online

                      31.8k
                      Users

                      80.0k
                      Topics

                      1.3m
                      Posts

                      3
                      9
                      420
                      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