Болше 3/4 скрипта выполняет именно программное распознавание длительности нажатия. Я предлагаю от этого отказаться, скрипт примет вид не сложнее чем
https://wirenboard.com/wiki/Rule_Examples#Слежение_за_контролом
Попробуйте, выложите свой вариант - помогу.