VSM
31.Июль.2025 10:23:05
1
Не удаётся создать конфигурацию wb-mqtt-serial для чтения регистра со сдвигом.
Со сдвигом 0 работает, со сдвигом 8 бит — нет.
Логи:
|31-07-2025 12:13:09.117 [wb-mqtt-serial]|WARNING: [serial config] the device has no channels:|
|31-07-2025 12:13:09.117 [wb-mqtt-serial]|WARNING: [serial config] Device wb-modbus-0-0 channel Address is ignored: Serial protocol error: bit offset must not exceed 8 bits|
Фрагмент конфигурации:
"devices" :
[
{
"channels" :
[
{
"address" : "5:8:8",
"format" : "u8",
"name" : "Address",
"offset" : 0,
"reg_type" : "holding_single",
"scale" : 1,
"type" : "value"
}
],
"protocol" : "modbus",
"slave_id" : "1"
}
]
VSM
31.Июль.2025 10:27:58
2
Package: wb-mqtt-serial
Version: 2.160.3-wb102
Добрый день!
На мой взгляд с “5:8:8” работать не должно.
Если вы хотите читать байт со сдвигом 8 бит (старший байт регистра), используйте:
"address": "5:8",
"format": "u8"
Если вы хотите прочитать младший байт:
"address": "5:0",
"format": "u8"
VSM
31.Июль.2025 11:55:17
7
Добрый день.
С интерфейса такое сделать нельзя.
Да и из конфигурации тоже:
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: ERROR: [serial] File: /etc/wb-mqtt-serial.conf error: Validation failed.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 1
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0][channels][0][address]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Failed to match regex specified by 'pattern' constraint.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 2
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0][channels][0][address]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Failed to validate against child schema #0.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 3
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0][channels][0][address]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Failed to match regex specified by 'pattern' constraint.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 4
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0][channels][0][address]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Failed to validate against child schema #1.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 5
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0][channels][0][address]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Value type not permitted by 'type' constraint.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 6
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0][channels][0][address]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Failed to validate against child schema #2.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 7
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0][channels][0][address]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Failed to validate against any child schemas allowed by oneOf constraint.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 8
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0][channels][0]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Failed to validate against schema associated with property name 'address'.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 9
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0][channels][0]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Failed to validate against child schema #1.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 10
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0][channels][0]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Failed to validate against child schema #0.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 11
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0][channels][0]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Missing required property 'consists_of'.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 12
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0][channels][0]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Failed to validate against child schema #1.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 13
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0][channels][0]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Missing required property 'write_address'.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 14
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0][channels][0]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Failed to validate against child schema #1.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 15
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0][channels][0]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Failed to validate against child schema #2.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 16
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0][channels][0]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Missing required property 'write_address'.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 17
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0][channels][0]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Failed to validate against child schema #1.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 18
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0][channels][0]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Failed to validate against child schema #3.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 19
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0][channels][0]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Failed to validate against any child schemas allowed by oneOf constraint.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 20
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0][channels]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Failed to validate item #0 in array.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 21
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Failed to validate against schema associated with property name 'channels'.
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: Error 22
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: context: <root>[ports][0][devices][0]
Jul 31 11:49:27 wirenboard-ADHTHZWN wb-mqtt-serial[3976874]: desc: Failed to validate against child schema #1.
Вы правы. Не нахожу такого функционала в документации , похоже драйвер не поддерживает такое чтение.
Добрый день.
А какие биты из u8 должны читаться такой конструкцией?
VSM
01.Август.2025 15:21:45
10
Добрый день.
Отталкиваясь от документации, “5:8:8” определяет 16-битный регистр оборудования или его часть (то есть источник данных), которые читаются, а “u8” определяет формат канала WB, в котором считанные данные оказываются. Таким образом, такой конструкцией я рассчитывал взять 8 бит из регистра и получить из них u8 в канале.
VSM
01.Август.2025 15:24:04
11
P.S. Если указать “address” : “5:8:8” и “format” : “u16”, тогда ошибка не возникает, данные считываются, однако логичным это не выглядит.
Нет, как раз читемое значение, то что будет прочитано из регистра.
u32, например - будет прочитано два регистра.