Недавно приобрёл устройство WirenBoard 8.5, пока постигаю идеологию.
Смотрел видео по написанию скриптов, там было рассказано про обработку виртуальной кнопки. У меня есть физическая кнопка zigbee, которую я прицепил через z2m - кнопка отправляет в топик действие, он всегда равно single на котороткое нажатие, но простейшее правило
defineRule(“Button”, {
whenChanged: “0x0cae5ffffeb6f4b8/action”,
then: function (newValue, devName, cellName) {
debug(“Нажал”)
}
});
отправляет в лог только первое короткое нажатие или изменение - длинное нажатие. Что я не так делаю? Как мне обрабатывать одинаковые события?
defineRule("Button", {
whenChanged: "0x0cae5ffffeb6f4b8/action",
then: function (newValue, devName, cellName) {
// Тут обработка нажатия
log("Нажал. Тип нажатия - " + newValue);
dev[“0x0cae5ffffeb6f4b8/action”] = "none"; // Для Zigbee кнопок такой "хак"
}
});
1 лайк
Спасибо. Работает.