Бета-тестирование Web UI 2.0

Привет! У нас скоро вышла новая версия веб-интерфейса. Приглашаем к тестированию!

Краткий список изменений

Хранение настроек

Все настройки отображения теперь хранятся в конфиг-файле /etc/wb-ui.conf в формате JSON. Теперь их можно редактировать и генерировать из сторонних программ и очень просто копировать с одного контроллера на другой.

Комнаты

Их больше нет.

Новые дашборды и виджеты


Виджеты теперь - это набор произвольных каналов. В виджете их можно переименовывать.

Редактируются они тут же:
image

Т.к. конфигурация - это теперь один большой JSON, то можно получить и отредактировать JSON отдельного виджета:

Раздел с виджетами

Сейчас он выполняет роль размеченной сводной таблицы, где собраны человеко-читаемые названия и значения каналов:

Плитки в устройствах

Отдельные устройства теперь автоматически сворачиваются, если не влезают в экран. Их можно развернуть или свернуть, нажав на стрелочку в заголовке.

Бонус: если перейти по ссылке вида http://192.168.0.18/#!/devices/wb-map12h_91 где wb-map12h_91 - идентификатор устройства, то это устройство откроется развёрнутым.

Копирование

image

По клику на канал или значение, они копируются в буфер обмена.

История

Стало просто посмотреть историю канала - надо нажать на кнопку, появляющуюся рядом со значением при наведении:
image

Сам раздел с историей полностью переработан:

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

Тусклые вертикальные линии на графике - значения минимума и максимума за промежуток усреднения.

А ещё можно сравнивать несколько каналов:

Права доступа

В веб-интерфейсе появилась рудиментарная защита от “выстрела в ногу”: уровни доступа. Есть три уровня доступа:

  • Пользователь: дашборды, виджеты, история, базовые настройки
  • Оператор: дополнительно раздел Devices
  • Администратор: полный доступ

Уровень доступа показывается справа сверху в заголовке:
image

Уровень доступа менятся после подтверждения в соответствующем разделе:
image \

Я всё прочитал, как поставить?

apt update
apt install wb-mqtt-homeui

Проверить установленную версию:

dpkg -s wb-mqtt-homeui

Проверить доступные для установки версии:

apt policy wb-mqtt-homeui

Важно: если вы заходите в новый интерфейс с компьютера, с которого открывались предыдущие версии интерфейса, то нужно полностью очистить кеш сайта.
Проще всего это сделать так: открыть консоль по F12 (хром, FF), убедиться, что в Network стоит кнопочка Disable cache, нажать F5:

image

Тоже важно: старые дашборды и виджеты не используются в новом интерфейсе! Придётся создавать вручную заново.

Багрепорты, пожелания и предложения

Очевидные баги лучше сразу отправлять в публичный багтрекер интерфейса: https://github.com/contactless/homeui/issues . Двадцать скриншотов или одно видео лучше тысячи слов!

Обсуждение интерфейса ведётся в этой теме.

Спасибо!

4 лайка

часики контроллера бы вывести, у меня вот после апдейта соскочили, я и не заметил.

Прогресс!
Особо впечатлило выпадение списка контролов при добавлении их в виджет :smiley:

Замечание по виджету:
Не выводится name в списке напротив значений.

нужно при редактировании снять галочку с compact mode

1 лайк

На графиках абстрактные для пользователя наименования контролов.

Дайте пожалуйста пример добавления SVG Dashboards.

Если оно “бета”, и со старым вариантом несовместимо, было бы здорово (хотя бы на время беты), иметь возможность поставить его параллельно с обычной версией (т.е. чтобы оно не пересекалось с homeui v1 по диску, mqtt и http идентификаторам) А то как-то стрёмно сносить настроенный интерфейс, ради того, чтобы попробовать новый, и знать, что старым ты воспользоваться не сможешь, пока заново его не настроишь…

В разделе devices есть два устройства:


Как найти и удалить топик, который создал пустое устройство? В разделе “MQTT Channels” ничего левого нет…
Было бы не плохо иметь переключатель “Dev. Mode” и чтобы в нем для устройств после имени писалось название топика. Например:
image

На Github.com новую версию интерфейса не выкладывали?

То, что вы сделали, несколько уровней доступа, это замечательно.
Но какой в них смысл, если для перехода на другой уровень, не требуется вводить логин/пароль? :smiley:

Вы сделали вкладку MQTT Channels. Мысль правильная - вывести весь список сигналов в одно место. Но почему в нем отсутствуют адреса и почему его нельзя редактировать?!
Вот, например, я добавил свое устройство при помощи такого шаблона в файле .json.
Если я допустил ошибку в каком-то из адресов, как я смогу это понять из веб-интерфейса?!

Код шаблона

// Configuration options
{
“device_type” : “FW-CPM712-E10-01-3-2-2”,
“device” : {
“name”: “fw-cpm712”,
“id”: “fw-cpm712”,
“enabled”: true,
“slave_id”: 9,
“channels”:
[
{
“name”: “ECU_Soft_Version”,
“reg_type”: “input”,
“address”: 1,
“type”: “value”,
“format”: “u16”,
“scale”: null,
“round_to”: null,
“word_order”: “”,
“max”: null
},
{
“name”: “E_Head_Temp_Set_Point”,
“reg_type”: “input”,
“address”: 10,
“type”: “temperature”,
“format”: “u16”,
“scale”: 0.015625,
“round_to”: 0.1,
“word_order”: “”,
“max”: null
},
{
“name”: “Battery_DC_Voltage”,
“reg_type”: “input”,
“address”: 37,
“type”: “value”,
“format”: “float”,
“scale”: null,
“round_to”: null,
“word_order”: “”,
“max”: null
},
{
“name”: “E_Remote_Power_SP”,
“reg_type”: “holding”,
“address”: 0,
“type”: “range”,
“format”: “u16”,
“scale”: null,
“round_to”: null,
“word_order”: “”,
“max”: 1000
},
]
}
}

Мне тут неожиданно мысль пришла в голову, что нормальной альтернативы встроенному интерфейсу WB, по сути, нет?!
Мне нужно как-то смотреть архивные данные при локальном подключении.
По MQTT можно передать только текущие значения, но не архивные.
Через предлагаемую утилиту мне не удалось выгрузить данные из базы и у других пользователей тоже (как я понял из переписки на форуме).
А с встроенным интерфейсом сложность в том, что он не кастомизируется понятным образом, а в том виде, который есть, я не смогу его передать нашим заказчикам!
Получается, тупик?! Или я что-то не понимаю?

Замечательно! Упаковали все webpack-ом и нигде на него нет упоминаний в репозитории!
И как теперь в этом разобраться! Напишите, пожалуйста, как вы настраиваете webpack для получения текущей версии интерфейса и файл конфигурации.

Ну если не хотите отвечать на мои вопросы, то хотя бы напишите, как вернуть старую версию UI? Достаточно будет скопировать назад старое содержимое каталога /var/www?

оно собирается командой make или dpkg-buildpackage в корне репозитория

пакет поставить через apt-get