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. RGB zu Hex js-Funktion mit Ergebnis

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.8k

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

RGB zu Hex js-Funktion mit Ergebnis

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
8 Beiträge 5 Kommentatoren 1.8k Aufrufe 5 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.
  • marcusklM Offline
    marcusklM Offline
    marcuskl
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich verzweifle an einer Funktion, ich möchte 3 Variablen (rot, grün, blau) in einer "js-Funktion mit Ergebnis" von rgb zu hexadezimal umrechnen lassen, aber es funktioniert nicht.
    Verbessert mich bitte, was ich anders machen muss.

    Danke

    function RGBToHex(r,g,b) {
      r = r.toString(16);
      g = g.toString(16);
      b = b.toString(16);
    
      if (r.length == 1)
        r = "0" + r;
      if (g.length == 1)
        g = "0" + g;
      if (b.length == 1)
        b = "0" + b;
    
      return "#" + r + g + b;
    }
    

    rgbtohex.jpg
    rgbtohex2.jpg

    Host: Intel Nuc6cayh (16GB Ram, 240GB SSD) mit Proxmox.

    Iobroker VM, InfluxDB LXC, Pihole LXC, Tasmoadmin LXC, Easy2connect VM

    1 Antwort Letzte Antwort
    0
    • N Offline
      N Offline
      NightWatcher
      schrieb am zuletzt editiert von
      #2

      z.B. so:

      function componentToHex(c) {
          var hex = c.toString(16);
          return hex.length == 1 ? "0" + hex : hex;
      }
      
      function rgbToHex(r, g, b) {
          return componentToHex(r) + componentToHex(g) + componentToHex(b);
      }
      
      function HexToRgb(hex) {
          var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
          return result ? {
              r: parseInt(result[1], 16),
              g: parseInt(result[2], 16),
              b: parseInt(result[3], 16)
          } : null;
      }
      

      Wago 750-881 - mit über 200 Ein- und Ausgängen, DMX512 Art-Net für Beleuchtung, 1-Wire für Umweltsensoren Aussen und Innen, ioBroker als Visualisierung

      marcusklM 1 Antwort Letzte Antwort
      0
      • N NightWatcher

        z.B. so:

        function componentToHex(c) {
            var hex = c.toString(16);
            return hex.length == 1 ? "0" + hex : hex;
        }
        
        function rgbToHex(r, g, b) {
            return componentToHex(r) + componentToHex(g) + componentToHex(b);
        }
        
        function HexToRgb(hex) {
            var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
            return result ? {
                r: parseInt(result[1], 16),
                g: parseInt(result[2], 16),
                b: parseInt(result[3], 16)
            } : null;
        }
        
        marcusklM Offline
        marcusklM Offline
        marcuskl
        schrieb am zuletzt editiert von
        #3

        @NightWatcher sagte in RGB zu Hex js-Funktion mit Ergebnis:

        z.B. so:

        function componentToHex(c) {
            var hex = c.toString(16);
            return hex.length == 1 ? "0" + hex : hex;
        }
        
        function rgbToHex(r, g, b) {
            return componentToHex(r) + componentToHex(g) + componentToHex(b);
        }
        
        function HexToRgb(hex) {
            var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
            return result ? {
                r: parseInt(result[1], 16),
                g: parseInt(result[2], 16),
                b: parseInt(result[3], 16)
            } : null;
        }
        

        Was in den Skript sind die drei Variablen, rot, grün und blau ?
        Ich habe nähmlich 3 Variablen und nicht nur 1 wo alle 3 werte zusammen sind.

        Host: Intel Nuc6cayh (16GB Ram, 240GB SSD) mit Proxmox.

        Iobroker VM, InfluxDB LXC, Pihole LXC, Tasmoadmin LXC, Easy2connect VM

        1 Antwort Letzte Antwort
        0
        • B Offline
          B Offline
          BigMike71
          schrieb am zuletzt editiert von
          #4

          hallo, würde gerne auch von rgb wert auf hex ändern lassen, komme aber weder mit blockly oder javascript weiter... der js aufruf gibt keinen wert zurück..
          gibt es inzwichen eine lösung?

          paul53P 1 Antwort Letzte Antwort
          0
          • B BigMike71

            hallo, würde gerne auch von rgb wert auf hex ändern lassen, komme aber weder mit blockly oder javascript weiter... der js aufruf gibt keinen wert zurück..
            gibt es inzwichen eine lösung?

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von paul53
            #5

            @BigMike71 sagte in RGB zu Hex js-Funktion mit Ergebnis:

            der js aufruf gibt keinen wert zurück..

            Das Script enthält auch nur die Funktionen, die zur Umrechnung aufgerufen werden müssen:

            // Umrechnungsfunktionen (s.o.)
            
            var r = getState(idRot).val;
            var g = getState(idGruen).val;
            var b = getState(idBlau).val;
            
            var hex = '#' + rgbToHex(r, g, b);
            log('Hex: ' + hex);
            

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            B 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @BigMike71 sagte in RGB zu Hex js-Funktion mit Ergebnis:

              der js aufruf gibt keinen wert zurück..

              Das Script enthält auch nur die Funktionen, die zur Umrechnung aufgerufen werden müssen:

              // Umrechnungsfunktionen (s.o.)
              
              var r = getState(idRot).val;
              var g = getState(idGruen).val;
              var b = getState(idBlau).val;
              
              var hex = '#' + rgbToHex(r, g, b);
              log('Hex: ' + hex);
              
              B Offline
              B Offline
              BigMike71
              schrieb am zuletzt editiert von BigMike71
              #6

              @paul53
              so, habe noch mal geschaut und den bzw. meinen fehler gefunden...
              im Beispiel unten war die Übergabefunktion in einer Funktion, da geht dann kein result zurück weil ich den code innerhalb blockly im JS Block eingebe und da wird ja schon automatisch eine function geöffnet.
              hatte den code nur copy paste und das war der fehler.
              hab folgendermassen den code geändert und nun geht es:

              function componentToHex(c) {
              var hex = c.toString(16);
              return hex.length == 1 ? "0" + hex : hex;
              }
              
              return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
              
               
              
              2 1 Antwort Letzte Antwort
              0
              • B BigMike71

                @paul53
                so, habe noch mal geschaut und den bzw. meinen fehler gefunden...
                im Beispiel unten war die Übergabefunktion in einer Funktion, da geht dann kein result zurück weil ich den code innerhalb blockly im JS Block eingebe und da wird ja schon automatisch eine function geöffnet.
                hatte den code nur copy paste und das war der fehler.
                hab folgendermassen den code geändert und nun geht es:

                function componentToHex(c) {
                var hex = c.toString(16);
                return hex.length == 1 ? "0" + hex : hex;
                }
                
                return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
                
                 
                
                2 Offline
                2 Offline
                2hot4you
                schrieb am zuletzt editiert von
                #7

                @BigMike71

                stehe vor dem gleichem Problem. Kannst Du Dein blockly max exportieren ?

                B 1 Antwort Letzte Antwort
                0
                • 2 2hot4you

                  @BigMike71

                  stehe vor dem gleichem Problem. Kannst Du Dein blockly max exportieren ?

                  B Offline
                  B Offline
                  BigMike71
                  schrieb am zuletzt editiert von BigMike71
                  #8

                  @2hot4you
                  hoffe das hilft dir weiter

                  Blockley.jpg Funktion.jpg

                  function (r, g, b)
                  1 function componentToHex(c) {
                  2
                  3    var hex = c.toString(16);
                  4
                  5    return hex.length == 1 ? "0" + hex : hex;
                  6
                  7 }
                  8 return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
                  9
                  10
                  
                  
                  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

                  536

                  Online

                  32.6k

                  Benutzer

                  82.1k

                  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