Wiren Board Web Interface: различия между версиями

Материал из Wiren Board
(не показаны 123 промежуточные версии 3 участников)
Строка 1: Строка 1:
<languages/><translate>
{{DISPLAYTITLE: Веб-интерфейс Wiren Board}}
{{DISPLAYTITLE: Веб-интерфейс контроллеров Wiren Board}}
[[Файл:Web-Home-2.0.png|thumb|700 px|Главная страница веб-интерфейса]]
== Общая информация == <!--T:1-->
== Возможности ==
{{Anchor|features}}
Контроллер Wiren Board имеет встроенный веб-интерфейс.
{{YouTube
Через интерфейс можно:
|link=https://youtu.be/3QHtXODfuDY
*следить за состоянием контроллера и подключённых устройств и управлять ими;
|text=Веб-интерфейс контроллера Wiren Board
*подключать устройства к контроллеру;
|list= PL-yKQAXd5Un_fQfrVVgMt1Em5Qb1f-v6l
*настраивать контроллер и обновлять его ПО;
}}
*писать правила на встроенном движке;
В контроллерах Wiren Board есть встроенный веб-интерфейс, который позволяет выполнить большинство задач по настройке контроллера, встроенного ПО и подключённых устройств. Исходный код открыт и доступен в [https://github.com/wirenboard/ нашем репозитории].
*настраивать SMS и email-уведомления;
*смотреть на графике историю значений (например, температуры).


<!--T:2-->
Веб-интерфейс работает непосредственно на Wiren Board. В качестве веб-сервера работает [http://nginx.org nginx], сайт взаимодействует с MQTT через [http://en.wikipedia.org/wiki/WebSocket WebSocket].
В качестве веб-сервера работает [http://nginx.org nginx], сайт взаимодействует с MQTT через [http://en.wikipedia.org/wiki/WebSocket WebSocket].


<!--T:3-->
Ниже дано описание версии 2.0. Про предыдущую версию можно найти на странице [[Веб-интерфейс_Wiren_Board_1.0| Веб-интерфейс Wiren Board 1.0]].
[https://wirenboard.com/ru/pages/wb-software/ Обзор возможностей веб-интерфейса контроллеров Wiren Board].


== Как зайти в веб-интерфейс == <!--T:4-->
== Как зайти в веб-интерфейс ==  
{{Anchor|how-to-enter}}
{{Wbincludes:How to enter}}
{{Wbincludes:How to enter}}


== Смена уровня доступа == <!--T:5-->
== Работа с веб-интерфейсом ==  
{{Anchor|change-access-level}}
[[File:Web-Acess_Level-2.0.png|thumb|center|600 px|Выбор уровня доступа]]
{{Wbincludes:WebUI Change Access Level}}
 
== Настройка подключения к MQTT и выбор языка == <!--T:6-->
{{Anchor|webui}}
[[Image: Web-Configs-2.0 webui.png |300px|thumb|right| Настройки веб-интерфейса ]]
В разделе '''Настройки''' → '''Веб-интерфейс''' можно настроить подключение к MQTT-брокеру, выбрать панель для домашней страницы и сменить язык веб-интерфейса.


<!--T:7-->
Для начала работы с веб-интерфейсом выберите уровень доступа. Для этого на вкладке '''Settings -> Change access level -> Acess Level''' выберите один из пунктов '''User, Operator''' или '''Administrator'''.  
Веб-интерфейс не поддерживает авторизацию пользователя, но вы можете настроить http-авторизацию сервера nginx. Подробные инструкции смотрите в статье [[WebUI_Password| Защита веб-интерфейса контроллера паролем]].
Уровни ограничивают доступ к функционалу веб-интерфейса: например, пользователь '''User''' может просматривать только настроенные виджеты, их редактирование и изменение настроек контроллера недоступно. Пользователь '''Operator''' получает доступ к контролам устройств, управляемых контроллером, может добавлять виджеты в панели (dashboards) (см. далее). Пользователь '''Administrator''' обладает всеми правами. Изменение текущего уровня доступа может быть изменено любым пользователем и предназначено больше для защиты от неверных действий, чем для разграничения прав.  


== Список устройств == <!--T:8-->
В дальнейшем изложении мы предполагаем, что все действия выполняются пользователем '''Administrator'''.  
{{Anchor|devices}}
На странице '''Устройства''' находятся виртуальные представления физически подключённых к контроллеру устройств или виртуальных устройств, созданных скриптами [[wb-rules]].  


<!--T:9-->
Чтобы получить уровень доступа '''Administrator''', на вкладке '''Access Level''' выберите опцию '''Administrator''', подтвердите выбор, установив флажок в поле '''"I take full responsibility for my actions"''', и нажмите кнопку '''Apply''' (как показано на рисунке "Выбор уровня доступа").
Каждое устройства представлено карточкой, которая содержит каналы устройства — контролы. Если нажать на название контрола, то вы получите путь вида <code>device/control</code>, который можно использовать при написании скриптов на wb-rules.


<!--T:10-->
== Разделы интерфейса ==
Не используйте эту страницу для управления системой автоматизацией, для этого есть панели.


<!--T:11-->
=== Домашняя страница ===
<gallery mode="packed" heights="150px">
{{Anchor|home}}
Image: Web-Devices-2.0.png | Список устройств, подключённых к контроллеру
На домашнюю страницу можно вывести один из текстовых дашбордов, которые могут содержать показания датчиков, элементы управления и т.п. Дашборд, который нужно показывать на этой странице указывается в настройках веб-интерфейса.
Image: Web-Devices-Delete-Device-2.0.png | Удаление карточки устройства
[[File:Web-Home-2.0.png|thumb|center|500px|Домашняя страница]]
</gallery>


== Интерактивные панели и виджеты == <!--T:12-->
=== Панели ===  
{{Anchor|dashboards-and-widgets}}
=== Панели ===
{{Anchor|dashboards}}
{{Anchor|dashboards}}
Вы можете создавать текстовые и графические SVG-панели для отображения данных и управления системой автоматизации.
Каналы различных устройств можно объединять в виджеты, из которых потом создаются текстовые панели. Например, можно сделать один виджет «Климат», в котором будут: температура, влажность, переключатели управления вентиляцией, обогревом и кондиционером.


<!--T:13-->
Также веб-интерфейс позволяет создавать интерактивные [[SVG-Dashboards | интерактивные графические SVG-панели]], которые можно вывести на планшет и использовать как пульт управления автоматизацией.
Текстовая панель состоит из виджетов, а графическая — из фонового изображения с привязками к MQTT-каналам контроллера. [[SVG-Dashboards | Как сделать SVG-панель]].


<!--T:41-->
<gallery mode="packed" heights="150px">
<gallery mode="packed" heights="150px">
Image: Web-Dashboards-2.0.png | Список панелей
Image: Web-Dashboards-2.0.png | Список панелей
Строка 64: Строка 47:
</gallery>
</gallery>


=== Виджеты === <!--T:16-->
=== Устройства ===  
{{Anchor|devices}}
На странице «Устройства» находятся виртуальные представления физически подключённых к контроллеру устройств или виртуальных устройств, созданных скриптами [[wb-rules]].
 
Каждое устройства представлено карточкой, которая содержит каналы устройства — контролы. Если нажать на название контрола, то вы получите путь вида <code>device/control</code>, который можно использовать при написании скриптов на wb-rules.
 
Не используйте эту страницу для управления системой автоматизацией, для этого есть панели.
 
<gallery mode="packed" heights="150px">
Image: Web-Devices-2.0.png | Список устройств, подключённых к контроллеру
Image: Web-Devices-Delete-Device-2.0.png | Удаление карточки устройства
</gallery>
 
=== Виджеты ===
{{Anchor|widgets}}
{{Anchor|widgets}}
С помощью виджетов удобно объединять контролы разных устройств по смыслу, или местонахождению. Например, можно сделать виджет для управления освещением в спальне, или виджет климата в магазине. Виджеты группируются в панели, один виджет может быть добавлен в несколько панелей.
С помощью виджетов удобно объединять контролы разных устройств по смыслу, или местонахождению. Например, можно сделать виджет для управление освещением в спальне, или виджет климата в магазине.


<!--T:17-->
Проще всего виджеты добавлять сразу на панель управления кнопкой «Добавить виджет», а потом воспользоваться конструктором или описать виджет в формате JSON.
Создавать виджеты можно в разделе '''Виджеты''', или прямо из панели. Есть визуальный конструктор и редактор JSON.


<!--T:18-->
<gallery mode="packed" heights="100px">
<gallery mode="packed" heights="150px">
Image: widget-create-1.png | Добавление виджета на панель
Image: webui-widgets.png | Список виджетов
Image: widget-create-1.png | Создание нового виджета из панели
Image: widget-create-2.png | Конструктор виджета
Image: widget-create-2.png | Конструктор виджета
Image: widget-create-2.2.png | Вид JSON
Image: widget-create-2.2.png | Вид JSON
Строка 81: Строка 74:
</gallery>
</gallery>


== Полноэкранный и HMI режимы ==
=== History (История показаний) ===
[[File:Web-History-Web-2.0.png|thumb|center|814px|Пример отображения исторических данных]]


<!--T:43-->
На странице ''History'' можно просмотреть историю изменения значений аппаратных ресурсов (например, датчиков температуры, напряжения, показаний счётчиков). История представляется одновременно в виде графика и таблицы значений с метками времени.
{{Anchor|fullscreen-and-hmi}}
{{SupportedSinceRelease
| release = wb-2210
|content=
В обычном режиме в веб-интерфейсе много ненужных в повседневной работе пунктов меню, а верхняя панель и заголовок браузера отъедают много места по вертикали.


Мы добавили несколько режимов, которые позволят изменить компоновку веб-интерфейса в зависимости от задач.
Возможности просмотра исторических данных:
* Указание интервала времени для отображения данных
* Добавление и удаление нескольких показателей (кнопки Add channel и delete) на график
* Просмотр данных в виде графика и в виде таблицы
* Загрузка данных за выбранный период в csv-формате.


=== Полноэкранный режим ===
При наведении указателя мыши на область изображения становятся доступными дополнительные функции (кнопки в верхней правой части графика):
Режим позволяет оперативно переключаться между видами с помощью кнопки. Удобно использовать, например, при просмотре панелей с мобильного телефона или при создании дашбордов.
* Сохранение графика в формате .png
* Переключение между режимами Zoom (увеличения/уменьшения отрезка данных и масштаба с помощью выделения нужной области указателем мыши) и панорамирования Pan (перемещения области видимости с зажатой левой кнопкой мыши)
* Уменьшение и увеличение отображаемого временного интервала (Zoom in и Zoom out)
* Автоматический выбор масштаба графика по обеим осям
* Возвращение масштаба осей к исходному
* Включение/выключение указателя координат


В этом режиме остаётся ''список панелей'' и вкладка ''История'', а верхняя панель веб-интерфейса скрывается, экономя место на экране. Режим удобно использовать, если у вас большая и сложная система с несколькими дашбордами и там нужна аналитика исторических данных.


Чтобы перейти в полноэкранный режим, откройте любую панель и нажмите справа вверху кнопку '''Открыть окно в полноэкранном виде'''.
[[Wb-mqtt-db-cli|Утилита для извлечения исторических данных из внутренней базы данных]]


Учитывайте, что из-за политики безопасности браузеров скрыть заголовок браузера параметром командной строки невозможно, поэтому запускайте браузер в режиме киоска или используйте специальную сборку, читайте об этом ниже.
=== Rules (Правила-скрипты) ===
[[File:Web-Rules-2.0.png|thumb|center|800 px|Скрипт, открытый для просмотра и редактирования]]


Чтобы скрыть заголовок браузера автоматически при старте, запустите его в режиме «Киоск»: [[#kiosk-mode|Переключение браузера в режим киоска]].
На странице '''Rules''' можно создавать и редактировать правила. Правила пишутся на простом языке, похожем на JavaScript и позволяют создавать правила ("включай свет с 10:00 до 18:00") или виртуальные устройства (например, кнопка в интерфейсе, которая включает и отключает всё освещение в здании вместе).
*[[Движок правил wb-rules | Подробнее про скрипты]].


<gallery mode="packed" heights="150px" caption="Полноэкранный режим">
=== Settings -> Configs (Настройки -> Конфигурирование) ===
Image: WebUI Fullscreen Button.png | Компьютер
[[File:Web-Configs-2.0.png|thumb|center|600 px|Страница Configs]]
Image: WebUI Fullscreen.png | Компьютер, во весь экран
На странице '''Settings -> Configs''' производится конфигурирование контроллера и настройка подключения внешних устройств:
Image: WebUI Fullscreen Mobile off.png | Телефон
* настройка сетевых интерфейсов
Image: WebUI Fullscreen Mobile on.png | Телефон, во весь экран
* настройка серверов получения точного времени
</gallery>
* конфигурирование и настройка боковых и внутренних модулей
* настройка сервиса knxd
* настройка аналоговых входов
* настройка записи в историю
* настройка цифровых входов и выходов (GPIO): в последних версиях контроллера список GPIO по умолчанию пустой, все вводы-выводы сконфигурированы системой. Изменять назначение вводов-выводов следует, если вы хотите изменить их режим функционирования. Список номеров GPIO для последних версий контроллеров Wiren Board 6 представлен на странице [[Wiren_Board_6#Подробное_тех.описание_платы_контроллера|Подробное_тех.описание_платы_контроллера]].
* настройка шлюза Modbus TCP / Modbus RTU
* настройка шлюза OPC UA
* настройка подключения устройств RS-485
* настройка предупреждений (alarms)
* доступ к редактированию JSON-файла настроек веб-интерфейса


=== Рабочее место оператора ===
=== Settings -> WebUI (Настройки -> Веб-интерфейс) ===  
[[Image: WebUI Workplace Mode.png |300px|thumb|right| Рабочее место оператора, параметр <code>?fullscreen</code> ]]
[[File:Web-Settings_WebUI-2.0.png|center|thumb|600 px|Страница Settings]]
Режим похож на полноэкранный, но в при его активации нет кнопки выхода из режима. Это позволяет в комбинации с [[#kiosk-mode|режимом браузера «Киоск»]] сделать рабочее место оператора, из которого он не сможет выйти в другие приложения или получить доступ к адресной строке и отключить режим.
 
Чтобы открыть панели в этом режиме, добавьте в адресную строку параметр <code>?fullscreen</code>:
<syntaxhighlight lang="ini">
# Для текстовой панели
http://192.168.2.108/#!/dashboards/dashboard1?fullscreen
 
# Для svg-панели
http://192.168.2.108/#!/dashboards/svg/view/dashboard3?fullscreen
</syntaxhighlight>
 
=== Режим HMI ===
Если вы используете для управления системой автоматизации планшет или сенсорный экран и вам не нужны левое меню и верхняя панель со статусом подключения, то вы можете их убрать, включив режим HMI.
 
Чтобы открыть панель в режиме HMI, добавьте в адресную строку параметр <code>?hmi</code>. Примеры, где ''dashboard1'' — ID текстовой панели, а ''dashboard3'' — svg:
<syntaxhighlight lang="ini">
# Для текстовой панели
http://192.168.2.108/#!/dashboards/dashboard1?hmi
 
# Для svg-панели
http://192.168.2.108/#!/dashboards/svg/view/dashboard3?hmi
</syntaxhighlight>
 
Иногда надо сменить фон панели, сделать это можно с помощью параметра <code>hmicolor=%23abcdef</code>. Пример ниже сделает фон панели светло-синим, где <code>%23abcdef</code> — код цвета в шестнадцатеричном виде <code>#abcdef</code>:
<syntaxhighlight lang="ini">
# Для текстовой панели
http://192.168.2.108/#!/dashboards/dashboard1?hmi&hmicolor=%23abcdef
 
# Для svg-панели
http://192.168.2.108/#!/dashboards/svg/view/dashboard3?hmi&hmicolor=%23abcdef
</syntaxhighlight>
 
Чтобы скрыть заголовок браузера автоматически при старте, запустите его в режиме «Киоск»: [[#kiosk-mode|Переключение браузера в режим киоска]].
 
<gallery mode="packed" heights="150px" caption="Режим HMI">
Image: WebUI HMI.png | Без параметров
Image: WebUI HMI hmi.png | Параметр <code>?hmi</code>
Image: WebUI HMI hmi_hmicolor.png | Параметры <code>?hmi&hmicolor=%23abcdef</code>
Image: WebUI SVG.png | Без параметров
Image: WebUI SVG HMI hmi.png  | Параметр <code>?hmi</code>
Image: WebUI SVG HMI mode.png | Параметры <code>?hmi&hmicolor=%231a1a1a</code>
</gallery>
 
=== Переключение браузера в режим киоска ===
{{Anchor|kiosk-mode}}
Режим киоска браузера аналогичен режиму, который включается при нажатии на кнопку F11, с той лишь разницей, что из режима киоска пользователь выйти не может.
 
Этот режим удобно использовать при создании рабочего места оператора: добавляете в автозагрузку запуск браузера в режиме киоска у вас получается панель управления системой без возможности свернуть или закрыть окно.
 
Как это сделать:
# Откройте веб-интерфейс контроллера.
# Скопируйте в адресной строке браузера URL.
# Запустите браузер без панелей:
#* На компьютерах и планшетах с ОС Windows/Linux запустите браузер в режиме киоска и передайте ему параметром URL панели, примеры:
#*:<syntaxhighlight lang="bash">
firefox -kiosk 'http://wirenboard-ascmdm6q.local/#!/dashboards/dashboard1'
chromium -kiosk 'http://wirenboard-ascmdm6q.local/#!/dashboards/dashboard1'
</syntaxhighlight>
#* На планшетах с Android используйте специальные версии браузеров, например, [https://www.fully-kiosk.com/ Fully Kiosk Browser].
 
Этот режим можно комбинировать с полноэкранным режимом и режимом HMI, описанными выше.


На странице '''Web UI''' настраиваются параметры веб-интерфейса и контроллера. Здесь можно:
* Выбрать подключение к MQTT-брокеру (Web-sockets), если используется нелокальный брокер, а, например, облачный сервис
* При необходимости указать учетные данные на удаленном MQTT-брокере
* Указать префикс всех топиков, с которым данные охраняются в облачном сервисе
* Выбрать панель (Default Dashboard), которая будет отображаться на главной странице (Home)
{{SupportedSinceRelease
| release = wb-2110
|content=
* Выбрать язык веб-интерфейса.
}}
}}


== История полученных данных == <!--T:19-->
=== Settings -> System (Настройки -> Системные) ===  
{{Anchor|history}}
<div id="system"></div>
[[Image: Web-History-Web-2.0 channel.png  |300px|thumb|right| Кнопка перехода к истории измерений ]]
 
<!--T:20-->
По умолчанию стандартное ПО контроллера хранит все полученные данные, которые вы можете посмотреть в виде графиков или таблицы. Данные можно выгрузить в csv, для этого нажмите на кнопку под графиком, или воспользуйтесь утилитой [https://github.com/wirenboard/wb-mqtt-db-cli wb-mqtt-db-cli].
 
<!--T:21-->
Для просмотра истории перейдите в раздел '''История''' и выберите нужные каналы, или наведите курсор на канал виджета и нажмите кнопку с изображением гистограммы.
 
<!--T:22-->
Возможности отображения:
* выбор периода;
* одновременный просмотр нескольких каналов;
* масштабирование;
* снятие скриншота;
* два графика на каждый канал — значения в базе и «дельта».
* курсорные измерения.
 
<!--T:23-->
Если нужно больше возможностей, можете настроить автоматический экспорт данных в [[Grafana]].
=== Как работает история ===
Драйвер wb-mqtt-db записывает значение величины через указанный пользователем интервал времени.
 
На графике для каждого канала есть:
* яркая цветная линия — это средние значения за период;
* и полупрозрачные области того же цвета — это «дельта», которая показывает максимум и минимум значений за период между записями в базу.
 
Например, если сигнал быстро меняется, но нам не нужна информация обо всех значениях — увеличиваем интервал записи и экономим на размере БД. А «Дельта» позволит нам не потерять информацию о максимальных и минимальных значениях величины между записями.
 
Если вас не устраивает «Дельта» и вы хотите писать больше точек в базу, то:
* для сигналов, которые меняются быстро — уменьшите значение в параметре «Минимальный интервал записи значений»;
* для сигналов, которые меняются медленно — настройте параметр «Максимальное количество внеочередных записей».
 
Кроме этого можно настраивать «глубину» хранения истории, для этого есть параметры «Максимальное количество записей на канал» и «Максимальное количество записей на группу». Работает это так:
# Группируете каналы по группам. По умолчанию создана группа ''all'', куда включены все существующие mqtt-каналы по маске <code>+/+</code>.
# Далее настраиваете параметр «Максимальное количество записей на канал» для каждого канала.
# И, чтобы не было сюрпризов, вроде заполненной памяти контроллера, ограничиваете «Максимальное количество записей на группу».
 
Значения для построения графиков получаются следующим образом:
*В БД записываются средние, минимальные и максимальные значения за период между записями в базу.
*Далее выбранный для отображения временной интервал разбивается на участки, количество которых зависит от разрешения экрана. Значения из БД группируются по этим интервалам.
*Если в интервал попадает несколько значений из БД, то для каждого интервала рассчитывается среднее.
 
 
<!--T:24-->
<gallery mode="packed" heights="100px" caption="Примеры скриншотов">
Image: Web-History-Web-2.0.png | График
Image: Web-History-Web-2.0 1.png | Табличное представление
Image: Web-History-Web-2.0 2.png | Данные, выгруженные в CSV
Image: Web-History-Web-2.0 3.png | Настройка хранения истории
</gallery>
 
== Скрипты автоматизации == <!--T:25-->
{{Anchor|rules}}


<!--T:26-->
[[File:Web-Settings_System-2.0.png|center|thumb|600 px|Страница System]]
В веб-интерфейсе контроллера есть редактор скриптов [[wb-rules]], который позволяет создавать, редактировать и удалять правила. Если в скрипте есть ошибки, то редактор сообщит вам об этом и укажет место в скрипте.


<!--T:27-->
На этой странице можно:
Редактор доступен в разделе '''Правила''', используется CodeMirror, горячие клавиши:
* Обновить прошивку контроллера, предварительно скачав ее на компьютер.
{{SupportedSinceRelease
{{SupportedSinceRelease
| release = wb-2307
| release = wb-2110
|content=
|content=
<pre>
* Загрузить архив с диагностической информацией для отправки в техподдержку.
Ctrl + D — множественное редактирование
Ctrl + / — закомментировать / раскомментировать строки
Ctrl + [ — убрать отступ
Ctrl + ] — добавить отступ
Ctrl + C — копировать в буфер обмена
Ctrl + V — вставить из буфера обмена
Ctrl + Z — отмена последнего действия
Ctrl + Shift + Z — повторить последнее отменённое действие
Ctrl + U — повторить последнее выделение
Ctrl + I — выделить всё между парными скобками, если повторить — выделяется уровень выше
Ctrl + пробел — показать подсказку ввода
Ctrl + Shift + Left — выделить слово слева
Ctrl + Shift + Right — выделить слово справа
Ctrl + Shift + K — удалить строку
Ctrl + Backspace — удалить часть слова до курсора
Ctrl + Delete — удалить часть слова после курсора
</pre>
}}
}}


<!--T:28-->
=== Settings -> MQTT Channels (Настройки -> MQTT-каналы) ===  
<gallery mode="packed" heights="150px">
{{Anchor|mqtt-channels}}
Image: Web-Rules-2.0.png | Редактор скриптов
[[File:Web-Settings_MQTT_Channels-2.0.png|center|thumb|600 px|MQTT Channels]]
Image: Web-Rules-2.0 errors.png | Подсветка ошибок
 
</gallery>
'''Settings → MQTT Channels'''. На этой странице приводится справочная информация о всех MQTT-топиках, полученных веб-интерфейсом контроллера, а также статус их получения ('''ОК''' или '''ERR''' в последнем столбце).
 
=== Settings -> Change access level (Настройки -> Права доступа) ===
[[Файл:WebUI 2.0 — changing user rights.png|300px|thumb|right|Web UI 2.0 — смена уровня доступа текущего пользователя]]


== Настройка контроллера и подключённых устройств == <!--T:29-->
Уровни доступа призваны защитить пользователя от ошибок при регулярной работе с контроллером. Важно понимать, что это не полноценное разграничение прав, а способ защитить себя от необдуманных действий. Новых пользователей создавать нельзя.
{{Anchor|settings}}
[[Image: Web-Configs-2.0.png |300px|thumb|right| Конфигурационные файлы ]]
Контроллер Wiren Board работает на Linux, поэтому почти все настройки хранятся в конфигурационных файлах. Файлы можно редактировать через [[SSH]] или с помощью веб-конфигуратора.


<!--T:30-->
Доступны следующие уровни:
Список доступных настроек вы найдёте в разделе ''' Настройки''' → '''Конфигурационные файлы'''.
* User — дашборды, виджеты, история, базовые настройки.
* Operator — права уровня User и раздел Devices.
* Administrator — полный доступ ко всем функциям.


<!--T:31-->
Чтобы изменить уровень доступа к настройкам веб-интерфейса:
Например, через веб-интерфейс можно настроить подключённые [[RS-485:Configuration via Web Interface| Modbus-устройства]], шлюзы [[KNX | KNX]] и [[Modbus RTU/TCP Slave]] и другие параметры.
* Зайдите в веб-интерфейс.
* Перейдите в раздел '''Settings''' и выберите пункт '''Change access level'''. Установите нужное значение и нажмите кнопку '''Apply'''.


== Поиск устройств Wiren Board на шине RS-485 ==  
<div id="logs"></div>
{{Wbincludes:WebUI Scan Devices}}
=== Settings -> Logs (Настройки -> Логи) ===
[[Image: WebUI 2.0 — logs.png |600px|thumb|none| Просмотр лог-файлов контроллера ]]
Чтобы открыть инструмент, перейдите '''Settings''' → '''Logs'''.


== Уведомления о событиях == <!--T:32-->
После выбора параметров, нажмите '''Load''' для запроса данных из системного журнала.
{{Anchor|alarms}}
В веб-интерфейсе контроллера можно настроить отправку уведомления о событиях по SMS или Email, например, при срабатывании тревоги в модуле [[WB-MWAC Modbus Water Consumption Metering and Leak Monitoring| WB-MWAC]], отправить SMS на заданный номер. [[Notification module | Настройка модуля уведомлений]].


<!--T:33-->
Загруженные сообщения можно сохранить в файл, для этого нажмите кнопку '''Save loaded log to file''' и укажите куда сохранить. Строки из системного журнала подгружаются во время прокрутки списка сообщений, поэтому сперва прокрутите список до нужного места, а потом сохраняйте вывод в файл.
Также вы можете отправлять уведомления в Телеграм, для этого нужно написать небольшой скрипт на wb-rules, [[Rule_Examples#telegram | пример]].


== Обновление прошивки и выгрузка диагностического архива == <!--T:34-->
Для отправки сообщений системного журнала в техподдержку удобно использовать [[#system | выгрузку диагностической информации]].
{{Anchor|diagnostic}}
[[Image: Web-Configs-2.0 system.png |300px|thumb|right| Обновление ПО и выгрузка диагностики ]]
Обновить ПО контроллера без доступа к интернету можно через веб-интерфейс, для этого вам понадобится компьютер и заранее загруженный fit-файл прошивки. Подробнее про обновление ПО контроллера читайте на странице [[Wiren_Board_Software| Программное обеспечение Wiren Board]].


<!--T:35-->
== Стандартные задачи, решаемые через веб-интерфейс ==
Если в работе контроллера возникли ошибки, то при обращении в техническую поддержку рекомендуем выгрузить диагностический архив — это поможет нам быстрее разобраться в проблеме.


Выгрузить диагностический архив можно двумя способами:
=== Подключить устройство RS-485 Modbus и создать кнопки управления на главной панели ===
* Перейдите в веб-интерфейсе на вкладку '''Настройки''' → '''Система''' и найдите раздел '''Сбор данных для диагностики'''. Сформируйте, а затем скачайте архив.
[[RS-485:Настройка через веб-интерфейс]]
* Подключитесь к контроллеру по [[SSH]] и введите команду:
*:<pre>wb-diag-collect diag</pre>
*: архив будет сохранён в текущую папку, обычно это /root — оттуда его можно [[View_controller_files_from_your_computer|сохранить на компьютер]].


== Резервная копия ==
===Обновить прошивку контроллера===
{{Anchor|backup}}
[[Wiren_Board_Firmware_Update#Обновление через веб-интерфейс|Обновление прошивки через веб-интерфейс]]
{{note|note|Если вы не нашли этого раздела в своём контроллере — обновите его ПО.}}
Контроллер работает под операционной системой Debian Linux, поэтому все настройки хранятся в файлах. Вы можете создавать резервные способы любыми доступными средствами, например, командой rsync.
[[Image: webui-backups.png |300px|thumb|right| Кнопки резервного копирования ]]
Кроме этого вы можете скачать резервную копию из веб-интерфейса в разделе '''Настройки''' → '''Система'''. Доступно три варианта загрузки:
* Скачать архив с rootfs — соберёт всё содержимое корня в архив. Не включает в себя настройки системы, которые находятся в /mnt/data, а симлинки лежат в /etc. Размер архива может быть от сотен мегабайт до единиц гигабайт.
* Скачать файлы конфигурации — соберёт в архив все системные файлы конфигурации, скрипты с модулями wb-rules, а также конфиги zigbee2mqtt и Sprut.hub. Самый компактный архив, около 20 Мбайт. Если вы не устанавливали сторонний софт, его содержимого будет достаточно для восстановления.
* Скачать всё — соберёт в архив всё, что есть на контроллере: файлы конфигурации, установленный софт и т.п. Самый большой архив, зато позволяет сохранить конфиги стороннего софта, который мы не включили в компактный архив с файлами конфигурации.


Восстанавливаются резервные копии вручную через копирование файлов на контроллер, общий алгоритм восстановления такой:
== Облачный интерфейс ==
# Установить нужный софт.
# Скопировать конфиги и скрипты из резервной копии на контроллер. [[View_controller_files_from_your_computer |Инструкция, как работать с файлами на контроллере]].


== Просмотр MQTT-каналов и системного журнала == <!--T:36-->
Веб-интерфейс Wiren Board можно разместить не только на самом контроллере, но и на специальном сервере. Тогда на интерфейс можно будет заходить, используя всегда один и тот же IP-адрес.
{{Anchor|mqtt-channels}}
Список MQTT-каналов пригодится при диагностике неисправностей, или при настройке интеграции со сторонним ПО, например, [[Rapid SCADA]] или [[Home Assistant]]. Список доступен в разделе '''Настройки''' → '''MQTT-каналы'''. Описание структуры топиков и общие рекомендации, смотрите в статье [[MQTT]].


<!--T:37-->
Чтобы контроллер начал работать с веб-интерфейсом, размещённым на сервере, нужно внести некоторые изменения в конфигурацию контроллера.
Системный журнал ОС Linux можно посмотреть с помощью утилиты [[journalctl]] или в веб-интерфейсе контроллера в разделе '''Настройки''' → '''Системный журнал'''.


<!--T:38-->
Такой вариант удобен, если ваш контроллер находится за роутером и не имеет глобального IP-адреса, или если он подключён по GPRS - тогда он тоже, скорее всего, не имеет глобального IP, да ещё и работа с удалённым веб-интерфейсом израсходует слишком много трафика.
<gallery mode="packed" heights="120px">
Image:Web-Configs-2.0 mqtt.png| MQTT-каналы
Image:Web-Configs-2.0 logs.png| Системный журнал
</gallery>


== Управление с телефона == <!--T:45-->
'''Пока что такой вариант доступен только корпоративным клиентам по запросу.'''
{{Anchor|mobile}}
Веб-интерфейс адаптируется под размер экрана, поэтому управлять системой автоматизации можно с мобильного устройства или планшета.  


<!--T:46-->
== Настройка авторизованного доступа к веб-интерфейсу контроллера ==
Альтернативой может быть использование сторонних приложений: [[MQTT_Dash]], [[Home Assistant]], [[SberDevices|Салют! Умный дом]] и других, полный список смотрите в [[Supported_devices |таблице поддерживаемых устройств и программ]].
В статье [[Защита_паролем|Защита паролем]] приводятся краткие инструкции по перенастройке контроллера, обеспечивающие авторизованный доступ к веб-интерфейсу контроллера.


<!--T:47-->
== Основные отличия версии 2.x от 1.0 ==
<gallery mode="packed" heights="350px" caption="Веб-интерфейс контроллера в телефоне">
Image: web-ui mobile 1.png | Список устройств
Image: web-ui mobile 2.png | Боковая панель
Image: web-ui mobile 5.png | SVG-панель
Image: web-ui mobile 3.png | Просмотр системного журнала
Image: web-ui mobile 4.png | Настройка Modbus-устройства
</gallery>


== Предыдущая версия == <!--T:39-->
* Каждый виджет может содержать произвольное число каналов, в виджете каналы можно переименовывать
* [[Wiren_Board_Web_Interface 1.0| Веб-интерфейс Wiren Board 1.0]], заменён на 2.0 в начале 2021 года.
* Отдельные устройства теперь автоматически сворачиваются в виде плиток, если не помещаются на экране. Плитки можно развернуть или свернуть
</translate>
* Появились уровни доступа к интерфейсу (пользователь, оператор, администратор). Текущий уровень доступа отображается в правом верхнем углу интерфейса, рядом со значком состояния подключения
* Улучшенный интерфейс для мобильных устройств
* По клику на канал или значение название канала или его значение копируются в буфер обмена
* Историю значений можно посмотреть, нажав на кнопку, появляющуюся рядом со значением при наведении
* Историю значений можно скачивать в виде текстового файла
* Исторические данные загружаются постепенно; возможно сравнивать значения нескольких каналов
* Удаление лишних MQTT-топиков из интерфейса
* Все настройки отображения теперь хранятся в конфиг-файле /etc/wb-ui.conf в формате JSON. Теперь их можно редактировать и генерировать из сторонних программ и очень просто копировать с одного контроллера на другой
* Отсутствуют "Комнаты"
* Сохранение конфигурации интерфейса при обновлении предыдущей версии веб-интерфейса.

Версия 20:38, 1 августа 2022

Главная страница веб-интерфейса

Возможности

Контроллер Wiren Board имеет встроенный веб-интерфейс. Через интерфейс можно:

  • следить за состоянием контроллера и подключённых устройств и управлять ими;
  • подключать устройства к контроллеру;
  • настраивать контроллер и обновлять его ПО;
  • писать правила на встроенном движке;
  • настраивать SMS и email-уведомления;
  • смотреть на графике историю значений (например, температуры).

Веб-интерфейс работает непосредственно на Wiren Board. В качестве веб-сервера работает nginx, сайт взаимодействует с MQTT через WebSocket.

Ниже дано описание версии 2.0. Про предыдущую версию можно найти на странице Веб-интерфейс Wiren Board 1.0.

Как зайти в веб-интерфейс

Чтобы зайти в веб-интерфейс контроллера Wiren Board, подключитесь к контроллеру через Wi-Fi или Ethernet и введите в адресную строку браузера IP-адрес контроллера.

Если вы находитесь в одной сети с контроллером и используете компьютер с Linux, Windows 10 и выше или macOS, или любое устройство Apple, то можно использовать mDNS. Вместо IP-адреса введите в адресную строку http://wirenboard-XXXXXXXX.local, где ХХХХХХХХ — серийный номер контроллера.

Также доступ можно получить через Wiren Board Cloud, если контроллер к нему подключен.

Работа с веб-интерфейсом

Выбор уровня доступа

Для начала работы с веб-интерфейсом выберите уровень доступа. Для этого на вкладке Settings -> Change access level -> Acess Level выберите один из пунктов User, Operator или Administrator. Уровни ограничивают доступ к функционалу веб-интерфейса: например, пользователь User может просматривать только настроенные виджеты, их редактирование и изменение настроек контроллера недоступно. Пользователь Operator получает доступ к контролам устройств, управляемых контроллером, может добавлять виджеты в панели (dashboards) (см. далее). Пользователь Administrator обладает всеми правами. Изменение текущего уровня доступа может быть изменено любым пользователем и предназначено больше для защиты от неверных действий, чем для разграничения прав.

В дальнейшем изложении мы предполагаем, что все действия выполняются пользователем Administrator.

Чтобы получить уровень доступа Administrator, на вкладке Access Level выберите опцию Administrator, подтвердите выбор, установив флажок в поле "I take full responsibility for my actions", и нажмите кнопку Apply (как показано на рисунке "Выбор уровня доступа").

Разделы интерфейса

Домашняя страница

На домашнюю страницу можно вывести один из текстовых дашбордов, которые могут содержать показания датчиков, элементы управления и т.п. Дашборд, который нужно показывать на этой странице указывается в настройках веб-интерфейса.

Домашняя страница

Панели

Каналы различных устройств можно объединять в виджеты, из которых потом создаются текстовые панели. Например, можно сделать один виджет «Климат», в котором будут: температура, влажность, переключатели управления вентиляцией, обогревом и кондиционером.

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

Устройства

На странице «Устройства» находятся виртуальные представления физически подключённых к контроллеру устройств или виртуальных устройств, созданных скриптами wb-rules.

Каждое устройства представлено карточкой, которая содержит каналы устройства — контролы. Если нажать на название контрола, то вы получите путь вида device/control, который можно использовать при написании скриптов на wb-rules.

Не используйте эту страницу для управления системой автоматизацией, для этого есть панели.

Виджеты

С помощью виджетов удобно объединять контролы разных устройств по смыслу, или местонахождению. Например, можно сделать виджет для управление освещением в спальне, или виджет климата в магазине.

Проще всего виджеты добавлять сразу на панель управления кнопкой «Добавить виджет», а потом воспользоваться конструктором или описать виджет в формате JSON.

History (История показаний)

Пример отображения исторических данных

На странице History можно просмотреть историю изменения значений аппаратных ресурсов (например, датчиков температуры, напряжения, показаний счётчиков). История представляется одновременно в виде графика и таблицы значений с метками времени.

Возможности просмотра исторических данных:

  • Указание интервала времени для отображения данных
  • Добавление и удаление нескольких показателей (кнопки Add channel и delete) на график
  • Просмотр данных в виде графика и в виде таблицы
  • Загрузка данных за выбранный период в csv-формате.

При наведении указателя мыши на область изображения становятся доступными дополнительные функции (кнопки в верхней правой части графика):

  • Сохранение графика в формате .png
  • Переключение между режимами Zoom (увеличения/уменьшения отрезка данных и масштаба с помощью выделения нужной области указателем мыши) и панорамирования Pan (перемещения области видимости с зажатой левой кнопкой мыши)
  • Уменьшение и увеличение отображаемого временного интервала (Zoom in и Zoom out)
  • Автоматический выбор масштаба графика по обеим осям
  • Возвращение масштаба осей к исходному
  • Включение/выключение указателя координат


Утилита для извлечения исторических данных из внутренней базы данных

Rules (Правила-скрипты)

Скрипт, открытый для просмотра и редактирования

На странице Rules можно создавать и редактировать правила. Правила пишутся на простом языке, похожем на JavaScript и позволяют создавать правила ("включай свет с 10:00 до 18:00") или виртуальные устройства (например, кнопка в интерфейсе, которая включает и отключает всё освещение в здании вместе).

Settings -> Configs (Настройки -> Конфигурирование)

Страница Configs

На странице Settings -> Configs производится конфигурирование контроллера и настройка подключения внешних устройств:

  • настройка сетевых интерфейсов
  • настройка серверов получения точного времени
  • конфигурирование и настройка боковых и внутренних модулей
  • настройка сервиса knxd
  • настройка аналоговых входов
  • настройка записи в историю
  • настройка цифровых входов и выходов (GPIO): в последних версиях контроллера список GPIO по умолчанию пустой, все вводы-выводы сконфигурированы системой. Изменять назначение вводов-выводов следует, если вы хотите изменить их режим функционирования. Список номеров GPIO для последних версий контроллеров Wiren Board 6 представлен на странице Подробное_тех.описание_платы_контроллера.
  • настройка шлюза Modbus TCP / Modbus RTU
  • настройка шлюза OPC UA
  • настройка подключения устройств RS-485
  • настройка предупреждений (alarms)
  • доступ к редактированию JSON-файла настроек веб-интерфейса

Settings -> WebUI (Настройки -> Веб-интерфейс)

Страница Settings

На странице Web UI настраиваются параметры веб-интерфейса и контроллера. Здесь можно:

  • Выбрать подключение к MQTT-брокеру (Web-sockets), если используется нелокальный брокер, а, например, облачный сервис
  • При необходимости указать учетные данные на удаленном MQTT-брокере
  • Указать префикс всех топиков, с которым данные охраняются в облачном сервисе
  • Выбрать панель (Default Dashboard), которая будет отображаться на главной странице (Home)


  • Выбрать язык веб-интерфейса.

Settings -> System (Настройки -> Системные)

Страница System

На этой странице можно:

  • Обновить прошивку контроллера, предварительно скачав ее на компьютер.


  • Загрузить архив с диагностической информацией для отправки в техподдержку.

Settings -> MQTT Channels (Настройки -> MQTT-каналы)

MQTT Channels

Settings → MQTT Channels. На этой странице приводится справочная информация о всех MQTT-топиках, полученных веб-интерфейсом контроллера, а также статус их получения (ОК или ERR в последнем столбце).

Settings -> Change access level (Настройки -> Права доступа)

Web UI 2.0 — смена уровня доступа текущего пользователя

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

Доступны следующие уровни:

  • User — дашборды, виджеты, история, базовые настройки.
  • Operator — права уровня User и раздел Devices.
  • Administrator — полный доступ ко всем функциям.

Чтобы изменить уровень доступа к настройкам веб-интерфейса:

  • Зайдите в веб-интерфейс.
  • Перейдите в раздел Settings и выберите пункт Change access level. Установите нужное значение и нажмите кнопку Apply.

Settings -> Logs (Настройки -> Логи)

Просмотр лог-файлов контроллера

Чтобы открыть инструмент, перейдите SettingsLogs.

После выбора параметров, нажмите Load для запроса данных из системного журнала.

Загруженные сообщения можно сохранить в файл, для этого нажмите кнопку Save loaded log to file и укажите куда сохранить. Строки из системного журнала подгружаются во время прокрутки списка сообщений, поэтому сперва прокрутите список до нужного места, а потом сохраняйте вывод в файл.

Для отправки сообщений системного журнала в техподдержку удобно использовать выгрузку диагностической информации.

Стандартные задачи, решаемые через веб-интерфейс

Подключить устройство RS-485 Modbus и создать кнопки управления на главной панели

RS-485:Настройка через веб-интерфейс

Обновить прошивку контроллера

Обновление прошивки через веб-интерфейс

Облачный интерфейс

Веб-интерфейс Wiren Board можно разместить не только на самом контроллере, но и на специальном сервере. Тогда на интерфейс можно будет заходить, используя всегда один и тот же IP-адрес.

Чтобы контроллер начал работать с веб-интерфейсом, размещённым на сервере, нужно внести некоторые изменения в конфигурацию контроллера.

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

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

Настройка авторизованного доступа к веб-интерфейсу контроллера

В статье Защита паролем приводятся краткие инструкции по перенастройке контроллера, обеспечивающие авторизованный доступ к веб-интерфейсу контроллера.

Основные отличия версии 2.x от 1.0

  • Каждый виджет может содержать произвольное число каналов, в виджете каналы можно переименовывать
  • Отдельные устройства теперь автоматически сворачиваются в виде плиток, если не помещаются на экране. Плитки можно развернуть или свернуть
  • Появились уровни доступа к интерфейсу (пользователь, оператор, администратор). Текущий уровень доступа отображается в правом верхнем углу интерфейса, рядом со значком состояния подключения
  • Улучшенный интерфейс для мобильных устройств
  • По клику на канал или значение название канала или его значение копируются в буфер обмена
  • Историю значений можно посмотреть, нажав на кнопку, появляющуюся рядом со значением при наведении
  • Историю значений можно скачивать в виде текстового файла
  • Исторические данные загружаются постепенно; возможно сравнивать значения нескольких каналов
  • Удаление лишних MQTT-топиков из интерфейса
  • Все настройки отображения теперь хранятся в конфиг-файле /etc/wb-ui.conf в формате JSON. Теперь их можно редактировать и генерировать из сторонних программ и очень просто копировать с одного контроллера на другой
  • Отсутствуют "Комнаты"
  • Сохранение конфигурации интерфейса при обновлении предыдущей версии веб-интерфейса.