Нестабильная работа modbus со сторонним устройством

Добрый день!

Есть устройство измерения ph-cl. Модель сейчас не подскажу.
Поведение следующее:

  1. Регистры читаются, но раз в ~10 секунд устройство словно отваливается.
  2. Бывает, что устройствоо вовсе перестает читаться, перезапуск wb-mqtt-serial не помогает, но помогает визическое отключение устройства или ребут wb контроллера по halt.

Хотелось бы понять, из-за чего отваливается устройство, возможно можно поиграть с задержками опроса?

config-ph-cl.json (5.7 КБ)
wb-mqtt-serial.debug (86.3 КБ)

Здравствуйте!
Некоторые рекомендации по подключении есть здесь: Как подключить Modbus RTU-устройство стороннего производителя к контроллеру Wiren Board? — Wiren Board

Обычно помогает увеличить параметры Guard interval (us), Response timeout (ms), Read rate limit (ms).

Обрабатывается ли guard_interval_us для устройства и линии отдельно?
Если у меня одно устройство на линии, можно ли задать guard_interval_us в шаблоне устройства?

Установил read_rate_limit_ms 10000. Топики обновляются чаще, чем раз в 10 секунд.
Что делаю не так?
Версия wb-mqtt-serial 1.61.0

Как сделать, чтобы данные считывались раз в несколько секунд?

Все сказанное относится к актуальной версии драйвера wb-mqtt-serial (2.59.-wb3). У вас достаточно старая версия, про нее точно не скажу.

В актуальной версии параметры устройства приоритетнее, чем параметры порта, то есть должны обрабатываться отдельно.

Да, можно.

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

1 лайк

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

Шаблон:

{
    "device_type": "PH-CL",
    "device":
    {
        "name": "PH-CL",
        "id": "ph-cl",
        "max_read_registers": 1,
        "guard_interval_us": 5000000,
        "channels":
        [
            {
                "address": 3,
                "name": "Current Cl",
                "original_name": "Текущее значение Хлора значение умноженное на 100",
                "type": "value",
                "reg_type": "holding_multi",
                "scale": 0.01,
                "readonly": true
            },
            {
                "address": 4,
                "name": "Current Ph",
                "original_name": "Текущее значение Ph умноженное на 100",
                "type": "value",
                "reg_type": "holding_multi",
                "scale": 0.01,
                "readonly": true
            }
        ]
    }
}

Чтение через modbus_client:


root@IQ306002:~# modbus_client --debug -mrtu -pnone -s1 /dev/ttyRS485-2 -t3 -r3 -c 2
Opening /dev/ttyRS485-2 at 9600 bauds (N, 8, 1)
[01][03][00][03][00][02][34][0B]
Waiting for a confirmation...
<01><03><04><00><16><00><47><5B><C5>
SUCCESS: read 2 of elements:
	Data: 0x0016 0x0047 

Чтение через wb-mqtt-serial:

root@IQ306002:~# mosquitto_sub -t /devices/# -v | grep ph-cl
/devices/ph-cl_1/meta {"driver":"wb-modbus","title":{"en":"PH-CL 1"}}
/devices/ph-cl_1/meta/driver wb-modbus
/devices/ph-cl_1/meta/name PH-CL 1
/devices/ph-cl_1/controls/Current Cl 0.71
/devices/ph-cl_1/controls/Current Cl/meta {"order":1,"readonly":true,"type":"value"}
/devices/ph-cl_1/controls/Current Cl/meta/order 1
/devices/ph-cl_1/controls/Current Cl/meta/readonly 1
/devices/ph-cl_1/controls/Current Cl/meta/type value
/devices/ph-cl_1/controls/Current Ph 0.23
/devices/ph-cl_1/controls/Current Ph/meta {"order":2,"readonly":true,"type":"value"}
/devices/ph-cl_1/controls/Current Ph/meta/order 2
/devices/ph-cl_1/controls/Current Ph/meta/readonly 1
/devices/ph-cl_1/controls/Current Ph/meta/type value
/devices/ph-cl_1/controls/Current Ph 0.2

С чем это может быть связано? Как исправить?
Причем, если перезапустить wb-mqtt-serial, показания снова могут поменяться местами.


root@IQ306002:~# service wb-mqtt-serial restart
root@IQ306002:~# mosquitto_sub -t /devices/ph-cl_1/controls/# -v
/devices/ph-cl_1/controls/Current Cl/meta {"order":1,"readonly":true,"type":"value"}
/devices/ph-cl_1/controls/Current Cl/meta/error (null)
/devices/ph-cl_1/controls/Current Cl/meta/order 1
/devices/ph-cl_1/controls/Current Cl/meta/readonly 1
/devices/ph-cl_1/controls/Current Cl/meta/type value
/devices/ph-cl_1/controls/Current Cl 0.72
/devices/ph-cl_1/controls/Current Ph/meta {"order":2,"readonly":true,"type":"value"}
/devices/ph-cl_1/controls/Current Ph/meta/error (null)
/devices/ph-cl_1/controls/Current Ph/meta/order 2
/devices/ph-cl_1/controls/Current Ph/meta/readonly 1
/devices/ph-cl_1/controls/Current Ph/meta/type value
/devices/ph-cl_1/controls/Current Ph 0.19



/devices/ph-cl_1/controls/Current Cl 0.2    # вот тут путаница
/devices/ph-cl_1/controls/Current Ph 0.72
/devices/ph-cl_1/controls/Current Cl 0.19
/devices/ph-cl_1/controls/Current Cl 0.2
/devices/ph-cl_1/controls/Current Cl 0.19
/devices/ph-cl_1/controls/Current Cl 0.2
/devices/ph-cl_1/controls/Current Cl/meta/error r
/devices/ph-cl_1/controls/Current Ph 0.19
/devices/ph-cl_1/controls/Current Cl 0.72    # и здесь снова
/devices/ph-cl_1/controls/Current Cl/meta/error (null)

Версия wb-mqtt-serial 2.68.6

Попробуйте включить режим отладки драйвера и посмотреть команды и ответы в логах драйвера:
image

journalctl -f -u wb-mqtt-serial

Собрал лог. На 58 и 68 строках странное поведение.

wb-mqtt-serial_log_1.txt (11.8 КБ)

На всякий случай, в шаблоне поменял:
“max_read_registers”: 2

Словно после таймаута очередность пакетов перепутывается.

@Explorerol Есть ли какие-либо мысли по этому поводу?
Могу предоставить доступ на контроллер или выполнить определенные действия.

Спасибо за информацию. Вижу в логах:

Sep 12 12:38:08 IQ306002 wb-mqtt-serial[14218]: DEBUG: [port] Write: 01 03 00 03 00 01 74 0a
Sep 12 12:38:08 IQ306002 wb-mqtt-serial[14218]: DEBUG: [port] Sleep 9000 us
Sep 12 12:38:08 IQ306002 wb-mqtt-serial[14218]: DEBUG: [port] ReadFrame: 01 03 02 00 1b f8 4f
Sep 12 12:38:08 IQ306002 wb-mqtt-serial[14218]: DEBUG: [register] new val for <modbus:1:holding_multi: 3>: 1b
Sep 12 12:38:08 IQ306002 wb-mqtt-serial[14218]: DEBUG: [serial port driver] channel 'Current Cl' of device 'ph-cl_1' <-- 0.27, error: ""
Sep 12 12:38:13 IQ306002 wb-mqtt-serial[14218]: DEBUG: [port] Sleep 5000000 us
Sep 12 12:38:13 IQ306002 wb-mqtt-serial[14218]: DEBUG: [port] Write: 01 03 00 04 00 01 c5 cb
Sep 12 12:38:13 IQ306002 wb-mqtt-serial[14218]: DEBUG: [port] Sleep 9000 us
Sep 12 12:38:14 IQ306002 wb-mqtt-serial[14218]: WARNING: [modbus] failed to read 1 holding_multi(s) @ 4 of device modbus:1: Serial protocol error: request timed out
Sep 12 12:38:18 IQ306002 wb-mqtt-serial[14218]: DEBUG: [port] Sleep 5000000 us
Sep 12 12:38:18 IQ306002 wb-mqtt-serial[14218]: DEBUG: [port] Write: 01 03 00 03 00 01 74 0a
Sep 12 12:38:18 IQ306002 wb-mqtt-serial[14218]: DEBUG: [port] Sleep 9000 us
Sep 12 12:38:18 IQ306002 wb-mqtt-serial[14218]: DEBUG: [port] ReadFrame: 01 03 02 00 48 b8 72
Sep 12 12:38:18 IQ306002 wb-mqtt-serial[14218]: DEBUG: [register] new val for <modbus:1:holding_multi: 3>: 48
Sep 12 12:38:18 IQ306002 wb-mqtt-serial[14218]: DEBUG: [serial port driver] channel 'Current Cl' of device 'ph-cl_1' <-- 0.72, error: ""

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

Можно попробовать разрешить читать сразу по два регистра из устройства, если стороннее устройство это поддерживает. В этом случае путаницы быть не должно. Для этого нужно изменить шаблон так:

"max_read_registers": 2,

Да, как раз перед сбором лога поменял на 2, в надежде, что ошибка уйдет. Но не получилось.

Переснял логи, поведение такое же, т.е. после ошибки значения меняются местами, хотя указано “max_read_registers”: 2.

Sep 13 10:43:24 IQ306002 systemd[1]: Started MQTT Driver for serial devices.
Sep 13 10:43:31 IQ306002 wb-mqtt-serial[8157]: INFO: [mqtt] Default host and port detected, checking if UNIX socket exists on /var/run/mosquitto/mosquitto.sock
Sep 13 10:43:31 IQ306002 wb-mqtt-serial[8157]: INFO: [mqtt] UNIX socket not found, falling back to TCP connection
Sep 13 10:43:31 IQ306002 wb-mqtt-serial[8157]: INFO: [mqtt] connection estabilished with code "0" <success>
Sep 13 10:43:31 IQ306002 wb-mqtt-serial[8157]: INFO: [mqtt] subscription succeeded (message id 1)
Sep 13 10:43:31 IQ306002 wb-mqtt-serial[8157]: INFO: [mqtt] subscription succeeded (message id 2)
Sep 13 10:43:31 IQ306002 wb-mqtt-serial[8157]: DEBUG: [serial port driver] setting up devices at </dev/ttyRS485-2 9600 8 N 1>
Sep 13 10:43:31 IQ306002 wb-mqtt-serial[8157]: DEBUG: [serial client] AddRegister: <modbus:1:holding_multi: 3>
Sep 13 10:43:31 IQ306002 wb-mqtt-serial[8157]: DEBUG: [serial client] AddRegister: <modbus:1:holding_multi: 4>
Sep 13 10:43:31 IQ306002 wb-mqtt-serial[8157]: INFO: [mqtt] subscription succeeded (message id 20)
Sep 13 10:43:31 IQ306002 wb-mqtt-serial[8157]: INFO: [mqtt] subscription succeeded (message id 21)
Sep 13 10:43:31 IQ306002 wb-mqtt-serial[8157]: INFO: [mqtt] subscription succeeded (message id 25)
Sep 13 10:43:31 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 20000 us
Sep 13 10:43:36 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 5000000 us
Sep 13 10:43:36 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Write: 01 03 00 03 00 01 74 0a
Sep 13 10:43:36 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 9000 us
Sep 13 10:43:36 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] ReadFrame: 01 03 02 00 19 79 8e
Sep 13 10:43:36 IQ306002 wb-mqtt-serial[8157]: DEBUG: [register] new val for <modbus:1:holding_multi: 3>: 19
Sep 13 10:43:36 IQ306002 wb-mqtt-serial[8157]: INFO: [serial device] device modbus:1 is connected
Sep 13 10:43:36 IQ306002 wb-mqtt-serial[8157]: DEBUG: [serial port driver] channel 'Current Cl' of device 'ph-cl_1' <-- 0.25, error: ""
Sep 13 10:43:41 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 5000000 us
Sep 13 10:43:41 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Write: 01 03 00 03 00 01 74 0a
Sep 13 10:43:41 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 9000 us
Sep 13 10:43:41 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] ReadFrame: 01 03 02 00 19 79 8e
Sep 13 10:43:46 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 5000000 us
Sep 13 10:43:46 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Write: 01 03 00 04 00 01 c5 cb
Sep 13 10:43:46 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 9000 us
Sep 13 10:43:46 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] ReadFrame: 01 03 02 00 49 79 b2
Sep 13 10:43:46 IQ306002 wb-mqtt-serial[8157]: DEBUG: [register] new val for <modbus:1:holding_multi: 4>: 49
Sep 13 10:43:46 IQ306002 wb-mqtt-serial[8157]: DEBUG: [serial port driver] channel 'Current Ph' of device 'ph-cl_1' <-- 0.73, error: ""
Sep 13 10:43:51 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 5000000 us
Sep 13 10:43:51 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Write: 01 03 00 03 00 01 74 0a
Sep 13 10:43:51 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 9000 us
Sep 13 10:43:51 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] ReadFrame: 01 03 02 00 18 b8 4e
Sep 13 10:43:51 IQ306002 wb-mqtt-serial[8157]: DEBUG: [register] new val for <modbus:1:holding_multi: 3>: 18
Sep 13 10:43:51 IQ306002 wb-mqtt-serial[8157]: DEBUG: [serial port driver] channel 'Current Cl' of device 'ph-cl_1' <-- 0.24, error: ""
Sep 13 10:43:56 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 5000000 us
Sep 13 10:43:56 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Write: 01 03 00 04 00 01 c5 cb
Sep 13 10:43:56 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 9000 us
Sep 13 10:43:56 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] ReadFrame: 01 03 02 00 49 79 b2
Sep 13 10:44:01 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 5000000 us
Sep 13 10:44:01 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Write: 01 03 00 03 00 01 74 0a
Sep 13 10:44:01 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 9000 us
Sep 13 10:44:01 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] ReadFrame: 01 03 02 00 19 79 8e
Sep 13 10:44:01 IQ306002 wb-mqtt-serial[8157]: DEBUG: [register] new val for <modbus:1:holding_multi: 3>: 19
Sep 13 10:44:01 IQ306002 wb-mqtt-serial[8157]: DEBUG: [serial port driver] channel 'Current Cl' of device 'ph-cl_1' <-- 0.25, error: ""
Sep 13 10:44:06 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 5000000 us
Sep 13 10:44:06 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Write: 01 03 00 04 00 01 c5 cb
Sep 13 10:44:06 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 9000 us
Sep 13 10:44:06 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] ReadFrame: 01 03 02 00 49 79 b2
Sep 13 10:44:11 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 5000000 us
Sep 13 10:44:11 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Write: 01 03 00 03 00 01 74 0a
Sep 13 10:44:11 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 9000 us
Sep 13 10:44:11 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] ReadFrame: 01 03 02 00 17 f8 4a
Sep 13 10:44:11 IQ306002 wb-mqtt-serial[8157]: DEBUG: [register] new val for <modbus:1:holding_multi: 3>: 17
Sep 13 10:44:11 IQ306002 wb-mqtt-serial[8157]: DEBUG: [serial port driver] channel 'Current Cl' of device 'ph-cl_1' <-- 0.23, error: ""
Sep 13 10:44:16 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 5000000 us
Sep 13 10:44:16 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Write: 01 03 00 04 00 01 c5 cb
Sep 13 10:44:16 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 9000 us
Sep 13 10:44:16 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] ReadFrame: 01 03 02 00 49 79 b2
Sep 13 10:44:21 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 5000000 us
Sep 13 10:44:21 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Write: 01 03 00 03 00 01 74 0a
Sep 13 10:44:21 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 9000 us
Sep 13 10:44:21 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] ReadFrame: 01 03 02 00 1b f8 4f
Sep 13 10:44:21 IQ306002 wb-mqtt-serial[8157]: DEBUG: [register] new val for <modbus:1:holding_multi: 3>: 1b
Sep 13 10:44:21 IQ306002 wb-mqtt-serial[8157]: DEBUG: [serial port driver] channel 'Current Cl' of device 'ph-cl_1' <-- 0.27, error: ""
Sep 13 10:44:26 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 5000000 us
Sep 13 10:44:26 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Write: 01 03 00 04 00 01 c5 cb
Sep 13 10:44:26 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 9000 us
Sep 13 10:44:27 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] ReadFrame: 01 03 02 00 49 79 b2
Sep 13 10:44:32 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 5000000 us
Sep 13 10:44:32 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Write: 01 03 00 03 00 01 74 0a
Sep 13 10:44:32 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 9000 us
Sep 13 10:44:32 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] ReadFrame: 01 03 02 00 18 b8 4e
Sep 13 10:44:32 IQ306002 wb-mqtt-serial[8157]: DEBUG: [register] new val for <modbus:1:holding_multi: 3>: 18
Sep 13 10:44:32 IQ306002 wb-mqtt-serial[8157]: DEBUG: [serial port driver] channel 'Current Cl' of device 'ph-cl_1' <-- 0.24, error: ""
Sep 13 10:44:37 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 5000000 us
Sep 13 10:44:37 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Write: 01 03 00 04 00 01 c5 cb
Sep 13 10:44:37 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 9000 us
Sep 13 10:44:37 IQ306002 wb-mqtt-serial[8157]: WARNING: [modbus] failed to read 1 holding_multi(s) @ 4 of device modbus:1: Serial protocol error: request timed out
Sep 13 10:44:42 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 5000000 us
Sep 13 10:44:42 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Write: 01 03 00 03 00 01 74 0a
Sep 13 10:44:42 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 9000 us
Sep 13 10:44:42 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] ReadFrame: 01 03 02 00 49 79 b2
Sep 13 10:44:42 IQ306002 wb-mqtt-serial[8157]: DEBUG: [register] new val for <modbus:1:holding_multi: 3>: 49
Sep 13 10:44:42 IQ306002 wb-mqtt-serial[8157]: DEBUG: [serial port driver] channel 'Current Cl' of device 'ph-cl_1' <-- 0.73, error: ""
Sep 13 10:44:47 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 5000000 us
Sep 13 10:44:47 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Write: 01 03 00 04 00 01 c5 cb
Sep 13 10:44:47 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] Sleep 9000 us
Sep 13 10:44:47 IQ306002 wb-mqtt-serial[8157]: DEBUG: [port] ReadFrame: 01 03 02 00 17 f8 4a
Sep 13 10:44:47 IQ306002 wb-mqtt-serial[8157]: DEBUG: [register] new val for <modbus:1:holding_multi: 4>: 17
Sep 13 10:44:47 IQ306002 wb-mqtt-serial[8157]: DEBUG: [serial port driver] channel 'Current Ph' of device 'ph-cl_1' <-- 0.23, error: ""

Есть ли какие еще варианты?

Можно попробовать увеличить таймаут ожидания ответа для этого устройства (например установить 10 с), раз ошибка по таймауту. Возможно, именно его нужно делать большим, не guard_interval_us?

Попробуйте установить параметр ограничения на количество регистров в 0:

"max_read_registers": 0,

и “holding_multi” заменить на “holding” - драйвер самостоятельно должен определить возможность чтения двух подряд регистров. Период опроса установите “В порядке очереди”.

Как это выглядит в конфиге? У меня нет доступа к интерфейсу.

Если период опроса не задан специально, то так будет. В веб-интерфейсе при этом отображается “В порядке очереди”. То есть, если в конфиге ничего не изменяли специально, то это как раз так и нужно.

1 лайк

Что-то с holding не работает.

{
    "device_type": "PH-CL",
    "device":
    {
        "name": "PH-CL",
        "id": "ph-cl",
        "max_read_registers": 0,
        "guard_interval_us": 5000000,
        "response_timeout_ms": 15000,
        "channels":
        [
            {
                "address": 3,
                "name": "Current Cl",
                "original_name": "Текущее значение Хлора значение умноженное на 100",
                "type": "value",
                "reg_type": "holding_multi",
                "scale": 0.01,
                "readonly": true
            },
            {
                "address": 4,
                "name": "Current Ph",
                "original_name": "Текущее значение Ph умноженное на 100",
                "type": "value",
                "reg_type": "holding_multi",
                "scale": 0.01,
                "readonly": true
            }
        ]
    }
}
Sep 13 14:21:57 IQ306002 systemd[1]: Started MQTT Driver for serial devices.
Sep 13 14:22:07 IQ306002 wb-mqtt-serial[12618]: INFO: [mqtt] Default host and port detected, checking if UNIX socket exists on /var/run/mosquitto/mosquitto.sock
Sep 13 14:22:07 IQ306002 wb-mqtt-serial[12618]: INFO: [mqtt] UNIX socket not found, falling back to TCP connection
Sep 13 14:22:07 IQ306002 wb-mqtt-serial[12618]: INFO: [mqtt] connection estabilished with code "0" <success>
Sep 13 14:22:07 IQ306002 wb-mqtt-serial[12618]: INFO: [mqtt] subscription succeeded (message id 1)
Sep 13 14:22:07 IQ306002 wb-mqtt-serial[12618]: INFO: [mqtt] subscription succeeded (message id 2)
Sep 13 14:22:07 IQ306002 wb-mqtt-serial[12618]: INFO: [mqtt] subscription succeeded (message id 19)
Sep 13 14:22:07 IQ306002 wb-mqtt-serial[12618]: INFO: [mqtt] subscription succeeded (message id 20)
Sep 13 14:22:07 IQ306002 wb-mqtt-serial[12618]: INFO: [mqtt] subscription succeeded (message id 25)
Sep 13 14:22:42 IQ306002 wb-mqtt-serial[12618]: INFO: [serial device] device modbus:1 is disconnected
Sep 13 14:22:42 IQ306002 wb-mqtt-serial[12618]: WARNING: </dev/ttyRS485-2 9600 8 N 1>: closed due to repetetive errors

Добрый день!
Есть ли параметр, позволяющий не проставлять ошибку чтения до N неудачных попыток?

Все параметры описаны в документации: GitHub - wirenboard/wb-mqtt-serial: wb-mqtt-serial
Насколько я понимаю, такой возможности пока нет.

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