Быстрая реакция на нажатие кнопки - WB-MCM8

Здравствуйте,
только изучаю, как что работает.
Как правильно написать скрипт, что бы не было задержки на ожидание второго нажатия (WB-MCM8)?

Необходима быстрая реакция на одиночное нажатие, другие возможности (двойное нажатие и т.д.) не требуются.

пишу так:

defineRule("KNOPKA", {
    whenChanged: ["wb-mcm8_158/Input 7 Single Press Counter", "wb-mcm8_158/Input 7 Double Press Counter","wb-mcm8_158/Input 7 Long Press Counter", "wb-mcm8_158/Input 7 Shortlong Press Counter"],
    then: function (newValue, devName, cellName) {  
     //Реакция на нажатие
      }  
});

В этом случае, как я понимаю из-за ожидания второго нажатия, длинного нажатия и т.д. идет существенная задержка.

Пишу так:

defineRule("TEST2", {
  whenChanged: "wb-mcm8_158/Input 1",
    then: function (newValue, devName, cellName) { 
     //Реакция на нажатие          
     }
    }
      
});

В этом случае реакция моментальная, но, если я правильно понимаю, работает только с выключателями и тумблерами, потому, что whenChanged реагирует на 2 состояния, кнопка нажата и кнопка отжата. Получается вспышка. Можно конечно добавить переменных и игнорировать второе состояние. Но я уверен, есть более правильное решение.

Как правильно быстро отреагировать на одиночное нажатие, и не учитывать второе состояние (кнопка отжата).

Заранее спасибо!

Установите в параметрах модуля для нужного входа время ожидания второго нажатия в 0 и используйте счетчик одинарного нажатия потом.

Примерно так.

1 лайк

О класс! Работает! Даже не думал, что надо в настройках смотреть. Спасибо!

1 лайк