Веб-интерфейс управления
Основной инструмент управления шлюзом SLS - это его веб-интерфейс. Рассмотрим в подробностях каждый его пунктик.
Подключение к шлюзу
Интерфейс управления доступен по IP адресу устройства на стандартном порту HTTP (80). Также, шлюз может быть доступен по DNS имени. Для этого необходимо, чтобы в сети была настроена соответствующая служба.
Если настроена авторизация, то при подключении необходимо ввести правильную пару логин/пароль
Структура меню
Info
Стартовая страница веб-интерфейса - это страница с информацией о статусе шлюза и его подсистем: ESP32, zigbee модуля, подключения к локальной сети к внешним сервисам, синхронизации времени. Открывается, также, при нажатии на меню "SLS"
SLS Info
Информация о состоянии контроллера ESP32
- Version: текущая версия прошивки. Если она актуальна, то в скобках отображается надпись
Latest
, иначе - версия актуальной прошивки в виде ссылки на форму обновления. - Uptime: время, прошедшее после перезагрузки шлюза.
- LastSave: время, прошедшее после сохранения конфигурации.
- FreeHeap: количество свободной оперативной памяти в байтах. В скобках - минимум, до которого это значение опускалось в текущем сеансе. Рекомендуется ниже 100 кбайт не опускаться. Памяти может не хватать при большом количестве подключенных устройств, а также при выполнении объемных скриптов.
- FreeHeapCommon: объем ОЗУ.
- TotalPsram: объем PSRAM (Pseudostatic RAM) - это тоже память, но чуть помедленнее. Данные контроллер там размещает специальным образом, заданным программистом.
- FreePsram: количество свободной PSRAM. В скобках - минимум, до которого это значение опускалось в текущем сеансе.
- Storage: внутреннее хранилище контроллера ESP32 - флэш-память. LFS: файловая система. Если файловая система
FAT
, то очень желательно заменить её наLittleFS
- она специально разработана для микроконтроллеров и отлично переносит холодные рестарты. Для смены файловой системы, необходимо обновить прошивку шлюза. 16Mb: объем флэшки. QOUT 80: режим доступа к SPI флэш и скорость шины. Можно менять при прошивке. Разные режимы немного отличаются по скорости.
Network info (WiFi)
Здесь отображается справочная информация о подключении к локальной сети: настройки сетевого интерфейса, такие как IP (внешний и внутренний) и MAC адрес SLS, адрес маршрутизатора, и DNS серверов, маска подсети. Также, отображаются параметры подключения к сети Wi-Fi, такие как SSID, BSSID, текущий радио-канал, метод шифрования и качество WiFi соединения.
Zigbee info
Информация о состоянии zigbee-модуля:
- Devices: количество подключенных зигби устройств.
- ChipType: тип радиомодуля (например, TI CC2652).
- IeeeAddr: физический адрес.
- Revision: версия прошивки (на момент публикации статьи рекомендуемая стабильная версия 20230507).
- PanId: идентификатор сети ZigBee (Personal area network).
- Channel: частотный канал ZigBee модуля.
- DeviceState: статус радиомодуля. Если он отличен от 9 [ OK ], то скорее всего возникла аппаратная проблема или неверно настроены пины.
States
Информация о статусе подключения к MQTT брокеру и Cloud - облаку SLS.
- MQTT: статус и аптайм подключения к MQTT брокеру. Может иметь значения:
- Connected - подключен
- Disabled - отключен в настройках
- Not connected (Connect failed) - ошибка подключения (хост недоступен)
- Not connected (Unauthorized) - ошибка подключения (ошибка авторизации)
- MQTT Prefix: корневой топик шлюза (например ZigbeeSLS).
- Cloud: статус подключения к облаку SLS, для мониторинга и интеграции с внешними сервисами, например Яндекс Алиса. Может быть Connected и Disabled. Облако в перманентной разработке.
Settings
Текущий статус синхронизации системных часов. Если в шлюзе не распаян модуль RTC (real time clock - часы реального времени), то для правильной работы таймеров в скриптах, обязательно должна быть настроена синхронизация с серверами точного времени.
- Current Time: текущие дата и время.
- Current TimeZone: часовой пояс (например, UTC+5:00).
- Current NTP server: сервер точного времени (например, pool.ntp.org).
UI
Шлюз SLS позволяет пользователю создать свой, альтернативный, интерфейс. Например, такой:
TODO: здесь будет ссылка на статью и видео с подробным разбором создания собственного UI
Objects
Объекты - это универсальная сущность для хранения и обмена данными между подсистемами шлюза, например между скриптами LUA. Здесь находятся инструменты для управления объектами:
Кнопки в заголовке:
- Refresh: обновить список объектов.
- Add (плюсик): создать новый объект.
Поля таблицы:
- N: номер по порядку (для информации).
- Name: имя объекта.
- Type: тип данных.
- Value: текущее значение.
- OldValue: предыдущее значение.
- TS: дата и время записи текущего значения (timestamp).
- OldTS: дата и время записи предыдущего значения.
- Script: имя скрипта, привязанного к объекту - запускается при изменении значения.
- Flags: флаги объекта.
- Actions: управление объектом.
Кнопки в поле Actions каждого объекта:
- Edit (карандашик): редактировать объект. Открывается форма, такая же, как при создании.
- Remove (крестик): удалить объект.
Создание и редактирование объекта
- Name: имя объекта.
- Value: значение.
- Ack: флаг обратной связи.
- Type: тип значения объекта (STR, INT, FLOAT, BOOL, JSON).
- Share: сетевые флаги. Пока доступен флаг MQTT, для передачи значения объекта на MQTT брокер.
- Script: имя скрипта, привязанного к объекту - запускается при изменении значения.
- Run on Write: флаг запуска при каждой записи значения в объект, даже если оно не изменилось
Zigbee
Здесь собраны инструменты для работы с zigbee модулем. Структура меню:
Devices
Список подключенных устройств. Заголовки полей таблицы кликабельны и позволяют при клике по нему отсортировать соответствующее поле. При этом рядом с таким заголовком отображается значок сортировки.
Пробежимся по полям таблички:
- #: номер по порядку.
- Pic: изображение устройства. При наведении на него мышкой - картинка увеличивается.
- Address: физический адрес устройства -
ieeeAddr
(в скобках сетевой адрес -nwkAddr
). При нажатии на него, открывается форма управления устройством. - Friendly Name: дружественное имя. Желательно в латинице, но не обязательно.
- Manuf: идентификатор производителя устройства.
- ModelId: идентификатор модели устройства.
- CID: идентификатор конвертера. При клике по значению, откроется карточка устройства в справочнике поддерживаемых устройств.
- Link: уровень связи с координатором.
- Interview: статус прохождения интервью с координатором.
- Last Seen: время, прошедшее после последнего появления устройства в сети.
- Routers: если устройство подключено через роутер(ы), то здесь отображается его адрес, при клике по которому открывается форма управления устройством - роутером.
- PS: тип источника питания. Для батарейных устройств отображается уровень заряда батареи.
- Actions: кнопки:
- Rename device - открывает форму редактирование friendly name
- Remove device - выпадающий список с двумя вариантами удаления устройства:
- Send leave req - отправить запрос на удаление устройства с координатора
- Remove - удалить сразу.
Управление устройством
Здесь находятся инструменты управления устройством и отображается различная статусная информация.
Вкладка Info
Здесь выводится основная информация об устройстве. Также, здесь можно управлять конвертером, отредактировать Friendly Name и удалить устройство. Описание полей здесь такое же как и в таблице устройств. Повторятся не будем. Остановимся на описании полей, которых нет в таблице.
- Converter Id: здесь по порядку:
- Reload converter - по сути его сброс, при котором очищаются все состояния (states)
- Set converter id - прописать номер конвертера вручную, если он не определился автоматически; и, собственно текущий номер конвертера, клик по которому открывает справочник поддерживаемых устройств. В этом же справочнике можно подобрать конвертер, если он не определился автоматически.
- DateCode: версия прошивки устройства.
Далее идет описание структуры устройства по каждому Endpoint: Profile Id
, Device Id
, Input clusters
, Output clusters
.
Внизу страницы кнопки:
- Rename device: открывает форму редактирование friendly name.
- Reload converter Id: по сути его (конвертера) сброс, при котором очищаются все состояния (states).
- Set converter Id: прописать номер конвертера вручную.
- Bind: открывает одноименную вкладку, для настройки биндинга.
- Remove device: удаление устройства.
Вкладка Bind
Здесь настраивается прямой биндинг устройств.
Протокол Zigbee поддерживает непосредственную привязку Endpoint'ов устройств, которая позволяет напрямую управлять друг другом без вмешательства координатора или любого программного обеспечения для домашней автоматизации. Далеко не все устройства имеют прошивки с поддержкой такой привязки.
Для настройки необходимо:
- в Source Cluster/Ep выбрать управляющий кластер (output cluster)
- в DstNwkAddr выбрать управляемой устройство, в котором найден подходящий кластер (input cluster)
- в DstEp выбрать кластер для управления
- нажать кнопку Bind
Вкладка States
Здесь отображаются состояния устройства.
Возле каждого значения (Value
) состояния есть кнопки: Get
- выполнить команду get в конвертере, если она поддерживается, устройство вернет новое значение; Set
- установить значение состояние вручную, если оно доступно для записи, новое значение будет записано в устройство.
Также, на этой вкладке настраиваются автоматизации Simple Bind. На картинке видно правило SB напротив состояния occupancy
. Если коротко, то правило выполняется при каждом изменении состояния.
Среди прочих состояний, стоит сказать о состоянии last_seen
. В это состояние выводится время последнего репорта устройства в формате unix timestamp
. По нему удобно контролировать, не отвалилось ли устройство. Например, так:
Это код на языке программирования LUA.
Вкладка Options
В некоторых устройствах имеется возможность настройки параметров (options). Например, в датчике движения на картинке, можно настроить время, которое устройство будет находиться в сработке:
Видео-обзор меню Zigbee - Devices
Join
Здесь выполняется подключение новых устройств.
По кнопке Enable Join включается режим сопряжения, во время которого новое устройство, переведенное также, в режим сопряжения регистрируется на шлюзе. Рядом с кнопкой Enable Join имеется выпадающий список, из которого можно выбрать существующий роутер для подключения. Однако, рекомендуется подключаться все-таки к координатору, а влияние роутеров по максимуму минимизировать. Особенно, это важно для "вредных" устройств, которые неохотно подключаются (PTVO, например). Для этого новое устройство нужно поднести к шлюзу на минимально возможное расстояние и отключить роутеры на время сопряжения.
В процессе сопряжения необходимо добиться сообщения Successfully Joined. Если процесс зависает на каком-то этапе, то нужно отключить режим сопряжения, удалить устройство и повторить.
Также, шлюз поддерживает сопряжение устройств по технологии TouchLink (Lightlink), которая предусматривает поиск и идентификацию устройств перед подключением и не требует дополнительного ввода устройства в режим сопряжения. Например, лампы и пульты IKEA Tradfri.
Видео-обзор меню Zigbee - Join и сопряжения устройства
Map
Здесь отображается карта zigbee сети
Координатор обозначен символом звезды
. От координатора расходятся лучи - линки до устройств. Линки синего цвета до роутеров, а зеленого до конечных устройств. На линках цифрой указан уровень радиосигнала. Устройства подписаны дружественным именем (friendly name
). Если оно не задано, то сетевым адресом (nwkAddr
).
Config
Настройка zigbee модуля.
Channel: частотный канал ZigBee модуля. Доступный диапазон 11-26. Желательно использовать стандартные каналы 15, 20, 25, поскольку на нестандартных могут не работать особо капризные устройства. По умолчанию установлен канал 11, как самый дальнобойный. Если нет проблем со связью устройств, менять его не стоит. Чем меньше номер канала, тем меньше частота и тем больше покрытие (дальность) радиоканала. Важно! При смене канала придется пересобирать сеть.
PanId: идентификатор сети ZigBee (Personal area network ID). Если в одной локации несколько сетей - он должен быть уникальным для каждой. Доступный диапазон 1-65535. По умолчанию - 4660 (0x1234). Важно! При смене PanID придется пересобирать сеть.
MQTT messages options: формат передаваемых данных MQTT.
Разберем каждую опцию настроек формата:
- MQTT Send Raw Command: отправка необработанных данных (RAW).
- MQTT Send parsed JSON (Default): отправка обработанных данных в формате JSON. Включено по умолчанию.
- MQTT Send parsed Attributes: обработка (парсинг) RAW данных и отправка каждого состояния отдельной посылкой. На скриншоте ниже показана разница в данных, если включить все три варианта: RAW, JSON и обработанный RAW
На скриншоте ниже видна разница в передаваемых данных разного формата:
- Use FriendlyName (for MQTT Topic & HA Entity ID): если включено, то MQTT топики и ID сущностей в НА (Home Assistant) именуются дружественным адресом (friendly name) устройства, иначе используется
ieee
адрес. Еслиfriendly name
не задано, то используетсяieee
адрес. - Send Cache States: отправка кэшированных данных. Например, если датчик температуры и влажности прислал только температуру, при выбранном пункте, в сообщении будет отправлено значение и температуры и кэшированное значение влажности. Если пункт не выбран - в сообщении придет только температура. Кэш записывается во флеш память каждые 30 минут. По умолчанию включено. На скриншоте ниже видно как это работает:
- Clear states: передавать "пустое" значение состояния click и actions, после отправки. Необходимо для систем, которые могут выполнять обработку только при изменении значения, а не при обновлении. По умолчанию включено. Может немного увеличивать трафик. На скриншоте ниже показано, как это работает:
- Add options states to payload: добавляет состояния опций. Например, опция реле switch_type.
- Add friendly name to payload: добавляет дружественное имя.
- Add transaction number to payload: добавляет номер транзакции (
trSeqNum
). - Add model name to json payload: добавляет модель в вывод JSON (
ModelId
). - Add last seen to json payload: добавляет время последнего репорта в JSON (
last_seen
).
MQTT messages options применяются без перезагрузки, хоть веб-интерфейс об этом и "просит". Для применения настроек zigbee модуля (Chanel, PanId) перезагрузка обязательна:
Видео-обзор меню Zigbee - Config, Reset и BSL
Reset to Default
Позволяет сбросить настройки zigbee модуля на "заводские": очищает список устройств, сбрасывает PanId и Chanel на значения по умолчанию.
Soft Reset
Перезапускает zigbee модуль по пину RST. Для правильной работы должен быть прописан RST пин zigbee-модуля. Подтверждение не запрашивает!
Для проверки корректности рестарта можно посмотреть в лог
Start BSL
Режим включения zigbee модуля, позволяющий обновить его прошивку "по воздуху", без программатора - Serial Bootloader (BSL и SBL - это одно и тоже. Разные вендоры не смогли определиться с одинаковой аббревиатурой).
Log
Log - это журнал сообщений системы.
Здесь, пожалуй, следует рассказать про так называемый websocket или ws. Дело в том, что в веб интерфейсе все динамические обновления контента происходит по данной технологии. И, если в других частях веб интерфейса это не слишком актуально - страничку всегда можно обновить, то Log без WS отображаться не будет. Порт WS всегда порт веба + 1. То есть, если стандартный порт 80, то порт WS = 81. Это следует учитывать при настройке проброса портов на роутере для доступа к шлюзу из сети Интернет. Также, websocket сервер шлюза не поддерживает secure ws или wss. Это следует помнить при доступе к шлюзу снаружи по HTTPS, например с использованием KeenDNS. Проброс порта 443+1=444 не поможет. Более того, при попытке подключения по WSS падает веб-сервер шлюза.
Кроме журнала в веб интерфейсе, есть еще сетевой лог UDP и Serial Log. Обо всех возможностях мониторинга мы поговорим отдельно.
Журнал позволяет отслеживать события с различным уровнем детализации: Normal, Verbose, Debug. Обратите внимание на флаги [D] и [V] после штампа времени - это уровни Debug и Verbose соответственно.
Уровень лога задаётся с помощью выпадающего списка в правой части окна:
- LOG_DEBUG: уровень отладки - самый подробный лог. Уровни 1, 2, 3.
- LOG_VERBOSE: подробный уровень. Не выводятся события с флагом [D]. Уровни 1, 2.
- LOG_NORMAL: минимум информации. Не выводятся события с флагами [D] и [V]. Данный уровень удобен для отладки скриптов LUA, поскольку здесь остается весь вывод, включая ошибки. Уровень 1.
- LOG_OFF: отключение лога. Уровень 0.
Следует заметить, что уровень логирования устанавливается на уровне системы, а не только для отображения в веб интерфейсе. С установленным здесь уровнем лог выводится и в UDP, и в WS. В теории, уменьшение детализации лога, может сэкономить ресурсы.
Элементы управления отображением лога в веб интерфейсе:
- Clear screen: кнопка очищает окно лога.
- Clear logs cache: кнопка очищает буфер вывода лога.
- Follow log: отключает прокрутку лога в окне.
Settings
Здесь собраны настройки системы. Структура меню:
Network
Настройка подключения к локальной сети.
- WiFi SSID: имя Wi-Fi точки доступа, к которой подключается шлюз.
- WiFi Password: пароль от точки доступа.
- mDNS domain: имя шлюза в сети. Для правильной работы, в сети должен быть настроен сервис mDNS (Multicast Domain Name System). Если сервиса в сети нет, то обращение к шлюзу возможно только по IP адресу.
- DHCP: Dynamic Host Configuration Protocol - автоматическая настройка параметров сетевого интерфейса. Бытует мнение, что трушные админы не должны использовать динамику, а только статику - только хардкор). При включенной опции, настройки из раздела Static configuration не используются.
- IP: статический IP адрес SLS.
- Mask: маска подсети.
- Gateway: адрес маршрутизатора сети.
- DNS: адрес сервера DNS в сети.
Time & Location
Настройка времени и геолокации шлюза.
Раздел Location - настройка геолокации. Здесь необходимо указать координаты устройства: Latitude (широта) и Longitude (долгота). Обязательно для использования функций астротаймера в скриптах LUA.
Раздел Date & Time - настройка времени и его синхронизации с NTP сервера:
- Current time: выводятся текущие дата и время устройства. Если распаян модуль RTC (Real Time Clock), то это указывается в скобках после надписи Current time.
- Enable NTP: включает синхронизацию времени с NTP сервером.
- TimeZone: часовой пояс в формате UTC. Например, для Москвы: UTC +3:00.
- NTP Server: сервер NTP. Желательно указывать наиболее доступный сервер. Если в сети настроен локальный источник точного времени, можно указать его.
Link
Настройки подключения к внешним сервисам. На данный момент доступны MQTT и Cloud (облако SLS).
MQTT Setup
Настройка подключения к MQTT брокеру.
- Enable: включает связь с MQTT брокером.
- Server: адрес MQTT брокера.
- Port: сетевой порт брокера. По умолчанию 1883.
- User: имя пользователя для авторизации на брокере (Логин).
- Password: пароль для авторизации на брокере.
- System prefix topic: корневой топик для данного шлюза SLS на брокере. Может быть одинаковым для разных шлюзов на одном брокере. При этом надо следить, чтобы на этих шлюзах не было дублирования устройств и объектов.
- Retain states: retain флаг "говорит" брокеру сохранить сообщение. Без этого флага при повторном подключении клиента (например, при перезагрузке), ему необходимо будет ждать изменения состояния, чтобы получить значение, а с флагом retain, брокер запоминает последнее сообщение и отдает его клиенту сразу.
- MQTT Retain lwt: флаг "LWT" - Last Will and Testament - это завещание брокеру при отвале шлюза. Типа "если я умру, запиши в мой топик /status статус offline и и расскажи всем об этом".
- Home Assistant MQTT Discovery: опция используется при интеграции с сервером умного дома Home Assistant (HA), для автоматического добавления новых устройств. При этом на брокере создается специальный топик с именем, заданным в поле Discovery topic. Имя топика по умолчанию homeassistant. Если его изменили в НА, то обязательно здесь прописать такое-же, иначе не будет работать Discovery.
- Add FriendlyName to Entity Name: включает именование сущностей в НА дружественным именем (friendly name) устройств в SLS. При этом следует именовать устройства в SLS латиницей без пробелов. При выключенной опции и/или отсутствии friendly name, сущности в НА именуются ieee адресом.
Cloud Setup
Настройка подключения к облаку SLS. Облако задумывалось как средство мониторинга и управления несколькими шлюзами, резервного копирования и восстановления конфигурации SLS, интеграции с Яндекс Алисой и прочими сервисами, но до сих пор находится в зачаточном состоянии.
- Status: статус подключения к облаку.
- Token: секретный ключ для авторизации шлюза в облаке.
- Enable: подключаться к облаку или нет.
- Send Data to Cloud: передавать ли данные для мониторинга шлюза в облако.
- Receive Command from Cloud: включает управление шлюзом из облака.
Serial
Здесь должны настраиваться последовательные порты (UART). Но, этот раздел толи остался со старых прошивок рудиментом, толи не реализован до конца. Вендор обещает реализовать настройки в новом веб интерфейсе, который мы ждем уже не один год. Надеюсь в этом году мы его дождемся). А пока настройки портов доступны в файле конфигурации config.json
Services
Настройка проброса последовательных портов через TCP.
- Zigbee TCP bridge. С помощью данного режима шлюз можно использовать как беспроводной мост для подключения zigbee устройств к софтовому координатору zigbee2mqtt. По сути шлюз превращается, шлюз превращается... в Zigbee стик). Также в этом режиме можно резервировать и восстанавливать nvram zigbee модуля и обновлять его прошивку по воздуху.
serial:
port: 'tcp://192.168.1.13:8881'
serial:
port: 'tcp://192.168.1.13:8881'
- Serial TCP bridge. С помощью данного режима, шлюз можно использовать как беспроводной мост для использования, например Modbus RTU over TCP.
Users
Настройка авторизации в веб интерфейсе и HTTP API шлюза.
- Enable: включает авторизацию веб интерфейса.
- Login: имя пользователя.
- Password: пароль пользователя.
- Secure API: включает авторизацию в HTTP API по токену.
- Secure UI: включает авторизацию в альтернативном интерфейсе.
- Token: токен безопасности для доступа к HTTP API. Поле вычисляемое. Свою версию формулы пишите в комментариях).
Внимание! Веб интерфейс позволяет сохранить пустые поля Login/Password. При этом не позволяет с пустыми полями авторизоваться. Проверять не советую, дабы не получить мем с лампочкой во рту. Я проверил и смог исправить без хирургического вмешательства. Напишите в комментариях свой вариант решения.
Hardware
Настройка пинов подключения zigbee модуля, программируемой кнопки на корпусе шлюза, светодиодов индикации и устройств I2C к микроконтроллеру ESP32. На скриншоте ниже настройки для шлюза, официально приобретенного у вендора.
- Zigbee module: выбирается тип распаянного zigbee модуля.
- Zigbee UART RX/TX: к каким пинам ESP32 распаян UART zigbee модуля.
- Zigbee RST Pin: пин для аппаратного рестарта zigbee модуля.
- Zigbee BSL Pin: Serial Bootloader пин zigbee модуля.
- Service Button Pin: пин, к которому подключена программируемая кнопка на корпусе шлюза.
- PullUp: включение подтяжки кнопки к + питания.
- Number addressable leds: количество подключенных адресных светодиодов (далее led). Если led не адресный, то значение здесь не важно и обычно выставлено 0.
- Led Red (or addr): для адресного led указывается пин, к которому подключен вывод Data индикатора, иначе пин к которому подключен вывод Red индикатора.
- Led Green: пин, к которому подключен Green вывод RGB led. Для адресного не используется.
- Led Blue: пин, к которому подключен Blue вывод RGB led. Для адресного не используется.
- I2C SDA/SCL: пины для подключения к шлюзу внешнего устройства по шине I2C.
Actions
Здесь собраны различные инструменты для работы со шлюзом.
Files
Файловый менеджер и по совместительству тестовый редактор с подсветкой синтаксиса скриптов LUA. Позволяет создавать, удалять, редактировать файлы на внутреннем накопителе. SD карта файловым менеджером не поддерживается.
Для удобства, на скриншоте цифрами обозначены различные панели:
- Менеджер файлов. Позволяет по кнопке "New file" создать файл. По кнопке с корзинкой удалить файл. Открыть на редактирование - каждый файл представляет собой ссылку, по которой файл открывается в панели редактора (панель 3).
- Панель инструментов. Здесь отображается текущий открытый файл, а также имеются кнопки управления:
- Toggle files: убирает менеджер файлов (панель 1).
- Save: сохраняет текущий открытый файл (горячие клавиши Ctrl+S).
- Run: запускает скрипт из редактора (горячие клавиши Ctrl+E).
- Clear output: очищает вывод окно вывода результатов работы скрипта (панель 4).
- Текстовый редактор. Позволяет редактировать текстовые файлы. Для скриптов LUA доступны подсветка синтаксиса и автоматическая установка отступов (размер отступа = 2 символа). При открытии файлов типа JSON, в панели инструментов появляется кнопка Format, при нажатии на которую JSON форматируется из строки в удобный построчный вид с отступами:
- панель вывода результатов работы скрипта, запущенного из редактора. Скриптовый stdout функции LUA
print()
выводит информацию на панель вывода, а также в системный лог (меню Log) шлюза. Данную функцию удобно использовать для отладки скриптов.
Backup
Инструменты резервного копирования и восстановления. Пока поддерживается ручное сохранение списка устройств и конфигурации шлюза (devices.json
и config.json
). Память координатора (nvram) здесь не сохраняется.
Для сохранения резервной копии, в разделе Backup нужно выбрать что сохранять и нажать кнопку Create. По окончании резервирования откроется стандартный диалог сохранения файла, где нужно указать путь, по которому он будет загружен.
Для восстановления из резервной копии, в разделе Restore нужно указать путь к фалу бэкапа и нажать кнопку Restore. По окончании восстановления в веб интерфейсе откроется главная страница. Перезагрузка не обязательна, но желательна.
Update Firmware
Обновление прошивки шлюза (ESP32, но не zigbee модуля).
Для обновления нужно выбрать файл прошивки и нажать кнопку Start update. По окончании процесса обновления, шлюз перезагрузится. Перед обновлением, настоятельно рекомендуется шлюз перезагрузить.
Save
Сохраняет конфигурацию шлюза и список устройств. По окончании сохранения переходит на главную страницу. Также сохранение производится автоматически каждые 30 минут.
Reboot System
Перезагружает шлюз. При нажатии на пункт меню, возникает окно с подтверждением
Logout
Выход из системы. Если авторизация отключена, то этого пункта в меню нет.
Help
Здесь собраны полезные ссылки:
Docs: ссылка на документацию
Telegram (Support, discussions): ссылка на Telegram канал проекта
Supported devices: ссылка на справочник поддерживаемых устройств.