@kr4mb3 said in Skript für Bluetooth-Heizkörperthermostat unter IoBroker:
``
Hallo,
kannst du bitte das Script neu einbetten? Die Formatierung stimmt nicht mehr.
Danke
@kr4mb3 said in Skript für Bluetooth-Heizkörperthermostat unter IoBroker:
``
Hallo,
kannst du bitte das Script neu einbetten? Die Formatierung stimmt nicht mehr.
Danke
Hatte ich geändert, hat aber leider nichts gebracht. Interessant ist auch wenn ich auf rot schalte kommt rot, wenn ich auf blau schalte kommt grün und bei grün blau. Habe dann mal blau und grün vertauscht, bringt aber auch nichts
Meine Datenpunkte also color von der zigbee Lampe will HEX Code. Wenn ich einen Hexcode manuel eingebe z.B. #B40431 zeigt die Lampe auch direkt die richtige Farbe. Wenn ich über das Homekit Grün auswähle kommt z.b. ein Rot als RGB Wert an und wird dann in Rot HEXCode umgewandelt.
Hallo Zusammen,
ich bin jetzt nach Anleitung gegangen und habe das Problem das ich immer falsche Farben bekomme. Die umwandlung von RGB nach HEX funktioniert, aber der hui bzw sat Wert den yahka einsetzt schein nicht zu passen. Ich habe zigbee mit Müller Tint licht (Aldi) im Einsatz. Weiß jemand wieso das nicht funktioniert? Hier meine Einstellungen:
var R = getState('javascript.0.scriptEnabled.logic.Licht.r1').val;
var G = getState('javascript.0.scriptEnabled.logic.Licht.g1').val;
var B = getState('javascript.0.scriptEnabled.logic.Licht.b1').val;
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;
}
function calculateColor() {
log('# R ' + toHex(R) + " G " + toHex(G) + " B " + toHex(B));
setState('zigbee.0.00158d0002ffde9a.color', '#' + toHex(R) + toHex(G) + toHex(B));
}
calculateColor(); // Skriptstart
on('javascript.0.scriptEnabled.logic.Licht.r1', function(dp) {
R = dp.state.val;
calculateColor();
});
on('javascript.0.scriptEnabled.logic.Licht.g1', function(dp) {
G = dp.state.val;
calculateColor();
});
on('javascript.0.scriptEnabled.logic.Licht.b1', function(dp) {
B = dp.state.val;
calculateColor();
});
und
// Initialisierung bei Skriptstart
var h = getState("javascript.0.scriptEnabled.logic.Licht.hue").val / 360;
var s = getState("javascript.0.scriptEnabled.logic.Licht.sat").val / 255;
var v = getState("zigbee.0.00158d0002ffde9a.brightness").val / 100;
log("h: " + h);
log("s: " + s);
log("v: " + v);
function HSVtoRGB() {
var r, g, b, 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: r = v, g = t, b = p; break;
case 1: r = q, g = v, b = p; break;
case 2: r = p, g = v, b = t; break;
case 3: r = p, g = q, b = v; break;
case 4: r = t, g = p, b = v; break;
case 5: r = v, g = p, b = q; break;
}
log("R: " + r + " - " + Math.round(255 * r));
log("G: " + g + " - " + Math.round(255 * g));
log("B: " + b + " - " + Math.round(255 * b));
setState ("javascript.0.scriptEnabled.logic.Licht.r1"/*r1*/, Math.round(255 * r));
setState ("javascript.0.scriptEnabled.logic.Licht.g1"/*g1*/, Math.round(255 * g));
setState ("javascript.0.scriptEnabled.logic.Licht.b1"/*b1*/, Math.round(255 * b));
} // Ende der Funktion
HSVtoRGB(); // Aufruf bei Skriptstart
on(["javascript.0.scriptEnabled.logic.Licht.hue","javascript.0.scriptEnabled.logic.Licht.sat","zigbee.0.00158d0002ffde9a.brightness"] , function (dp) {
h = getState("javascript.0.scriptEnabled.logic.Licht.hue").val / 360;
s = getState("javascript.0.scriptEnabled.logic.Licht.sat").val / 255;
v = getState("zigbee.0.00158d0002ffde9a.brightness").val / 100;
HSVtoRGB();
});
Hat da jemand eine Idee?