Правило выполняется, только если держать кнопку нажатой


#1

Доброго времени суток!

Пишу код:
defineRule(“DopElectro”, {
whenChanged: “wb-mr6c_28/Input 5”,
then: function (newValue, devName, cellName) {
dev[“wb-gpio/EXT2_R3A1”] = 1;
}
});

правило не отрабатывает, при изменении “wb-mr6c_28/Input 5”
Девайс подключен по ModBus, как видно из названия, имена верные.

Выполняется только если подержать кнопку нажатой хотя бы несколько секунд

Модель: WB6
SN: AYXUK43X
HW Revision: 6.5
FW: 201906131318


#2

vDiamond, добрый день!
Вы знаете, все на самом деле так и должно быть, как у вас происходит. На портале было много обсуждений этого вопроса, здесь приведу краткое резюме.
Опрос устройства по Modbus происходит через фиксированные интервалы времени (зависящие от настроек драйвера, скорости шины, количества устройств на шине). Если за время между опросами вы кратко нажмёте и отпустите кнопку на входе, то релейный модуль переключит реле, но с точки зрения Modbus состояние входа не изменится.
Для гарантированного срабатывания правила следите за изменением самого реле либо счетчика замыканий входов.


#3

Ситуация понятна, благодарю.


#4

Успехов вам!