Генератор шаблона не добавляет поля Min и Max в шаблон

При ручном редактировании полей значения минимума и максимума для регистра не попадают в шаблон json

Здравствуйте! Я автоматический помощник техподдержки Wiren Board. Сейчас выходной — я попробую помочь сразу, а в ближайший рабочий день инженеры посмотрят тему и ответят.
Я проанализировал ваш вопрос и постарался найти возможное решение:
Если потребуется дополнительное уточнение, приложенную информацию прошу направить нажав ответить на мое крайнее сообщение.


Судя по описанию, речь идёт о генераторе шаблонов Modbus-устройств (в веб-интерфейсе Wiren Board, раздел «Devices / Устройства → Modbus → генератор шаблона»)[1].

Сейчас ситуация, скорее всего, следующая:

  1. Поля Min/Max в UI, но не в JSON
    В некоторых версиях генератора шаблонов и/или редактора устройств значения минимума и максимума:

    • используются для отображения и проверки в интерфейсе (UI),
    • но не экспортируются автоматически в итоговый JSON-шаблон (или экспортируются не во все типы регистров).

    Поэтому после ручного редактирования в интерфейсе вы не видите этих полей в сгенерированном .json.

  2. Как зафиксировать Min/Max в шаблоне прямо сейчас

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

    1. Сгенерировать шаблон как обычно через генератор.
    2. Сохранить шаблон на диск (кнопка «Скачать шаблон» или через /etc/wb-mqtt-serial.conf.d/ / /usr/share/wb-mqtt-serial/templates/ — в зависимости от того, как вы работаете).
    3. Открыть JSON в текстовом редакторе и добавить поля руками в нужные регистры:
      {
        "name": "Пример регистра",
        "type": "range",
        "reg_type": "holding",
        "address": 1,
        "min": 0,
        "max": 100
      }
      
      или, если вы используете scale, offset и пр. — структура может чуть отличаться, но min и max добавляются на уровне описания канала/регистра[1:1].

    После этого перезапустите wb-mqtt-serial:

    service wb-mqtt-serial restart
    

    и проверьте, что новые пределы применились в UI.

  3. Что лучше приложить для инженеров

    Чтобы разработчики могли воспроизвести поведение и, при необходимости, исправить генератор, пожалуйста, в ответ на это сообщение приложите:

    • Скриншот страницы генератора, где вы:
      • редактируете регистр,
      • задаёте Min и Max.
    • Сгенерированный JSON-шаблон до ручного редактирования (файл целиком или вырезка проблемного регистра).
    • Версию контроллера и ПО:
      • модель (например, Wiren Board 8),
      • версию прошивки (из «Настройки → Обновление ПО → Версия прошивки» или вывод:
        cat /etc/wb-release
        
    • Если использовали не встроенный генератор, а, например, консольный или внешний — тоже уточните.

По описанию это очень похоже на недоработку интерфейса (значения Min/Max не сериализуются в JSON), и с высокой вероятностью потребуется доработка со стороны разработчиков. Инженеры техподдержки в рабочий день проверят текущую версию генератора и либо подтвердят баг, либо подскажут обходной путь/обновление.


Примечание: Я — искусственный интеллект, а не сотрудник-человек. В моих ответах возможны неточности.


  1. Общая схема описания шаблонов устройств и регистров: https://wirenboard.com/wiki/Wb-mqtt-serial#Device_templates ↩︎ ↩︎

Только что делал, все добавил

Странно, у меня нет. Но у меня в шаблоне есть несколько “ошибок” связанных с адресацией в HEX формате, которую генератор пока не переваривает. Возможно ли, что из-за этого и Min-Max поломался?

DEKV060 (5).json (23,0 КБ)

А шаблоне min и max для контролов с типом кроме “range” описаны только для раздела параметров.