Здравствуйте! Я автоматический помощник техподдержки Wiren Board. Сейчас выходной — я попробую помочь сразу, а в ближайший рабочий день инженеры посмотрят тему и ответят.
Я проанализировал ваш вопрос и постарался найти возможное решение:
Если потребуется дополнительное уточнение, приложенную информацию прошу направить нажав ответить на мое крайнее сообщение
Вы затронули web‑интерфейс Wiren Board (панель Devices / Дашборды, виджеты устройств и виртуальные устройства). Отвечу по пунктам.
1. Длинные названия контролов: подсказка и “бегущая строка”
Сейчас в стандартном web‑интерфейсе:
- заголовки контролов обрезаются по ширине блока,
- всплывающая подсказка с полным именем показывается не всегда (для одних элементов есть
title, для других — нет),
- “бегущая строка” не реализована.
Обойти проблему на текущей версии можно только:
- Укорачивать имена каналов (например, через настройки имен в MQTT или шаблонах устройств).
- Либо делать пользовательский фронтенд (через MQTT и свою панель, например, на Node-RED Dashboard / Home Assistant / собственный web).
Ваше предложение по:
- добавлению
title с полным именем по наведению курсора;
- включению “scrolling” для текста при фокусе/hover,
требует доработки фронтенда (клиентской части web-интерфейса). Самостоятельно это можно реализовать только через форк web-интерфейса и доработку кода (проект wirenboard/homeui на GitHub), но официально такого поведения пока нет.
Я зафиксирую для инженеров, что это фича‑запрос:
– добавить обязательный title ко всем подписям контролов;
– рассмотреть режим анимации длинных подписей (по hover / по фокусу).
2. “Группы” в виджете и горизонтальная линия‑разделитель
Сейчас web‑интерфейс не поддерживает:
- логические группы контролов внутри одного виджета устройства;
- collapsible/сворачиваемые группы;
- специальные “разделители” для виртуальных устройств.
То, что вы делаете через контрол text с ----- в заголовке, действительно единственный штатный обходной путь.
Чтобы приблизиться к желаемому поведению без доработки фронтенда, есть только частичные варианты:
- Разнести контролы по нескольким виртуальным устройствам, по логическим группам, и уже сами устройства разложить по виджетам/панелям. Это даёт только “уровень сверху”, но не группировку внутри одного виджета.
- Если вы всё же готовы дорабатывать UI, можно в своём форке:
- трактовать контрол
text с именем - / --- как <hr> без значения и иконок;
- добавить рядом иконку сворачивания группы и скрывать следующие элементы до следующего разделителя.
Как штатной возможности “контрол‑разделитель” или “группа с заголовком и сворачиванием” в текущем интерфейсе нет — это именно предложение на доработку UI.
Я передам инженерам ваше предложение в виде:
- новое специальное “служебное” поведение для контролов типа
text с заголовком - (отрисовывать горизонтальную линию, без значения и истории);
- расширение этого механизма до групп с возможностью сворачивания (иконка справа, скрытие контролов до следующей линии/группы).
3. Виджет виртуального устройства целиком (динамический набор контролов)
Сейчас при добавлении виджета устройства на панель:
- нужно явно перечислять контролы, которые должны отображаться;
- динамическое появление/исчезновение контролов в MQTT не приводит к автоматическому изменению состава полей в уже созданном виджете.
Из-за этого сценарий с “агрегатором ошибок” (виртуальное устройство, в котором контролы типа alarm создаются/удаляются динамически) не реализуем “из коробки”: панель не “подтягивает” новые контролы автоматически.
На текущем ПО возможные обходные варианты:
- Добавить все потенциально возможные alarm‑каналы заранее (со статичным набором) и уже логикой включать/выключать их значения и видимость (например, через отдельное агрегированное текстовое поле). Но это противоречит вашей идее динамически создавать и удалять контролы.
- Использовать другую панель (Node‑RED Dashboard / Grafana / HA), которая строит представление “по MQTT‑древу” и может отображать контролы более динамически.
- Делать свой форк web‑интерфейса, в котором:
- виджет “Устройство (полностью)” подтягивает список контролов из MQTT и обновляет его при изменениях;
- настройки виджетов хранят не список контролов, а только ссылку на устройство.
Штатной настройки вида “показать все контролы устройства и автоматически обновлять их список” сейчас нет — это тоже фича‑запрос к web‑интерфейсу.
Что будет дальше
С точки зрения текущих возможностей контроллера/ПО:
- Ваши 3 пункта — это предложения по развитию web‑интерфейса, а не то, что можно сейчас “включить галочкой”.
- Обойти ограничения можно только:
- через реструктуризацию виртуальных устройств (разные устройства под разные группы);
- или через внешний/кастомный фронтенд, использующий MQTT.
Я передам инженерам поддержку ваше сообщение как набор фича‑запросов к web‑интерфейсу. В рабочий день коллеги смогут:
- подтвердить, что в ближайших релизах уже есть подобные планы / задачи (если они есть);
- либо предложить дополнительные обходные варианты, если появятся.
Если у вас есть пример конфигурации виртуального устройства‑агрегатора (кусок /etc/wb-mqtt-confed.d или JSON‑описание), приложите его, пожалуйста, в ответе — это поможет точнее сформировать задачу для разработки.
Примечание: Я — искусственный интеллект, а не сотрудник-человек. В моих ответах возможны неточности.