userReadings: RGB Werte in Hue umwandeln - richtige Perl-Syntax gesucht

Begonnen von DC, 09 Juni 2017, 23:21:54

Vorheriges Thema - Nächstes Thema

DC

Die User-Interfaces arbeiten alle mit RGB-Werten, die Homematic LED-Strip Ansteuerung jedoch mit Hue.
Mit Hile eines Dummys und userReadings soll automatisch aus den RGB-Werten der Hue-Wert extrahiert werden

define v.RGB_Picker dummy
attr v.RGB_Picker alias Farbe
attr v.RGB_Picker devStateIcon {my $icon=Color_devStateIcon(ReadingsVal($name,"rgb","000000"));;$icon=~s/on/light_led_stripe_rgb/;;$icon}
attr v.RGB_Picker group 90 Szenen
attr v.RGB_Picker icon light_led_stripe_rgb
attr v.RGB_Picker readingList hue,hue1,rgb,rgb1
attr v.RGB_Picker room 00_Wohnzimmer
attr v.RGB_Picker setList hue:colorpicker,HUE,0,0.5,100
attr v.RGB_Picker stateFormat hue
attr v.RGB_Picker userReadings rgb {my $hue=ReadingsVal($name,"hue","0");;($hue eq "100")?"FFFFFF":Color::hsv2hex(($hue/100),1,1)},\
hue1 {my $rgb=ReadingsVal($name,"rgb","0");;($rgb eq "FFFFFF")?"100":{my ($r,$g,$b)=(hex(substr($rgb,0,2)/255.0;;substr($rgb,2,2)/255.0;;substr($rgb,4,2)/255.0;;my ($h,$s,$v) = Color::rgb2hsv($r,$g,$b);;my $hue = int($h*100);;})}


In der letzten Zeile gibt es einen Syntax-Fehler, und das Ganze überfordert meine Perl-Kenntnisse.
Was ist da falsch ? Wie bekomme ich den Hue-Wert ?

Hinweise:
- hue: slider im normalen Web-Interface von fhem
- rgb: Umrechnung von hue nach RGB zum Einfärben des Icons (erste Zeile von userReadings)
- hue1 und rgb1: experimentelle Werte
- rgb2hsv:
3 Parameter $r,$g,$b , definiert als Werte zwischen 0 und 1.
Der RGB-Wert (als #HHHHHH Hex-Wert definiert), muss in die 3 einzelnen RGB-Werte separiert werden
Dann Umwandlung Hex nach dezimal, und anschließend von 0..256 nach 0..1
Die Funktion liefert 3 return values: $h,$S,$v definiert als Werte zwischen 0 und 1.
Zur Weiterverarbeitung wird nur der $h Wert benötigt als Wert zwischen 0..100
----------
FHEM auf rPi, HMLAN, HM
Mac, iPad, iPhone

KernSani

ZitatIn der letzten Zeile gibt es einen Syntax-Fehler,
Was für einen denn?


RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

DC

Zitat von: KernSani am 10 Juni 2017, 00:03:38
Was für einen denn?

Error evaluating v.RGB_Picker userReading hue1: syntax error at (eval 9859) line 3, at EOF syntax error at (eval 9859) line 7, near "} ) "
----------
FHEM auf rPi, HMLAN, HM
Mac, iPad, iPhone