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

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


<!--T:2-->
<!--T:203-->
В качестве веб-сервера работает [http://nginx.org nginx], сайт взаимодействует с MQTT через [http://en.wikipedia.org/wiki/WebSocket WebSocket].
Веб-интерфейс работает непосредственно на Wiren Board. В качестве веб-сервера работает [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-->
== Как зайти в веб-интерфейс == <!--T:2-->
{{Anchor|how-to-enter}}
{{Wbincludes:How to enter}}
{{Wbincludes:How to enter}}


== Смена уровня доступа == <!--T:5-->
== Работа с веб-интерфейсом == <!--T:207-->
{{Anchor|change-access-level}}
[[File:Web-Acess_Level-2.0.png|thumb|center|600 px|Выбор уровня доступа]]
{{Wbincludes:WebUI Change Access Level}}


== Настройка подключения к MQTT и выбор языка == <!--T:6-->
<!--T:208-->
{{Anchor|webui}}
Для начала работы с веб-интерфейсом выберите уровень доступа. Для этого на вкладке '''Settings -> Change access level -> Acess Level''' выберите один из пунктов '''User, Operator''' или '''Administrator'''.  
[[Image: Web-Configs-2.0 webui.png |300px|thumb|right| Настройки веб-интерфейса ]]
Уровни ограничивают доступ к функционалу веб-интерфейса: например, пользователь '''User''' может просматривать только настроенные виджеты, их редактирование и изменение настроек контроллера недоступно. Пользователь '''Operator''' получает доступ к контролам устройств, управляемых контроллером, может добавлять виджеты в панели (dashboards) (см. далее). Пользователь '''Administrator''' обладает всеми правами. Изменение текущего уровня доступа может быть изменено любым пользователем и предназначено больше для защиты от неверных действий, чем для разграничения прав.  
В разделе '''Настройки''' '''Веб-интерфейс''' можно настроить подключение к MQTT-брокеру, выбрать панель для домашней страницы и сменить язык веб-интерфейса.


<!--T:7-->
<!--T:209-->
Веб-интерфейс не поддерживает авторизацию пользователя, но вы можете настроить http-авторизацию сервера nginx. Подробные инструкции смотрите в статье [[WebUI_Password| Защита веб-интерфейса контроллера паролем]].
В дальнейшем изложении мы предполагаем, что все действия выполняются пользователем '''Administrator'''.  


== Список устройств == <!--T:8-->
<!--T:210-->
{{Anchor|devices}}
Чтобы получить уровень доступа '''Administrator''', на вкладке '''Access Level''' выберите опцию '''Administrator''', подтвердите выбор, установив флажок в поле '''"I take full responsibility for my actions"''', и нажмите кнопку '''Apply''' (как показано на рисунке "Выбор уровня доступа").
На странице '''Устройства''' находятся виртуальные представления физически подключённых к контроллеру устройств или виртуальных устройств, созданных скриптами [[wb-rules]].  


<!--T:9-->
== Разделы интерфейса == <!--T:4-->
Каждое устройства представлено карточкой, которая содержит каналы устройства — контролы. Если нажать на название контрола, то вы получите путь вида <code>device/control</code>, который можно использовать при написании скриптов на wb-rules.


<!--T:10-->
=== Home (Главная страница) === <!--T:6-->
Не используйте эту страницу для управления системой автоматизацией, для этого есть панели.
[[File:Web-Home-2.0.png|thumb|center|600 px|Home - главная страница]]


<!--T:11-->
<!--T:7-->
<gallery mode="packed" heights="150px">
Это главная страница пользователя. На неё выводятся элементы интерфейса - так называемые "виджеты" (widget). Это могут быть показания датчиков (например, датчика температуры), кнопки включения света, управления подключёнными реле.
Image: Web-Devices-2.0.png | Список устройств, подключённых к контроллеру
Набор виджетов на главной странице полностью настраивается пользователем в меню '''Settings -> Web UI -> Common Info''', где можно выбрать панель, которая будет отображаться во вкладке '''Home''' по умолчанию.
Image: Web-Devices-Delete-Device-2.0.png | Удаление карточки устройства
</gallery>


== Интерактивные панели и виджеты == <!--T:12-->
=== Dashboards (Панели) === <!--T:8-->
{{Anchor|dashboards-and-widgets}}
[[File:Web-Dashboards-2.0.png|thumb|600 px|center|Dashboards - список панелей]]
=== Панели ===
{{Anchor|dashboards}}
Вы можете создавать текстовые и графические SVG-панели для отображения данных и управления системой автоматизации.


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


<!--T:41-->
<!--T:211-->
<gallery mode="packed" heights="150px">
Дважды щелкнув по вкладке '''Dashboards''' на боковой панели, можно раскрыть список всех панелей, созданных в веб-интерфейсе.
Image: Web-Dashboards-2.0.png | Список панелей
Image: Text-Dashboard Example.png | Текстовая панель
Image: SVG-Dashboard Example.png | SVG-панель
</gallery>


=== Виджеты === <!--T:16-->
Кроме текстовых панелей с виджетами, можно создавать [[SVG-Dashboards | интерактивные SVG-панели]] (SVG Dashboards).
{{Anchor|widgets}}
[[File:SVG-Dashboard Example.png|thumb|600 px|center|Пример SVG-панели]]
С помощью виджетов удобно объединять контролы разных устройств по смыслу, или местонахождению. Например, можно сделать виджет для управления освещением в спальне, или виджет климата в магазине. Виджеты группируются в панели, один виджет может быть добавлен в несколько панелей.


<!--T:17-->
=== Devices (Устройства) === <!--T:10-->
Создавать виджеты можно в разделе '''Виджеты''', или прямо из панели. Есть визуальный конструктор и редактор JSON.
[[File:Web-Devices-2.0.png|thumb|center|700 px|Devices - список всех аппаратных функций контроллера и подключённых устройств]]


<!--T:18-->
<!--T:11-->
<gallery mode="packed" heights="150px">
На странице '''Devices''' отображаются все аппаратные возможности контроллера (состояние входов, выходов, напряжение питания), а также подключённых датчиков и устройств. Если вы подключили к контроллеру внешний модуль, все его меняющиеся значения будут отображены тут.
Image: webui-widgets.png | Список виджетов
Image: widget-create-1.png | Создание нового виджета из панели
Image: widget-create-2.png | Конструктор виджета
Image: widget-create-2.2.png | Вид JSON
Image: widget-create-3.png | Готовый виджет
Image: widget-create-4.png | Кнопки редактирования
</gallery>


== Полноэкранный и HMI режимы ==
<!--T:212-->
Каждый элемент устройства (показание значения напряжения, сетевой адрес, кнопка управления реле, флажок состояния входа  и т.п.) -- называется "контрол". Несколько контролов могут быть объединены в один виджет. Подробнее смотрите в разделе [[#Widgets (Виджеты)|Widgets (Виджеты)]].


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


Мы добавили несколько режимов, которые позволят изменить компоновку веб-интерфейса в зависимости от задач.
<!--T:214-->
Удалить отключенные/неработающие устройства из веб-интерфейса можно с помощью кнопки '''Delete''' в виде значка с изображением мусорной корзины, в верхней строке плитки устройства. Кнопка появляется, когда указатель мыши находится над плиткой устройства.


=== Полноэкранный режим ===
<!--T:215-->
Режим позволяет оперативно переключаться между видами с помощью кнопки. Удобно использовать, например, при просмотре панелей с мобильного телефона или при создании дашбордов.
[[File:Web-Devices-Delete-Device-2.0.png|thumb|center|400 px|Удаление отключенного устройства]]


В этом режиме остаётся ''список панелей'' и вкладка ''История'', а верхняя панель веб-интерфейса скрывается, экономя место на экране. Режим удобно использовать, если у вас большая и сложная система с несколькими дашбордами и там нужна аналитика исторических данных.
=== Widgets (Виджеты) === <!--T:14-->
[[File:Web-Widgets-2.0.png|thumb|center|718px|Widgets - страница управления виджетами]]


Чтобы перейти в полноэкранный режим, откройте любую панель и нажмите справа вверху кнопку '''Открыть окно в полноэкранном виде'''.
<!--T:15-->
Виджеты - комбинированные элементы интерфейса контрроллера, включающие в себя набор контролов, то есть аппаратных параметров контроллера и подключённых к нему устройств - тех, что отображаются на странице [[#Devices (Устройства)|Devices (Устройства)]].


Учитывайте, что из-за политики безопасности браузеров скрыть заголовок браузера параметром командной строки невозможно, поэтому запускайте браузер в режиме киоска или используйте специальную сборку, читайте об этом ниже.
<!--T:216-->
На странице Widgets представлен список всех виджетов, созданных в системе. Сами виджеты создаются в настройках панелей, на этой странице ими можно только управлять: просматривать, удалять и добавлять к существующим панелям-дашбордам.


Чтобы скрыть заголовок браузера автоматически при старте, запустите его в режиме «Киоск»: [[#kiosk-mode|Переключение браузера в режим киоска]].


<gallery mode="packed" heights="150px" caption="Полноэкранный режим">
==== Пример создания виджетов ==== <!--T:217-->
Image: WebUI Fullscreen Button.png | Компьютер
{|
Image: WebUI Fullscreen.png | Компьютер, во весь экран
|[[File:Web-Dashboards-Add_Dashboard-2.0.png|thumb|500px|center|Создать новую панель]]
Image: WebUI Fullscreen Mobile off.png | Телефон
|[[File:Web-Dashboards-Add_Widget-2.0.png|thumb|500px|center|Создать новый виджет]]
Image: WebUI Fullscreen Mobile on.png | Телефон, во весь экран
|}
</gallery>
Для примера создадим два виджета с показаниями температуры и переключателями управления отопительными конвекторами для двух комнат ''"Комната 1"'' и ''"Комната 2"''.


=== Рабочее место оператора ===
<!--T:218-->
[[Image: WebUI Workplace Mode.png |300px|thumb|right| Рабочее место оператора, параметр <code>?fullscreen</code> ]]
* На боковой панели щелкнем на вкладке '''Dashboards''', в раскрывшемся списке выберем элемент '''List''' и на открывшейся странице нажмем кнопку '''Add'''.
Режим похож на полноэкранный, но в при его активации нет кнопки выхода из режима. Это позволяет в комбинации с [[#kiosk-mode|режимом браузера «Киоск»]] сделать рабочее место оператора, из которого он не сможет выйти в другие приложения или получить доступ к адресной строке и отключить режим.
* В поле '''Name''' напишем название новой панели, ''"Управление отоплением"'' и нажмем кнопку '''Save'''.
* В списке на странице '''Dashoards''' щелкнем по кнопке '''View''' напротив новой панели "Управление отоплением".
* В открывшемся окне с названием панели щелкнем по кнопке '''Add widget''' в правом верхнем углу окна (см. Рис. "Создать новый виджет").
* В заголовке виджета укажем название, в нашем случае ''"Комната 1"'', в списке '''Add control...''' выберем контрол, соовететвующий термометру в первой комнате, еще раз в этом списке выберем реле, которое будет включать нагреватель.
* В поле '''Name''' виджета можно задать осмысленные названия для контролов, например: ''"Температура"'' и ''"Обогреватель"''. Снимите флажок '''Compact mode''', чтобы эти названия контролов отображались в виджете.
* В поле '''Widget description''' можно написать назначение виджета.
* Аналогично создадим виджет для управления отоплением в комнате 2.
* Для внесения изменений подведите курсор к заголовку виджета и нажмите кнопку '''Edit widget''', внесите изменения и нажмите кнопку '''Save'''.


Чтобы открыть панели в этом режиме, добавьте в адресную строку параметр <code>?fullscreen</code>:
<!--T:219-->
<syntaxhighlight lang="ini">
{| class="wikitable"
# Для текстовой панели
|- style="vertical-align:bottom;"
http://192.168.2.108/#!/dashboards/dashboard1?fullscreen
|[[File:Web-Dashboards-Add_Control-2.0.png|thumb|400px|center|Добавить новый контрол в виджет]]
|[[File:Web-Dashboards-Widget_Ready-2.0.png|thumb|330px|center|Пример создания виджета]]
|[[File:Web-Dashboards-Dashboard_With_Widgets-2.0.png|thumb|460px|center|Пример готовых виджетов на панели]]
|}


# Для svg-панели
=== History (История показаний) === <!--T:20-->
http://192.168.2.108/#!/dashboards/svg/view/dashboard3?fullscreen
[[File:Web-History-Web-2.0.png|thumb|center|814px|Пример отображения исторических данных]]
</syntaxhighlight>


=== Режим HMI ===
<!--T:220-->
Если вы используете для управления системой автоматизации планшет или сенсорный экран и вам не нужны левое меню и верхняя панель со статусом подключения, то вы можете их убрать, включив режим HMI.
На странице ''History'' можно просмотреть историю изменения значений аппаратных ресурсов (например, датчиков температуры, напряжения, показаний счётчиков). История представляется одновременно в виде графика и таблицы значений с метками времени.


Чтобы открыть панель в режиме HMI, добавьте в адресную строку параметр <code>?hmi</code>. Примеры, где ''dashboard1'' — ID текстовой панели, а ''dashboard3'' — svg:
<!--T:221-->
<syntaxhighlight lang="ini">
Возможности просмотра исторических данных:
# Для текстовой панели
* Указание интервала времени для отображения данных
http://192.168.2.108/#!/dashboards/dashboard1?hmi
* Добавление и удаление нескольких показателей (кнопки Add channel и delete) на график
* Просмотр данных в виде графика и в виде таблицы
* Загрузка данных за выбранный период в csv-формате.


# Для svg-панели
<!--T:222-->
http://192.168.2.108/#!/dashboards/svg/view/dashboard3?hmi
При наведении указателя мыши на область изображения становятся доступными дополнительные функции (кнопки в верхней правой части графика):
</syntaxhighlight>
* Сохранение графика в формате .png
* Переключение между режимами Zoom (увеличения/уменьшения отрезка данных и масштаба с помощью выделения нужной области указателем мыши) и панорамирования Pan (перемещения области видимости с зажатой левой кнопкой мыши)
* Уменьшение и увеличение отображаемого временного интервала (Zoom in и Zoom out)
* Автоматический выбор масштаба графика по обеим осям
* Возвращение масштаба осей к исходному
* Включение/выключение указателя координат


Иногда надо сменить фон панели, сделать это можно с помощью параметра <code>hmicolor=%23abcdef</code>. Пример ниже сделает фон панели светло-синим, где <code>%23abcdef</code> — код цвета в шестнадцатеричном виде <code>#abcdef</code>:
<syntaxhighlight lang="ini">
# Для текстовой панели
http://192.168.2.108/#!/dashboards/dashboard1?hmi&hmicolor=%23abcdef


# Для svg-панели
<!--T:223-->
http://192.168.2.108/#!/dashboards/svg/view/dashboard3?hmi&hmicolor=%23abcdef
[[Wb-mqtt-db-cli|Утилита для извлечения исторических данных из внутренней базы данных]]
</syntaxhighlight>


Чтобы скрыть заголовок браузера автоматически при старте, запустите его в режиме «Киоск»: [[#kiosk-mode|Переключение браузера в режим киоска]].
=== Rules (Правила-скрипты) === <!--T:201-->
[[File:Web-Rules-2.0.png|thumb|center|800 px|Скрипт, открытый для просмотра и редактирования]]


<gallery mode="packed" heights="150px" caption="Режим HMI">
<!--T:224-->
Image: WebUI HMI.png | Без параметров
На странице '''Rules''' можно создавать и редактировать правила. Правила пишутся на простом языке, похожем на JavaScript и позволяют создавать правила ("включай свет с 10:00 до 18:00") или виртуальные устройства (например, кнопка в интерфейсе, которая включает и отключает всё освещение в здании вместе).
Image: WebUI HMI hmi.png | Параметр <code>?hmi</code>
*[[Движок правил wb-rules | Подробнее про скрипты]].
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>


=== Переключение браузера в режим киоска ===
=== Settings -> Configs (Настройки -> Конфигурирование) === <!--T:101-->
{{Anchor|kiosk-mode}}
[[File:Web-Configs-2.0.png|thumb|center|600 px|Страница Configs]]
Режим киоска браузера аналогичен режиму, который включается при нажатии на кнопку F11, с той лишь разницей, что из режима киоска пользователь выйти не может.
На странице '''Settings -> Configs''' производится конфигурирование контроллера и настройка подключения внешних устройств:
* настройка сетевых интерфейсов
* настройка серверов получения точного времени
* конфигурирование и настройка боковых и внутренних модулей
* настройка цифровых входов и выходов (GPIO): в последних версиях контроллера список GPIO по умолчанию пустой, все вводы-выводы сконфигурированы системой. Изменять назначение вводов-выводов следует, если вы хотите изменить их режим функционирования. Список номеров GPIO для последних версий контроллеров Wiren Board 6 представлен на странице [[Wiren_Board_6#Подробное_тех.описание_платы_контроллера|Подробное_тех.описание_платы_контроллера]].
* настройка аналоговых входов
* настройка логирования значений
* настройка шлюза контроллера -> Modbus TCP
* настройка подключения устройств RS-485
* настройка предупреждений (alarms)
* доступ к редактированию JSON-файла настроек веб-интерфейса


Этот режим удобно использовать при создании рабочего места оператора: добавляете в автозагрузку запуск браузера в режиме киоска у вас получается панель управления системой без возможности свернуть или закрыть окно.
=== Settings -> WebUI (Настройки -> Веб-интерфейс) === <!--T:100-->
[[File:Web-Settings_WebUI-2.0.png|center|thumb|600 px|Страница Settings]]


Как это сделать:
<!--T:225-->
# Откройте веб-интерфейс контроллера.
На странице '''Web UI''' настраиваются параметры веб-интерфейса и контроллера. Здесь можно:
# Скопируйте в адресной строке браузера URL.
* Выбрать подключение к MQTT-брокеру (Web-sockets), если используется нелокальный брокер, а, например, облачный сервис
# Запустите браузер без панелей:
* При необходимости указать учетные данные на удаленном MQTT-брокере
#* На компьютерах и планшетах с ОС Windows/Linux запустите браузер в режиме киоска и передайте ему параметром URL панели, примеры:
* Указать префикс всех топиков, с которым данные охраняются в облачном сервисе
#*:<syntaxhighlight lang="bash">
* Выбрать панель (Default Dashboard), которая будет отображаться на главной странице (Home)
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, описанными выше.
=== Settings -> System (Настройки -> Системные) === <!--T:226-->


}}
<!--T:227-->
[[File:Web-Settings_System-2.0.png|center|thumb|600 px|Страница System]]


== История полученных данных == <!--T:19-->
<!--T:228-->
{{Anchor|history}}
На этой странице можно обновить прошивку контроллера, предварительно скачав ее на компьютер.
[[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-->
=== Settings -> MQTT Channels (Настройки -> MQTT-каналы) === <!--T:229-->
Для просмотра истории перейдите в раздел '''История''' и выберите нужные каналы, или наведите курсор на канал виджета и нажмите кнопку с изображением гистограммы.
[[File:Web-Settings_MQTT_Channels-2.0.png|center|thumb|600 px|MQTT Channels]]


<!--T:22-->
<!--T:230-->
Возможности отображения:
На этой странице приводится справочная информация о всех MQTT-топиках, полученных веб-интерфейсом контроллера, а также статус их получения ('''ОК''' или '''ERR''' в последнем столбце).
* выбор периода;
* одновременный просмотр нескольких каналов;
* масштабирование;
* снятие скриншота;
* два графика на каждый канал — значения в базе и «дельта».
* курсорные измерения.


<!--T:23-->
=== Settings -> Change access level (Настройки -> Изменить уровень доступа) ===
Если нужно больше возможностей, можете настроить автоматический экспорт данных в [[Grafana]].
[[Файл:WebUI 2.0 — changing user rights.png|300px|thumb|right|Web UI 2.0 — смена уровня доступа текущего пользователя]]
=== Как работает история ===
Драйвер wb-mqtt-db записывает значение величины через указанный пользователем интервал времени.


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


Например, если сигнал быстро меняется, но нам не нужна информация обо всех значениях увеличиваем интервал записи и экономим на размере БД. А «Дельта» позволит нам не потерять информацию о максимальных и минимальных значениях величины между записями.
Доступны следующие уровни:
* User — дашборды, виджеты, история, базовые настройки.
* Operator права уровня User и раздел Devices.
* Administrator — полный доступ ко всем функциям.


Если вас не устраивает «Дельта» и вы хотите писать больше точек в базу, то:
Чтобы изменить уровень доступа к настройкам веб-интерфейса:
* для сигналов, которые меняются быстро — уменьшите значение в параметре «Минимальный интервал записи значений»;
* Зайдите в веб-интерфейс.
* для сигналов, которые меняются медленно — настройте параметр «Максимальное количество внеочередных записей».
* Перейдите в раздел '''Settings''' и выберите пункт '''Change access level'''. Установите нужное значение и нажмите кнопку '''Apply'''.


Кроме этого можно настраивать «глубину» хранения истории, для этого есть параметры «Максимальное количество записей на канал» и «Максимальное количество записей на группу». Работает это так:
== Стандартные задачи, решаемые через веб-интерфейс == <!--T:232-->
# Группируете каналы по группам. По умолчанию создана группа ''all'', куда включены все существующие mqtt-каналы по маске <code>+/+</code>.
# Далее настраиваете параметр «Максимальное количество записей на канал» для каждого канала.
# И, чтобы не было сюрпризов, вроде заполненной памяти контроллера, ограничиваете «Максимальное количество записей на группу».


Значения для построения графиков получаются следующим образом:
=== Подключить устройство RS-485 Modbus и создать кнопки управления на главной панели === <!--T:233-->
*В БД записываются средние, минимальные и максимальные значения за период между записями в базу.
[[RS-485:Настройка через веб-интерфейс]]
*Далее выбранный для отображения временной интервал разбивается на участки, количество которых зависит от разрешения экрана. Значения из БД группируются по этим интервалам.
*Если в интервал попадает несколько значений из БД, то для каждого интервала рассчитывается среднее.


===Обновить прошивку контроллера===
[[Обновление прошивки#Обновление прошивки через веб-интерфейс|Обновление прошивки через веб-интерфейс]]


<!--T:24-->
== Облачный интерфейс == <!--T:202-->
<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-->
<!--T:21-->
{{Anchor|rules}}
Веб-интерфейс Wiren Board можно разместить не только на самом контроллере, но и на специальном сервере. Тогда на интерфейс можно будет заходить, используя всегда один и тот же IP-адрес.
 
<!--T:26-->
В веб-интерфейсе контроллера есть редактор скриптов [[wb-rules]], который позволяет создавать, редактировать и удалять правила. Если в скрипте есть ошибки, то редактор сообщит вам об этом и укажет место в скрипте.
 
<!--T:27-->
Редактор доступен в разделе '''Правила''', используется CodeMirror, горячие клавиши:
{{SupportedSinceRelease
| release = wb-2307
|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-->
<gallery mode="packed" heights="150px">
Image: Web-Rules-2.0.png | Редактор скриптов
Image: Web-Rules-2.0 errors.png | Подсветка ошибок
</gallery>
 
== Настройка контроллера и подключённых устройств == <!--T:29-->
{{Anchor|settings}}
[[Image: Web-Configs-2.0.png |300px|thumb|right| Конфигурационные файлы ]]
Контроллер Wiren Board работает на Linux, поэтому почти все настройки хранятся в конфигурационных файлах. Файлы можно редактировать через [[SSH]] или с помощью веб-конфигуратора.
 
<!--T:30-->
Список доступных настроек вы найдёте в разделе ''' Настройки''' → '''Конфигурационные файлы'''.
 
<!--T:31-->
Например, через веб-интерфейс можно настроить подключённые [[RS-485:Configuration via Web Interface| Modbus-устройства]], шлюзы [[KNX | KNX]] и [[Modbus RTU/TCP Slave]] и другие параметры.
 
== Поиск устройств Wiren Board на шине RS-485 ==
[[Image: Scan-screen.png |300px|thumb|right| Сканирование устройств ]]
В разделе '''Настройки''' → '''Сканирование''' можно получить список всех устройств Wiren Board подключенных к шине RS-485 с их серийными номерами, настройками соединения и версиями прошивок.
 
Возможности функции сканирования:
* отображение всех устройств Wiren Board, подключенных к контроллеру,
* обнаружение устройств с одинаковыми адресами на одной шине,
* обнаружение устройств с разными параметрами связи на одной шине.
 
Благодаря функции сканирования можно собирать шкаф управления не обращая внимания на адреса устройств — все адреса и параметры можно будет получить после сборки и сконфигурировать устройства не отключая от шины.
 
== Уведомления о событиях == <!--T:32-->
{{Anchor|alarms}}
В веб-интерфейсе контроллера можно настроить отправку уведомления о событиях по SMS или Email, например, при срабатывании тревоги в модуле [[WB-MWAC Modbus Water Consumption Metering and Leak Monitoring| WB-MWAC]], отправить SMS на заданный номер. [[Notification module | Настройка модуля уведомлений]].
 
<!--T:33-->
Также вы можете отправлять уведомления в Телеграм, для этого нужно написать небольшой скрипт на wb-rules, [[Rule_Examples#telegram | пример]].
 
== Обновление прошивки и выгрузка диагностического архива == <!--T:34-->
{{Anchor|diagnostic}}
[[Image: Web-Configs-2.0 system.png |300px|thumb|right| Обновление ПО и выгрузка диагностики ]]
Обновить ПО контроллера без доступа к интернету можно через веб-интерфейс, для этого вам понадобится компьютер и заранее загруженный fit-файл прошивки. Подробнее про обновление ПО контроллера читайте на странице [[Wiren_Board_Software| Программное обеспечение Wiren Board]].
 
<!--T:35-->
Если в работе контроллера возникли ошибки, то при обращении в техническую поддержку рекомендуем выгрузить диагностический архив — это поможет нам быстрее разобраться в проблеме.
 
Выгрузить диагностический архив можно двумя способами:
* Перейдите в веб-интерфейсе на вкладку '''Настройки''' → '''Система''' и найдите раздел '''Сбор данных для диагностики'''. Сформируйте, а затем скачайте архив.
* Подключитесь к контроллеру по [[SSH]] и введите команду:
*:<pre>wb-diag-collect diag</pre>
*: архив будет сохранён в текущую папку, обычно это /root — оттуда его можно [[View_controller_files_from_your_computer|сохранить на компьютер]].
 
== Просмотр MQTT-каналов и системного журнала == <!--T:36-->
{{Anchor|mqtt-channels}}
Список MQTT-каналов пригодится при диагностике неисправностей, или при настройке интеграции со сторонним ПО, например, [[Rapid SCADA]] или [[Home Assistant]]. Список доступен в разделе '''Настройки''' → '''MQTT-каналы'''. Описание структуры топиков и общие рекомендации, смотрите в статье [[MQTT]].


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


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


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


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


<!--T:47-->
{{Wbincludes:WebUI Update}}
<gallery mode="packed" heights="350px" caption="Веб-интерфейс контроллера в телефоне">
== Основные отличия версии 2.x от 1.0 == <!--T:205-->
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-->
<!--T:206-->
* [[Wiren_Board_Web_Interface 1.0| Веб-интерфейс Wiren Board 1.0]], заменён на 2.0 в начале 2021 года.
* Каждый виджет может содержать произвольное число каналов, в виджете каналы можно переименовывать
* Отдельные устройства теперь автоматически сворачиваются в виде плиток, если не помещаются на экране. Плитки можно развернуть или свернуть
* Появились уровни доступа к интерфейсу (пользователь, оператор, администратор). Текущий уровень доступа отображается в правом верхнем углу интерфейса, рядом со значком состояния подключения
* Улучшенный интерфейс для мобильных устройств
* По клику на канал или значение название канала или его значение копируются в буфер обмена
* Историю значений можно посмотреть, нажав на кнопку, появляющуюся рядом со значением при наведении
* Историю значений можно скачивать в виде текстового файла
* Исторические данные загружаются постепенно; возможно сравнивать значения нескольких каналов
* Удаление лишних MQTT-топиков из интерфейса
* Все настройки отображения теперь хранятся в конфиг-файле /etc/wb-ui.conf в формате JSON. Теперь их можно редактировать и генерировать из сторонних программ и очень просто копировать с одного контроллера на другой
* Отсутствуют "Комнаты"
* Сохранение конфигурации интерфейса при обновлении предыдущей версии веб-интерфейса.
</translate>
</translate>

Версия 17:30, 28 июля 2021

Другие языки:
Главная страница веб-интерфейса

Контроллер 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 (как показано на рисунке "Выбор уровня доступа").

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

Home (Главная страница)

Home - главная страница

Это главная страница пользователя. На неё выводятся элементы интерфейса - так называемые "виджеты" (widget). Это могут быть показания датчиков (например, датчика температуры), кнопки включения света, управления подключёнными реле. Набор виджетов на главной странице полностью настраивается пользователем в меню Settings -> Web UI -> Common Info, где можно выбрать панель, которая будет отображаться во вкладке Home по умолчанию.

Dashboards (Панели)

Dashboards - список панелей

Виджеты со схожим назначением можно группировать в панели, где на одном экране находятся все необходимые кнопки, настройки и показатели датчиков. Например, можно объединить виджеты включения подогрева, кондиционера, отображения температуры и влажности. В разделе Dashboards можно увидеть все созданные панели. Раздел Home тоже отображает одну из панелей, выбранную в настройках.

Дважды щелкнув по вкладке Dashboards на боковой панели, можно раскрыть список всех панелей, созданных в веб-интерфейсе.

Кроме текстовых панелей с виджетами, можно создавать интерактивные SVG-панели (SVG Dashboards).

Пример SVG-панели

Devices (Устройства)

Devices - список всех аппаратных функций контроллера и подключённых устройств

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

Каждый элемент устройства (показание значения напряжения, сетевой адрес, кнопка управления реле, флажок состояния входа и т.п.) -- называется "контрол". Несколько контролов могут быть объединены в один виджет. Подробнее смотрите в разделе Widgets (Виджеты).

Подключаемые устройства (Modbus-модули, боковые и внутренние модули) не определяются контроллером автоматически. Чтобы на этой странице появились аппаратные возможности подключённых устройств (например, внешних модулей реле), сначала нужно настроить их через раздел Configs (Конфигурирование).

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

Удаление отключенного устройства

Widgets (Виджеты)

Widgets - страница управления виджетами

Виджеты - комбинированные элементы интерфейса контрроллера, включающие в себя набор контролов, то есть аппаратных параметров контроллера и подключённых к нему устройств - тех, что отображаются на странице Devices (Устройства).

На странице Widgets представлен список всех виджетов, созданных в системе. Сами виджеты создаются в настройках панелей, на этой странице ими можно только управлять: просматривать, удалять и добавлять к существующим панелям-дашбордам.


Пример создания виджетов

Создать новую панель
Создать новый виджет

Для примера создадим два виджета с показаниями температуры и переключателями управления отопительными конвекторами для двух комнат "Комната 1" и "Комната 2".

  • На боковой панели щелкнем на вкладке Dashboards, в раскрывшемся списке выберем элемент List и на открывшейся странице нажмем кнопку Add.
  • В поле Name напишем название новой панели, "Управление отоплением" и нажмем кнопку Save.
  • В списке на странице Dashoards щелкнем по кнопке View напротив новой панели "Управление отоплением".
  • В открывшемся окне с названием панели щелкнем по кнопке Add widget в правом верхнем углу окна (см. Рис. "Создать новый виджет").
  • В заголовке виджета укажем название, в нашем случае "Комната 1", в списке Add control... выберем контрол, соовететвующий термометру в первой комнате, еще раз в этом списке выберем реле, которое будет включать нагреватель.
  • В поле Name виджета можно задать осмысленные названия для контролов, например: "Температура" и "Обогреватель". Снимите флажок Compact mode, чтобы эти названия контролов отображались в виджете.
  • В поле Widget description можно написать назначение виджета.
  • Аналогично создадим виджет для управления отоплением в комнате 2.
  • Для внесения изменений подведите курсор к заголовку виджета и нажмите кнопку Edit widget, внесите изменения и нажмите кнопку Save.
Добавить новый контрол в виджет
Пример создания виджета
Пример готовых виджетов на панели

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 производится конфигурирование контроллера и настройка подключения внешних устройств:

  • настройка сетевых интерфейсов
  • настройка серверов получения точного времени
  • конфигурирование и настройка боковых и внутренних модулей
  • настройка цифровых входов и выходов (GPIO): в последних версиях контроллера список GPIO по умолчанию пустой, все вводы-выводы сконфигурированы системой. Изменять назначение вводов-выводов следует, если вы хотите изменить их режим функционирования. Список номеров GPIO для последних версий контроллеров Wiren Board 6 представлен на странице Подробное_тех.описание_платы_контроллера.
  • настройка аналоговых входов
  • настройка логирования значений
  • настройка шлюза контроллера -> Modbus TCP
  • настройка подключения устройств 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

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

Settings -> Change access level (Настройки -> Изменить уровень доступа)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Wbincludes:WebUI Update

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

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