Ложное срабатывание правила при перезагрузке контроллера

Всем добра. Тоже интересует эта тема. Пока в написании правил не очень силен. А что если по нажатию самой кнопки запускать таймер на 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;
       }
  }

});

Добрый день.
Разнес сообщения по разным темам.
Жаль что вы столкнулись с этой проблемой.
Займемся решением в ближайшее время, воспроизведем, выясним причину, исправим и оповестим вас в этой теме об изменениях.