Нулевые значения в wb-mqtt-serial

Здравствуйте опрашиваем вайренбордом 6.7 модуль овен 2ас через wb-mqtt-serial. На модуле подключен датчик давления (4-20 мА). Работает вроде все хорошо но ровно в раз минуту прилетает значение 0-0.7 хотя такого давления давления там не должно быть. Подключали также генератор токовой петли в диапазоне 15-30 атм. Но ситуация не изменилась. Включил дебаг для wb-mqtt-serial, но таких нулевых значений там нет… Во вложении лог дебага порта serial и лог mosquitto_sub … | ts. В логе mosquitto_sub видно что прилетает значение 0.7 (лог к сожалению обрезан, но таки значения прилетают ровно с интервалом 1 раз в минуту). Лог дебага такие значенич не вылавливает. Версия драйвера wb-mqtt-serial 2.7.1. log_serial.txt (3.5 МБ) mosquitto_sub_0.txt (28.5 КБ) Подскажите что можно сделать?

Добрый день!

  1. Пожалуйста соберите лог из mosquitto_sub длиннее. Напишите точную команду, которую писали.
  2. Пожалуйста, приложите лог wb-mqtt-serial за то же самое время, что и mosquitto_sub. У вас сейчас они не пересекаются.
  3. Приложите пожалуйста конфиг wb-mqtt-serial.conf и кастомные шаблоны, если они были.
  4. Канал опрашивается почти 100 раз в секунду, судя по выводу mosquitto_sub + ts. Так и задумывалось?
  1. Лог mosquitto_sub выполнял так:
    mosquitto_sub -h 10.59.5.94 -t ‘/devices/wb-modbus-1-0/controls/pressure’ | ts >> /mnt/c/WORK/WB/mosquitto_sub_2510201.txt
    .txt
  2. Вложил. Единственное хотел отметить что часовой пояс не настроен и время поэтому отображается некорректно. Местный часовой пояс у нас UTC+5
  3. Вложил
  4. Да так и задумывалось. В идеале надо снимать каждые 5 секунд снимать значение этого параметра.log_serial25102021.txt (1.5 МБ) mosquitto_sub_2510201.txt (322.7 КБ) wb-mqtt-serial.conf (2.0 КБ)
                "poll_interval": 5,

это 5 миллисекунд, а не 5 секунд

5 миллисекунд надо. Опечатался

гарантированно с такой скоростью вы вряд ли сможете собрать.

Если это поможет то давайте изменим конфиг. Подскажите какие параметры конфига поменять?

  1. Если надо опрашивать раз в 5 секунд, то poll_interval надо ставить равным 5000.
  2. Как вы получили лог от wb-mqtt-serial?
  3. Нет ли каких-нибудь правил, которые пишут в этот топик?
  1. 1 раз в 5мс
  2. journalctl -u wb-mqtt-serial >> /tmp/log_serial25102021.txt
  3. Нет этот топик управляет только выходом A2_OUT

Смотрим. В логе брокера видно:

Oct 25 09:53:08 11.32812
Oct 25 09:53:08 0.734375
Oct 25 09:53:09 11.34375
Oct 25 09:53:09 0.703125
Oct 25 09:53:09 11.25

Пытаюсь воспроизвести. А нет ли нигде в скриптах условия?

То есть - если на контроллере есть скрипты - дайте их пожалуйста.
Ну и какой релиз на контроллере?

  1. Через какое время после запуска wb-mqtt-serial начинаются такие проблемы?
  2. Можете ещё через top/htop посмотреть какую нагрузку создаёт wb-mqtt-serial?
  3. Можно ли нам как-то удалённо получить доступ к контроллеру?

Вот как раз покажите этот скрипт.

defineRule(“control_pressure”, {
whenChanged: “wb-modbus-1-0/pressure”,
then: function (newValue, devName, cellName) {
log(“pressure=” + newValue);
if ( newValue > dev[“vdev”][“maxP”]) {
dev[“wb-gpio”][“A2_OUT”] = false; // on A2 (DO2)
log(“newValue ust1 >”);
} else {
log(“newValue ust1 <”);
}
if ( newValue < dev[“vdev”][“minP”]) {
dev[“wb-gpio”][“A2_OUT”] = true; // on A2 (DO2)
log(“newValue ust2 <”);
} else {
log(“newValue ust2 >”);
}
}
});

  1. Почти сразу. С периодичностью 1 раз в минуту
  2. Во вложении скрин htop
  3. Давайте я подумаю как организовать удалённый доступ.

Нужен ли удаленный доступ? Есть ли у Вас публичный vpn сервер чтобы организовать. Можем организовать сами но это займет доп. время.

Доступ нужен. Можете сами организовать vpn?

Пока не смогу нахожусь в командировке… По приезду обязательно сделаем. Можно ли Вам в личное сообщение отправить парамеиры доступа?

Да, конечно, пишите в личку.