WB-MGE и 2 модбас устройства

Добрый всем день. Помогите плз, а то уже и не знаю, в чем еще может быть дело…

  1. Имеется WB-MGE, настроен Modbus RTU over TCP, 9600N1, к нему подключены 2-а китайских датчика - скорости и направления ветра с адресами 112 и 113 соответственно.
  2. В Modbus Poll (фото прилагается) все прекрасно опрашивается, и по раздельности, и одновременно подключенные. Нужен регистр 0x2A - ну для начала хотя бы по одному регистру с устройства.
  3. Написал простенький json (прилагается). Устройства практически идентичные, регистр один и тот же. Так вот в wirenboard датчик скорости работает, а направления дает ошибку.

Ну в чем дело может быть?

config-winddirection.json (328 Байт) config-windspeed.json (317 Байт)

Добрый день.
То есть код шаблона

{
    "device_type": "WINDDIRECTION",
    "device": {
        "name": "WINDDIRECTION",
        "id": "winddirection",
        "channels": [
            {
                "name": "direction",
                "reg_type": "input",
                "address": "0x2A",
                "type": "value"
            }
        ]
    }
}

не отрабатывает?
А что при этом в логе serial?

journalctl -u wb-mqtt-serial -f

Вообще - запрашиваете из ModbusPoll функцией 03 (holding регистр) а в шаблоне - input (функция 04) Не все устройства могут отдавать holding при запросе input.
Собственно, ошибок в шаблоне не вижу, проверил у себя на виртуальном устройстве.

Вот чего говорит
Jun 23 10:39:07 wirenboard-ABHCR5D4 wb-mqtt-serial[32105]: WARNING: [modbus] failed to read 1 input(s) @ 42 of device modbus:113: Serial protocol error: malformed response: invalid data size

Так, а включите пожалуйста debug (не забудьте потом выключить), будет в лог выводить и запросы и ответы/
Но дело, сеорее в том что не хватает в шаблоне

        "type": "value",
        "format" : "u16" 

Вы были абсолютно правы, когда написали насчет " Не все устройства могут отдавать holding при запросе input". Я просто заменил на holding и все заработало. Результат полностью устраивает. СПАСИБО!!!