Кто то может помочь с вопросом? По факту обновили и перестало работать.
Я в логе вижу запись “0;0;0” При записи в устройство строки с нулями я ожидаю что все каналы будут иметь “0”, то есть выключены.
То есть поведение вполне логично.
Возможно - я не совсем понимаю саму проблему?
Проблема такая. Есть виртуальное устройство, оно управляет физическим rgb. При выборе цвета , к примеру с 255.0.0 на 0.0.255 включится черный цвет 0 0 0. Я подозреваю проблема в том , что 0 устанавливается по очереди на канал.
Как вариант, покажите пример виртуального устройства для управления wb rgb
Я не настоящий программист, прошу простить за корявый код:
//08_08_test_01.js
log.info("script 08_08_test_01.js started")
//#setInterval(function(){
//# log("wb-mrgbw-d-fw3_189/RGB Palette is {}".format(dev["wb-mrgbw-d-fw3_189/RGB Palette"]))
//#}, 1000)
function makeNewVirtualControl(vdName, nameControl, typeControl){
//log.info("GetDevice", getDevice("vdName"))
if (getDevice(vdName) === undefined) {
log.info("Define new")
defineVirtualDevice(vdName, {
title: vdName,
cells: {
},
})
}
//Тут проверим есть ли уже контрол и если нет - создадим.
if (!getDevice(vdName).isControlExists(nameControl)) {
log.info("Контрола нет, создаем.")
getDevice(vdName).addControl(nameControl, typeControl);
}
}
makeNewVirtualControl("Temp_RGB", "test1", {type: "rgb", value: "#FFFFFF", readonly: false});
defineRule("Foo RGB conrol", {
whenChanged: 'Temp_RGB/test1',
then: function(value) {
log.info("Temp_RGB/test1", value)
dev["wb-mrgbw-d-fw3_189/RGB Palette"] = value;
}
})
И да, кстати: Совместимость скриптов при обновлении wb-rules — Wiren Board
Спасибо, проверим отпишусь!
Я, кстати, так и не понял вашего скрипта, к сожалению. Какие-то сравнения строк, неявные преобразования… Я бы просто разобрал рекурсивно строку и менял бы значения индивидуально…
Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.