Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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. HUE Farbwert (HSV?) nach HEX konvertieren

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    210

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    578

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

HUE Farbwert (HSV?) nach HEX konvertieren

Geplant Angeheftet Gesperrt Verschoben Blockly
25 Beiträge 4 Kommentatoren 2.3k Aufrufe 4 Watching
  • Ä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.
  • T Offline
    T Offline
    tklein
    schrieb am zuletzt editiert von
    #5

    bis hierher komme ich:

    af3383a7-5ebf-4386-9bb2-08cabf7dc8db-grafik.png

    Code:

    hue /= 60;
        let chroma = value * saturation;
        let x = chroma * (1 - Math.abs((hue % 2) - 1));
        let rgb: [number, number, number] = hue <= 1 ? [chroma, x, 0] :
            hue <= 2 ? [x, chroma, 0] :
                hue <= 3 ? [0, chroma, x] :
                    hue <= 4 ? [0, x, chroma] :
                        hue <= 5 ? [x, 0, chroma] :
                            [chroma, 0, x];
    
        return rgb.map(v => (v + value - chroma) * 255) as [number, number, number];
    
    ArmilarA 1 Antwort Letzte Antwort
    0
    • T tklein

      bis hierher komme ich:

      af3383a7-5ebf-4386-9bb2-08cabf7dc8db-grafik.png

      Code:

      hue /= 60;
          let chroma = value * saturation;
          let x = chroma * (1 - Math.abs((hue % 2) - 1));
          let rgb: [number, number, number] = hue <= 1 ? [chroma, x, 0] :
              hue <= 2 ? [x, chroma, 0] :
                  hue <= 3 ? [0, chroma, x] :
                      hue <= 4 ? [0, x, chroma] :
                          hue <= 5 ? [x, 0, chroma] :
                              [chroma, 0, x];
      
          return rgb.map(v => (v + value - chroma) * 255) as [number, number, number];
      
      ArmilarA Offline
      ArmilarA Offline
      Armilar
      Most Active Forum Testing
      schrieb am zuletzt editiert von
      #6

      @tklein

      versuche mal das:

      function hsv2rgb(hue: number, saturation: number, value: number) {
          hue /= 60;
          let chroma = value * saturation;
          let x = chroma * (1 - Math.abs((hue % 2) - 1));
          let rgb = hue <= 1 ? [chroma, x, 0] :
              hue <= 2 ? [x, chroma, 0] :
                  hue <= 3 ? [0, chroma, x] :
                      hue <= 4 ? [0, x, chroma] :
                          hue <= 5 ? [x, 0, chroma] :
                              [chroma, 0, x];
      
          return rgb.map(v => (v + value - chroma) * 255);
      }
      

      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.

      T 1 Antwort Letzte Antwort
      1
      • ArmilarA Armilar

        @tklein

        versuche mal das:

        function hsv2rgb(hue: number, saturation: number, value: number) {
            hue /= 60;
            let chroma = value * saturation;
            let x = chroma * (1 - Math.abs((hue % 2) - 1));
            let rgb = hue <= 1 ? [chroma, x, 0] :
                hue <= 2 ? [x, chroma, 0] :
                    hue <= 3 ? [0, chroma, x] :
                        hue <= 4 ? [0, x, chroma] :
                            hue <= 5 ? [x, 0, chroma] :
                                [chroma, 0, x];
        
            return rgb.map(v => (v + value - chroma) * 255);
        }
        
        T Offline
        T Offline
        tklein
        schrieb am zuletzt editiert von
        #7

        @armilar klappt. Zumindest keine Fehlermeldung :-)

        ArmilarA 1 Antwort Letzte Antwort
        1
        • T tklein

          @armilar klappt. Zumindest keine Fehlermeldung :-)

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

          @tklein

          Blockly verträgt da nur JS...

          Jetzt noch die andere Funktion, dann die Funktionsblöcke hintereinanderschalten und fertig...

          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.

          1 Antwort Letzte Antwort
          0
          • T Offline
            T Offline
            tklein
            schrieb am zuletzt editiert von
            #9

            das seht glaube ich noch nicht so gut aus. Aus negativen RGB Werte Hexwerte.

            3adea787-374c-4b8a-bfa5-871b69782c55-grafik.png

            Da darf ich noch einges lernen. Z.b. wie ich mit der Rückgabe der HSV2RGB die andere Funktion RGB2HEX mit den Parametern aufrufe.

            ArmilarA 1 Antwort Letzte Antwort
            0
            • T tklein

              das seht glaube ich noch nicht so gut aus. Aus negativen RGB Werte Hexwerte.

              3adea787-374c-4b8a-bfa5-871b69782c55-grafik.png

              Da darf ich noch einges lernen. Z.b. wie ich mit der Rückgabe der HSV2RGB die andere Funktion RGB2HEX mit den Parametern aufrufe.

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

              @tklein

              Sehe jetzt erst, dass deine Eingangsparameter lustig aussehen ;-)

              Teile enhancehue durch 360 und saturation durch 100

              HUE kann maximal 360° haben - würde demnach mit 32896/360 = 91,38° in die Funktion gehen

              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.

              T 1 Antwort Letzte Antwort
              0
              • ArmilarA Armilar

                @tklein

                Sehe jetzt erst, dass deine Eingangsparameter lustig aussehen ;-)

                Teile enhancehue durch 360 und saturation durch 100

                HUE kann maximal 360° haben - würde demnach mit 32896/360 = 91,38° in die Funktion gehen

                T Offline
                T Offline
                tklein
                schrieb am zuletzt editiert von
                #11

                @armilar mhhmm

                das hier

                {"enhancehue":24415,"saturation":254,"transtime":5}
                

                ergibt leider

                [1275,-1963.4999999999998,258.47083333333]
                

                da ist noch der wurm drin:

                   hue = hue/360;
                    saturation = saturation/100;
                
                    let chroma = value * saturation;
                
                    let x = chroma * (1 - Math.abs((hue % 2) - 1));
                
                    let rgb = hue <= 1 ? [chroma, x, 0] :
                
                        hue <= 2 ? [x, chroma, 0] :
                
                            hue <= 3 ? [0, chroma, x] :
                
                                hue <= 4 ? [0, x, chroma] :
                
                                    hue <= 5 ? [x, 0, chroma] :
                
                                        [chroma, 0, x];
                
                 
                
                    return rgb.map(v => (v + value - chroma) * 255);
                
                ArmilarA 1 Antwort Letzte Antwort
                0
                • T tklein

                  @armilar mhhmm

                  das hier

                  {"enhancehue":24415,"saturation":254,"transtime":5}
                  

                  ergibt leider

                  [1275,-1963.4999999999998,258.47083333333]
                  

                  da ist noch der wurm drin:

                     hue = hue/360;
                      saturation = saturation/100;
                  
                      let chroma = value * saturation;
                  
                      let x = chroma * (1 - Math.abs((hue % 2) - 1));
                  
                      let rgb = hue <= 1 ? [chroma, x, 0] :
                  
                          hue <= 2 ? [x, chroma, 0] :
                  
                              hue <= 3 ? [0, chroma, x] :
                  
                                  hue <= 4 ? [0, x, chroma] :
                  
                                      hue <= 5 ? [x, 0, chroma] :
                  
                                          [chroma, 0, x];
                  
                   
                  
                      return rgb.map(v => (v + value - chroma) * 255);
                  
                  ArmilarA Offline
                  ArmilarA Offline
                  Armilar
                  Most Active Forum Testing
                  schrieb am zuletzt editiert von Armilar
                  #12

                  @tklein

                  function hsv2rgb(hue, saturation, value) {
                      hue /= 60;
                      let chroma = value * saturation;
                      let x = chroma * (1 - Math.abs((hue % 2) - 1));
                      let rgb = hue <= 1 ? [chroma, x, 0] :
                          hue <= 2 ? [x, chroma, 0] :
                              hue <= 3 ? [0, chroma, x] :
                                  hue <= 4 ? [0, x, chroma] :
                                      hue <= 5 ? [x, 0, chroma] :
                                          [chroma, 0, x];
                   
                      return rgb.map(v => (v + value - chroma) * 255);
                  }
                  
                  
                  function ConvertRGBtoHex(red, green, blue) {
                      return '#' + ColorToHex(red) + ColorToHex(green) + ColorToHex(blue);
                  }
                  
                  //Helper
                  function ColorToHex(color) {
                      let hexadecimal = color.toString(16);
                      return hexadecimal.length == 1 ? '0' + hexadecimal : hexadecimal;
                  }
                  
                  let enhancehue = 32896;
                  let saturation = 254;
                  let transtime =  5;
                  log(hsv2rgb(enhancehue/360, saturation/254 , 1))
                  let rgb = hsv2rgb(enhancehue/360, saturation/254, 1)
                  log(String(ConvertRGBtoHex(Math.round(rgb[0]*1)/1, Math.round(rgb[1]*1)/1, Math.round(rgb[2]*1)/1)));
                  

                  So kommen bei mir sinnvolle Werte raus:

                  script.js.common.DEV.Beispiele.HSV2HEX: [ 121.64444444444442, 255, 0 ]
                  script.js.common.DEV.Beispiele.HSV2HEX: #7aff00
                  

                  a1d572e2-a57c-4903-a06b-ae9c77408fba-image.png

                  Würde bedeuten
                  hsv2rgb(enhancehue/360, saturation/254 , 1)

                  value immer auf 1

                  P.S.: Was ist denn das für ein Adapter, der so merkwürdige Werte liefert?

                  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.

                  T ArmilarA 3 Antworten Letzte Antwort
                  0
                  • ArmilarA Armilar

                    @tklein

                    function hsv2rgb(hue, saturation, value) {
                        hue /= 60;
                        let chroma = value * saturation;
                        let x = chroma * (1 - Math.abs((hue % 2) - 1));
                        let rgb = hue <= 1 ? [chroma, x, 0] :
                            hue <= 2 ? [x, chroma, 0] :
                                hue <= 3 ? [0, chroma, x] :
                                    hue <= 4 ? [0, x, chroma] :
                                        hue <= 5 ? [x, 0, chroma] :
                                            [chroma, 0, x];
                     
                        return rgb.map(v => (v + value - chroma) * 255);
                    }
                    
                    
                    function ConvertRGBtoHex(red, green, blue) {
                        return '#' + ColorToHex(red) + ColorToHex(green) + ColorToHex(blue);
                    }
                    
                    //Helper
                    function ColorToHex(color) {
                        let hexadecimal = color.toString(16);
                        return hexadecimal.length == 1 ? '0' + hexadecimal : hexadecimal;
                    }
                    
                    let enhancehue = 32896;
                    let saturation = 254;
                    let transtime =  5;
                    log(hsv2rgb(enhancehue/360, saturation/254 , 1))
                    let rgb = hsv2rgb(enhancehue/360, saturation/254, 1)
                    log(String(ConvertRGBtoHex(Math.round(rgb[0]*1)/1, Math.round(rgb[1]*1)/1, Math.round(rgb[2]*1)/1)));
                    

                    So kommen bei mir sinnvolle Werte raus:

                    script.js.common.DEV.Beispiele.HSV2HEX: [ 121.64444444444442, 255, 0 ]
                    script.js.common.DEV.Beispiele.HSV2HEX: #7aff00
                    

                    a1d572e2-a57c-4903-a06b-ae9c77408fba-image.png

                    Würde bedeuten
                    hsv2rgb(enhancehue/360, saturation/254 , 1)

                    value immer auf 1

                    P.S.: Was ist denn das für ein Adapter, der so merkwürdige Werte liefert?

                    T Offline
                    T Offline
                    tklein
                    schrieb am zuletzt editiert von
                    #13

                    @armilar danke schaue ich mir an und versuche es zu verstehen

                    1 Antwort Letzte Antwort
                    0
                    • ArmilarA Armilar

                      @tklein

                      function hsv2rgb(hue, saturation, value) {
                          hue /= 60;
                          let chroma = value * saturation;
                          let x = chroma * (1 - Math.abs((hue % 2) - 1));
                          let rgb = hue <= 1 ? [chroma, x, 0] :
                              hue <= 2 ? [x, chroma, 0] :
                                  hue <= 3 ? [0, chroma, x] :
                                      hue <= 4 ? [0, x, chroma] :
                                          hue <= 5 ? [x, 0, chroma] :
                                              [chroma, 0, x];
                       
                          return rgb.map(v => (v + value - chroma) * 255);
                      }
                      
                      
                      function ConvertRGBtoHex(red, green, blue) {
                          return '#' + ColorToHex(red) + ColorToHex(green) + ColorToHex(blue);
                      }
                      
                      //Helper
                      function ColorToHex(color) {
                          let hexadecimal = color.toString(16);
                          return hexadecimal.length == 1 ? '0' + hexadecimal : hexadecimal;
                      }
                      
                      let enhancehue = 32896;
                      let saturation = 254;
                      let transtime =  5;
                      log(hsv2rgb(enhancehue/360, saturation/254 , 1))
                      let rgb = hsv2rgb(enhancehue/360, saturation/254, 1)
                      log(String(ConvertRGBtoHex(Math.round(rgb[0]*1)/1, Math.round(rgb[1]*1)/1, Math.round(rgb[2]*1)/1)));
                      

                      So kommen bei mir sinnvolle Werte raus:

                      script.js.common.DEV.Beispiele.HSV2HEX: [ 121.64444444444442, 255, 0 ]
                      script.js.common.DEV.Beispiele.HSV2HEX: #7aff00
                      

                      a1d572e2-a57c-4903-a06b-ae9c77408fba-image.png

                      Würde bedeuten
                      hsv2rgb(enhancehue/360, saturation/254 , 1)

                      value immer auf 1

                      P.S.: Was ist denn das für ein Adapter, der so merkwürdige Werte liefert?

                      T Offline
                      T Offline
                      tklein
                      schrieb am zuletzt editiert von
                      #14

                      @armilar said in HUE Farbwert (HSV?) nach HEX konvertieren:

                      function ConvertRGBtoHex(red, green, blue) {

                      das ist der zigbee adapter.

                      Ich komme leider immer noch nicht weiter :-(

                      Ausgabe:

                      fd6dd193-9365-4b2e-86e2-8ff2f55cfb46-grafik.png

                      Funktion:
                      30796049-62c8-4055-83e9-24eb5a4885ca-grafik.png

                      AsgothianA 1 Antwort Letzte Antwort
                      0
                      • T tklein

                        @armilar said in HUE Farbwert (HSV?) nach HEX konvertieren:

                        function ConvertRGBtoHex(red, green, blue) {

                        das ist der zigbee adapter.

                        Ich komme leider immer noch nicht weiter :-(

                        Ausgabe:

                        fd6dd193-9365-4b2e-86e2-8ff2f55cfb46-grafik.png

                        Funktion:
                        30796049-62c8-4055-83e9-24eb5a4885ca-grafik.png

                        AsgothianA Offline
                        AsgothianA Offline
                        Asgothian
                        Developer
                        schrieb am zuletzt editiert von
                        #15

                        @tklein sagte in HUE Farbwert (HSV?) nach HEX konvertieren:

                        Hallo,

                        wie kann ich aus den Werten

                        {
                          "type": "commandEnhancedMoveToHueAndSaturation",
                          "data": {
                            "enhancehue": 32896,
                            "saturation": 254,
                            "transtime": 5
                          },
                        

                        eine HEX-Wert konvertieren? Ist das angegebene Format im JSON HSV?

                        Falls ja, ist die Zuordnung so korrekt?

                        • H = enhancehue

                        • S = saturation

                        • V = transtime

                        Nebenbei, die Segmente des “HSV” Modells heißen Hue, Saturation, Value.

                        Die transtime ist bei dem verwendeten Befehl eine Zeit in der der Wechsel stattfinden soll.

                        ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                        "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                        T 1 Antwort Letzte Antwort
                        0
                        • AsgothianA Asgothian

                          @tklein sagte in HUE Farbwert (HSV?) nach HEX konvertieren:

                          Hallo,

                          wie kann ich aus den Werten

                          {
                            "type": "commandEnhancedMoveToHueAndSaturation",
                            "data": {
                              "enhancehue": 32896,
                              "saturation": 254,
                              "transtime": 5
                            },
                          

                          eine HEX-Wert konvertieren? Ist das angegebene Format im JSON HSV?

                          Falls ja, ist die Zuordnung so korrekt?

                          • H = enhancehue

                          • S = saturation

                          • V = transtime

                          Nebenbei, die Segmente des “HSV” Modells heißen Hue, Saturation, Value.

                          Die transtime ist bei dem verwendeten Befehl eine Zeit in der der Wechsel stattfinden soll.

                          T Offline
                          T Offline
                          tklein
                          schrieb am zuletzt editiert von
                          #16

                          @asgothian

                          hi,

                          ob das ein hsv wert ist, kann ich leider nicht sagen. Ich bekomme nur das json aus dem zigbee adapter für die fernbedienung. Eigentlich ist es nicht das korrekte modell. Meine wird derzeit nicht unterstützt. Die Befehle scheinen
                          jedoch idenitsch zu sein.

                          1803ba11-bd55-42ed-a1f9-6a9461c4aa50-grafik.png

                          19acc3d4-f008-4352-a002-a1b5173c4fba-grafik.png

                          Ist V denn nun mit Value = Transtime?

                          LG
                          Thomas

                          HomoranH 1 Antwort Letzte Antwort
                          0
                          • T tklein

                            @asgothian

                            hi,

                            ob das ein hsv wert ist, kann ich leider nicht sagen. Ich bekomme nur das json aus dem zigbee adapter für die fernbedienung. Eigentlich ist es nicht das korrekte modell. Meine wird derzeit nicht unterstützt. Die Befehle scheinen
                            jedoch idenitsch zu sein.

                            1803ba11-bd55-42ed-a1f9-6a9461c4aa50-grafik.png

                            19acc3d4-f008-4352-a002-a1b5173c4fba-grafik.png

                            Ist V denn nun mit Value = Transtime?

                            LG
                            Thomas

                            HomoranH Nicht stören
                            HomoranH Nicht stören
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von
                            #17

                            @tklein sagte in HUE Farbwert (HSV?) nach HEX konvertieren:

                            Transtime

                            ist die Zeit für den Übergang zur neuen Einstellung.
                            hat nichts mit dem Farbwert zu tun

                            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            T 1 Antwort Letzte Antwort
                            0
                            • HomoranH Homoran

                              @tklein sagte in HUE Farbwert (HSV?) nach HEX konvertieren:

                              Transtime

                              ist die Zeit für den Übergang zur neuen Einstellung.
                              hat nichts mit dem Farbwert zu tun

                              T Offline
                              T Offline
                              tklein
                              schrieb am zuletzt editiert von
                              #18

                              @homoran dann fehlt mir also der wert vom "v", um einen rgb bzw hex wert berechnen zu können so wie es aussieht

                              HomoranH AsgothianA 2 Antworten Letzte Antwort
                              0
                              • T tklein

                                @homoran dann fehlt mir also der wert vom "v", um einen rgb bzw hex wert berechnen zu können so wie es aussieht

                                HomoranH Nicht stören
                                HomoranH Nicht stören
                                Homoran
                                Global Moderator Administrators
                                schrieb am zuletzt editiert von
                                #19

                                @tklein sagte in HUE Farbwert (HSV?) nach HEX konvertieren:

                                @homoran dann fehlt mir also der wert vom "v", um einen rgb bzw hex wert berechnen zu können so wie es aussieht

                                nein! den hast du anscheinend
                                https://de.m.wikipedia.org/wiki/HSV-Farbraum

                                kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

                                der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                1 Antwort Letzte Antwort
                                0
                                • T tklein

                                  @homoran dann fehlt mir also der wert vom "v", um einen rgb bzw hex wert berechnen zu können so wie es aussieht

                                  AsgothianA Offline
                                  AsgothianA Offline
                                  Asgothian
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #20

                                  @tklein Normalerweise wird der “brightness” Wert als “V” im HSV Modell genutzt, wobei du schauen musst ob der 0-1 oder 0-100 ist.

                                  ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                                  "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                                  T 1 Antwort Letzte Antwort
                                  0
                                  • AsgothianA Asgothian

                                    @tklein Normalerweise wird der “brightness” Wert als “V” im HSV Modell genutzt, wobei du schauen musst ob der 0-1 oder 0-100 ist.

                                    T Offline
                                    T Offline
                                    tklein
                                    schrieb am zuletzt editiert von
                                    #21

                                    @asgothian sorry, aber da bin ich momentan bildungsresistent. Wo finde ich denn den Wert, oder kann ich den immer mit 1 annehmen, so wie @Armilar geschrieben hatte?

                                    1 Antwort Letzte Antwort
                                    0
                                    • HomoranH Nicht stören
                                      HomoranH Nicht stören
                                      Homoran
                                      Global Moderator Administrators
                                      schrieb am zuletzt editiert von
                                      #22

                                      @tklein sagte in HUE Farbwert (HSV?) nach HEX konvertieren:

                                      finde ich denn den Wert

                                      @asgothian sagte in HUE Farbwert (HSV?) nach HEX konvertieren:

                                      brightness

                                      ist doch auch bei dir

                                      @tklein sagte in HUE Farbwert (HSV?) nach HEX konvertieren:

                                      sein.

                                      im Screenshot

                                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

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

                                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                      1 Antwort Letzte Antwort
                                      0
                                      • ArmilarA Armilar

                                        @tklein

                                        function hsv2rgb(hue, saturation, value) {
                                            hue /= 60;
                                            let chroma = value * saturation;
                                            let x = chroma * (1 - Math.abs((hue % 2) - 1));
                                            let rgb = hue <= 1 ? [chroma, x, 0] :
                                                hue <= 2 ? [x, chroma, 0] :
                                                    hue <= 3 ? [0, chroma, x] :
                                                        hue <= 4 ? [0, x, chroma] :
                                                            hue <= 5 ? [x, 0, chroma] :
                                                                [chroma, 0, x];
                                         
                                            return rgb.map(v => (v + value - chroma) * 255);
                                        }
                                        
                                        
                                        function ConvertRGBtoHex(red, green, blue) {
                                            return '#' + ColorToHex(red) + ColorToHex(green) + ColorToHex(blue);
                                        }
                                        
                                        //Helper
                                        function ColorToHex(color) {
                                            let hexadecimal = color.toString(16);
                                            return hexadecimal.length == 1 ? '0' + hexadecimal : hexadecimal;
                                        }
                                        
                                        let enhancehue = 32896;
                                        let saturation = 254;
                                        let transtime =  5;
                                        log(hsv2rgb(enhancehue/360, saturation/254 , 1))
                                        let rgb = hsv2rgb(enhancehue/360, saturation/254, 1)
                                        log(String(ConvertRGBtoHex(Math.round(rgb[0]*1)/1, Math.round(rgb[1]*1)/1, Math.round(rgb[2]*1)/1)));
                                        

                                        So kommen bei mir sinnvolle Werte raus:

                                        script.js.common.DEV.Beispiele.HSV2HEX: [ 121.64444444444442, 255, 0 ]
                                        script.js.common.DEV.Beispiele.HSV2HEX: #7aff00
                                        

                                        a1d572e2-a57c-4903-a06b-ae9c77408fba-image.png

                                        Würde bedeuten
                                        hsv2rgb(enhancehue/360, saturation/254 , 1)

                                        value immer auf 1

                                        P.S.: Was ist denn das für ein Adapter, der so merkwürdige Werte liefert?

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

                                        @armilar sagte in HUE Farbwert (HSV?) nach HEX konvertieren:

                                        hsv2rgb(enhancehue/360, saturation/254 , 1)

                                        wie schon beschrieben müsste

                                        • H = enhancedhue durch 360 geteilt werden
                                        • S = saturation durch 254 geteilt werden oder direkt mit 1 in die Funktion (= sattere Farben)
                                        • V = 1 (immer)

                                        ein akzeptables Ergebnis liefern...

                                        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.

                                        T 1 Antwort Letzte Antwort
                                        0
                                        • ArmilarA Armilar

                                          @armilar sagte in HUE Farbwert (HSV?) nach HEX konvertieren:

                                          hsv2rgb(enhancehue/360, saturation/254 , 1)

                                          wie schon beschrieben müsste

                                          • H = enhancedhue durch 360 geteilt werden
                                          • S = saturation durch 254 geteilt werden oder direkt mit 1 in die Funktion (= sattere Farben)
                                          • V = 1 (immer)

                                          ein akzeptables Ergebnis liefern...

                                          T Offline
                                          T Offline
                                          tklein
                                          schrieb am zuletzt editiert von
                                          #24

                                          @armilar dann brauche ich deine komplexere hsv2rgb funktion gar nicht?

                                          ArmilarA 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          928

                                          Online

                                          32.5k

                                          Benutzer

                                          81.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