Контроль удержания входа

Добрый день!

Я хочу, чтобы WB отрабатывал непрерывное удержание кнопки. Вход у меня - WBIO-DI-DR-16.
С ходу подумал использовать While пока не произойдет отпускание этой кнопки, тогда произойдет выход из цикла. Но, подозреваю, что у меня весь движок на этом подвиснет. Да и sleep-а никакого я не нашел, чтобы хоть какая-то разгузка процессора была, если-таки придется именно так реализовывать. Пожалуйста, поделитесь советом, как лучше это реализовать? Чтобы и другие правила работали, и это нажатие отрабатывалось.
Буду признателен за любые наводки.

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

Спасибо большое!
Но я не уточнил для чего мне это нужно. Пока кнопка нажата, я хочу диммировать светильник - подавать управляющие сигналы на AO-10V-8. Мне не нужен факт произошедшего “длинного” или “короткого”, мне надо, пока не отпустил идет определенная работа.
PS. На while, как я и предполагал зависает все несчадно(( дело движется к ребуту(

В принципе, на setInterval задал период опроса и сбрасываю по событию отпускания. Другой таймер при этом работает, предполагаю, что и остальные правила будут функционировать. Если есть какие-то замечания по этому способу, пожалуйста, озвучьте, я проверю.