Module connection

Подскажите, как осуществить идентификацию связи с модулем для передачи на верхний уровень?

Добрый день!

Пока недостаточно информации!

Подскажите, пожалуйста, какой модуль, как подключен (питание, интерфейс)?

Какие действия выполняете, что ожидаете, что происходит в действительности?

Модуль wb-mr6c v.2 подключен по modbus по шине rs485 к WB7, питание 5v протянуто отдельно. Пишем правила для постоянного контроля связи(связь + включен ли модуль) с устройством, для передачи на верхний уровень. Ожидать постоянный опрос раз в 0,5 сек.

Пример, как реализуем.
Новый текстовый документ.txt (1,4 КБ)

Питание 5В на WB-MR6C v.2?

Пример контроля связи в документации: GitHub - wirenboard/wb-rules: Rule engine for Wiren Board.

Подскажите, какие-то есть вопросы по правилам? Что-то работает не так, как ожидается?

Виноват, 24В.

Вроде, пример, который мы прислали, не особо отличается от документации.
У нас на шине присутствуют 6 устройств, подключили мы все помехозащищенно. Но одно устройство постоянно, то отваливается, то восстанавливается, по крайней мере почти все его mqtt-топики. Для устройств, которые так не поступают, все работает штатно, но с этим устройством у нас забивается память в виде логов и моргает состояние связи. Мы хотим написать следующее правило: опрос каждого устройства каждые 0,5 сек. и если не было связи и она не появилась в последующие 5 секунд, уже в этот момент написать, что связи нет.

А прикрепите диагностический архив, пожалуйста. Может, правда много ошибок на шине.

У нас есть уже отдельная тема по решению этого вопроса, подскажите лучше по wb-rules.

В прикреплённом файле не вижу, где пытаетесь сделать задержку в 5 секунд перед записью в журнал.

Для этого можно использовать setTimeout - для старта таймера и clearTimeout для остановки таймера при возвращении связи с устройством до истечения 5 секунд.

Хочу заметить, что язык асинхронный. Т.е. когда вы делаете задержку:

setTimeout(function () {
        log (newValue);
      }, 500);

текст программы выполняется дальше, просто запись в лог происходит через 500 мс.

Подскажите, удалось ли вам решить проблему? Есть ли у вас ещё вопросы?