Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Einbindung von Geräten
    5. xy Farbe setzen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    xy Farbe setzen

    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      Helmex @DJMarc75 last edited by

      @djmarc75 Der Stripe hat keinen eigenen Controller. Ich kann den Wert xy ändern zB [0.4,0.4] zu [0.1,0.4]. Damit verändere ich die Farben. Wenn ich nun den hue-color-converter zum laufen bringe würde, könne ich weiterkommen.

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Helmex last edited by paul53

        @helmex sagte: hue-color-converter zum laufen bringe würde

        Einfach unter "Zusätzliche NPM-Module" in die Konfiguration des Javascript-Instanz eintragen.

        rgb2xy.JPG

        ... und dann in Blockly

        H 1 Reply Last reply Reply Quote 0
        • H
          Helmex @paul53 last edited by

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

          DJMarc75 1 Reply Last reply Reply Quote 0
          • DJMarc75
            DJMarc75 @Helmex last edited by

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

            Screenshot 2022-10-07 162121.png

            H 1 Reply Last reply Reply Quote 0
            • H
              Helmex @DJMarc75 last edited by

              @djmarc75 COOL - Funktioniert. Vielen Dank !!!

              DJMarc75 1 Reply Last reply Reply Quote 0
              • DJMarc75
                DJMarc75 @Helmex last edited by

                @helmex sagte in xy Farbe setzen:

                Vielen Dank !!!

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

                Armilar 1 Reply Last reply Reply Quote 0
                • Armilar
                  Armilar Most Active Forum Testing @DJMarc75 last edited by 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 !😜

                  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 1 Reply Last reply Reply Quote 0
                  • H
                    Helmex @Armilar last edited by

                    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?

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @Helmex last edited by 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 1 Reply Last reply Reply Quote 0
                      • H
                        Helmex @paul53 last edited by

                        @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?

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @Helmex last edited by

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

                          Richtig.

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          635
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

                          7
                          48
                          3504
                          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