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:

      Deshalb...

      Wird sich zeigen ob da zukünftige Probleme auftreten... das mit dem Salat war eine Vermutung wegen Error25 - aber eine Glaskugel hab ich nicht 😜

      Du hast meine Frage noch nicht beantwortet WIE Du bisher den Stripe angesteuert hast.....
      Gibts da ne APP ?

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

        @djmarc75 noch garnicht. Ich habe einen LED Strip RGBWW und den MiBoxer Controller sowie den Dimmerschalter von Ikea. Und den Pi mit dem Raspbee-Modul. Ein-Ausschalten funktioniert bereits...

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

                                  557
                                  Online

                                  31.9k
                                  Users

                                  80.1k
                                  Topics

                                  1.3m
                                  Posts

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