После обновлений перезапускается wb-mqtt-serial после чего наблюдаю в логах огромное количество ошибок от wb-rules следующего вида:
|17-07-2024 10:57:13.302 [wb-rules]|ERROR: [backend] unknown type in meta json [mai6/IN 6 P Voltage]: float64|
|---|---|
|17-07-2024 10:57:13.301 [wb-rules]|ERROR: [backend] unknown type in meta json [mai6/IN 6 P Voltage]: float64|
|17-07-2024 10:57:13.281 [wb-rules]|ERROR: [backend] unknown type in meta json [mai6/IN 5 P Voltage]: float64|
|17-07-2024 10:57:13.280 [wb-rules]|ERROR: [backend] unknown type in meta json [mai6/IN 5 P Voltage]: float64|
При последующем перезапуске wb-rules таких ошибок не возникает.
Подскажите, что это? надо беспокоиться?
Прилагаю диагностическую информацию
приложен диагностический архив, доступен только сотрудникам поддержки
Ошибки, которые вы видите, связаны с тем, что wb-rules пытается обработать данные, но сталкивается с неизвестным типом данных float64 в JSON-метаинформации. Это может быть вызвано ошибками в конфигурации или несовместимостью версий программного обеспечения.
Вот несколько шагов для диагностики и устранения проблемы:
Проверьте конфигурацию wb-rules:
Убедитесь, что файлы конфигурации, используемые wb-rules, не содержат ошибок и правильно определены все типы данных. Конфигурационные файлы обычно находятся в директориях /etc/wb-rules/ и /usr/share/wb-rules/.
Проверьте эти файлы на наличие некорректных определений и исправьте их, если необходимо.
Проверьте совместимость версий:
Убедитесь, что версии wb-rules и других зависимых компонентов совместимы между собой. Иногда обновления могут вносить изменения в формат данных или конфигурацию, что может вызвать ошибки.
Выполните команду:
dpkg -l | grep wb
Эта команда отобразит все установленные пакеты wb и их версии. Убедитесь, что у вас установлены актуальные версии ПО, совместимые с вашей конфигурацией.
3. Обновите ПО:
Возможно, потребуется обновить wb-rules и другие компоненты до последней версии, чтобы устранить проблемы совместимости или ошибки. Проверьте наличие обновлений и следуйте инструкциям для их установки.
Если проблема не устраняется после выполнения этих шагов, пожалуйста, предоставьте дополнительную информацию о конфигурации и версиях используемого ПО для более детального анализа.
Все проверил, все пакеты имеют последние версии. Топики, которые указаны в примере логов (mai6/IN 6 P Voltage и т.д.) вообще не используются в скриптах wb-rules.
Для диагностики данных, поступающих от устройств на вашем Wiren Board, я рекомендую воспользоваться утилитой mosquitto_sub. Этот инструмент позволяет подписаться на MQTT-топики и просмотреть данные в реальном времени.
Вот шаги для использования mosquitto_sub:
Установите пакет mosquitto-clients: Если у вас еще не установлен этот пакет, установите его командой:
sudo apt-get install mosquitto-clients
Подпишитесь на нужные топики: Откройте терминал и выполните команду mosquitto_sub, указав адрес MQTT-брокера (обычно localhost, если брокер работает на той же машине) и топик, который вас интересует. Например, чтобы подписаться на все сообщения в топики, начинающиеся с mai6/IN/, используйте:
mosquitto_sub -h localhost -t "mai6/IN/#"
Эта команда будет показывать все сообщения, публикуемые в топики, соответствующие шаблону mai6/IN/. Вы сможете наблюдать данные в реальном времени.
Анализируйте полученные данные: Если данные не соответствуют ожиданиям или вызывают ошибки в системе wb-rules, проверьте источник данных или логику обработки данных на устройствах или в приложениях, публикующих данные в MQTT-топики.
Для более глубокого понимания принципов работы MQTT и его использования в системе Wiren Board, обратитесь к официальной документации по MQTT на сайте Wiren Board:
Этот подход поможет вам эффективно управлять и диагностировать данные в вашей системе, обеспечивая их правильную обработку и стабильную работу. Если у вас возникнут дополнительные вопросы или потребуется дальнейшая помощь, не стесняйтесь обращаться!
Александр, Вы меня не поняли. Проблем с данными в MQTT нет, топики выдают корректные значения. Проблема с сервисом wb-rules. При перезапуске он выдает ошибки, которые хотелось бы диагностировать. Еще раз прилагаю лог перезапуска:
Jul 18 12:27:40 wirenboard wb-rules[22696]: INFO: [engine] Stopping sync loop
Jul 18 12:27:40 wirenboard wb-rules[22696]: INFO: [engine] Stop main loop
Jul 18 12:27:40 wirenboard systemd[1]: Stopping MQTT Rule engine for Wiren Board...
Jul 18 12:27:40 wirenboard mosquitto[1930]: 1721294860: Client rules-wirenboard-22696 disconnected: Broken pipe.
Jul 18 12:27:40 wirenboard mosquitto[1930]: 1721294860: Client wb-rules-engine-wirenboard-22696 closed its connection.
Jul 18 12:27:40 wirenboard systemd[1]: wb-rules.service: Succeeded.
Jul 18 12:27:40 wirenboard systemd[1]: Stopped MQTT Rule engine for Wiren Board.
Jul 18 12:27:40 wirenboard systemd[1]: wb-rules.service: Consumed 18h 50min 4.178s CPU time.
Jul 18 12:27:40 wirenboard systemd[1]: Started MQTT Rule engine for Wiren Board.
Jul 18 12:27:40 wirenboard wb-rules[7899]: INFO: broker URL is default and mosquitto socket detected, trying to connect via it
Jul 18 12:27:40 wirenboard wb-rules[7899]: INFO: driver is created
Jul 18 12:27:40 wirenboard mosquitto[1930]: 1721294860: New connection from /var/run/mosquitto/mosquitto.sock:0 on port 0.
Jul 18 12:27:40 wirenboard mosquitto[1930]: 1721294860: New client connected from /var/run/mosquitto/mosquitto.sock:0 as rules-wirenboard-7899 (p2, c1, k30).
Jul 18 12:27:40 wirenboard wb-rules[7899]: INFO: [wbgo_mqtt] rules-wirenboard-7899: MQTT connection established
Jul 18 12:27:41 wirenboard wb-rules[7899]: INFO: driver loop is started
Jul 18 12:27:41 wirenboard wb-rules[7899]: INFO: wait for driver to become ready
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_02/Channels 1_2 (B_R)]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_02/Channel 3 (G)]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_02/Channels 1_2 (B_R) Brightness]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_02/Channels 1_2 (B_R) Brightness]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_02/Channels 1_2 (B_R) Brightness]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_02/Channel 3 (G) Brightness]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_02/Channel 3 (G) Brightness]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_02/Channel 3 (G) Brightness]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_02/Channel 4 (W)]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_02/Channel 4 (W) Brightness]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_02/Channel 4 (W) Brightness]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_02/Channel 4 (W) Brightness]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_02/Input 1]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_02/Input 2]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_02/Input 3]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_02/MCU Temperature]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_03/Channel 2 (R)]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_03/Channel 4 (W)]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_03/Channel 1 (B)]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_03/Channel 1 (B) Brightness]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_03/Channel 1 (B) Brightness]: float64
Jul 18 12:27:42 wirenboard wb-rules[7899]: ERROR: [backend] unknown type in meta json [dim_03/Channel 1 (B) Brightness]: float64
Многие из этих топиков, на которые он ругается, даже не используются правилами wb-rules.
Отлично, что остальная часть системы функционирует исправно!
Для дальнейшего расследования и оценки серьезности лог-сообщений мы собрали стенд для воспроизведения вашей проблемы на аналогичном оборудовании. Мы постараемся в ближайшее время предоставить информацию о серьезности этих сообщений.
Если вы обнаружите дополнительные аспекты или проблемы, пожалуйста, сообщите об этом незамедлительно. Это поможет нам более точно и быстро решить возникшие вопросы.