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. Einsteigerfragen
  4. Einbindung von Geräten
  5. xy Farbe setzen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

xy Farbe setzen

Geplant Angeheftet Gesperrt Verschoben Einbindung von Geräten
48 Beiträge 7 Kommentatoren 6.0k 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.
  • H Helmex

    @paul53 Screenshot 2022-10-07 16.10.12.jpg
    Wie übergebe ich r g b an die Funktion?

    DJMarc75D Offline
    DJMarc75D Offline
    DJMarc75
    schrieb am zuletzt editiert von
    #41

    @helmex r,g,b solltest Du in der Funktion hinzufügen:

    Screenshot 2022-10-07 162121.png

    Lehrling seit 1975 !!!
    Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
    https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

    H 1 Antwort Letzte Antwort
    0
    • DJMarc75D DJMarc75

      @helmex r,g,b solltest Du in der Funktion hinzufügen:

      Screenshot 2022-10-07 162121.png

      H Offline
      H Offline
      Helmex
      schrieb am zuletzt editiert von
      #42

      @djmarc75 COOL - Funktioniert. Vielen Dank !!!

      DJMarc75D 1 Antwort Letzte Antwort
      0
      • H Helmex

        @djmarc75 COOL - Funktioniert. Vielen Dank !!!

        DJMarc75D Offline
        DJMarc75D Offline
        DJMarc75
        schrieb am zuletzt editiert von
        #43

        @helmex sagte in xy Farbe setzen:

        Vielen Dank !!!

        Da musst Du Dich bei @paul53 bedanken - er hat abgeliefert !:stuck_out_tongue_winking_eye:

        Lehrling seit 1975 !!!
        Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
        https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

        ArmilarA 1 Antwort Letzte Antwort
        0
        • DJMarc75D DJMarc75

          @helmex sagte in xy Farbe setzen:

          Vielen Dank !!!

          Da musst Du Dich bei @paul53 bedanken - er hat abgeliefert !:stuck_out_tongue_winking_eye:

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

          @djmarc75 sagte in xy Farbe setzen:

          @helmex sagte in xy Farbe setzen:

          Vielen Dank !!!

          Da musst Du Dich bei @paul53 bedanken - er hat abgeliefert !:stuck_out_tongue_winking_eye:

          Sorry zu spät ;-) . Hab es soeben erst in der Zusammenfassung von gestern gesehen. Falls es noch jemanden interessiert. So benutzen wir es im NSPanel lovelace UI wenn wir exakt die Problematik mit dem DeConz lösen wollen. Im DeConz funktioniert in der Tat nur der XY im Zusammenspiel mit Farben korrekt...

          function rgb_to_cie(red, green, blue)
          {
          	//Apply a gamma correction to the RGB values, which makes the color more vivid and more the like the color displayed on the screen of your device
          	var vred 	= (red > 0.04045) ? Math.pow((red + 0.055) / (1.0 + 0.055), 2.4) : (red / 12.92);
          	var vgreen 	= (green > 0.04045) ? Math.pow((green + 0.055) / (1.0 + 0.055), 2.4) : (green / 12.92);
          	var vblue 	= (blue > 0.04045) ? Math.pow((blue + 0.055) / (1.0 + 0.055), 2.4) : (blue / 12.92); 
          
          	//RGB values to XYZ using the Wide RGB D65 conversion formula
          	var X 		= vred * 0.664511 + vgreen * 0.154324 + vblue * 0.162028;
          	var Y 		= vred * 0.283881 + vgreen * 0.668433 + vblue * 0.047685;
          	var Z 		= vred * 0.000088 + vgreen * 0.072310 + vblue * 0.986039;
          
          	//Calculate the xy values from the XYZ values
          	var ciex 	= (X / (X + Y + Z)).toFixed(4);
          	var ciey 	= (Y / (X + Y + Z)).toFixed(4);
                  var cie         = "[" + ciex + "," + ciey + "]"
          
          	return cie;
          }
          

          im return "cie" ist euer XY enthalten. Also nur für den Fall, dass das jemand ohne "Zusätzliche NPM-Module" realisieren möchte.

          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.

          H 1 Antwort Letzte Antwort
          0
          • ArmilarA Armilar

            @djmarc75 sagte in xy Farbe setzen:

            @helmex sagte in xy Farbe setzen:

            Vielen Dank !!!

            Da musst Du Dich bei @paul53 bedanken - er hat abgeliefert !:stuck_out_tongue_winking_eye:

            Sorry zu spät ;-) . Hab es soeben erst in der Zusammenfassung von gestern gesehen. Falls es noch jemanden interessiert. So benutzen wir es im NSPanel lovelace UI wenn wir exakt die Problematik mit dem DeConz lösen wollen. Im DeConz funktioniert in der Tat nur der XY im Zusammenspiel mit Farben korrekt...

            function rgb_to_cie(red, green, blue)
            {
            	//Apply a gamma correction to the RGB values, which makes the color more vivid and more the like the color displayed on the screen of your device
            	var vred 	= (red > 0.04045) ? Math.pow((red + 0.055) / (1.0 + 0.055), 2.4) : (red / 12.92);
            	var vgreen 	= (green > 0.04045) ? Math.pow((green + 0.055) / (1.0 + 0.055), 2.4) : (green / 12.92);
            	var vblue 	= (blue > 0.04045) ? Math.pow((blue + 0.055) / (1.0 + 0.055), 2.4) : (blue / 12.92); 
            
            	//RGB values to XYZ using the Wide RGB D65 conversion formula
            	var X 		= vred * 0.664511 + vgreen * 0.154324 + vblue * 0.162028;
            	var Y 		= vred * 0.283881 + vgreen * 0.668433 + vblue * 0.047685;
            	var Z 		= vred * 0.000088 + vgreen * 0.072310 + vblue * 0.986039;
            
            	//Calculate the xy values from the XYZ values
            	var ciex 	= (X / (X + Y + Z)).toFixed(4);
            	var ciey 	= (Y / (X + Y + Z)).toFixed(4);
                    var cie         = "[" + ciex + "," + ciey + "]"
            
            	return cie;
            }
            

            im return "cie" ist euer XY enthalten. Also nur für den Fall, dass das jemand ohne "Zusätzliche NPM-Module" realisieren möchte.

            H Offline
            H Offline
            Helmex
            schrieb am zuletzt editiert von
            #45

            In welchem Format werden die Werte übergeben? Ich hätte 0-254 vermutet, daß klappt aber nicht. Wie kann ich mit debug Output die Rückgabe der Funktion zur Kontrolle ausgeben?

            paul53P 1 Antwort Letzte Antwort
            0
            • H Helmex

              In welchem Format werden die Werte übergeben? Ich hätte 0-254 vermutet, daß klappt aber nicht. Wie kann ich mit debug Output die Rückgabe der Funktion zur Kontrolle ausgeben?

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

              @helmex sagte: In welchem Format werden die Werte übergeben?

              An das NPM-Modul 0-255.

              EDIT: Etwas abgewandelte Funktion aus dem NPM-Modul:

              function rgb2xy(r, g, b) {
              // Anfang in Blockly
                  r = r / 255;
                  g = g / 255;
                  b = b / 255;
                  r = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4000000953674316) : r / 12.92;
                  g = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4000000953674316) : g / 12.92;
                  b = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4000000953674316) : b / 12.92;
                  let x = r * 0.664511 + g * 0.154324 + b * 0.162028;
                  let y = r * 0.283881 + g * 0.668433 + b * 0.047685;
                  let z = r * 8.8E-5 + g * 0.07231 + b * 0.986039;
                  let xy = [0, 0];
                  if(x + y + z > 0) xy = [Math.round(1000 * x / (x + y + z)) / 1000, Math.round(1000 * y / (x + y + z)) / 1000];
                  return xy;
              // Ende in Blockly  
              }
              

              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

              H 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @helmex sagte: In welchem Format werden die Werte übergeben?

                An das NPM-Modul 0-255.

                EDIT: Etwas abgewandelte Funktion aus dem NPM-Modul:

                function rgb2xy(r, g, b) {
                // Anfang in Blockly
                    r = r / 255;
                    g = g / 255;
                    b = b / 255;
                    r = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4000000953674316) : r / 12.92;
                    g = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4000000953674316) : g / 12.92;
                    b = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4000000953674316) : b / 12.92;
                    let x = r * 0.664511 + g * 0.154324 + b * 0.162028;
                    let y = r * 0.283881 + g * 0.668433 + b * 0.047685;
                    let z = r * 8.8E-5 + g * 0.07231 + b * 0.986039;
                    let xy = [0, 0];
                    if(x + y + z > 0) xy = [Math.round(1000 * x / (x + y + z)) / 1000, Math.round(1000 * y / (x + y + z)) / 1000];
                    return xy;
                // Ende in Blockly  
                }
                
                H Offline
                H Offline
                Helmex
                schrieb am zuletzt editiert von
                #47

                @paul53 Die Ausgabe zur Kontrolle mit debug output habe ich inbekommen.
                Zu meinem Verständnis: xy ist ein Farbwert unabhängig von der Helligkeit. Die Funktion errechnet aus dem Verhältnis der RGB-Farben den xy-Wert. Richtig?

                paul53P 1 Antwort Letzte Antwort
                0
                • H Helmex

                  @paul53 Die Ausgabe zur Kontrolle mit debug output habe ich inbekommen.
                  Zu meinem Verständnis: xy ist ein Farbwert unabhängig von der Helligkeit. Die Funktion errechnet aus dem Verhältnis der RGB-Farben den xy-Wert. Richtig?

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

                  @helmex sagte: Die Funktion errechnet aus dem Verhältnis der RGB-Farben den xy-Wert. Richtig?

                  Richtig.

                  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

                  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

                  791

                  Online

                  32.4k

                  Benutzer

                  81.5k

                  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