Обновление mqtt-serial

Имел неосторожность обновиться с 1.61.0 на 1.63.0 через apt-get. Отвалилась сразу вся переферия. Опрос модулей не происходил. Перезагрузки, рестарты ни к чему не привели. Откатился обратно на 1.61.0, все заработало как и ранее. Что же там такого сногсшибательного изменилось? В лог посыпались ошибки подобного плана:
info wb-rules[1782]: ERROR: [rule error] ECMAScript error: Error: error error (rc -100) anon native strict preventsyield clearTimeout /usr/share/wb-rules-system/scripts/lib.js:289 anon /etc/wb-rules/test.js:59 strict preventsyield call native strict preventsyield anon /usr/share/wb-rules-system/scripts/lib.js:233 preventsyield

Скрипт до обновления и после отката не имеет проблем, а ругань шла на строчку с « clearTimeout».

А вы обновляли только один пакет?
И при запуске вручную wb-mqtt-serial - что-нибудь выводил?

Обновлялся от wb только один пакет.
При запуске вручную никакой информации об ошибках не выводил.
Устройства на шине переставали мигать, т.е. опроса не было. При откате на 1.61 сразу все заработало.

То есть запускаете

/usr/bin/wb-mqtt-serial -d -c /etc/wb-mqtt-serial.conf

и вообще ничего не выводит?
Выложите свой конфиг /etc/wb-mqtt-serial.conf пожалуйста.

Вот он.
wb-mqtt-serial.conf (2.3 КБ)

ещё приложите шаблон WB-MSW v.3 rev2 - он нестандартный.
И вывод с -d, как выше коллега попросил.

Прикладываю: config-wb-msw_v3 rev2.json (1.8 КБ)
Вывод в каком объёме нужен? там бесконечный обмен и ошибок я не вижу. (сейчас стоит 1.61.0)

Да, у меня c выложенным конфигом воспроизводится:

FATAL: Error parsing config file: Can't find the template for 'WB-MSW v.3 rev2' device type.

При замене в конфиге
“device_type”: “WB-MSW v.3 rev2”
на
“device_type”: “WB-MSW v.3”
работает.

а в чем разница я не пойму. Между версиями? почему именно такое название критично?

Да, у меня c выложенным конфигом воспроизводится:

где эта ошибка? я на текущей версии гляну.

На текущей версии - все будет работать.
Для обновления (сейчас) - исправьте в конфиге название шаблона.

На будущее - изменять названия шаблонов нельзя?

Можно, почему же нет. Но нужно учитывать при обновлении.
Попробуйте установить сейчас 1.63.0 и стартовать его вручную - что напишет?

Ваш шаблон работает на 1.63.0 Я его добавил себе и проверил на обеих версиях.
Чтобы обнаружить почему 1.63.0 не запускается - поставьте его и запустите вручную, как я написал не изменяя строчку в /etc/wb-mqtt-serial.conf.

/usr/bin/wb-mqtt-serial -d -c /etc/wb-mqtt-serial.conf

К сожалению объект удаленный от меня и я не хочу пока экспериментов. Доберусь до места и обязательно попробую. Я пробежался по логам своих апдейтов по пакету serial, получается обновлял со своим “кривым” конфигом (rev2) с версии 1.55.0 (2020-04-17) до 1.61.0 и было все нормально, а тут вдруг на 1.63.0 всё поломалось. Конечно я впредь буду осторожен с обновлениями. Спасибо за помощь.

В том-то и дело, что именно этот шаблон - работает. Но у вас еще используются счетчики, да с нестандартными протоколами А причину узать хочется. Возможно что именно редкое сочетание настроек вызывает проблему, которую при тестировании не учли.
Обязательно отпишитесь.

Сегодня обновил serial до 1.63.0, как ни странно запустилось все без проблем. Как с указанием конфига так и без. Ошибок нет. Пока понаблюдаю за всем. Если будет что-то замечено отпишусь.

1 Like