Введение в веб-конфигурирование wb-rules с помощью JSON-editor

From Wiren Board
This is the approved revision of this page, as well as being the most recent.


Список страниц по JSON-editor

  1. Введение в веб-конфигурирование wb-rules с помощью JSON-editor
  2. Процесс разработки конфигуратора с JSON-editor
  3. Описание работы с JSON-editor

Описание

Руководство описывает процессы и примеры разработки конфигуратора скриптов wb-rules. Конфигуратор позволяет настраивать параметры скриптов wb-rules (и любого другого софта) из веб-интерфейса контроллера, что облегчает процесс настройки вашего скрипта пользователями.

Страница содержит обзор возможностей, ограничений и примеров существующих конфигураторов.

Предполагается что вы:

  • знаете как писать скрипты wb-rules;
  • работали с форматом данных JSON;
  • слышали что существует JSON Schema;
  • но еще не знаете что такое json-editor и как с ним работать.

Введение

Возможности

На контроллере WirenBoard используется метод создания форм в WEBUI для настройки сервисов Linux с помощью заполнения в браузере.

Он активно применяется как внутри компании для настройки функциональности, так и пользователями для настройки своих систем через веб-интерфейс.

Это работает следующим образом:

  1. При разработке скрипта wb-rules разработчик выделяет параметры, которые должен задавать и изменять пользователь - например громкость зуммера или контрол MQTT.
  2. Разработчик создает интерфейс для настройки сервиса (например для скрипта wb-rules), используя доступные элементы пользовательского веб-интерфейса (чекбоксы, текстовые поля, выпадающие списки и др.).
  3. Пользователи используют разработанные формы веб-интерфейса для настройки сервисов linux или скриптов wb-rules.

Ограничения

Обратите внимание, что у данного инструмента есть ограничение - односторонняя связь:

  • можно передать информацию из конфигуратора в скрипт;
  • нельзя передать информацию из скрипта в конфигуратор в момент работы пользователя внутри конфигуратора.

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

Для решения данной ситуации можно предупредить пользователя двумя способами:

  • записью в журнал, с помощью функций лога - например, log.debug(), это будет видно в окне отладки;
  • сообщением в браузере, для этого нужно записать сообщение в MQTT топик типа alarm.

Примеры конфигураторов

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

Важно отметить: Некоторые типы конфигураторов используют больше возможностей чем дает json-editor. Создание таких конфигураторов выходит за рамки данного руководства, вот некоторые из них:

  • Сетевые соединения;
  • Шлюз MQTT - Modbus RTU/TCP slave;
  • Настройка драйвера serial-устройств.


Конфигуратор «Настройки безопасности»

Конфигуратор «Настройки безопасности»

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

Конфигурация сохраняется в файле /etc/wb-security.conf.

Содержит два свойства:

  • скрытое: configVersion;
  • видимое: probeOpenPorts.

Исходники доступны в файле:


Конфигуратор «Синхронизация даты и времени (NTP)»

Конфигуратор «Синхронизация даты и времени (NTP)»

Конфигурация сохраняется в файле /etc/ntp.conf.

Исходники доступны в файле:


Конфигуратор «Модуль уведомлений»

Конфигуратор «Модуль уведомлений»

Конфигурация сохраняется в файле /etc/wb-rules/alarms.conf.

Исходники доступны в файле:


Навигация

Страница (1 из 7): Введение в WEB-конфигурирование wb-rules с помощью JSON-editor
Вперед →: Процесс разработки конфигуратора с JSON-editor