Как написать сценарий длинного нажатия?

Добрый вечер. Написал небольшое правило. Работать будет хорошо с дискретными модулями ввода (С модбас устройствами к сожалению возникнут трудности). Например WBIO-DI-DR-14.
логика довольно проста: При нажатии смотрим время. При отпускании смотрим ещё раз и сравниваем сколько прошло. Если меньше секунды - короткое нажатие, если больше секунды - длинное нажатие. Вместо wb-gpio/A1_OUT укажите нужное Вам устройство. Вместо логов укажите нужные Вам реакции.

var timerLast;
var timerTime;
defineRule("long_press", {
    whenChanged: "wb-gpio/A1_OUT",
    then: function(newValue, devName, cellName) {
        if (newValue) {
          timerLast = Date.now();
        }else{
           timerTime = Date.now();
          if ((timerTime - timerLast) <= 1000) {
                log("короткое нажатие");
            } else if ((timerTime - timerLast) >= 1000) {
                log("длинное нажатие");
            }
        }
    }
});