Снова проблема с контроллерами, failed to convert value ‘’, passing raw, error: This control is incomplete

День добрый!
Ранее работа с новой прошивкой, вопрос не решен < Ссылка
Продолжаем исследовать новые проблемы.
WB7 7.3.3E, wb-2304, stable, s/n AVZOK2XH
Вчера ни с того ни с чего перестало обновляться правило получения и конвертирования данных со счетчиков MAP. Данные зависли на одном значении и не двигаются. При этом данные с физического модуля обновляются. В логах >100 сообщений в секунду о
“failed to convert value ‘’, passing raw, error: This control is incomplete”
при чем по всем устройствам (встроенным в WB и подключенным), но не обновляются только счетчики ЭЭ. При этом в каналах MQTT статус по этим контролам - ОК.
При перезапуске контроллера ситуация не меняется.
При systemctl restart wb-rules не помогает.
Помогает удалить правила из папки, а затем заново их добавить туда. И тогда правила начинают работать. При следующей перезагрузке ситуация повторяется.
wb-rules_20230704T083026.log (214,5 КБ)
Обзор по логу:

  • удалил/добавил файлы, 2023-07-04T05:25:47.983Z
  • посмотрел что данные начали обновляться, ~20 сек (сообщения INFO прекратились)
  • перезапуск устройства, 2023-07-04T05:27:48.556Z
  • после перезапуска все повторяется.
    log_20230704T083809.log (65,0 КБ)

Где может быть проблема? Что не так стало с работающими устройствами?
Правила скину по запросу.

Здравствуйте. Приложите ещё, пожалуйста, диагностический архив — инструкция.

Решил обновить пакеты в контроллеры. Проблема ушла, правила начали работать.
Но ошибка осталась в логах.
“failed to convert value ‘’, passing raw, error: This control is incomplete”
Стал доступен раздел обновления прошивки.

Список обновленных пакетов (apt update, apt upgrade)

avahi-daemon/oldstable 0.8-5+deb11u2 armhf [upgradable from: 0.8-5+deb11u1]
base-files/oldstable 11.1+deb11u7 armhf [upgradable from: 11.1+deb11u6]
bind9-host/oldstable-security 1:9.16.42-1~deb11u1 armhf [upgradable from: 1:9.16.37-1~deb11u1]
bind9-libs/oldstable-security 1:9.16.42-1~deb11u1 armhf [upgradable from: 1:9.16.37-1~deb11u1]
debian-archive-keyring/oldstable 2021.1.1+deb11u1 all [upgradable from: 2021.1.1]
grep/oldstable 3.6-1+deb11u1 armhf [upgradable from: 3.6-1]
isc-dhcp-client/oldstable 4.4.1-2.3+deb11u2 armhf [upgradable from: 4.4.1-2.3+deb11u1]
isc-dhcp-common/oldstable 4.4.1-2.3+deb11u2 armhf [upgradable from: 4.4.1-2.3+deb11u1]
libavahi-common-data/oldstable 0.8-5+deb11u2 armhf [upgradable from: 0.8-5+deb11u1]
libavahi-common3/oldstable 0.8-5+deb11u2 armhf [upgradable from: 0.8-5+deb11u1]
libavahi-core7/oldstable 0.8-5+deb11u2 armhf [upgradable from: 0.8-5+deb11u1]
libc-bin/oldstable 2.31-13+deb11u6 armhf [upgradable from: 2.31-13+deb11u5]
libc-dev-bin/oldstable 2.31-13+deb11u6 armhf [upgradable from: 2.31-13+deb11u5]
libc-devtools/oldstable 2.31-13+deb11u6 armhf [upgradable from: 2.31-13+deb11u5]
libc-l10n/oldstable 2.31-13+deb11u6 all [upgradable from: 2.31-13+deb11u5]
libc6-dev/oldstable 2.31-13+deb11u6 armhf [upgradable from: 2.31-13+deb11u5]
libc6/oldstable 2.31-13+deb11u6 armhf [upgradable from: 2.31-13+deb11u5]
libmariadb3/oldstable 1:10.5.19-0+deb11u2 armhf [upgradable from: 1:10.5.18-0+deb11u1]
libmm-glib0/stable 1.20.0-1~bpo11+1-wb103 armhf [upgradable from: 1.20.0-1~bpo11+1-wb102]
libmodbus5/stable 3.1.6-wb1 armhf [upgradable from: 3.1.6-2]
libncurses6/oldstable 6.2+20201114-2+deb11u1 armhf [upgradable from: 6.2+20201114-2]
libncursesw6/oldstable 6.2+20201114-2+deb11u1 armhf [upgradable from: 6.2+20201114-2]
libnss-systemd/oldstable 247.3-7+deb11u2 armhf [upgradable from: 247.3-7+deb11u1]
libpam-systemd/oldstable 247.3-7+deb11u2 armhf [upgradable from: 247.3-7+deb11u1]
libssl1.1/oldstable-security 1.1.1n-0+deb11u5 armhf [upgradable from: 1.1.1n-0+deb11u4]
libsystemd0/oldstable 247.3-7+deb11u2 armhf [upgradable from: 247.3-7+deb11u1]
libtinfo6/oldstable 6.2+20201114-2+deb11u1 armhf [upgradable from: 6.2+20201114-2]
libudev1/oldstable 247.3-7+deb11u2 armhf [upgradable from: 247.3-7+deb11u1]
libwbmqtt1-3/stable 3.10.0-wb102 armhf [upgradable from: 3.10.0-wb100]
libwbmqtt1-4/stable 4.0.0-wb100 armhf [upgradable from: 4.0.0]
libwebp6/oldstable-security 0.6.1-2.1+deb11u1 armhf [upgradable from: 0.6.1-2.1]
libx11-6/oldstable-security 2:1.7.2-1+deb11u1 armhf [upgradable from: 2:1.7.2-1]
libx11-data/oldstable-security 2:1.7.2-1+deb11u1 all [upgradable from: 2:1.7.2-1]
libxpm4/oldstable 1:3.5.12-1.1~deb11u1 armhf [upgradable from: 1:3.5.12-1]
linux-image-wb7/stable 5.10.35-wb133+wb101 armhf [upgradable from: 5.10.35-wb133]
locales/oldstable 2.31-13+deb11u6 all [upgradable from: 2.31-13+deb11u5]
mariadb-common/oldstable 1:10.5.19-0+deb11u2 all [upgradable from: 1:10.5.18-0+deb11u1]
ncurses-base/oldstable 6.2+20201114-2+deb11u1 all [upgradable from: 6.2+20201114-2]
ncurses-bin/oldstable 6.2+20201114-2+deb11u1 armhf [upgradable from: 6.2+20201114-2]
ncurses-term/oldstable 6.2+20201114-2+deb11u1 all [upgradable from: 6.2+20201114-2]
openssl/oldstable-security 1.1.1n-0+deb11u5 armhf [upgradable from: 1.1.1n-0+deb11u4]
python3-wb-diag-collect/stable 1.5.9 all [upgradable from: 1.5.7]
python3-wb-nm-helper/stable 1.23.1-wb102 all [upgradable from: 1.23.1-wb101]
systemd-sysv/oldstable 247.3-7+deb11u2 armhf [upgradable from: 247.3-7+deb11u1]
systemd/oldstable 247.3-7+deb11u2 armhf [upgradable from: 247.3-7+deb11u1]
tzdata/oldstable 2021a-1+deb11u10 all [upgradable from: 2021a-1+deb11u9]
udev/oldstable 247.3-7+deb11u2 armhf [upgradable from: 247.3-7+deb11u1]
wb-configs/stable 3.13.1-wb103 all [upgradable from: 3.13.1-wb102]
wb-diag-collect/stable 1.5.9 all [upgradable from: 1.5.7]
wb-hwconf-manager/stable 1.57.2 all [upgradable from: 1.57.1]
wb-mqtt-confed/stable 1.13.0 armhf [upgradable from: 1.12.0]
wb-mqtt-homeui/stable 2.59.0-wb103 all [upgradable from: 2.59.0-wb100]
wb-mqtt-mbgate/stable 1.5.5 armhf [upgradable from: 1.5.0]
wb-mqtt-opcua/stable 1.0.6 armhf [upgradable from: 1.0.4]
wb-nm-helper/stable 1.23.1-wb102 all [upgradable from: 1.23.1-wb101]
wb-release-info/stable 1.0-stable~wb7+bullseye~20230629080947 all [upgradable from: 1.0-stable~wb7+bullseye~20230427080154]
wb-rules/stable 2.18.2 armhf [upgradable from: 2.18.1]
wb-suite/stable 1.17.1 all [upgradable from: 1.17.0]
wb-utils/stable 4.8.2-wb104 all [upgradable from: 4.8.2-wb100]
zabbix-agent2/bullseye-backports 1:6.0.14+dfsg-1~bpo11+1 armhf [upgradable from: 1:6.0.7+dfsg-2~bpo11+1]

Лог сейчас:
wb-rules_20230704T125647.log (16,6 КБ)
Диаг архив

1 лайк

Я вижу что контроллер загружался в

Jul 04 09:37:38

Драйвер начал создавать контролы устройств в Jul 04 09:37:05

Приведенное вами сообщение из лога буквально переводтся как “Контрол незакончен”. То есть возникает имено при попытке обработать контрол в процессе создания. Я считаю поведение ожидаемым.

Вотрая перезагрузка сервиса wb-mqtt-gpio - в 09:56. С аналогичным поведением.
Напишите пожалуйста какое поведение было бы правильным.

Судя по логу контроллер не успевает инициализировать устройства и wb-rules пытается получить информацию с них. Соответственно и ошибки

  • ERROR: [rule error] Error in getting device: Device with given ID doesn’t exist
  • failed to convert value ‘’, passing raw, error: This control is incomplete

Правильно было бы ждать некого сигнала о загрузке устройств или ответа самих устройств или timeout ответа от устройств.
Я не могу понять с чего вдруг появилась такая проблема?

Так если устройство будет (когда-то) создано - да, можно обрабатывать и его создание и удаление. Если не обрабатывать специально - то естественно про отсутствие устройства будут сообщения.

Устройство к которому обращается скрипт - отсутствует…

Ответа на самый важный вопрос нет. Все что выше - это следствие.

Даже не знаю что сказать.
Могу попробовать воспроизвести, конечно.
Какой минимальный скрипт и настройки позволит это сделать?

День добрый!
Попробуйте у себя реализовать.
rr.zip (15,3 КБ)

То есть чтобы воспроизвести - надо именно вот такой стенд делать, с меньшим количеством скриптов - не воспроизведется?

Я как раз не готов ответить. Знал бы - решил вопрос самостоятельно)
Т.е. это все работало до какого-то момента, потом началась такая проблема.

День добрый!
Видео с проблемой [wb-mqtt-serial] ERROR: [serial client] Serial protocol error: IP:23 connect error: No route to host (113)
Снова же проблема появилась на ровном месте.
Проблема на контроллере WB7 7.3.3E, wb-2304, stable, s/n AP5CRMOL
На контроллерах ниже все ок.
WB7 7.3.3E, wb-2304, stable, s/n AVZOK2XH
WB7 7.3.3E, wb-2207, stable, s/n AP72NKRI

  • На видео модуль WB-MIO-E v.2 был подключен к контроллеру AP5CRMOL, недавно появилась ошибка;
  • подключаем к контроллеру AVZOK2XH, ошибка [wb-mqtt-serial] WARNING: <192.168.2.144:23>: closed due to repetetive errors;
  • подключаем к контроллеру AP72NKRI - все ок, все работает;
  • снова подключаем к контроллеру AVZOK2XH - все ок, все работает;
  • снова подключаем к контроллеру AP5CRMOL - ошибка [wb-mqtt-serial] ERROR: [serial client] Serial protocol error: IP:23 connect error: No route to host (113);
  • Ко всему остальному я уже все контроллеры вынес в менее жаркое место, что видно на видео. Зарядки нет.
    Все контроллеры имеют одинаковые настройки сети с одинаковым mask, gw и dns.
    Контроллеры имеют одинаковую версию обновления apt.
    WB7 7.3.3E, wb-2304, stable, s/n AP5CRMOL
    WB7 7.3.3E, wb-2304, stable, s/n AVZOK2XH
ls -l /var/lib/apt/periodic/update-stamp

-rw-r–r-- 1 root root 0 Jul 18 03:57 /var/lib/apt/periodic/update-stamp

ls -l /var/lib/apt/periodic/update-stamp

-rw-r–r-- 1 root root 0 Jul 17 05:10 /var/lib/apt/periodic/update-stamp

Следующий момент:
Контроллер WB7 7.3.3E, wb-2304, stable, s/n AP5CRMOL
Добавляю новые устройства, например Чиллер (WB-MAI6 через WB-MIO-E v.2). 2 датчика давления и 2 температуры.
После сохранения устройств перестают работать правила. Видно что драйвер перезагружает все устройства, добавляются новые. И данные, из части правил перестают обновляться. Т.е. на графике “флэт”.
Проблема решается service wb-rules restart, но это грабли. Так неправильно и не должно быть.

Контроллер - точно такой жже компьютер за которым мы работаем. С совершенно теми же способами настройки. Абсолютно.

А запущенный ping с тем же адрсом - что возвращает?
Через какой маршрут доступ к целевому адресу? Какой маршрут есть default, какой (если есть) именно в подсеть целевую? Я предполагаю неверные настройки сети.

Каой план сети и маршрутизации в ней?

Сейчас батарея имеет критически малый заряд. Какое время она уже заряжается?

Да, соглашусь. А как реализовано в правилах чтение устройст? Есть ли что-то динамически добавляемое?
Возможно, какой-то минимальный пример, воспроизводящий поведение?

Кстати, если перезапустить wb-mqtt-serial - первое опубликованное в mqtt значение энергии от счетчиков - тоже некорректно?
Пришлите пожалуйста файл /var/lib/wb-mqtt-serial/libwbmqtt.db с контроллера.

Контроллер - точно такой жже компьютер за которым мы работаем. С совершенно теми же способами настройки. Абсолютно.

Именно поэтому я и выбрал WB

Каой план сети и маршрутизации в ней?

Сейчас батарея имеет критически малый заряд. Какое время она уже заряжается?

Да, соглашусь. А как реализовано в правилах чтение устройст? Есть ли что-то динамически добавляемое?
Возможно, какой-то минимальный пример, воспроизводящий поведение?

Только устройства отсюда. Больше ничего нет пока что)

Кстати, если перезапустить wb-mqtt-serial - первое опубликованное в mqtt значение энергии от счетчиков - тоже некорректно?

Пришлите пожалуйста файл /var/lib/wb-mqtt-serial/libwbmqtt.db с контроллера.

libwbmqtt.db (28 КБ)

На скриншоте вижу ответ от 192.168.2.133. Почему?
Покажите traceroute к этому ж узлу. Ну и лучше все ж текстом, скриншоты чтаются не очень.

Тут совсем все удивительно

  • WB7 7.3.3E, wb-2304, stable, s/n AP5CRMOL
ping 192.168.2.144

PING 192.168.2.144 (192.168.2.144) 56(84) bytes of data.
From 192.168.2.133 icmp_seq=1 Destination Host Unreachable
From 192.168.2.133 icmp_seq=2 Destination Host Unreachable
From 192.168.2.133 icmp_seq=3 Destination Host Unreachable

traceroute 192.168.2.144

traceroute to 192.168.2.144 (192.168.2.144), 30 hops max, 60 byte packets
1 wirenboard-AP5CRMOL.local (192.168.2.133) 3122.103 ms !H 3121.850 ms !H 3121.685 ms !H

  • WB7 7.3.3E, wb-2304, stable, s/n AVZOK2XH
ping 192.168.2.144

PING 192.168.2.144 (192.168.2.144) 56(84) bytes of data.
64 bytes from 192.168.2.144: icmp_seq=1 ttl=255 time=1.08 ms
64 bytes from 192.168.2.144: icmp_seq=2 ttl=255 time=1.60 ms
64 bytes from 192.168.2.144: icmp_seq=3 ttl=255 time=4.51 ms
64 bytes from 192.168.2.144: icmp_seq=4 ttl=255 time=9.43 ms

traceroute 192.168.2.144

traceroute to 192.168.2.144 (192.168.2.144), 30 hops max, 60 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *

  • WB7 7.3.3E, wb-2207, stable, s/n AP72NKRI
ping 192.168.2.144

PING 192.168.2.144 (192.168.2.144) 56(84) bytes of data.
64 bytes from 192.168.2.144: icmp_seq=1 ttl=255 time=1055 ms
64 bytes from 192.168.2.144: icmp_seq=2 ttl=255 time=35.5 ms
64 bytes from 192.168.2.144: icmp_seq=3 ttl=255 time=2.65 ms
64 bytes from 192.168.2.144: icmp_seq=4 ttl=255 time=1.74 ms

traceroute 192.168.2.144

traceroute to 192.168.2.144 (192.168.2.144), 30 hops max, 60 byte packets
1 wirenboard-AP72NKRI.local (192.168.2.132) 3151.652 ms !H 3151.488 ms !H 3151.431 ms !H

  • Windows
ping 192.168.2.144

Статистика Ping для 192.168.2.144:
Пакетов: отправлено = 21, получено = 21, потеряно = 0
(0% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 2мсек, Максимальное = 10 мсек, Среднее = 5 мсек

tracert 192.168.2.144

Трассировка маршрута к 192.168.2.144 с максимальным числом прыжков 30
1 * 110 ms 5 ms 192.168.2.144
Трассировка завершена.

  • Скрин
Скрин

Да. Почему ответ контроллер приходит от узла 192.168.2.133?
Если поменть адреса машинок друг с другом - то поведение такое же?

Почему ответ контроллер приходит от узла 192.168.2.133 ?

Ну потому что любое устройство с назначенным адресом при отсутствии ответа от целевого устройства (или несуществующего) будет давать ответ от себя что адрес недоступен. Это нормальное поведение в любой системе. Проверьте у себя. На скрине моя сеть и удаленная сеть, никак не связанная с моей.

Скрин

Разница в контроллерах в сетевом демоне. Как мне его переключить на старую версию, networks? Мне кажется все проблемы оттуда.