Введение в веб-конфигурирование wb-rules с помощью JSON-editor
Список страниц по JSON-editor
- Введение в веб-конфигурирование wb-rules с помощью JSON-editor
- Процесс разработки конфигуратора с JSON-editor
- Описание работы с JSON-editor
Описание
Руководство описывает процессы и примеры разработки конфигуратора скриптов wb-rules. Конфигуратор позволяет настраивать параметры скриптов wb-rules (и любого другого софта) из веб-интерфейса контроллера, что облегчает процесс настройки вашего скрипта пользователями.
Страница содержит обзор возможностей, ограничений и примеров существующих конфигураторов.
Предполагается что вы:
- знаете как писать скрипты wb-rules;
- работали с форматом данных JSON;
- слышали что существует JSON Schema;
- но еще не знаете что такое json-editor и как с ним работать.
Введение
Возможности
На контроллере WirenBoard используется метод создания форм в WEBUI для настройки сервисов Linux с помощью заполнения в браузере.
Он активно применяется как внутри компании для настройки функциональности, так и пользователями для настройки своих систем через веб-интерфейс.
Это работает следующим образом:
- При разработке скрипта wb-rules разработчик выделяет параметры, которые должен задавать и изменять пользователь - например громкость зуммера или контрол MQTT.
- Разработчик создает интерфейс для настройки сервиса (например для скрипта wb-rules), используя доступные элементы пользовательского веб-интерфейса (чекбоксы, текстовые поля, выпадающие списки и др.).
- Пользователи используют разработанные формы веб-интерфейса для настройки сервисов 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)»
Конфигурация сохраняется в файле /etc/ntp.conf
.
Исходники доступны в файле:
Конфигуратор «Модуль уведомлений»
Конфигурация сохраняется в файле /etc/wb-rules/alarms.conf
.
Исходники доступны в файле:
Навигация
Страница (1 из 7): Введение в WEB-конфигурирование wb-rules с помощью JSON-editor
Вперед →: Процесс разработки конфигуратора с JSON-editor