Сделал обертку, перестало работать, где я допустил ошибку уже раз 5 все проверил, голова кругом
Дополнительно все жутко потормаживает и в скрипты заходит через раз
defineVirtualDevice("MRGBW_Brigthness", {
title: "MRGBW_Brigthness",
cells: {
"3A2-MRGBW_Br": {//виртуальный уровень яркости RGB 1 секции комнаты
type: "range",
value: 0,
max: 255,
},
"3A3-MRGBW_Br": {//виртуальный уровень яркости RGB 2 секции комнаты
type: "range",
value: 0,
max: 255,
},
"1A1-MRGBW_Br": {//виртуальный уровень яркости RGB 3 секции комнаты
type: "range",
value: 0,
max: 255,
},
"3A4-MRGBW_Br": {//виртуальный уровень яркости RGB спальни
type: "range",
value: 0,
max: 255,
},
"1A2-MRGBW_Br": {//виртуальный уровень яркости RGB спальни
type: "range",
value: 0,
max: 255,
},
}
});
function RGB_Brigthness(name, detector_control, device) {
defineRule(name, { //название правила
whenChanged: detector_control, //при изменении яркости
then: function (newValue, devName, cellName) { //выполняй следующие действия
var ps = new PersistentStorage("my-storage", {global: true});
if ((dev[device]["Red"] + (newValue - ps[name])) > 255) {
dev[device]["Red"] = 255
} else {
if ((dev[device]["Red"] + (newValue - ps[name])) <0) {
dev[device]["Red"] = 0
}
else{
dev[device]["Red"] = dev[device]["Red"] + (newValue - ps[name])
}
}
if ((dev[device]["Green"] + (newValue - ps[name])) > 255) {
dev[device]["Green"] = 255
} else {
if ((dev[device]["Green"] + (newValue - ps[name])) <0) {
dev[device]["Green"] = 0
}
else{
dev[device]["Green"] = dev[device]["Green"] + (newValue - ps[name])
}
}
if ((dev[device]["Blue"] + (newValue - ps[name])) > 255) {
dev[device]["Blue"] = 255
} else {
if ((dev[device]["Blue"] + (newValue - ps[name])) <0) {
dev[device]["Blue"] = 0
}
else{
dev[device]["Blue"] = dev[device]["Blue"] + (newValue - ps[name])
}
}
ps[name] = newValue;
}
});
}
RGB_Brigthness("RGB_Br1", "MRGBW_Brigthness/3A2-MRGBW_Br", "3A2-MRGBW-D");
RGB_Brigthness("RGB_Br2", "MRGBW_Brigthness/3A3-MRGBW_Br", "3A3-MRGBW-D");
RGB_Brigthness("RGB_Br3", "MRGBW_Brigthness/1A1-MRGBW_Br", "1A1-MRGBW-D");
RGB_Brigthness("RGB_Br4", "MRGBW_Brigthness/3A4-MRGBW_Br", "3A4-MRGBW-D");
RGB_Brigthness("RGB_Br5", "MRGBW_Brigthness/1A2-MRGBW_Br", "1A2-MRGBW-D");