kiltum
30.Июнь.2024 08:41:17
1
Как писать шаблоны для сторонних Modbus-устройств — Wiren Board
Раздел Загрузка шаблона на контроллер
Проверьте шаблон на синтаксические ошибки командой: # wb-mqtt-serial -g
В реальности
# wb-mqtt-serial -g
wb-mqtt-serial: invalid option -- 'g'
wb-mqtt-serial 2.128.0 git ee2cdfa405323f2c771854080036d2d9fd54385d
Плюс нет ни слова о том, что надо перезагрузить wb-mqtt-serial, чтобы ВБ увидело шаблон
Нигде не описаны возможные варианты поля type
// адрес первого регистра канала
// Можно читать отдельные биты полученных регистров, для этого запишите адрес в формате:
// "address":"reg:shift:width", где
// reg — адрес первого регистра,
// shift — смещение от младшего бита первого регистра,
// width — количество считываемых битов.
// Например, "address":"109:1:2" — прочитать второй и третий биты регистра, расположенного по адресу 109.
"address": 0,
// тип элемента управления, например,
// "temperature", "text", "switch"
"type": "temperature",
// формат канала. Задаётся для регистров типа
// "holding" и "input". Возможные значения:
// "u16" - беззнаковое 16-битное целое
// (используется по умолчанию)
// "s16" - знаковое 16-битное целое
// "u8" - беззнаковое 8-битное целое
Аналогичный вопрос: создал шаблон, но при тесте вываливается куча ошибок.
В частности:
Error 1
context: <root>[device][channels][1][type]
desc: Failed to match against any enum values.
То есть, у вас где-то определён список возможных вариантов "type"
, но нам, пользователям, он неизвестен
Спасибо за обратную связь!
Команду wb-mqtt-serial -g в свежих релизах убрали, в документации пока не поправили.
Передам коллегам.
Варианты type описаны вот тут
Описаны, но считаются устаревшими. Они необходимы вообще? И как сейчас проверять корректность составленного шаблона?
Первое знакомство с контроллером застопорилось на создании шаблона необходимого мне датчика
по ссылке описаны не устаревшие, ниже таблица с устаревшими
Корректность шаблона можно проверить по журналу wb-mqtt-serial.
Например
|02-07-2024 18:20:23.319|ERROR: [templates] Failed to parse /etc/wb-mqtt-serial.conf.d/templates/config-mercury2333-tariffs.json|
|02-07-2024 18:19:37.664| Missing '}' or object member name|
|02-07-2024 18:19:37.664|ERROR: [serial] Failed to reload template: Failed to parse JSON /etc/wb-mqtt-serial.conf.d/templates/config-mercury2333-tariffs.json:* Line 19, Column 13|
Если что-то конкретное не получается - обращайтесь. Для каждого вопроса прошу создавать отдельную тему и подробно описывать проблему, как тут указано .