Ошибка в наименовании устройства WB-UPS-v3

Добрый день.

Настраиваю WB-UPS v3 и заметил, что наименование устройства в mqtt выглядит следующим образом: wb_ups_v3_142/input_voltage
Ожидаемое наименование: wb-ups-v3_142/Input Voltage как у всех других устройств через дефис, а не подчеркивание.

Еще замечено, что у каналов с цифровыми значениями в новых шаблонах, часто стало появляться безликое type=value, когда в conventions есть такие типы как Voltage, Current и прочие, по которым можно определять тип контрола для сторонних интеграций. Возможно ли поменять шаблоны, чтобы они публиковали корректный type в соответствии имеющимися значениями? Со своей стороны могу указать в каких шаблонах отсутствуют правильные type. Например у устройства WB-MAI6, у контрола IN X Voltage указан type=value и units=V, а допустим у MAP6S для напряжения указано type=voltage и отсутствует units.

Алексей, добрый день!

Благодарю за замечание.
Уточню у коллег, с чем связано изменение правил наименования и отсутствие units в шаблонах, после чего вернусь с ответом.

Лучше уточнить, с чем связано отсутствие type, по которому можно идентифицировать, что это за канал, и как его правильно передать в Home Assistant (мне type интересен с точки зрения работы скрипта wb-engine)

Добрый день!

Прошу прощения за долгий ответ.
Указанные вами изменения в шаблонах связаны с изменением нашего стандарта для новых версий устройств.

Для WB-MAP6S актуальной версии прошивки используется новый шаблон, в котором units и type присутствуют.
В соответствии с конвенцией "units" может быть задан только для типа со значением "value".

Я полагаю, что скрипт wb-engine заточен на старые версии шаблонов.

Можно ознакомиться с новым стандартом? Я правильно понял, что теперь у устройств mqtt id будет с подчеркиванием (wb_ups_v3_142) или это опечатка в WB-UPSv3?

В примере я привел устройство WB-MAI6 , у которого отсутствует type. С MAP6S все хорошо как раз.

В MAP6S просто ещё не переделали. Вот актуальная конвенция: GitHub - wirenboard/conventions: Wiren Board MQTT Conventions Обратите внимание, что Specific value type controls устарели и перестанут использоваться со временем. Вместо них теперь value с нужным units — это добавило гибкости.

Он внутренний и большой, вот кусок оттуда про топики:

Основные рекомендации есть здесь в публичном доступе: Как писать шаблоны для сторонних Modbus-устройств — Wiren Board

А чем это мешало или мешает? Наоборот, в том же Home Assistant есть device_class, по которому можно понять, что это за сенсор. В WB раньше было так же, теперь вы предлагаете использовать для этого только units? Получается, что units=V — это всегда voltage, или бывают исключения? Вот здесь список всех возможных units? В целом, можно переделать всё на units.

По поводу наименования: сейчас легко определить, что это за устройство, по его имени в mqtt отделив modbus id, который всегда идёт через подчёркивание (например, wb-led_42). Это нужно, чтобы понять, что type=switch у WB-LED это лампа, а у MR6C обычное реле. Было бы хорошо, если бы имя устройства указывалось напрямую в meta. Тогда можно было бы переименовывать mqtt device_name, как многие хотят.

Хотелось бы сохранить возможность в несколько кликов добавлять устройства в HA, без увеличения порога входа.

mqtt имя можно изменить. И нередко меняют.
Например, как определить что за устройство wc_pump? А в реальной жизни у меня это mr6.

Если я вас правильно понял, то такая функция есть - вы можете самостоятельно задать имя топика для каждого устройства.
Иногда это удобно, если устройство используется в разных правилах и т.п. и при этом его необходимо заменить (допустим поменялся адрес устройства). Заданное вами имя при этом не поменяется и правила продолжат свою работу без коррекции. Либо просто дать устройству более понятное имя (более функциональное).

Название устройства (заданное вами) отображается в разделе “Устройства” - хоть это и “технический раздел”, т.е. не для конечного пользователя, но все же приятнее видеть понятные имена устройств вместо “модели-адреса”

Не правильно поняли, я знаю что такая функция есть. Речь про то, как узнать через mqtt, что это изначально было wb-led и его надо передать в Home Assistant в виде лампы? Контекст беседы скрипт wb-engine и передача устройств в HA.

Я как автор скрипта про это и пишу, имея лишь mqtt тяжело определить, что это за устройство и как с ним работать. Цель была в пару кликов мышкой передать устройство в HA, пока это работает, а вот новые стандарты ломают это.