Yaml конфигурация для WB-MSW v.3 в Home Assistant

Перевожу умный дом на Home Assistant, наверняка такой популярный датчик как WB-MSW v.3 уже добавляли в Home Assistant, так как там все через yaml файлы нужен пример как прописать все параметры этого датчика в yaml, у меня в этом датчике все опции есть, но по идее хватит и одной например температуры чтобы она просто отобразилась в Home Assistant

шлюз WB-MGE v.2 я уже добавил с модбас из Home Assistant связь есть

Добрый день.
Вывожу параметры из датчиков в HA.
Для примера:


Но использую “обычную” MQTT интеграцию, настраивая так:

   - unique_id: basement_air_temperature
      name: "basement air Temperature"
      state_topic: "/devices/WB-MSW_Basement/controls/temperature"
      unit_of_measurement: "°C"
    - unique_id: basement_air_humidity
      name: "basement air humidity"
      state_topic: "/devices/WB-MSW_Basement/controls/humidity"
      unit_of_measurement: "%"
    - unique_id: basement_air_CO2
      name: "basement air CO2"
      state_topic: "/devices/WB-MSW_Basement/controls/co2"
      unit_of_measurement: "ppm"
    - unique_id: basement_air_VOC
      name: "basement air VOC"
      state_topic: "/devices/WB-MSW_Basement/controls/voc"
      unit_of_measurement: "ppb"

Как то пробовал непосредственно из HA опрашивать Modbus устройства, но столкнулся с ограничениями реализации Modbus именно в HA - и не стал продолжать.
“Готовых” шаблонов не встречал.

2 лайка

при добавлении интеграции такой вопрос, что выбрать ?

и откуда брать state_topic: “/devices/WB-MSW_Basement/controls/temperature”
если это ваши конфиги то можно посмотреть что в них нужно писать ?

Я использовал в качестве брокера - установленный на контроллере mosquitto.
Меня не устроило управление по modbus из HA. Точнее - его реализация.
Соответственно выбирал “Ввести вручную”.
Про настройку - можно прочитать тут.

1 лайк

по инструкции делал вылазит ошибка

если для этого нужен Wiren Board с установленным на нем Home Assistant то я его не использую, я же написал только про конкретный датчик

Да, я использую контроллер Wiren board. В качестве шлюза, он работает с устройствами а HA, установленный на отдельном сервере - работает с контроллером по MQTT.

Готового файла-шаблона для HA подходящего для подключения по Modbus я не видел.

1 лайк

Удалось подключить параметр датчика по модбас в HA, вроде все работает, но это пока только один параметр, а с какими ограничениями столкнулись ?
У меня в иридиум тоже все работало напрямую с модбас через шлюз WB-MGE v.2, хочу просто повторить все тоже самое в HA

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

1 лайк

ну вот по детекту движения не очень нравилась его работа в иридиум, но там я списывал на глюки самой системы. А можно один параметр подключить через MQTT, а остальные не трогать на одном этом датчике? или надо все через MQTT тогда ? и правильно понимаю для MQTT нужен отдельный сервер, в виде wiren board или чего то другого ?

Нет. Modbus-мастер может быть только один. И даже в Modbus TCP мультимастер хоть и возможен - имеет весьма ограниченное распространение.

Да. Если говорить про контроллер WirenBoard - то с помощью Быстрый Modbus ⚡ — Wiren Board и возможности при использовании “классического” Modbus указывать приоритеты для опроса - можно говорить о предсказуемом времени задержки.
Для примера, у меня есть тот же WB-MSW, с датчиком движения. Я указываю


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

Как Насколько знаю в Иридиум не реализованы приоритеты в случае использования Modbus мастером.

В случае в modbus в HA у меня не получалось достичь стабильного результата в задержке лучше чем ~500мс. Но, опять же - зависит от задачи, для датчика движения это важно, для температуры-влажности - нет. И пробовал давно, возможно сейчас все лучше.
По крайней мере есть примеры: Умный дом на Raspberry Pi и Home Assistant: добавляем диммеры и реле Wiren Board / Хабр

1 лайк

То есть правильно понимаю что если использовать MQTT, то надо полностью отключить хаб WB-MGE v.2 или имеется ввиду что отдельное устройство например датчик WB-MSW v.3 должен быть или на хабе или на MQTT ?

в статье Умный дом на Raspberry Pi и Home Assistant: добавляем диммеры и реле Wiren Board / Хабр пишут про какую то интеграцию wirenboard для HA, я попробовал у меня не работает, как понимаю там она только для устройств WB-MDM3, а для других устройств от Wirenboard нету интеграций для Home Asssistant ? у меня к примеру есть счетчики WB-MAP12E и думаю удобнее было бы добавлять через меню HA, а не в yaml файле все вручную, плюс типы данных и модификаторы прописывать

Для использования MQTT - требуется чтобы какое-то устройство или ПО опрашивало датчик и публиковало значения в брокер.

Работает только на контроллере. В статье - настроено без нее.

1 лайк

Понятно значит по modbus буду писать все в ручную в yaml

А в конфиге yaml в HA
параметр slave: можно вынести на верхний уровень, чтобы прописать под ним все другие параметры для конкретного датчика ? не нашел примеров

и какой нужен device_class для датчика движения(в WB-MSW v.3), класс motion есть только для Binary sensor, а у этого датчика движение не true/false а цифровое значение, то есть это просто Sensor как понимаю, а у них нет значения motion для device_class

И электросчетчик WB-MAP12E это считается тоже sensors или какой то другой тип ?

Видел что используют шаблоны HA для этого - но сам (пока) не освоил.

Использую просто значение, без типа.

Вот тут похожее обсуждалось: Home assistant + wb-mrps6 - #21 от пользователя BrainRoot

1 лайк

Я научился обновлять значения модбас в Home Assistant быстрее чем раз в 1 секунду, это делается в автоматизации запуском homeassistant.update_entity и указания какие именно регистры в модбасе нужно запрашивать.
НО это работает только до того как я не начинаю добавлять много регистров модбаса,
я использую ваш хаб WB-MGE v.2 и ваш датчик движения WB-MSW v.3 как его заставить нормально работать ?
У меня есть настроенная система в иридиум, там так же ваш датчик движения срабатывает неприемелемо медленно, но так Home Assistant превосходит иридиум по всем пунктам, меня интересует работа только в Home Assistant

Когда в конфигурации добавлен только один регистр на движение с WB-MSW v.3 все работает более менее, но уже при добавлении например температуры с этого же датчика уже появляются небольшие задержки. Home Assistant как понимаю лучшая система управления умным домом дайте инструкцию что делать, или что под каждый датчик движения модбас надо покупать отдельный хаб WB-MGE v.2 ? включение света по движению через 10-20 секунд, это как то не назвать нормальной работой

Да и когда много оборудования модбас добавлено в Home Assistant оно периодически становиться недоступно, но не одновременно, а часть недоступна часть показывает. И любые команды очень медленно выполняются, опять же только когда я добалю много регистров, много это например 73 штуки но у меня их будет еще больше

Да, пробовал. В таком случае он (HA) начинает опрашивать TCP шлюз (часто) не дожидаясь окончания предыдущего опроса. Чем выззывает ошибки. В общем у меня не получилось. Ну и моего уровня не хватает переписать HA в части работы с Modbus.

У меня нет рекомендаций, возможно в поддержке HA смогут подсказать.
А как рассчитываете количество опрашиваемых регистров относительно ширины шины?

Использую штатный драйвер контроллера для того чтобы получать (важные) данные за гарантированное время.

На скорости 115200 73 регистра будут опрашиваться ~350-400мс
На скорости 9600 - больше двух секунд. Так что надо оптимизировать приоритет по некоторым. Для примера, я (до внедрения Быстрого Modbus устанавливал регистрам датчиков движения 200мс (иногда 100мс) и рассчитывал что олпрос приоритетных не занимал более 50% ширины шины.

Не получилось что ? так же есть тормаза при использовании WB-MGE v.2 и интеграции модбас в HA ?

если поддержка это их форум https://community.home-assistant.io то там вообще ничего не ответили, вот моя тема Modbus commands not going through - Configuration - Home Assistant Community, если можно куда то еще им написать или может я формулирую вопрос там не грамотно, то подскажите

Не знаю что это и зачем, к примеру не для приоритетных регистров я ставлю scan_interval: 5 то есть раз в 5 секунд если правильно понимаю, но даже ладно, к примеру если добавить все регистры только с одного датчика WB-MSW v.3 он же должен отрабатывать без тормазов даже если его опрашивать раз в 100мс ? если так то даже при этом у меня наблюдается задержки и периодически данные с датчика становятся не доступны, не все одновременно(если одновременно как понимаю это проблема со связью), а часть доступна часть нет.

Чтобы его использовать нужен wirenboard ? если нет может есть инструкция для пятилетнего чтобы завести это через хаб WB-MGE v.2 ?

У меня есть второй хаб на 9600 и там два датчика WB-MSW v.3 и WB-MSW v.4 и вот там я вижу более стабильную работу по крайней мере на графике нет больших разрывов когда датчик не доступен, а по поводу быстрого модбаса как понимаю в HA его нет ?

Не смог настроить так как хотел. Чтобы требуемые мне регистры опрашивались с нужной частотой. Повторюсь, возможно моей квалификации для этого недостаточно.

Если планируете описывать работу с регистрами - это совершенно необходимый этап проектирования. Нужно точно знать сколько регистров будет опрашиваться ежесекундно, для того чтобы они поместились в ширину (пропускную способность) шины.
Для того же WB-MSW v3 - типовых регистров для опроса 10-15 в зависимости от комплектации.
Таким образом на 115200 - да, можно раз в 100мс, оптимистично-пессимистично цикл займет 40-55мс.
Я не знаю нормального способа посмотреть в HA debug вывод обмена с шиной.

Да, драйвер разработан для контроллера и работает на нем.

Да, в HA нет ни приоритетов ни расширения.

HA - открытое и свободное ПО, со всеми плюсами и минусами.
Я все же советую начать с расчета - помещаются ли регистры в шину на текущей скорости.

Ну и если есть вопросы именно по работе с нашим оборудованием - с удовольствием на них отвечу. Про настройку работы со сторонним ПО - в пределах знаний.

Вот код автоматизации которую я использую, можете проверить у себя будет ли там честные 100мс (или любая другая задержка которую вы укажете)
Вроде бы все понятно но объясню, тут при запуске HA запускается бесконечный цикл в котором службой homeassistant.update_entity происходит запрос на обновление двух регистров модбас, можно один удалить или наоборот добавить еще так же в столбик, ну и цифру 100 поменять на любую другую задержку.

- id: update_modbus
  alias: update_modbus
  triggers:
  - trigger: homeassistant
    event: start
  actions:
  - repeat:
      while: "{{ 0==0 }}" 
      sequence:
      - action: homeassistant.update_entity
        data:
          entity_id:
          - sensor.dvizhenie_koridor_modbus
          - sensor.dvizhenie_koridor_modbus2
      - delay:
          milliseconds: 100
  initial_state: true

Если у вас будет все работать хотелось бы узнать способ установки HA (хотя в любом случае хотелось бы это знать), у меня стоит просто готовый образ на виртуалке может быть в этом проблема и нужен отдельный комп.
Ну и вообще я думаю если мой способ работает это же лучше чем mqtt для которого нужен отдельный сервер(брокер), а это дополнительная точка отказа.

Да и сейчас когда сервер HA постоял без перезагрузки, главная проблема у меня это то что команды по модбас вообще не проходят, сначала хотябы с задержкой но улетали, а сейчас просто никак.

А по поводу расчета задержки для регистров, ну так разницы же нет я добавил штук 20 с задержкой 5 секунд, и один с задержкой 1 секунда для движения и уже сразу нету этой секунды, намного все медленнее, думаю проблема не в этом, хотя я могу хоть 10 сек на все поставить, такое чувство что со временем очередь переполняется и ничего не проходит, только статусы и то с задержкой, а команды вообще не проходят.

Я, повторю, очень плохо знаю HA.

Обновляю его до актуального Core 2024.11.3:


Убеждаюсь что он актуальный:

docker ps -a
CONTAINER ID   IMAGE                                          COMMAND   CREATED              STATUS              PORTS     NAMES
1d56aff621b2   ghcr.io/home-assistant/home-assistant:stable   "/init"   About a minute ago   Up About a minute             homeassistant24

Добавляю в конфигурацию пару датчиков в движения из WB-MSW по Modbus, специально не указывая scan_interval:

   sensors:
      - name: sensor.dvizhenie_koridor_modbus
        slave: 113
        unit_of_measurement: m
        input_type: input
        address: 280
        data_type: uint16
        scale: 1
      - name: sensor.dvizhenie_koridor_modbus2
        slave: 170
        unit_of_measurement: m
        input_type: input
        address: 280
        data_type: uint16
        scale: 1

Выглядят


Добавил в automations.yaml код. Получаю что после перезапуска самого HA начинается опрос который останавливается в течении секунды.
То есть - только в момент перезапуска.
В общем - не работает.

Хояу еще раз повторить: Мы занимаемся поддержкой своего оборудования. Со сторонним ПО - помогаем в рамках компетенций и никак не гарантируем что рекомендации по стороннему будут именно оптимальными.
Мы занимаемся разработкой и производством устройств.
Если есть вопросы про наше оборудование - с удовольствием на них отвечу.

Контейнер в вируальной машине на гипервизоре.

Я не понимаю про какую “задержку” речь.
Разница - есть. Без расчета проектировать - бесполезно. Ну или расчетом обмена должно заниматься ПО.
Для примера одна секунда обмена с контроллера, для двух датчиков WB-MSW, подключенных через шлюз:

Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 86 00 00 00 1b 71
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 04 18 00 e0 02 72 ff fe 11 31 08 c2 18 76 ff fe ff fe 02 1a ff ff ff ff ff ff
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [register] new val for <modbus-tcp:113:input: 3>: 1131
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [register] new val for <modbus-tcp:113:input: 8>: 21a
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [register] register <modbus-tcp:113:input: 9> contains error value
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [register] register <modbus-tcp:113:input: 11> contains error value
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial port driver] channel 'Sound Level' of device 'wb-msw-v3_113' <-- 44.01
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial port driver] channel 'CO₂' (MQTT control 'CO2') of device 'wb-msw-v3_113' <-- 538
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338256876: Wait until 338256876
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 87 00 00 00 06 71 04 01 0e 00 0e
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 87 00 00 00 1f 71
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 04 1c fe 35 0d 64 ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe 00 19 08 02 00 0a 00 0a
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [register] new val for <modbus-tcp:113:input: 283>: a
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial port driver] channel 'Current Motion' of device 'wb-msw-v3_113' <-- 10
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338256943: Wait until 338256943
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 88 00 00 00 06 71 01 00 00 00 0c
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 88 00 00 00 05 71
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 01 02 08 00
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338256976: Wait until 338256976
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 89 00 00 00 06 71 01 13 89 00 02
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 89 00 00 00 04 71
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 01 01 00
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257005: Wait until 338257005
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 8a 00 00 00 06 71 01 13 ec 00 07
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 8a 00 00 00 04 71
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 01 01 00
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257034: Wait until 338257034
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 8b 00 00 00 06 71 01 14 b4 00 07
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.70:502>338257048: Wait until 338257548
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 8b 00 00 00 04 71
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 01 01 00
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257063: Wait until 338257063
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 8c 00 00 00 06 aa 03 00 61 00 02
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] </dev/ttyMOD1 9600 8 N 2>338257067: Wait until 338257567
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 8c 00 00 00 07 aa
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 03 04 00 01 00 08
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257099: Wait until 338257099
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 8d 00 00 00 06 aa 04 00 03 00 09
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 8d 00 00 00 15 aa
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 04 12 0f 6a 08 d3 17 b9 ff fe ff fe 02 cf 00 00 06 3b 00 64
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [register] new val for <modbus-tcp:170:input: 3>: f6a
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [register] new val for <modbus-tcp:170:input: 5>: 17b9
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [register] new val for <modbus-tcp:170:input: 11>: 64
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial port driver] channel 'Sound Level' of device 'wb-msw-v4_170' <-- 39.46
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial port driver] channel 'Humidity' of device 'wb-msw-v4_170' <-- 60.73
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial port driver] channel 'Air Quality (VOC)' of device 'wb-msw-v4_170' <-- 100
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257155: Wait until 338257155
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 8e 00 00 00 06 aa 04 01 0e 00 0e
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 8e 00 00 00 1f aa
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 04 1c 00 02 30 e2 ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe 00 18 08 01 00 0a 00 0d
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [register] new val for <modbus-tcp:170:input: 283>: d
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial port driver] channel 'Current Motion' of device 'wb-msw-v4_170' <-- 13
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257221: Wait until 338257221
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 8f 00 00 00 06 aa 01 00 00 00 0c
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 8f 00 00 00 05 aa
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 01 02 08 00
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257255: Wait until 338257255
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 90 00 00 00 06 aa 01 13 89 00 02
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 90 00 00 00 04 aa
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 01 01 00
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257284: Wait until 338257284
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 91 00 00 00 06 aa 01 13 ec 00 07
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 91 00 00 00 04 aa
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 01 01 00
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257313: Wait until 338257313
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 92 00 00 00 06 aa 01 14 b4 00 07
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 92 00 00 00 04 aa
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 01 01 00
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257342: Wait until 338257342
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 12000 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 93 00 00 00 06 71 03 00 61 00 02
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 93 00 00 00 07 71
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 03 04 00 02 00 10
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257389: Wait until 338257389
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 94 00 00 00 06 71 04 00 00 00 0c
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 94 00 00 00 1b 71
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 04 18 00 e0 02 72 ff fe 11 48 08 c3 18 75 ff fe ff fe 02 1a ff ff ff ff ff ff
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [register] new val for <modbus-tcp:113:input: 3>: 1148
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [register] register <modbus-tcp:113:input: 9> contains error value
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [register] register <modbus-tcp:113:input: 11> contains error value
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial port driver] channel 'Sound Level' of device 'wb-msw-v3_113' <-- 44.24
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257451: Wait until 338257451
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 95 00 00 00 06 71 04 01 0e 00 0e
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 95 00 00 00 1f 71
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 04 1c fe 35 0d 64 ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe 00 19 07 f9 00 0a 00 0a
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257515: Wait until 338257515
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 96 00 00 00 06 71 01 00 00 00 0c
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 96 00 00 00 05 71
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 01 02 08 00
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] Serial protocol error: <10.0.0.70:502> connect error: Connection refused (111)
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.70:502>338257551: Wait until 338258051
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257551: Wait until 338257551
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 97 00 00 00 06 71 01 13 89 00 02
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] </dev/ttyMOD1 9600 8 N 2>338257567: Wait until 338258067
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 97 00 00 00 04 71
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 01 01 00
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257580: Wait until 338257580
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 98 00 00 00 06 71 01 13 ec 00 07
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 98 00 00 00 04 71
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 01 01 00
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257608: Wait until 338257608
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 99 00 00 00 06 71 01 14 b4 00 07
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 99 00 00 00 04 71
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 01 01 00
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257636: Wait until 338257636
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 9a 00 00 00 06 aa 03 00 61 00 02
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 9a 00 00 00 07 aa
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 03 04 00 01 00 08
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257671: Wait until 338257671
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 9b 00 00 00 06 aa 04 00 03 00 09
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 9b 00 00 00 15 aa
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 04 12 0f 6f 08 d3 17 b9 ff fe ff fe 02 cf 00 00 06 3b 00 64
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [register] new val for <modbus-tcp:170:input: 3>: f6f
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial port driver] channel 'Sound Level' of device 'wb-msw-v4_170' <-- 39.51
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257724: Wait until 338257724
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 9c 00 00 00 06 aa 04 01 0e 00 0e
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 9c 00 00 00 1f aa
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 04 1c 00 02 30 e2 ff fe ff fe ff fe ff fe ff fe ff fe ff fe ff fe 00 18 07 fa 00 0a 00 0e
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [register] new val for <modbus-tcp:170:input: 283>: e
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial port driver] channel 'Current Motion' of device 'wb-msw-v4_170' <-- 14
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257789: Wait until 338257789
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 9d 00 00 00 06 aa 01 00 00 00 0c
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: dd 9d 00 00 00 05 aa
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: ReadFrame: 01 02 08 00
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [serial client] <10.0.0.71:502>338257822: Wait until 338257822
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Sleep 0 us
Nov 22 14:02:06 wirenboard-AYK5U4TB wb-mqtt-serial[3054144]: DEBUG: [port] 10.0.0.71:502: Write: dd 9e 00 00 00 06 aa 01 13 89 00 02

Видно что за секунду опрошены все регистры датчиков по нескольку раз.

Весьма похоже, да.
Но тут снова рекомендую обратится в поддержку HA.