Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. HEX-Werte an Endgerät senden

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    473

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    394

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    979

HEX-Werte an Endgerät senden

Geplant Angeheftet Gesperrt Verschoben Blockly
14 Beiträge 2 Kommentatoren 963 Aufrufe 2 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • ArmilarA Armilar

    @1topf sagte in HEX-Werte an Endgerät senden:

    welcher bei Betätigung immer einen anderen HEX-Wert sendet
    Die Werte des Dimmers werden übrigens in xy gesendet

    Klingt ein wenig konfus...

    Ich fass mal kurz nach meinem Verständnis zusammen:

    • Du hast einen Dimmer, der Farben per CIE in einen xy Datenpunkt schreibt.
    • Dein LED-Stripe kann HEX #RRGGBB verarbeiten.
    • Dir fehlt eine Umrechnung von xy auf HEX

    ist das so korrekt?

    Wenn dem so ist, dann:

    function cie_to_rgb(x, y, brightness) {
       
       if (brightness === undefined) {
          brightness = 254;
       }
    
       var z = 1.0 - x - y;
       var Y = (brightness / 254).toFixed(2);
       var X = (Y / y) * x;
       var Z = (Y / y) * z;
    
       //Convert to RGB using Wide RGB D65 conversion
       var red 	=  X * 1.656492 - Y * 0.354851 - Z * 0.255038;
       var green 	= -X * 0.707196 + Y * 1.655397 + Z * 0.036152;
       var blue 	=  X * 0.051713 - Y * 0.121364 + Z * 1.011530;
    
       //If red, green or blue is larger than 1.0 set it back to the maximum of 1.0
       if (red > blue && red > green && red > 1.0) {
          green = green / red;
          blue  = blue / red;
          red   = 1.0;
       }
       else if (green > blue && green > red && green > 1.0) {
          red  = red / green;
          blue  = blue / green;
          green = 1.0;
       }
       else if (blue > red && blue > green && blue > 1.0) {
          red   = red / blue;
          green = green / blue;
          blue  = 1.0;
       }
    
       //Reverse gamma correction
       red   = red <= 0.0031308 ? 12.92 * red : (1.0 + 0.055) * Math.pow(red, (1.0 / 2.4)) - 0.055;
       green = green <= 0.0031308 ? 12.92 * green : (1.0 + 0.055) * Math.pow(green, (1.0 / 2.4)) - 0.055;
       blue  = blue <= 0.0031308 ? 12.92 * blue : (1.0 + 0.055) * Math.pow(blue, (1.0 / 2.4)) - 0.055;
    
       red   = Math.round(red * 255);
       green = Math.round(green * 255);
       blue  = Math.round(blue * 255);
    
       if (isNaN(red))
          red = 0;
    
       if (isNaN(green))
          green = 0;
    
       if (isNaN(blue))
          blue = 0;
    
       return [red, green, blue];
    }
    

    Wobei bei dem Farbraum bestenfalls noch Brightness (0-254) mitgegeben werden sollte.

    Anschließend nur noch RGB (also den return-Wert) verhexen und fertig...

    function componentToHex(c) {
      // This expects `c` to be a number:
      const hex = c.toString(16);
    
      return hex.length === 1 ? `0${ hex }` : hex;
    }
    
    function rgbToHex(rgb) {
      // .map(Number) will convert each string to number:
      const [r, g, b] = rgb.replace('rgb(', '').replace(')', '').split(',').map(Number);
      
      return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
    }
    

    VG

    1Topf1 Offline
    1Topf1 Offline
    1Topf
    schrieb am zuletzt editiert von
    #3

    @armilar

    😳 Da fallen mir schon ein wenig die Augen raus.

    Ich saß gestern abend noch recht lang daran und hab in Blockly was zusammengeschustert. Das Problem ist auch, daß Dimmer und Strip von unterschiedlichen Herstellern sind. Nun sollten zwar die HEX-Werte gleich sein, aber hier unterscheidet sich wohl der Wunsch von der Realität. Die vom Dimmer gesendeten Werte frißt der Strip nicht.
    Ich werde mich mal mit Deiner Lösung befassen, wenn ich etwas mobiler bin (gab heut wieder 2 nette Spritzen in den Rücken 😠 ).

    Klingt ein wenig konfus...

    Das liegt aber nicht an mir ;-) . Im zigbee2mqtt - Dashboard wird es als xy erkannt/dargestellt, in den Objekten von ioBroker als HEX. An welcher Stelle das jetzt umgewandelt wird, entzieht sich meinem Wissen.

    Danke erstmal für Deine Mühe. Schönen Abend noch.

    ArmilarA 1 Antwort Letzte Antwort
    0
    • 1Topf1 1Topf

      @armilar

      😳 Da fallen mir schon ein wenig die Augen raus.

      Ich saß gestern abend noch recht lang daran und hab in Blockly was zusammengeschustert. Das Problem ist auch, daß Dimmer und Strip von unterschiedlichen Herstellern sind. Nun sollten zwar die HEX-Werte gleich sein, aber hier unterscheidet sich wohl der Wunsch von der Realität. Die vom Dimmer gesendeten Werte frißt der Strip nicht.
      Ich werde mich mal mit Deiner Lösung befassen, wenn ich etwas mobiler bin (gab heut wieder 2 nette Spritzen in den Rücken 😠 ).

      Klingt ein wenig konfus...

      Das liegt aber nicht an mir ;-) . Im zigbee2mqtt - Dashboard wird es als xy erkannt/dargestellt, in den Objekten von ioBroker als HEX. An welcher Stelle das jetzt umgewandelt wird, entzieht sich meinem Wissen.

      Danke erstmal für Deine Mühe. Schönen Abend noch.

      ArmilarA Offline
      ArmilarA Offline
      Armilar
      Most Active Forum Testing
      schrieb am zuletzt editiert von
      #4

      @1topf

      Ich weiß... steht zwar unter Blockly, aber das dürfte ohne JS wohl schwierig werden ;-)

      Jetzt noch einen Trigger draufsetzen, der den Wert vom Dimmer konvertiert und dann in einen Hex-Datenpunkt der Lampe setzt

      Nicht gerade Hexenwerk aber schon etwas gehobener (dein Wunsch)

      Sollte aber tatsächlich alles in Hex stehen und nur ein Transport von A nach B stattfinden, dann kann man es ja so machen:

      69e0b088-7e3f-4b90-a112-311e9f2066c5-image.png

      Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
      https://github.com/joBr99/nspanel-lovelace-ui/wiki

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      1Topf1 1 Antwort Letzte Antwort
      0
      • ArmilarA Armilar

        @1topf

        Ich weiß... steht zwar unter Blockly, aber das dürfte ohne JS wohl schwierig werden ;-)

        Jetzt noch einen Trigger draufsetzen, der den Wert vom Dimmer konvertiert und dann in einen Hex-Datenpunkt der Lampe setzt

        Nicht gerade Hexenwerk aber schon etwas gehobener (dein Wunsch)

        Sollte aber tatsächlich alles in Hex stehen und nur ein Transport von A nach B stattfinden, dann kann man es ja so machen:

        69e0b088-7e3f-4b90-a112-311e9f2066c5-image.png

        1Topf1 Offline
        1Topf1 Offline
        1Topf
        schrieb am zuletzt editiert von
        #5

        @armilar

        Ich dachte, Du willst mich zwingen, JS zu lernen. 😁

        Mein Ansatz gestern war

        DimmerStrip01.jpg

        , aber der Strip hat sich aus irgendeinem Grund immer wieder auf Lila gestellt. Also ich habe alle HEX-Werte, die der Dimmer geliefert hat (insgesamt 16), in Blöcke wie oben geschrieben. Aber wie gesagt, der Strip wollte nicht. Ich hab noch ne Idee, muß ich mal ausprobieren. Hab vermutlich noch bis Ende des Jahres Krankenschein, also viel Zeit. Leider ...

        ArmilarA 1 Antwort Letzte Antwort
        0
        • 1Topf1 1Topf

          @armilar

          Ich dachte, Du willst mich zwingen, JS zu lernen. 😁

          Mein Ansatz gestern war

          DimmerStrip01.jpg

          , aber der Strip hat sich aus irgendeinem Grund immer wieder auf Lila gestellt. Also ich habe alle HEX-Werte, die der Dimmer geliefert hat (insgesamt 16), in Blöcke wie oben geschrieben. Aber wie gesagt, der Strip wollte nicht. Ich hab noch ne Idee, muß ich mal ausprobieren. Hab vermutlich noch bis Ende des Jahres Krankenschein, also viel Zeit. Leider ...

          ArmilarA Offline
          ArmilarA Offline
          Armilar
          Most Active Forum Testing
          schrieb am zuletzt editiert von
          #6

          @1topf

          Schmerzhafte Sache im Rücken 😰

          Ja, du gibst ihm ja auch immer Lila mit. Versuche es mal mit der Variante. Der Trigger schleust 1:1 den Wert des Datenpunktes durch.

          Schade... man kann es ja mal versuchen ;-)

          Aber wenn du die andere Variante von xy nach hex brauchts, musst du nicht mehr lange suchen 😊

          Gute Besserung

          Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
          https://github.com/joBr99/nspanel-lovelace-ui/wiki

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          1Topf1 2 Antworten Letzte Antwort
          0
          • ArmilarA Armilar

            @1topf

            Schmerzhafte Sache im Rücken 😰

            Ja, du gibst ihm ja auch immer Lila mit. Versuche es mal mit der Variante. Der Trigger schleust 1:1 den Wert des Datenpunktes durch.

            Schade... man kann es ja mal versuchen ;-)

            Aber wenn du die andere Variante von xy nach hex brauchts, musst du nicht mehr lange suchen 😊

            Gute Besserung

            1Topf1 Offline
            1Topf1 Offline
            1Topf
            schrieb am zuletzt editiert von
            #7

            @armilar sagte in HEX-Werte an Endgerät senden:

            @1topf

            Ja, du gibst ihm ja auch immer Lila mit.

            Nein, das war auch bei rot oder grün usw. so. Hab natürlich grad den blödesten Screenshot gewählt. 😂

            Gute Besserung

            Vielen Dank.

            1 Antwort Letzte Antwort
            0
            • ArmilarA Armilar

              @1topf

              Schmerzhafte Sache im Rücken 😰

              Ja, du gibst ihm ja auch immer Lila mit. Versuche es mal mit der Variante. Der Trigger schleust 1:1 den Wert des Datenpunktes durch.

              Schade... man kann es ja mal versuchen ;-)

              Aber wenn du die andere Variante von xy nach hex brauchts, musst du nicht mehr lange suchen 😊

              Gute Besserung

              1Topf1 Offline
              1Topf1 Offline
              1Topf
              schrieb am zuletzt editiert von
              #8

              @armilar

              Ich glaube, ich habe das Problem gefunden. Im DP ist lila / #ff00ff hinterlegt. Aus irgendeinem Grund wird der Strip immer wieder darauf getriggert, wenn ich ihn per Dimmer schalten will. Das Kuriose daran ist: wenn ich den Strip per Alexa über den IOT-Adapter schalte, funktioniert es. Ebenso über das dashboard von zigbee2mqtt. Es könnte doch mal was einfach funktionieren ...

              {
                "type": "state",
                "common": {
                  "id": "color",
                  "name": "Color",
                  "role": "level.color.rgb",
                  "write": true,
                  "read": true,
                  "type": "string",
                  "def": "#ff00ff",
                  "smartName": {
                    "de": "Bett",
                    "smartType": "LIGHT"
                  }
                },
                "native": {},
                "_id": "zigbee2mqtt.0.0xa4c138e864efed32.color",
                "acl": {
                  "object": 1636,
                  "state": 1636,
                  "owner": "system.user.admin",
                  "ownerGroup": "system.group.administrator"
                },
                "from": "system.adapter.admin.0",
                "user": "system.user.admin",
                "ts": 1669674342096
              }
              
              ArmilarA 1 Antwort Letzte Antwort
              0
              • 1Topf1 1Topf

                @armilar

                Ich glaube, ich habe das Problem gefunden. Im DP ist lila / #ff00ff hinterlegt. Aus irgendeinem Grund wird der Strip immer wieder darauf getriggert, wenn ich ihn per Dimmer schalten will. Das Kuriose daran ist: wenn ich den Strip per Alexa über den IOT-Adapter schalte, funktioniert es. Ebenso über das dashboard von zigbee2mqtt. Es könnte doch mal was einfach funktionieren ...

                {
                  "type": "state",
                  "common": {
                    "id": "color",
                    "name": "Color",
                    "role": "level.color.rgb",
                    "write": true,
                    "read": true,
                    "type": "string",
                    "def": "#ff00ff",
                    "smartName": {
                      "de": "Bett",
                      "smartType": "LIGHT"
                    }
                  },
                  "native": {},
                  "_id": "zigbee2mqtt.0.0xa4c138e864efed32.color",
                  "acl": {
                    "object": 1636,
                    "state": 1636,
                    "owner": "system.user.admin",
                    "ownerGroup": "system.group.administrator"
                  },
                  "from": "system.adapter.admin.0",
                  "user": "system.user.admin",
                  "ts": 1669674342096
                }
                
                ArmilarA Offline
                ArmilarA Offline
                Armilar
                Most Active Forum Testing
                schrieb am zuletzt editiert von
                #9

                @1topf

                Ist ja der Knaller, wie kommt das da rein. Da mag aber jemand Lila ;-)

                Einfach mal rauslöschen...

                Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                https://github.com/joBr99/nspanel-lovelace-ui/wiki

                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                1Topf1 1 Antwort Letzte Antwort
                0
                • ArmilarA Armilar

                  @1topf

                  Ist ja der Knaller, wie kommt das da rein. Da mag aber jemand Lila ;-)

                  Einfach mal rauslöschen...

                  1Topf1 Offline
                  1Topf1 Offline
                  1Topf
                  schrieb am zuletzt editiert von
                  #10

                  @armilar War auch mein erster Gedanke, aber geht nicht. Läßt sich nicht bearbeiten.

                  ArmilarA 1 Antwort Letzte Antwort
                  0
                  • 1Topf1 1Topf

                    @armilar War auch mein erster Gedanke, aber geht nicht. Läßt sich nicht bearbeiten.

                    ArmilarA Offline
                    ArmilarA Offline
                    Armilar
                    Most Active Forum Testing
                    schrieb am zuletzt editiert von
                    #11

                    @1topf

                    Auch nicht im Expertenmodus?
                    ba2bafe8-abee-46ec-862d-69071ae50ee9-image.png

                    Oder einfach den Datenpunkt wegwerfen. Sollte sich ja neu anlegen

                    Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                    https://github.com/joBr99/nspanel-lovelace-ui/wiki

                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                    1Topf1 1 Antwort Letzte Antwort
                    0
                    • ArmilarA Armilar

                      @1topf

                      Auch nicht im Expertenmodus?
                      ba2bafe8-abee-46ec-862d-69071ae50ee9-image.png

                      Oder einfach den Datenpunkt wegwerfen. Sollte sich ja neu anlegen

                      1Topf1 Offline
                      1Topf1 Offline
                      1Topf
                      schrieb am zuletzt editiert von
                      #12

                      @armilar Bin bereits im Expertenmodus. Hab jetzt den ganzen Objektbaum gelöscht, ist bis jetzt leider nicht wieder aufgetaucht. Ich mach morgen weiter, falls ich dazu komme. Als Kranker hat man nur noch Termine. 😂
                      Gute N8.

                      ArmilarA 1 Antwort Letzte Antwort
                      0
                      • 1Topf1 1Topf

                        @armilar Bin bereits im Expertenmodus. Hab jetzt den ganzen Objektbaum gelöscht, ist bis jetzt leider nicht wieder aufgetaucht. Ich mach morgen weiter, falls ich dazu komme. Als Kranker hat man nur noch Termine. 😂
                        Gute N8.

                        ArmilarA Offline
                        ArmilarA Offline
                        Armilar
                        Most Active Forum Testing
                        schrieb am zuletzt editiert von Armilar
                        #13

                        @1topf

                        Gute N8 😊

                        P.S.: Starte die Gurke mal durch...

                        Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                        https://github.com/joBr99/nspanel-lovelace-ui/wiki

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        1Topf1 1 Antwort Letzte Antwort
                        0
                        • ArmilarA Armilar

                          @1topf

                          Gute N8 😊

                          P.S.: Starte die Gurke mal durch...

                          1Topf1 Offline
                          1Topf1 Offline
                          1Topf
                          schrieb am zuletzt editiert von
                          #14

                          @armilar Also ich geb's jetzt auf. Bekomme das hübsche Lila nicht weg. Egal. Ich kann das Teil per Alexa schalten, das ist schon mal was wert. Dann werde ich mir noch die Browserseite des Strips von zigbee2mqtt per iFrame in die VIS holen. Und dann ist gut. Ist ja nur für's Kinderzimmer. Soll der kleine Scheißer doch sehen, wie er damit klar kommt. 😂 😂 😇

                          1 Antwort Letzte Antwort
                          0

                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                          Registrieren Anmelden
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          421

                          Online

                          32.8k

                          Benutzer

                          82.8k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe