Met het onderstaande script kun je een Kelvin naar RGB waarde omrekenen.
Dit kan handig zijn om de Kelvin waarde zichtbaar te maken binnen de visualisering met behulp van een 3 byte RGB object.
(Voor het aansturen van Philips Hue met een Kelvin waarde verwijzen wij u graag naar de Philips scripts elders op deze website.)
--Event based script voor het aansturen van een RGB object met een Kelvin waarde (1000 - 40000 K)
K = event.getvalue()
T = K / 100
--Calculeren rood waarde
if T <= 66 then
R = 255
else
R = T - 60
R = 329.698727446 * math.pow(R, -0.1332047592)
if R < 0 then
R = 0
elseif R > 255 then
R = 255
end
end
--Calculeren groen waarde
if T <= 66 then
G = T
G = 99.4708025861 * math.log(G) - 161.1195681661
if G < 0 then
G = 0
elseif G > 255 then
G = 255
end
else
G = T - 60
G = 288.1221695283 * math.pow(G, -0.0755148492)
if G < 0 then
G = 0
elseif G > 255 then
G = 255
end
end
--Calculeren blauw waarde
if T >= 66 then
B = 255
else
if T <= 19 then
B = 0
else
B = T - 10
B = 138.5177312231 * math.log(B) - 305.0447927307
if B < 0 then
B = 0
elseif B > 255 then
B = 255
end
end
end
--Calculeren RGB waarde
RGB = bit.bor(bit.lshift(R, 16), bit.lshift(G, 8), B)
--Schrijven RGB waarde
grp.write('16/0/100', RGB)