Работа датчиков MSW через MQTT Wirenboard 7

Имею WB7. На нем установлен СХ.
Имеются датчики msw v3

Подключены к СХ через mqtt

на wirenboard значения температуры, движения и других обновляются штатно

В логах СХ вижу, что он получает с датчиков ринфшоты

В яндексе значения или не копятся вовсе, или появляются с необъяснимой частотой (раз в сутки, а то и реже).

Заметил, что такое поведение только у датчиков MSW. Датчики, подключенные через 1-wire преэкрасно работают и графики отображаются в алисе корректно

Еще наблюдение: датчик MSW часто отдает значение с более чем 10 знаками после запятой. с Датчиками 1-wire такого не происходит

Добрый день.
А каким образом сделана интеграция с Яндекс? Как я понимаю - это основной вопрос.

Через SprutHub. Вы скажете, что надо вопрос направить туда. Но датчики 1-wire работют корректно.

А что значит “корректно”? Точгда - чем отличается поведение устройств в интерфейсе Wirenboard?То есть если значения не меняются в интерфейсе самого контроллере, не записываются в кего испторию - да, имеет смысл разбираться. Но SH - закрытая система и доступной диагностики нет.

Корректно - данные от датчика 1-wire до Яндекса доходят корректно. Такие значения датчика MSW (с 10 знаками после запятой) - это нормальная ситуация?

Попробовал обновить все девайсы на шине, получил следующее:

root@wirenboard-ARVESQJW:~# wb-mcu-fw-updater update-all
2023-01-12 11:45:14,348 Will probe all devices defined in /etc/wb-mqtt-serial.conf
2023-01-12 11:45:17,825 Update: 2.5.1 -> 2.5.3 (WB-MDM3 (190, /dev/ttyRS485-2))
2023-01-12 11:45:19,384 Unhandled exception!
Traceback (most recent call last):
  File "/usr/bin/wb-mcu-fw-updater", line 277, in <module>
    args.func(args)
  File "/usr/bin/wb-mcu-fw-updater", line 109, in update_all
    update_monitor._update_all(force=args.force, allow_downgrade=args.allow_downgrade)
  File "/usr/lib/python3/dist-packages/wb_mcu_fw_updater/update_monitor.py", line 416, in _update_all
    debug_info="(%s)" % str(device_info)
  File "/usr/lib/python3/dist-packages/wb_mcu_fw_updater/update_monitor.py", line 234, in is_reflash_necessary
    actual_version, provided_version = semantic_version.Version(actual_version), semantic_version.Version(provided_version)
  File "/usr/lib/python3/dist-packages/semantic_version/base.py", line 75, in __init__
    major, minor, patch, prerelease, build = self.parse(version_string, partial)
  File "/usr/lib/python3/dist-packages/semantic_version/base.py", line 181, in parse
    raise ValueError('Invalid version string: %r' % version_string)
ValueError: Invalid version string: '4.22.1%2Bwb1'

10 знаков - следствие вычислений в history. Или такая точность и в MQTT?

Какая версия пакета wb-mcu-fw-updater?

10 знаков - следствие вычислений в history. Или такая точность и в MQTT?

Это вывод истории значений с датчика. Выглядит очень странно.

Какая версия пакета wb-mcu-fw-updater?

Не знаю как проверить.

wb-mcu-fw-updater/stable 1.5.1-wb102 all [может быть обновлён с: 1.3.2]

проверяю на 1.5.1-wb102

wb-mcu-fw-updater update-all --force
2023-01-12 16:56:55,633 Will probe all devices on enabled serial ports of /etc/wb-mqtt-serial.conf:
2023-01-12 16:56:55,646 Probing t13_VFD (port: /dev/ttyRS485-2, slaveid: 10, uart_params: 9600N2, response_timeout: 0.50)...
2023-01-12 16:57:03,414 Probing WB-MDM3 (port: /dev/ttyRS485-1, slaveid: 42, uart_params: 9600N2, response_timeout: 0.50)...
2023-01-12 16:57:06,724 Force update: 2.5.3 -> 2.5.3 (WB-MDM3 (42, /dev/ttyRS485-1))
2023-01-12 16:57:06,733 Flashing firmware to WB-MDM3 (42, /dev/ttyRS485-1)
2023-01-12 16:57:12,586 Flashing /var/lib/wb-mcu-fw-updater/mdm3__2.5.3_master_38ac9f0.wbfw
100%|#############################################################################################################################################################################|137/137
2023-01-12 16:57:49,458 No answer from:
2023-01-12 16:57:49,467 	t13_VFD (10, /dev/ttyRS485-2)
2023-01-12 16:57:49,473 Devices are possibly disconnected
2023-01-12 16:57:49,479 1 upgraded, 0 skipped upgrade, 0 stuck in bootloader, 1 disconnected and 0 too old for any updates.

Так что обновитесь.

Обновил. Ситуация со значениями не изменилась. Такие значения, которые отдает датчик нормальные или нет?

Обновил и пакет ы и девайсы на шине. 1-wire датчики работают прекрасно в части накопления данных в Яндексе и отработки автоматизаций. Все остальное тоже работает отлично, кроме всего, что касается датчиков MSW v3

2023-01-13 06:10:07,677 Update skipped: 2.5.3 -> 2.5.3 (WB-MDM3 (190, /dev/ttyRS485-2))
2023-01-13 06:10:09,152 Update skipped: 1.18.5 -> 1.18.5 (WB-MWAC (80, /dev/ttyRS485-2))
2023-01-13 06:10:10,646 Update skipped: 1.18.5 -> 1.18.5 (WB-MWAC (23, /dev/ttyRS485-2))
2023-01-13 06:10:12,141 Update skipped: 2.5.3 -> 2.5.3 (WB-MDM3 (144, /dev/ttyRS485-2))
2023-01-13 06:10:13,620 Update skipped: 1.18.5 -> 1.18.5 (WB-MR6CU (85, /dev/ttyRS485-2))
2023-01-13 06:10:15,106 Update skipped: 4.22.1+wb1 -> 4.22.1+wb1 (WB-MSW v.3 (115, /dev/ttyRS485-2))
2023-01-13 06:10:16,594 Update skipped: 2.5.3 -> 2.5.3 (WB-MDM3 (170, /dev/ttyRS485-2))
2023-01-13 06:10:18,127 Update skipped: 2.5.3 -> 2.5.3 (WB-MDM3 (56, /dev/ttyRS485-2))
2023-01-13 06:10:19,634 Update skipped: 2.5.3 -> 2.5.3 (WB-MDM3 (193, /dev/ttyRS485-2))
2023-01-13 06:10:21,215 Update skipped: 4.22.1+wb1 -> 4.22.1+wb1 (WB-MSW v.3 (114, /dev/ttyRS485-2))
2023-01-13 06:10:22,692 Update skipped: 2.5.3 -> 2.5.3 (WB-MDM3 (146, /dev/ttyRS485-2))
2023-01-13 06:10:24,217 Update skipped: 4.22.1+wb1 -> 4.22.1+wb1 (WB-MSW v.3 (117, /dev/ttyRS485-2))
2023-01-13 06:10:25,739 Update skipped: 3.0.4 -> 3.0.4 (WB-MRGBW-D fw3 (204, /dev/ttyRS485-2))
2023-01-13 06:10:27,235 Update skipped: 4.22.1+wb1 -> 4.22.1+wb1 (WB-MSW v.3 (99, /dev/ttyRS485-2))
2023-01-13 06:10:28,749 Update skipped: 4.22.1+wb1 -> 4.22.1+wb1 (WB-MSW v.3 (102, /dev/ttyRS485-2))
2023-01-13 06:10:30,239 Update skipped: 3.0.4 -> 3.0.4 (WB-MRGBW-D fw3 (217, /dev/ttyRS485-2))

Не из истории, в MQTT - какие? В внешние системы из истории ничего не попадает.

Поставьте интеграцию с Яндексом другую, для проверки, которую можно отслеживать и контролировать. Потому что сейча - не понять никак что именно туда передается.