I want to retrieve the HSB values from Colorpicker so that I can utilize them in a rule with executeCommandLine.
Unfortunately I’m not very familiar with Java, and I can’t find any documentation for how the Colorpicker Item’s data is formatted or how to access it.
I want to accomplish something like this (pseudo-code)
rule "Colorpicker Activated"
when
Item my_Colorpicker received command
then
var Number hColorpicker = [Hue from Colorpicker] * 65535/[Colorpicker max Hue value]
var Number sColorpicker = [Sat from Colorpicker] * 65535/[Colorpicker max Sat value]
var Number bColorpicker = [Bright from Colorpicker] * 65535/[Colorpicker max Bright value]
executeCommandLine("pythonw.exe@@lightsscript.py@@color@@hColorpicker@@sColorpicker@@bColorpicker")
end
If you use Designer you can press <ctrl><space> after starting a line and it will give you a dialog on how to complete it. This is the best way to discover the methods available without looking at the code, when you can’t find docs that explain it.
var hue = (my_Colorpicker.state as HSBType).getHue
var sat = (myColorpicker.state as HSBType).getSaturation
var b = (myColorpicker.state as HSBType).getBrightness
The sat and brightness are returned as PercentTypes which means they are limited to be between 0 and 100. Hue returns DecimalType so I don’t know what, if anything would be the maximum allowed hue value. I would go ahead and max it out with the color picker and log the value to see what it is and assume that is the max.