IPS Color Picker - welche Werte werden zurückgegeben?

Hallo,

ich steuere mit dem Color Picker sowohl einen HM RGBW Controller als auch meine alten im Mediola Gateway hinterlegten Futlight RF 433 MHz Controller.

Es funktioniert bei beiden Controllern sowohl die Farbeinstellung im äußeren Ring als auch die Helligkeitsregelung durch den inneren Ring.

Jetzt würde ich gerne wissen, ob man auslesen kann welchen der beiden Ringe man betätigt hat. Dies hätte für mich einige praktische Vorteile bei der Helligkeitssteuerung der Futlight Controller.

Gruß
Hans

Ist zwar keine Antwort beschäftige mich aber aktuell mit der Integration der HM RGBW Controller. Mit dem Umrechnungsskript für HEX konnte ich das Farbrad aktivieren mit ein paar Unschönheiten.

  • Bei Weiss wird im Webgui „Blau“ angezeigt
  • Weiss kann via Webgui nicht angewählt werden
  • Bei Auswahl anderer Farbe stimmt zwar die Farbe vom Strip aber nicht im WebGui

Als Profil ist der HexColor Picker ausgewählt.

Wie hast Du dies gelöst? Oder geht dies gar nicht nur mit dem Color Picker?

Falls doch könntest Du mal deine Action Scripte zum Colorpicker posten?

thx und gruss

HM-Funkmodul für RPI2 & RGB(W)-Controller bestellbar - Seite 12
Das probiert ?
Michael

Genau das, ich lese jetzt nochmals alles durch in der Hoffnung meinen Fehler zu finden. Jedoch genau dieses „ActionScript“ löst das oben beschriebene Verhalten bei mir aus, leider…

Es liess mir gestern doch keine Ruhe und ich musste noch einmal alles durchchecken. Was mir während der Durchsicht sowie dem Vergleichen mit anderen RGB to HEX Rechnern in PHP aufgefallen ist, dass alle ohne Weiss rechnen. Sprich Weiss immer separat ausgewählt wird. Auch so in dem genannten Beispiel es wird ja nochmals korrigiert.

if 200 = HM199

Bei dem HM RGBW Controller ist Weiss ja 200. Wenn ich die RGB886 Steuerungsprintscreens anschaue ist Weiss auch einzeln. Habe ich hier einfach einen Denkfehler gemacht, dass man Weiss gleich aus dem Farbkreis heraus auswählen kann?

Was ich aber echt nicht begreife ist warum mir das Teil im WebGui nicht die korrekte Farbe anzeigt. Nicht nur bei Weiss auch bei allen anderen und ziemlich „dunkel“ die Farbe am LED Stripe stimmt aber mit dem überein was ich im Kreis wähle nur die Anzeige ist falsch…

Ev. frage ich im anderen Thread mal nach. Wollte nicht diesen missbrauchen, sorry!

Merci und Gruss (jeder Tipp wird dankend angenommen… ;-))

Hallo swissroot,

sorry, ich habe erst jetzt gesehen, dass du Probleme mit dem RGBW Controller hast :wink:

Wie sieht das Ganze denn aus, wenn du den Controller direkt über das WebGui von Homematic schaltest? Wird dort alles korrekt angezeigt, Programme, Farben, weiß usw.?

Ferner poste doch mal dein Script und die relevante Objektbaumstruktur damit man erkennen kann, wo das Problem liegen könnte. Weiß habe ich übrigens auf eine separate Taste gelegt (rechts oben). Anbei ein kleiner Screenshot der dir zeigt wie das bei mir aufgebaut ist. Die Pfeiltasten dienen ebenfalls der Helligkeitsregelung in unterschiedlich großen Schritten. Die RGB Taste links oben ist für die Programmauswahl. Dies ist alles mit IPSView gemacht.

Hier noch der Code für die Helligkeitsberechnung:

// HEX-Wert in einzelne Werte für Rot / Grün / Blau zerlegen
$r = (($Farbe >> 16) & 0xFF);
$g = (($Farbe >> 8) & 0xFF);
$b = (($Farbe >> 0) & 0xFF);

// Farbsättigung
$fs=255;

/* Berechnung der Helligkeit

Die hier angewendete Formel wird vom W3C für die Bestimmung von Farbhelligkeiten
empfohlen, die auf Bildschirmen dargestellt werden. 
http://www.w3.org/TR/2006/WD-WCAG20-20060427/appendixA.html#luminosity-contrastdef

The luminosity of a color is defined as
0.2126 * ((R / FS) ^ 2.2) + 0.7152 * ((G / FS) ^ 2.2) + 0.0722 * ((B / FS) ^ 2.2).

R, G, and B are the red, green, and blue RGB values of the color.

FS is the maximum possible full scale RGB value for R, G, and B (255 for eight bit color channels).
The "^" character is the exponentiation operator.

Infos auch hier
http://www.kurztutorial.info/programme/helligkeit-farbe-berechnen/rgb-bright-rechner.htm
*/

$Helligkeit= 0.2126 * pow(($r/$fs), 2.2) + 0.7152 * pow(($g/$fs), 2.2) + 0.0722 * pow(($b/$fs), 2.2);

// Umwandeln der RGB Werte
$hsv =  RGBtoHSV($r, $g, $b);

Nimm für die Antwort besser den anderen Thread :slight_smile:

Gruß
Hans

CP.PNG.jpg