wb-mqtt-tmpl

star 0

Создавать JSON-описание MQTT-шаблона wb-mqtt-serial по документации Modbus-регистров (datasheet/register map/manual): извлекать все регистры, нормализовать адреса и типы, классифицировать channels/parameters, задавать enum/conditions/translations и возвращать структуру device_info+registers для small/medium/full шаблонов. Использовать, когда нужно сгенерировать или проверить шаблон устройства Wiren Board по карте Modbus-регистров.

wirenboard By wirenboard schedule Updated 2/20/2026

name: wb-mqtt-tmpl description: "Создавать JSON-описание MQTT-шаблона wb-mqtt-serial по документации Modbus-регистров (datasheet/register map/manual): извлекать все регистры, нормализовать адреса и типы, классифицировать channels/parameters, задавать enum/conditions/translations и возвращать структуру device_info+registers для small/medium/full шаблонов. Использовать, когда нужно сгенерировать или проверить шаблон устройства Wiren Board по карте Modbus-регистров."

WB MQTT From Modbus Registers

Overview

Преобразовать таблицы Modbus-регистров в единый JSON-контракт для генерации wb-mqtt-serial шаблонов. Использовать правила и ограничения из этого скилла как источник истины.

Workflow

  1. Определить вход и целевой объем:
  • Принять datasheet/register map/manual или список регистров.
  • Согласовать template_type: small, medium, full.
  • Определить языки переводов (ru по умолчанию, en не дублировать в translations).
  1. Извлечь регистры:
  • Взять все таблицы Modbus (holding/input/coil/discrete).
  • Игнорировать маркетинг, механику, монтаж и прочие нерегистровые разделы.
  • Если есть битовые поля в одном регистре, разложить на отдельные записи register:bit:width.
  1. Нормализовать свойства:
  • Привести адреса, формат, scale/offset, units, access, min/max, word_order, error_value.
  • Привести имена/идентификаторы групп к snake_case.
  • Проставить is_parameter, channel_type, enum/enum_titles или enum_entries.
  1. Собрать финальный JSON:
  • Строго вернуть объект вида { "device_info": ..., "registers": [...] }.
  • Вернуть только JSON без markdown и пояснений.
  • Для неизвестных опциональных полей ставить null.
  1. Проверить целостность:
  • Убедиться, что не пропущены регистры из документа.
  • Проверить обязательные ограничения (особенно coil/discrete, enum, wo-switch).
  • Проверить, что group/условия/переводы оформлены корректно.

References

  • Основные правила извлечения и нормализации: references/register-mapping-rules.md
  • Контракт выходного JSON и чеклист валидации: references/output-json-contract.md

Notes

  • При спорных местах (адресация, bit fields, enum, channel_type) приоритет у правил из references/register-mapping-rules.md и references/output-json-contract.md.
  • Если нужен деплой/проверка шаблона на контроллере, после генерации JSON перейти к skill wb-mqtt.
Install via CLI
npx skills add https://github.com/wirenboard/wb-openclaw-skills --skill wb-mqtt-tmpl
Repository Details
star Stars 0
call_split Forks 1
navigation Branch main
article Path SKILL.md
More from Creator