Коллеги, добрый день! Подскажите пожалуйста как в правилах обрабатывать отсутствие связи с цифровым устройством (будь то Modbus, 1-Wire и т.д)? Под отсутствием связи понимаю состояние устройства, когда его топики в устройствах подсвечены красным.
Спасибо!
Добрый день.
Топики meta описаны в документации.
Достаточно, в общем случае подписаться на них - и реагировать на изменения.
Помогите пожалуйста привести пример какой ни будь? Не могу разобраться с описанием.
Например отслеживание связи с реле WB-MR6C v.2. Если нет связи->Alarm, и/или если нет связи var a = false
Спасибо!
В документации есть подобный пример — Обработка ошибок в работе с serial-устройствами
1 лайк
С примером разобрался, спасибо! Подскажите как “задемпфировать” событие об отсутствии связи. Например, если нет связи 20 сек, то…
Спасибо!
Использовать таймер setTimeout()
, например так:
var timeout;
defineRule("error", {
whenChanged: "wb-mr3_31/K1#error",
then: function (newValue, devName, cellName) {
if(newValue == "r") {
timeout = setTimeout(function () {
log("error");
}, 20000);
} else {
clearTimeout(timeout);
}
}
});