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.
    • DJMarc75
      DJMarc75 @Helmex last edited by

      @helmex sagte in xy Farbe setzen:

      MiBoxer Controller sowie den Dimmerschalter von Ikea

      kenn ich nicht.
      Aber der Stripe sollte doch eigentlich autark und nicht ausschliesslich per iobroker schaltbar sein - die Frage ist WIE.
      Wenn Du das (ich nehme an dass es da wohl irgendeine Anleitung gibt) mal in Betrieb nimmst kann man vll auch sehen wie sich die DPs hier in ioBroker verändern.

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

        @helmex sagte: Wie kann ich im Blockly die Farben xy setzen?

        Erstelle eine JS-Funktion mit Ergebnis

        Bild_2022-10-07_154840590.png

        mit folgendem Inhalt:

        const convert = require('@q42philips/hue-color-converter');
        return convert.calculateXY(r, g, b);
        

        nachdem @q42philips/hue-color-converter unter "Zusätzliche NPM-Module" in der Konfiguration des Javascript-Instanz eingetragen wurde.

        1 Reply Last reply Reply Quote 0
        • 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

                              931
                              Online

                              31.9k
                              Users

                              80.1k
                              Topics

                              1.3m
                              Posts

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