Hallo allerseits,
seit IPS 3 gibt es ja den schicken Color Picker oder auch RGB Slider mit Farbkreis.
Da ich gestern einige Stunden mit Suchen im Forum verbracht habe um herauszufinden wie man
das Dings benutzt möchte ich hier das wesentliche einfach mal für die Nachwelt zusammenfassen.
Estellen ist eigentlich einfach:
- Anlegen eines Aktionsscriptes für den Picker (dazu weiter unten mehr)
- Anlegen einer Variable vom Typ Integer mit dem Variablenprofil ~HexColor und unter „Eigene Aktion“ wählt man das
eben erstellte Skript aus. - An gewünschter Stelle im Webfront erstellt man einen Link auf die eben erstellte Integer Variable.
Nun kann der Color Picker im Webfront schon betrachtet werden.
Um da am ende Leben reinzubekommen muss im Aktionsscript nun mit den vom Picker gesendeten Daten etwas gemacht werden.
<?
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']); // Speichert den vom Picker gesendeten Wert in der angelegten Variable
//Nun steht in der Vaiable ein HEX wert drin, z.b. FF321B diesen müssen wir nun in einzelne Werte für Rot / Grün / Blau zerlegen und genau das war der Part der für mich im Forum nicht einfach zu finden war
$r = (($_IPS['VALUE'] >> 16) & 0xFF);
$g = (($_IPS['VALUE'] >> 8) & 0xFF);
$b = (($_IPS['VALUE'] >> 0) & 0xFF);
//Nun haben wir tatsächlich einzelne Werte für RGB und können diese weiterverarbeiten, z.B. an einen Client Socket senden um wie bei mir den LW-12 WLAN RGB Stripe Controller anzusteuern
CSCK_SendText(19783 /*[LedController]*/ , "%c%c%c%c%c".chr(0x56).chr($r).chr($g).chr($b).chr(0xAA).CHR(13).chr(10)); //Setzt die RGB Farbwerte des LW-12
So für alle dies das nachmachen wollen soll dies eine Arbeitserleichterung sein.
Viel Spaß
Martin