@mech @mcu du hast nun doch meinen Ehrgeiz geweckt und mir die Richtung der Suche aufgezeigt, danke dafür.
Für alle die vielleicht ähnliches vorhaben:
////////////////Variablen/////////////////
var h, s, v, r, g, b
////////////////Funktionen////////////////
//HSVtoRGB
function HSVtoRGB() {
var r1, g1, b1, i, f, p, q, t;
i = Math.floor(h * 6);
f = h * 6 - i;
p = v * (1 - s);
q = v * (1 - f * s);
t = v * (1 - (1 - f) * s);
switch (i % 6) {
case 0: r1 = v, g1 = t, b1 = p; break;
case 1: r1 = q, g1 = v, b1 = p; break;
case 2: r1 = p, g1 = v, b1 = t; break;
case 3: r1 = p, g1 = q, b1 = v; break;
case 4: r1 = t, g1 = p, b1 = v; break;
case 5: r1 = v, g1 = p, b1 = q; break;
}
r=Math.round(255 * r1);
g=Math.round(255 * g1);
b=Math.round(255 * b1);
}
//In HEX konvertieren
function toHex(number) {
if (number < 0) number = 0xFFFFFFFF + number + 1;
var n = number.toString(16).toUpperCase();
if (n.length == 1) {
n = '0' + n;
}
return n;
}
///////////////////Variablenzuweisung//////////////////
// Bei Farbänderung oder Helligkeitsänderung
on(["0_userdata.0.convert.buero.hue","0_userdata.0.convert.buero.hue"] , function (dp) {
h = getState("0_userdata.0.convert.buero.hue").val / 360;
s = getState("0_userdata.0.convert.buero.sat").val / 255;
v = getState("0_userdata.0.convert.buero.brightness").val / 100;
HSVtoRGB();
setState('zigbee.0.ccccccfffe89ba7c.color', '#' + toHex(r) + toHex(g) + toHex(b));
});
Ich habe einfach die Datenpunkte *.sat *.brightness angelegt und mit 100 / 255 befüllt, sowie *.hue. Da die brightness direkt durch Jarvis gesetzt werden kann und den Farbwert nicht beeinflusst.
Forum Link:
https://forum.iobroker.net/post/302905
und @MCU , auch von mir ein DICKES DANKE, das du Jarvis und die Fragen hier so gut Supportest.