Zeta
15.Октябрь.2025 16:25:25
1
Добрый вечер!
Столкнулся с устройством, где регистры настраиваются динамически, статичный шаблон не подходит.
Можно ли прописать регистры непосредственно в wb-mqtt-serial.conf?
Видел, что есть пример прописывания регистров в wb-mqtt-serial.conf, но это имеется ввиду создание устройства на лету или модификация уже существующего?
Добрый день. Не совсем понятно, четно говоря. Вот для устройтва, например WB-LED регистры (их набор и назначение) зависят от режима.
То есть меняем режим и меняются все контролы шаблона: wb-mqtt-serial/templates/config-wb-led.json.jinja at 19215edabf3f2df9ad0a585b681033dcd9c4886e · wirenboard/wb-mqtt-serial · GitHub
Поэтому шаблон и получается довольно развесистый.
Но именно динамически их, если в этом вопрос - поменять нельзя.
С произвольными регистрами можно работать через RPC вызов, програмно.
Zeta
15.Октябрь.2025 17:29:04
4
Я кажется разобрался.
Вот такой конфиг wb-mqtt-serial съел:
{
"debug": false,
"max_unchanged_interval": 60,
"ports":
[
{
"baud_rate": 9600,
"data_bits": 8,
"devices":
[
{
"channels":
[
{
"name": "MyCoil 1",
"reg_type": "coil",
"address": 0,
"type": "switch"
},
{
"name": "MyCoil 2",
"reg_type": "coil",
"address": 1,
"type": "switch"
}
],
"name": "MY_CUSTOM_DEVICE",
"id": "my_custom_device",
"enabled": true,
"slave_id": "1"
}
],
"enabled": true,
"parity": "N",
"path": "/dev/ttyRS485-2",
"stop_bits": 2
}
]
}
Только в топиках почему-то не сконкатенировался адрес modbus:
/devices/my_custom_device/meta {"driver":"wb-modbus","title":{"en":"MY_CUSTOM_DEVICE"}}
/devices/my_custom_device/meta/driver wb-modbus
/devices/my_custom_device/meta/name MY_CUSTOM_DEVICE
/devices/my_custom_device/meta/error r
/devices/my_custom_device/controls/MyCoil 1 0
/devices/my_custom_device/controls/MyCoil 1/meta {"order":1,"readonly":false,"type":"switch"}
/devices/my_custom_device/controls/MyCoil 1/meta/order 1
/devices/my_custom_device/controls/MyCoil 1/meta/readonly 0
/devices/my_custom_device/controls/MyCoil 1/meta/type switch
/devices/my_custom_device/controls/MyCoil 1/meta/error r
/devices/my_custom_device/controls/MyCoil 2 0
/devices/my_custom_device/controls/MyCoil 2/meta {"order":2,"readonly":false,"type":"switch"}
/devices/my_custom_device/controls/MyCoil 2/meta/order 2
/devices/my_custom_device/controls/MyCoil 2/meta/readonly 0
/devices/my_custom_device/controls/MyCoil 2/meta/type switch
/devices/my_custom_device/controls/MyCoil 2/meta/error r
Zeta
16.Октябрь.2025 14:35:38
6
Добрый вечер!
Подскажите, как в итоге должно быть?
С modbus адресом или без?
Если я создаю не указывая имя:
То используется дефолтное
Если указываю, то есть
"name": "somename", - то оно и выводится, все верно.
Адрес к имени добавляется только для шаблонов.
Zeta
16.Октябрь.2025 14:42:44
8
Ага, отлично. Если это не бага, значит я смело могу писать своё имя.
Спасибо!
Нет, не бага, если оно не указано то формируется иж указанного в шаблоне+адрес.
Если указано - то оно и используется.