Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. WLAN Lampe mit Color_Data ID kein Hex oder RGB

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    WLAN Lampe mit Color_Data ID kein Hex oder RGB

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

      Hallo Leute, ich benötige etwas Hilfe, damit ich den Code verstehen kann. Vieleicht muss ich auch Reverse Engineering betreiben. Vielleicht hat das jedoch schon jemand getan bzw. kennt den Code.
      Ich erhalte folgenden Wert für rot: "0000F000F000". Ein weiterer Wert für z.B. lila-blau ist "00c0018103e8".
      Was bedeutet dieser String-Wert? RGB bzw. Hex-Werte sind es nicht.

      Ich habe folgende Lampe mit dem Tuya-Adapter eingebunden: "https://www.amazon.de/gp/product/B083FMW832/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1"

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

        @wuff1956
        Doch es sind HEX Werte

        R=0000 G=F000 B=F000

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

          @wuff1956

          8 bit/Kanal = 2 hoch 8 = 256 Farbdifferenzierungen je Grundfarbe (RGB) = 256 x 256 x 256 = 16.777.216 unterschiedliche Farben.

          16 bit/Kanal = 2 hoch 16 = 65.536 Farbdifferenzierungen je Grundfarbe (RGB) = 65.535 x 65.535 x 65.535 = 281.474.976.710.656 unterschiedliche Farben.

          0000 F000 F000 = 0 x 61.440 x 61.440
          00c0 0181 03e8 = 192 x 385 x 1000
          FFFF FFFF FFFF = 65.535 x 65.535 x 65.535

          console.log(parseInt('FFFF',16))

          EDIT: wofür allerdings 281 Billionen Farben in einer Tuya-Lampe sinnvoll sein sollen, erschließt sich mir auch nicht 😉

          W 1 Reply Last reply Reply Quote 0
          • W
            wuff1956 @Armilar last edited by

            @armilar Vielen Dank erstmal für die Aufklärung. Gibt es schon zu diesen Hex-Werten ein Widget für den "vis"-Adapter? Ich habe schon ein paar auspobiert. Die können anscheinend nur RGB oder einen Hex-Wert bspw. "#32a84a". Hat hier jemand schon einen Converter gebaut? Zudem verstehe ich noch nicht genau, wie die Farben umgerechnet werden. Bspw. für rot wäre es bei RGB "255, 0, 0" und für HEX "#ff0000". Wie rechnet sich das bei mir?

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

              @wuff1956

              Wollte bloß etwas zum Reengineering beitragen nachdem ich gelesen habe "es wäre kein HEX" 😉 . Ich habe so etwas noch nie zuvor wirklich in Umrechnungen gesehen und es würde mich wundern wenn es einer für ioBroker umgesetzt hätte. Die meisten Adapter schubsen ja nur Daten von rechts nach links. Bei speziellen Widgets muss ja die Umrechnung erfolgen. Allerdings kann ich mich auch nicht an dieses Muster erinnern.

              Prinzipiell müsste jetzt eine Umrechnung (bitwise) von 16 bit auf 8 bit erfolgen.

              Denke da wird man auch ein Weilchen googlen... Gibt es nur den Wert oder hat der Tuya-Adapter auch noch schickere Formate?

              Edit: das mit dem rot hat mich am meisten irritiert... selbst wenn du die RGB565 durch 257 teilst, bekommst du ja eher R=0 G=239 B=239 --> Also etwas weniger rot als gefordert 😂

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

                @wuff1956

                Das Geheimnis wurde anscheinend auch noch nicht in anderen Smart Home Systemen gelöst...

                https://community.home-assistant.io/t/no-color-picker-with-tuya-bulbs/160711

                1 Reply Last reply Reply Quote 0
                • spuky
                  spuky last edited by spuky

                  Falls jemand hier drüber stolpert

                  lila blau: 00c0 0181 03e8
                  es handelt sich vermutlich um eine form von HSV (Hue Saturation Vibrance) encoding...

                  erste Kollone werte von 0 bis 359

                  die beiden anderen Kolonnen werte für die Helligkeit und den Farbkolonnen...
                  hier kann es Unterschiede geben was die maximal werte sind... im Lila-blau beispiel wäre die

                  03e8 = 1000 vermutlich ein Maximal wert... (was mir das F000 ) bei deinem rot wert komisch vorkommen lässt...

                  Hier mal ein js code Beispiel... um RGB werte in strings für tuja geräte die dieses encoding verweden umzuwandeln

                  function rgb2hsv(t,e,n){t/=255,e/=255,n/=255;var r,a,s=Math.max(t,e,n),g=Math.min(t,e,n),i=s,l=s-g;if(a=0==s?0:l/s,s==g)r=0;else{switch(s){case t:r=(e-n)/l+(e<n?6:0);break;case e:r=(n-t)/l+2;break;case n:r=(t-e)/l+4;break}r/=6}return[r,a,i]}
                  
                  function rgb2tuya2(r,g,b) {
                      //---   Set Up Initial Values   ---//
                      const rgb = [r,g,b];
                      const hsv = rgb2hsv(rgb[0],rgb[1],rgb[2]);
                  
                      let hexValue_hsv = new String();
                  
                      //---   Generate HSV   ---//
                      let hsvarray = [parseInt((hsv[0] * 360).toString()), parseInt((hsv[1] * 1000).toString()), parseInt((hsv[2] * 1000).toString())]
                  
                      for (const i in hsvarray) {
                          let hex = hsvarray[i].toString(16).padStart(4, '0')
                          hexValue_hsv += hex;
                      }
                  
                      return hexValue_hsv
                  }
                  
                  1 Reply Last reply Reply Quote 1
                  • First post
                    Last post

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  479
                  Online

                  32.0k
                  Users

                  80.4k
                  Topics

                  1.3m
                  Posts

                  3
                  7
                  261
                  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