Всем добра. Тоже интересует эта тема. Пока в написании правил не очень силен. А что если по нажатию самой кнопки запускать таймер на 1200 мили секунд и реагировать на изменение счетчика пока тикает таймер? Мне кажется такой алгоритм исключит проблему перезапуска реле. Послезавтра доберусь до контроллера, испытаю.
Еще раз напомню: в программировании не силен. Вот с помощью такого правила удалось добиться стабильной перезагрузки, как реле, так и контроллереа. Может есть вариант написания проще? Знающие поправьте.
Но при записи настроек драйвера, свет зажигается. Может еще какой вариант допилить? Например:не обрабатывать правило спустя какое то время после восстановления связи с реле.
var runFlag = false;
defineRule("Button-Press", {
whenChanged: ["wb-mr6c_104/Input 1",
"wb-mr6c_104/Input 3",
"wb-mr6c_104/Input 4"],
then: function (newValue, devName, cellName) {
if (newValue){
runFlag = true;
setTimeout(function () {
runFlag = false;
}, 1200);
}
}
});
defineRule("Knopki-BSD", {
whenChanged: ["wb-mr6c_104/Input 1 Long Press Counter",
"wb-mr6c_104/Input 3 Long Press Counter",
"wb-mr6c_104/Input 4 Long Press Counter"],
then: function (newValue, devName, cellName) {
if (runFlag){
dev["Outside_lamp/Switch1"] = !dev["Outside_lamp/Switch1"];
runFlag = false;
}
}
});
Добрый день.
Разнес сообщения по разным темам.
Жаль что вы столкнулись с этой проблемой.
Займемся решением в ближайшее время, воспроизведем, выясним причину, исправим и оповестим вас в этой теме об изменениях.