Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. HEX in RGB Umwandeln?

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    HEX in RGB Umwandeln?

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      Bacado @mickym last edited by

      @mickym ja ich denke schon.

      mickym 1 Reply Last reply Reply Quote 0
      • mickym
        mickym Most Active @Bacado last edited by mickym

        @bacado kleinen augenblick - Die Funktionen die ich gefunden habe, funktionieren nicht so .

        Stimmt denn die Farbe?

        e8f8dac9-beae-4168-aa57-71aed7c5dcce-image.png

        RGB Hex - sollte dann #ebb1fb rauskommen.

        B 1 Reply Last reply Reply Quote 0
        • B
          Bacado @mickym last edited by Bacado

          @mickym 295,51,97 entspricht #01273361. Aber wir dürfen ja nur #123456 und nicht #12345678

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @Bacado last edited by

            @bacado ??? nee das passt nicht, was Du gepostet hast. die letzten beiden Werte sind 0,100 für Sättigung und Helligkeit.

            Das andere ist eine Gradzahl im Farbkreis von 0-360 - das heisst, die können nicht in einfach so in HEX gerechnet werden.

            b27a5d06-0b5b-407c-9347-00f6ceb730f0-image.png

            B 1 Reply Last reply Reply Quote 0
            • B
              Bacado @mickym last edited by

              @mickym dann suche ich mir jetzt mal ein Colorpicker der mir das gewünschte gibt. Also Hex gibt keiner von dennen aus die ich gefunden habe! Aber jetzt kann ich ja auch nach einem RGB suchen dank dir wandelt er ja dann richtig um. Wenn der richtige wert geschickt wird und nicht wieder der HSL.

              mickym 2 Replies Last reply Reply Quote 0
              • mickym
                mickym Most Active @Bacado last edited by mickym

                @bacado Ok ich such mal, ob ich eine funktionierende Umrechnungfunktion finde. Gibt eventuell eine fertige API dazu:

                https://www.npmjs.com/package/hsl-to-hex

                B 1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @Bacado last edited by

                  @bacado Kommt zwar ein anderer RGB Wert mit der API raus, aber der Farbton stimmt

                  de848724-1717-481d-9933-89d1da6e1f2a-image.png

                  Willst du die API nutzen? Stimmt die Farbe?

                  1 Reply Last reply Reply Quote 0
                  • B
                    Bacado @mickym last edited by

                    @mickym Converter.png

                    mickym 2 Replies Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @Bacado last edited by mickym

                      @bacado Na Du musst ein Array eingeben und keinen String für die Node. Aber ansonsten hätte ich die API direkt in eine Function Node.

                      Das kann man dann später umwandeln, wenn Du diese Node nutzen willst. Probier mal in die Inject Node das Array einzugeben.
                      b7a71933-0109-4a88-836e-75774e3d410f-image.png

                      Wenn Du mit dem Ergebnis zufrieden bist, dann musst den String nur umwandeln.

                      Achso das ist eine iobroker IN Node - ok - ich wandle mal für Dich.

                      1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @Bacado last edited by

                        @bacado So ich war jetzt zu faul code zu schreiben:

                        Hänge einfach diese 3 Nodes hinter Deine iobroker IN Node - da sollte dann ein String draus werden.

                        [
                           {
                               "id": "2506a485939be3ee",
                               "type": "split",
                               "z": "289f539dcc33814e",
                               "name": "",
                               "splt": ",",
                               "spltType": "str",
                               "arraySplt": 1,
                               "arraySpltType": "len",
                               "stream": false,
                               "addname": "",
                               "x": 410,
                               "y": 3020,
                               "wires": [
                                   [
                                       "0e7826039331f029"
                                   ]
                               ]
                           },
                           {
                               "id": "0e7826039331f029",
                               "type": "change",
                               "z": "289f539dcc33814e",
                               "name": "",
                               "rules": [
                                   {
                                       "t": "set",
                                       "p": "payload",
                                       "pt": "msg",
                                       "to": "$number(payload)\t",
                                       "tot": "jsonata"
                                   }
                               ],
                               "action": "",
                               "property": "",
                               "from": "",
                               "to": "",
                               "reg": false,
                               "x": 590,
                               "y": 3020,
                               "wires": [
                                   [
                                       "65b1f82bdbf106e9"
                                   ]
                               ]
                           },
                           {
                               "id": "65b1f82bdbf106e9",
                               "type": "join",
                               "z": "289f539dcc33814e",
                               "name": "",
                               "mode": "custom",
                               "build": "array",
                               "property": "payload",
                               "propertyType": "msg",
                               "key": "topic",
                               "joiner": "\\n",
                               "joinerType": "str",
                               "accumulate": false,
                               "timeout": "",
                               "count": "3",
                               "reduceRight": false,
                               "reduceExp": "",
                               "reduceInit": "",
                               "reduceInitType": "",
                               "reduceFixup": "",
                               "x": 770,
                               "y": 3020,
                               "wires": [
                                   [
                                       "5074028ee01bbf71"
                                   ]
                               ]
                           }
                        ]
                        

                        bd8578a8-7af1-4eae-8714-c798aeb47d46-image.png

                        B 1 Reply Last reply Reply Quote 0
                        • B
                          Bacado @mickym last edited by

                          @mickym bohr Mega ich danke dir. Ich suche seit deinem letzten Post also 20min, wie man ein String zu einem Array macht, nicht mal ein Ansatz von Lösung ist mir unter gekommen. Und dann wundert man sich das es wenig Leute gibt die mit NodeRed arbeiten. Dazu muss ich gestehen bin Kaufmann aber sehr PC affine und mein englisch ist leider nur Semiprof..

                          mickym 1 Reply Last reply Reply Quote 0
                          • mickym
                            mickym Most Active @Bacado last edited by mickym

                            @bacado Das Problem in das Array umzuwandeln ist nicht das Problem, aber wahrscheinlich in Zahlenformat.

                            Du kannst einfach auch mal nur die Change Node aus Interesse verwenden - dann ist es schon ein Array aber mit Strings als Zahlen. Wenn die Konvertiernode das selbstständig umwandelt ist noch einfacher:

                            75190d25-d81c-49e3-973a-f30f0a193cea-image.png

                            Probier nur mal eine Change Node mit diesem Inhalt hinter Deine iobroker IN Node zu klemmen, ob das ausreicht.

                            B 1 Reply Last reply Reply Quote 0
                            • B
                              Bacado @mickym last edited by

                              @mickym nein es geht nur mit den 3 kompletten nodes

                              mickym 1 Reply Last reply Reply Quote 0
                              • mickym
                                mickym Most Active @Bacado last edited by mickym

                                @bacado sagte in HEX in RGB Umwandeln?:

                                @mickym nein es geht nur mit den 3 kompletten nodes

                                Ok dann nimm mal diese 4 ist zwar eine Node mehr, ist aber besser:

                                [
                                    {
                                        "id": "c2fb59500ac5b5fb",
                                        "type": "change",
                                        "z": "289f539dcc33814e",
                                        "name": "",
                                        "rules": [
                                            {
                                                "t": "set",
                                                "p": "payload",
                                                "pt": "msg",
                                                "to": "$split(payload,',')\t",
                                                "tot": "jsonata"
                                            }
                                        ],
                                        "action": "",
                                        "property": "",
                                        "from": "",
                                        "to": "",
                                        "reg": false,
                                        "x": 530,
                                        "y": 3140,
                                        "wires": [
                                            [
                                                "1a82d9ca08d4e9a3"
                                            ]
                                        ]
                                    },
                                    {
                                        "id": "1a82d9ca08d4e9a3",
                                        "type": "split",
                                        "z": "289f539dcc33814e",
                                        "name": "",
                                        "splt": "\\n",
                                        "spltType": "str",
                                        "arraySplt": 1,
                                        "arraySpltType": "len",
                                        "stream": false,
                                        "addname": "",
                                        "x": 710,
                                        "y": 3140,
                                        "wires": [
                                            [
                                                "32d39137ef37cfea"
                                            ]
                                        ]
                                    },
                                    {
                                        "id": "9e1bfb38feb75c41",
                                        "type": "join",
                                        "z": "289f539dcc33814e",
                                        "name": "",
                                        "mode": "auto",
                                        "build": "object",
                                        "property": "payload",
                                        "propertyType": "msg",
                                        "key": "topic",
                                        "joiner": "\\n",
                                        "joinerType": "str",
                                        "accumulate": "false",
                                        "timeout": "",
                                        "count": "",
                                        "reduceRight": false,
                                        "x": 1070,
                                        "y": 3140,
                                        "wires": [
                                            [
                                                "3f77d23474222067"
                                            ]
                                        ]
                                    },
                                    {
                                        "id": "32d39137ef37cfea",
                                        "type": "change",
                                        "z": "289f539dcc33814e",
                                        "name": "",
                                        "rules": [
                                            {
                                                "t": "set",
                                                "p": "payload",
                                                "pt": "msg",
                                                "to": "$number(payload)\t",
                                                "tot": "jsonata"
                                            }
                                        ],
                                        "action": "",
                                        "property": "",
                                        "from": "",
                                        "to": "",
                                        "reg": false,
                                        "x": 890,
                                        "y": 3140,
                                        "wires": [
                                            [
                                                "9e1bfb38feb75c41"
                                            ]
                                        ]
                                    }
                                ]
                                

                                d3c9859f-dd8d-4ee1-9afe-2cf33d870b30-image.png

                                Ich schau mal ob ich das in einen Change Node packen kann - aber mit der JSONATA Syntax bin ich auch manchmal auf Kriegsfuss.

                                Die erste Node macht das Array, die split Node splittet es in einzelne Nachrichten auf, damit man es mit der nächsten Node in Zahlen umwandelt, die JOIN Node setzt das Array wieder zusammen, wie es die split Node auseinander genommen hat. 😉

                                mickym 1 Reply Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active @mickym last edited by mickym

                                  So ich habs geschafft: 😉 - ich muss immer ausprobieren. Ganz verstehen tue ich die Syntax selbst nicht.

                                  Also hier diese Change Node alleine müsste nun ausreichen:

                                  [
                                     {
                                         "id": "bb22c4c3aa0dbaba",
                                         "type": "change",
                                         "z": "289f539dcc33814e",
                                         "name": "",
                                         "rules": [
                                             {
                                                 "t": "set",
                                                 "p": "payload",
                                                 "pt": "msg",
                                                 "to": "$split(payload,',').$number()",
                                                 "tot": "jsonata"
                                             }
                                         ],
                                         "action": "",
                                         "property": "",
                                         "from": "",
                                         "to": "",
                                         "reg": false,
                                         "x": 730,
                                         "y": 3260,
                                         "wires": [
                                             [
                                                 "c9d0a193b390e021"
                                             ]
                                         ]
                                     }
                                  ]
                                  

                                  3ed976c7-e527-402c-9ff4-4f7db28dd62a-image.png

                                  Der Punkt dient als map Operator, sodass gleich eine Funktion anhängen kann. Also mit dem Code machst einfach aus einem String ein numerisches Array.

                                  $split(payload,',').$number()
                                  

                                  Es ist einfach genial - aber manchmal auch für mich zu abstrakt. 😉

                                  Also mit dieser Change Node einfach die vorherigen 3 bzw. 4 Nodes ersetzen.

                                  B 1 Reply Last reply Reply Quote 0
                                  • B
                                    Bacado @mickym last edited by

                                    @mickym ja das geht auch, aber wie du schon sagst die Farbübersetzung ist echt Grotte. Aber vorerst gehts nicht besser. Da muss sich mal einer hinsetzen und fürs HabPanel nen colorpicker schreiben der RGB raus gibt oder Hex. Ideal einer der alle 3 als Output hat.

                                    mickym 1 Reply Last reply Reply Quote 0
                                    • mickym
                                      mickym Most Active @Bacado last edited by mickym

                                      @bacado Wie war denn die Übersetzung der API die ich gepostet habe`?

                                      Also die #ee1bfb aus 287,91,84. Kann auch noch was anderes probieren wenn Du willst. Also stimmt es überein.

                                      1deb3081-95ee-4b10-8d66-0fc15f044caa-image.png

                                      Wenn Du die API nutzen willst, dann musst nach dem Deploy bisschen warten bis sich die Bibliothek installiert hast.
                                      https://www.npmjs.com/package/hsl-to-hex. Du musst das aber nicht installieren, dass macht NodeRed selbst.

                                      Hier mal der Flow:

                                      [
                                         {
                                             "id": "0c572419db8fa9ab",
                                             "type": "function",
                                             "z": "31f4359ae915c063",
                                             "name": "HSL in HEX",
                                             "func": "var hsl= hslToHex;\n\nmsg.payload = hsl(msg.payload[0], msg.payload[1], msg.payload[2]);\nreturn msg;",
                                             "outputs": 1,
                                             "noerr": 0,
                                             "initialize": "",
                                             "finalize": "",
                                             "libs": [
                                                 {
                                                     "var": "hslToHex",
                                                     "module": "hsl-to-hex"
                                                 }
                                             ],
                                             "x": 950,
                                             "y": 200,
                                             "wires": [
                                                 [
                                                     "591341360b9809a7"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "591341360b9809a7",
                                             "type": "debug",
                                             "z": "31f4359ae915c063",
                                             "name": "",
                                             "active": true,
                                             "tosidebar": true,
                                             "console": false,
                                             "tostatus": false,
                                             "complete": "false",
                                             "statusVal": "",
                                             "statusType": "auto",
                                             "x": 1130,
                                             "y": 200,
                                             "wires": []
                                         },
                                         {
                                             "id": "a28c7b2204c7441c",
                                             "type": "inject",
                                             "z": "31f4359ae915c063",
                                             "name": "",
                                             "props": [
                                                 {
                                                     "p": "payload"
                                                 }
                                             ],
                                             "repeat": "",
                                             "crontab": "",
                                             "once": false,
                                             "onceDelay": 0.1,
                                             "topic": "",
                                             "payload": "287,91,84",
                                             "payloadType": "str",
                                             "x": 560,
                                             "y": 200,
                                             "wires": [
                                                 [
                                                     "cc93714eb6589eeb"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "cc93714eb6589eeb",
                                             "type": "change",
                                             "z": "31f4359ae915c063",
                                             "name": "",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "payload",
                                                     "pt": "msg",
                                                     "to": "$split(payload,',').$number()",
                                                     "tot": "jsonata"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 750,
                                             "y": 200,
                                             "wires": [
                                                 [
                                                     "0c572419db8fa9ab"
                                                 ]
                                             ]
                                         }
                                      ]
                                      

                                      Kannst ja dann anstelle der inject Node die iobroker IN Node dran hängen.

                                      B 1 Reply Last reply Reply Quote 0
                                      • B
                                        Bacado @mickym last edited by

                                        @mickym https://www.npmjs.com/package/hsl-to-hex die hab ich aktuell drin und der gibt bei den werten 287,91,84 den rgb #EBB1FB wert aus. dein RGB #ee1bfb kommt schon ehr hin mit der farbe die leuchtet.

                                        mickym B 3 Replies Last reply Reply Quote 0
                                        • mickym
                                          mickym Most Active @Bacado last edited by

                                          @bacado Hast DU keinen Dreher drin, dann wär es nämlich exakt dasselbe.

                                          1 Reply Last reply Reply Quote 0
                                          • B
                                            Bacado @Bacado last edited by

                                            @mickym die API hab ich scheinbar irgendwie übersehen. Ich mache kopie&Paste

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            769
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            88
                                            5147
                                            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