Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. [WLED] LED streifen (WS2812B,WS2811,SK6812,APA102) bedienen

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [WLED] LED streifen (WS2812B,WS2811,SK6812,APA102) bedienen

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      bigd-73 last edited by bigd-73

      Hallo,

      ich hab mir jetzt mal mit einem Script geholfen. Es überwacht den Datenpunkt in
      den der Color Picker den Hex Wert schreibt. Bei Änderung wandelt eine Funktion
      den Hex Wert in einen RGB Zahlenwert und schreibt den Wert mit Komma getrennt in den Wled Adapter Datenpunkt.

      // Hex to RGB
      function hexToRgb(hex) {
        var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
        return result ? {
          r: parseInt(result[1], 16),
          g: parseInt(result[2], 16),
          b: parseInt(result[3], 16)
        } : null;
      }
      
      // Bei Änderung der Hilfsvariable für den Vis Color Picker
      on({id: "javascript.0.TaxerSmartHome.wled.bcddc22a6c39.seg.0.col.Farbe", change: "ne"}, function (obj) {
         setState("wled.0.bcddc22a6c39.seg.0.col.0", hexToRgb(getState("javascript.0.TaxerSmartHome.wled.bcddc22a6c39.seg.0.col.Farbe").val).r + ',' + hexToRgb(getState("javascript.0.TaxerSmartHome.wled.bcddc22a6c39.seg.0.col.Farbe").val).g + ',' + hexToRgb(getState("javascript.0.TaxerSmartHome.wled.bcddc22a6c39.seg.0.col.Farbe").val).b);
      });
      
      // Scriptstart
      setState("wled.0.bcddc22a6c39.seg.0.col.0", hexToRgb(getState("javascript.0.TaxerSmartHome.wled.bcddc22a6c39.seg.0.col.Farbe").val).r + ',' + hexToRgb(getState("javascript.0.TaxerSmartHome.wled.bcddc22a6c39.seg.0.col.Farbe").val).g + ',' + hexToRgb(getState("javascript.0.TaxerSmartHome.wled.bcddc22a6c39.seg.0.col.Farbe").val).b);
      
      

      SG
      Mario

      joergeli 2 Replies Last reply Reply Quote 1
      • joergeli
        joergeli @bigd-73 last edited by

        @bigd-73
        Funktioniert einwandfrei.
        Danke dafür!

        B 1 Reply Last reply Reply Quote 0
        • B
          bigd-73 last edited by bigd-73

          Hallo,

          seit dem Update auf die Adapterversion 0.1.4 bzw. 0.1.5 werden meine beiden Wled Wemos
          nicht mehr gefunden. Bei den Controllern hat sich von gestern auf heute in der
          Config nichts geändert. Adapter bleibt gelb.

          Hier das Log:

          wled.0	2020-02-11 18:28:19.325	debug	(25804) Write value : false
          wled.0	2020-02-11 18:28:19.325	warn	(25804) State attribute definition missing for + Connection
          wled.0	2020-02-11 18:28:19.325	debug	(25804) Create_state called for : info.connection with value : false
          wled.0	2020-02-11 18:28:19.311	info	(25804) starting. Version 0.1.5 in /opt/iobroker/node_modules/iobroker.wled, node: v10.18.0
          

          Auf die Version 0.1.2 kann ich nicht downgraden, trotz Auswahl. Es bleibt die 0.1.5 stehen.

          SG
          Mario

          Dutchman 2 Replies Last reply Reply Quote 0
          • B
            bigd-73 @joergeli last edited by

            @joergeli sagte in [WLED] LED streifen (WS2812B,WS2811,SK6812,APA102) bedienen:

            @bigd-73
            Funktioniert einwandfrei.
            Danke dafür!

            gerne ...

            1 Reply Last reply Reply Quote 0
            • Dutchman
              Dutchman Developer Most Active Administrators @bigd-73 last edited by

              ich kenne diese hex function und werde sie einbauen. muss den code oben aber im adapter noch bissl optimalisieren.
              Den der. RGB wert kan ja in iobroker aber auch WLED geändert werde, diese Datenpunkt muss nach beiden Seite synchronisieren.

              Aber don't worry, naaste version spätestens morgen hats drin.

              es kommt. jetzt erstmal ne 0.1.5, diese ist dafuer im WLED per admin installierbar zu haben (also nicht mehr per github)

              version 0.1.6. werde ich RGB > Hex / Hex > RGB mitnehmen

              B 1 Reply Last reply Reply Quote 0
              • Dutchman
                Dutchman Developer Most Active Administrators @bigd-73 last edited by

                @bigd-73 sagte in [WLED] LED streifen (WS2812B,WS2811,SK6812,APA102) bedienen:

                seit dem Update auf die Adapterversion 0.1.4 bzw. 0.1.5 werden meine beiden Wled Wemos

                hmm seltsam in der scan funtkion hat sich nichts geändert ich kann es auch nicht reproduzieren.
                Schermafbeelding 2020-02-12 om 09.30.06.png

                @bigd-73 sagte in [WLED] LED streifen (WS2812B,WS2811,SK6812,APA102) bedienen:

                Auf die Version 0.1.2 kann ich nicht downgraden, trotz Auswahl. Es bleibt die 0.1.5 stehen.

                1.3 war eine Zwischenversion, darum gibts die nicht auf NPM aber 1.4 müsste gehen

                Schermafbeelding 2020-02-12 om 09.31.31.png

                B 1 Reply Last reply Reply Quote 0
                • B
                  bigd-73 @Dutchman last edited by

                  @Dutchman sagte in [WLED] LED streifen (WS2812B,WS2811,SK6812,APA102) bedienen:

                  ich kenne diese hex function und werde sie einbauen. muss den code oben aber im adapter noch bissl optimalisieren.
                  Den der. RGB wert kan ja in iobroker aber auch WLED geändert werde, diese Datenpunkt muss nach beiden Seite synchronisieren.

                  Aber don't worry, naaste version spätestens morgen hats drin.

                  es kommt. jetzt erstmal ne 0.1.5, diese ist dafuer im WLED per admin installierbar zu haben (also nicht mehr per github)

                  version 0.1.6. werde ich RGB > Hex / Hex > RGB mitnehmen

                  ... keinen Stress. Danke für die Mühe.

                  SG
                  Mario

                  1 Reply Last reply Reply Quote 0
                  • B
                    bigd-73 @Dutchman last edited by bigd-73

                    @Dutchman sagte in [WLED] LED streifen (WS2812B,WS2811,SK6812,APA102) bedienen:

                    1.3 war eine Zwischenversion, darum gibts die nicht auf NPM aber 1.4 müsste gehen

                    Sorry, Schreibfehler. Ich meinte die 1.2er. Auf die kann ich nicht zurück gehen. Genauso wenig wie auf die 1.4er.
                    Warscheinlich bin ich nur zu blöd dafür. Ich drücke auf den Button "Bestimmte Installation installieren" ... Aber es bleibt die 1.5er bestehen.

                    Ich kämpfe mal weiter ...

                    SG
                    Mario

                    1 Reply Last reply Reply Quote 0
                    • B
                      bigd-73 last edited by bigd-73

                      @Dutchman Welche Wled Version verwendest du aktuell zum Testen und welche Hardware?
                      Ich habe aktuell 0.9.0-b1 in Verwendung auf jeweils einer NodeMCU v3 und einen Wemos Mini Pro
                      Von der 0.9.0-b1 liest man ja von Problemen mit mDNS und ständigen Reboots ...

                      SG
                      Mario

                      Dutchman 1 Reply Last reply Reply Quote 0
                      • joergeli
                        joergeli @bigd-73 last edited by joergeli

                        @bigd-73
                        Hallo Mario,
                        ich habe Dein Script ein wenig "aufgebohrt" und noch ein paar Funktionen eingebaut (Farbe, WLED-Effekt, Geschwindigkeit, Effekt-Intensität, Helligkeit, An/Aus).
                        Dazu habe ich auch einen Beispiel-View gebastelt:
                        wled-view.jpg
                        wled-view.zip

                        Das Script legt automatisch die benötigten Datenpunkt für die Hilfsvariablen an.
                        Achtung: Im Script muß die Variable WLED-ID auf die eigene WLED-ID angepasst werden!

                        //##########################################################################
                        // WLED-Steuerung / Hex to RGB
                        //##########################################################################
                        
                        var WLED_ID = 'a020a61bbd2c'; // Hinweis: die Zeichenfolge "a020a61bbd2c" muss durch die eigene WLED-ID ersetzt werden!
                        //____________________________
                        
                        createState('javascript.0.wled.effekt', { name: 'WLED Effekt', desc: 'Hilfsvariable', type: 'number', def: 9 });
                        createState('javascript.0.wled.farbe',  { name: 'WLED Farbauswahl', desc: 'Hilfsvariable', type: 'string', def: '#6a6cf6' });
                        createState('javascript.0.wled.speed',  { name: 'Effekt Geschwindigkeit', desc: 'Hilfsvariable', type: 'number', def: 200 });
                        createState('javascript.0.wled.intensity', { name: 'Effekt Intensität', desc: 'Hilfsvariable', type: 'number', def: 128 });
                        createState('javascript.0.wled.brightness', { name: 'Helligkeit', desc: 'Hilfsvariable', type: 'number', def: 128 });
                        createState('javascript.0.wled.toggle', { name: 'An / Aus', desc: 'Hilfsvariable', type: 'boolean', def: true });
                        
                        function hexToRgb(hex) {
                          var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
                          return result ? {
                            r: parseInt(result[1], 16),
                            g: parseInt(result[2], 16),
                            b: parseInt(result[3], 16)
                          } : null;
                        }
                        
                        
                        // Hilfsvariable wird durch den Vis Color Picker überwacht, dann wird WLED-Farbe als HEX-Wert gesetzt
                        on({id: "javascript.0.wled.farbe", change: "ne"}, function (obj) {
                           setState("wled.0." + WLED_ID + ".seg.0.col.0",
                           hexToRgb(getState("javascript.0.wled.farbe").val).r + ',' +
                           hexToRgb(getState("javascript.0.wled.farbe").val).g + ',' +
                           hexToRgb(getState("javascript.0.wled.farbe").val).b);
                        });
                        
                        // Hilfsvariable wird durch VIS jqui - SelectValueList überwacht, bei Änderung wird WLED-Effekt gesetzt.
                        on({id: "javascript.0.wled.effekt", change: "any"}, function (obj) {
                            var effekt = getState("javascript.0.wled.effekt").val ;
                            //log ("effekt: " + effekt);   
                            setState("wled.0." + WLED_ID + ".seg.0.fx", effekt);
                        });
                        
                        // Hilfsvariable wird durch VIS metro Slider horizontal überwacht, bei Änderung wird Geschwindigkeit gesetzt.
                        on({id: "javascript.0.wled.speed", change: "any"}, function (obj) {
                            var speed = getState("javascript.0.wled.speed").val ;
                            setState("wled.0." + WLED_ID + ".seg.0.sx", speed);
                        });
                        
                        // Hilfsvariable wird durch VIS metro Slider horizontal überwacht, bei Änderung wird Effekt-Intensität gesetzt.
                        on({id: "javascript.0.wled.intensity", change: "any"}, function (obj) {
                            var intens = getState("javascript.0.wled.intensity").val ;
                            setState("wled.0." + WLED_ID + ".seg.0.ix", intens);
                        });
                        
                        // Hilfsvariable wird durch VIS metro Slider horizontal überwacht, bei Änderung wird Helligkeit gesetzt.
                        on({id: "javascript.0.wled.brightness", change: "any"}, function (obj) {
                            var bright = getState("javascript.0.wled.brightness").val ;
                            setState("wled.0." + WLED_ID + ".bri", bright);
                        });
                        
                        // Hilfsvariable wird durch VIS fancyswitch überwacht, bei Änderung wird An/Aus geschaltet.
                        on({id: "javascript.0.wled.toggle", change: "any"}, function (obj) {
                            var on = getState("javascript.0.wled.toggle").val ;
                            setState("wled.0." + WLED_ID + ".on", on);
                        });
                        
                        
                        

                        Vielleicht kann es ja jemand gebrauchen?

                        Gruß
                        Jörg

                        B H M 3 Replies Last reply Reply Quote 0
                        • B
                          bigd-73 @joergeli last edited by

                          @joergeli Super danke ...
                          Im Moment muss ich erst die Module wieder sichtbar bekommen ...

                          SG
                          Mario

                          joergeli 1 Reply Last reply Reply Quote 0
                          • joergeli
                            joergeli @bigd-73 last edited by

                            @bigd-73
                            Werden die auch nicht angezeigt, wenn Du im Adapter die jeweilige IP-Adresse manuell einträgst?

                            B 1 Reply Last reply Reply Quote 0
                            • B
                              bigd-73 @joergeli last edited by

                              @joergeli sagte in [WLED] LED streifen (WS2812B,WS2811,SK6812,APA102) bedienen:

                              @bigd-73
                              Werden die auch nicht angezeigt, wenn Du im Adapter die jeweilige IP-Adresse manuell einträgst?

                              ahhh, blöde Frage. Wie geht das? Die Funktion ist doch noch nicht implementiert?

                              SG
                              Mario

                              joergeli 1 Reply Last reply Reply Quote 0
                              • joergeli
                                joergeli @bigd-73 last edited by

                                @bigd-73
                                ....uuups. Denkfehler meinerseits (hatte da einen anderen Adapter im Hinterkopf)

                                Sorry,
                                Jörg

                                B 1 Reply Last reply Reply Quote 0
                                • B
                                  bigd-73 @joergeli last edited by

                                  @joergeli ... kein Problem

                                  SG
                                  Mario

                                  B 1 Reply Last reply Reply Quote 0
                                  • B
                                    bigd-73 @bigd-73 last edited by bigd-73

                                    @joergeli ... welche Wled Version auf welcher Hardware hast du in Verwendung?

                                    SG
                                    Mario

                                    joergeli 1 Reply Last reply Reply Quote 0
                                    • Dutchman
                                      Dutchman Developer Most Active Administrators @bigd-73 last edited by

                                      @bigd-73 sagte in [WLED] LED streifen (WS2812B,WS2811,SK6812,APA102) bedienen:

                                      @Dutchman Welche Wled Version verwendest du aktuell zum Testen und welche Hardware?

                                      ich developer momentan auf 0.9.0-b2

                                      @joergeli sagte in [WLED] LED streifen (WS2812B,WS2811,SK6812,APA102) bedienen:

                                      Vielleicht kann es ja jemand gebrauchen?

                                      Ja ! da steht nämlich viel Beispiel code den ich im adapter einfliessen lassen kan 🙂

                                      1 Reply Last reply Reply Quote 0
                                      • joergeli
                                        joergeli @bigd-73 last edited by

                                        @bigd-73
                                        WLED-Version version 0.9.0-b1
                                        Hardware NodeMCU
                                        WS2812-LED-Stripe mit 30 RGB-LEDs.

                                        B 1 Reply Last reply Reply Quote 0
                                        • B
                                          bigd-73 @joergeli last edited by

                                          @joergeli Danke für die Info ... Fixe IP oder DHCP?

                                          SG
                                          Mario

                                          joergeli 1 Reply Last reply Reply Quote 0
                                          • joergeli
                                            joergeli @bigd-73 last edited by

                                            @bigd-73
                                            Statische IP-Adresse.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            852
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            adapater adapter neu hier test testen tester wled
                                            73
                                            655
                                            130560
                                            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