Система

Как безопасно менять поведение шлюза

Раздел Система управляет режимом работы, сетью, временем, линиями Modbus, MQTT, gateway, обновлением и сервисными действиями. Это административный раздел: каждое изменение должно иметь понятную цель и проверяемый результат.

Как устроен раздел Система

Внутри Система используется левый навигатор секций. Он отделен от главного меню сайта и помогает быстро перейти к Режим, Учетные данные, Сеть, Время, Аплинк, Линии Modbus, Modbus TCP, Интеграция, MQTT, Wi-Fi, Прошивка, Обслуживание и сервисным блокам.

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

Runtime state

Система runtime state на русском языке.
Смотрите не только сохраненную конфигурацию, но и фактическое runtime-состояние.

Сервисные действия

Сервисные действия в разделе Система на русском языке.
Сервисные действия должны выполняться осознанно: reboot, recovery и factory reset имеют разный эффект.

Конфигурация и runtime truth

Система показывает не только сохраненные поля, но и фактическое состояние машины: Аплинк, Cloud, Gateway и Автоматизация могут иметь отдельные значения configured и runtime. Это важно для поддержки: configured описывает намерение, runtime показывает, что реально работает сейчас.

Состояние Как читать Что делать
configured Сохраненная настройка, которая должна применяться по правилам секции. Проверить apply semantics: сразу, после reconnect или после reboot.
runtime Фактическое состояние сервиса или канала в текущем запуске. Использовать как главный признак при диагностике текущей работы.
Error/счетчики Ошибка runtime и счетчики показывают, что сервис пытался делать и где отказал. Сохранять этот контекст перед reboot или service action.

Сводка устройства и копирование

Сводка устройства быстрее всего показывает, с каким шлюзом работает инженер. В ней только несекретные сервисные данные: имя и ID, Wi-Fi/Ethernet IP и MAC, прошивка, модель/производитель, SPIFFS/SD/PSRAM/heap и время работы.

  • Нажмите в любом месте карточки, чтобы скопировать точное видимое значение.
  • С клавиатуры выберите карточку и нажмите Enter или Пробел.
  • Успех или ошибка отображаются под сводкой; на обычной HTTP-странице используется безопасный fallback.
  • Тройной клик по MAC по-прежнему открывает защищённую настройку Developer mode; credentials не показываются и не копируются.

Идентификация устройства задаёт операторское имя для Workbench и mDNS. Пустое имя возвращает детерминированное значение по умолчанию. Локальное обнаружение показывает «Опубликовано», «Ожидание LAN IP» или «Остановлено» человекочитаемым текстом.

Режим работы

Режим Когда выбирать Что меняется в интерфейсе
UMEC Space Объект должен работать с UMEC Space IoT Cloud Platform и получать платформенные дашборды, мобильный доступ, алерты, уведомления и удаленное управление. Показываются UMEC-поля и BLE/provisioning-контекст, Generic MQTT скрыт. Это основной режим для связки шлюза с платформой. Регистрация и проверка шлюза выполняются в UMEC Space Dashboard.
MQTT Generic Нужно отправлять данные в сторонний MQTT broker. Появляются host, port, transport, auth, TLS, topic preview и session/LWT-настройки.
MQTT Disabled Шлюз должен работать локально без внешнего MQTT. MQTT-раздел остается видимым, но редактирование внешних параметров блокируется.

Apply semantics

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

Семантика Значение Действие оператора
Applied now Изменение вступает в силу сразу. Проверить статус секции и наблюдать runtime-состояние.
Applied after reconnect Новые параметры начнут действовать после переподключения соответствующего сервиса. Дождаться reconnect или выполнить контролируемое переподключение.
Requires reboot Для применения нужен reboot. Сохранить evidence, предупредить пользователей и выполнить controlled reboot.

Сеть задает профили Wi-Fi и Ethernet: DHCP/static IP, DNS и адреса объекта. Аплинк выбирает, какой канал используется как активный путь наружу: manual Wi-Fi, manual Ethernet или политика failover/failback. В статусе смотрите именно active uplink и ip acquired, потому что сохраненный профиль не гарантирует рабочую связь.

  • Wi-Fi подходит для объектов без проводной сети или как резервный канал.
  • Ethernet предпочтителен для шкафов и стационарных установок.
  • При ручном выборе uplink внешние интеграции используют выбранный канал, пока он доступен.
  • Доступность разделяет линк, IP, интернет и облачный сервис. Линк/IP резервного интерфейса не доказывает наличие интернета на нём.
  • UI показывает человекочитаемые статусы; внутренние коды доступны только в защищённом API и диагностике.
  • Для static обязательны только IP, mask и gateway. Каждый DNS необязателен; проверяется только непустое значение.
  • DHCP сохраняет неактивные static-поля, но не применяет их DNS. Неполный fallback показывает предупреждение и не блокирует сохранение.
  • В manual обязателен только active interface. В auto нужны primary, secondary, failover delay и выбор failback; failback delay нужен только при включённом возврате.
  • Рабочая MQTT-сессия имеет приоритет над синтетической пробой. Без сессии резерв проверяется после двух последовательных ошибок и включается только после успешной проверки.

Wi-Fi и локальный доступ для настройки

Сканирование Wi-Fi необязательно, SSID можно ввести вручную. Сохранённый upstream-пароль не возвращается: пустое поле сохраняет существующий секрет, а UI сообщает только факт наличия пароля.

Режим SoftAPПоведениеПроверка на объекте
НастройкаАвтоматический локальный доступ может оставаться активным во время пусконаладки.Статус должен явно сообщать, вещает ли SoftAP фактически.
Рабочий режимАвтоматический SoftAP ограничен 300 секундами после перезагрузки и сам не запускается после истечения окна.Проверьте runtime mode, остаток времени и признак требуемой перезагрузки.
Физическое окно настройкиУдерживайте кнопку 3-7 секунд, чтобы открыть отдельное ограниченное окно на 300 секунд.Действие не меняет сохранённый режим SoftAP.

Линии Modbus

Линии делятся на физические RS-485 и сетевой TCP-канал. Это принципиально разные режимы, поэтому не переносите объяснение RTU transparent на TCP.

Линия Режимы Что видит оператор
RTU 1 / RTU 2 Polling, Transparent, Disabled Polling дает локальные значения в ModBus. Transparent резервирует линию под passthrough. Disabled отключает линию.
TCP Polling, Not polling, Disabled Polling обновляет bus3. Not polling оставляет конфигурацию видимой, но фонового обновления нет. Disabled выключает канал.

При активной SD-карте журналы опроса пишет SD, поэтому переключатель SPIFFS недоступен. Без SD он управляет сохранением polling-log в SPIFFS. Неиспользуемая Transparent/Disabled-линия имеет статус inactive, а не offline. Интервал ниже расчётной рекомендации сохраняется с предупреждением; циклы не перекрываются и не накапливаются. Пояснение TCP остаётся под TCP и не сдвигает селекторы RTU.

RS-485 протоколы

Шлюз поддерживает взаимоисключающий выбор Modbus RTU или read-only DLMS/COSEM/СПОДЭС для каждой физической RS-485 линии. Поддержка конкретной модели счетчика считается подтвержденной только после HIL на реальном приборе; эмулятор не заменяет эту приемку.

Протокол Статус Ограничение линии Что проверять оператору
Modbus RTU Основной RS-485 сценарий для локального опроса и управления. Линия использует Modbus-адреса, register map и существующие режимы polling/transparent/disabled. Адреса уникальны внутри линии, serial profile совпадает с паспортом устройств, значения свежие в Modbus.
DLMS/COSEM/СПОДЭС Read-only опрос. SET/ACTION и удаленные команды отклоняются до передачи в линию. На одной физической RS-485 линии выбирается один протокол. Не смешивайте Modbus RTU и DLMS/COSEM/СПОДЭС на одной линии. Проверяйте профиль счетчика, параметры порта, адресацию, пароль/ключи по процедуре внедрения и отсутствие заявленных write-действий.

Если на объекте нужны и Modbus RTU, и DLMS/COSEM/СПОДЭС, разносите их по разным физическим линиям или по разным шлюзам. Это упрощает диагностику, исключает конкуренцию протоколов за тайминги линии и сохраняет понятный контракт: одна RS-485 линия - один активный fieldbus-протокол. Основной путь DLMS выполняется мастером Setup. Инженерные операции Validate, Stage, Scan и Export сохранены под раскрывающимся блоком «Расширенные инструменты DLMS» и не требуются для обычного подключения.

Путь оператора в Setup

  1. Выберите RTU 1 или RTU 2; для TCP DLMS device file недоступен.
  2. Выберите DLMS/COSEM/СПОДЭС в поле Line protocol.
  3. Загрузите с компьютера DLMS JSON-шаблон формата wb-mqtt-serial, например Mercury 234, Energomera CE308 или Milur 107S.
  4. Укажите физический и, если требуется, логический адрес счётчика. Нажмите Проверить шаблон и проверьте список активных каналов.
  5. Для low-auth введите рабочий пароль отдельно. Пароль из исходного файла не используется и не сохраняется.
  6. Нажмите Применить модель и запустить опрос. Мастер сохраняет credential reference, импортирует модель, переключает владельца линии и запускает polling.

В прошивку не встроены и автоматически не скачиваются исходные шаблоны Wiren Board: оператор сам выбирает файл. Адаптер принимает только шаблоны с device.protocol="dlms"; другие протоколы из того же каталога не считаются DLMS-моделями. Любые DLMS write/actions в текущем релизе отклоняются до UART/RS-485 I/O.

MQTT Generic

Generic MQTT используется, когда объект подключается к стороннему broker. В этом режиме особенно важны host, transport, auth mode, TLS verification и topic preview. Пароль не должен отображаться обратно в явном виде.

Generic MQTT

Generic MQTT settings на русском языке.
Перед сохранением проверьте broker URL, auth, TLS, keepalive и preview publish/subscribe topics.

Modbus TCP и NAT

Для listeners, tunnels и NAT rules предусмотрены structured simple editors. Они редактируют JSON-массив, но дают оператору форму вместо ручного ввода всей структуры.

В редакторе туннеля кнопка «Найти шлюзы» запускает один ограниченный по времени mDNS-поиск совместимых шлюзов UMEC. Выбор подставляет стабильное имя umec-<id>.local; после этого отдельно сохраните объект и TCP/NAT. Поиск сам конфигурацию не меняет. Ручной ввод IP/DNS/mDNS остаётся доступен, а Modbus-порт не зависит от опубликованного HTTP-сервиса и обычно равен 502.

Объект Зачем нужен На что обратить внимание
Listener Принимает входящие Modbus TCP подключения. strict_map требует route table, иначе адреса могут быть неразрешимы.
Tunnel Описывает удаленный Modbus TCP endpoint. Если туннелей несколько, TCP-устройства должны иметь явную привязку.
NAT rule Перенаправляет адреса между source и target domains. priority сортируется по меньшему значению раньше.

Валидация и ошибки

Ошибка сохранения не должна восприниматься как "интерфейс сломался". Часто это защита от конфликтной конфигурации. Сначала прочитайте blocking/warning, field path и recommendation, затем исправляйте конкретное поле.

Обслуживание

Действие Назначение Перед выполнением
Reboot Контролируемая перезагрузка после настройки или зависания сервиса. Сохранить изменения и предупредить оператора.
Soft recovery Недеструктивное восстановление доступа. Убедиться, что нужен recovery, а не обычный reboot.
Factory reset Полный сброс настроек. Скачать конфигурацию и журналы. Использовать только при явном решении.
Обновление прошивки Загрузка нового `.bin` файла. Проверить файл, питание, окно обслуживания и план отката.

Восстановление и Developer mode

Восстановление - отдельная область для восстановления доступа и управляемых сервисных действий. Она не заменяет обычную диагностику линии или MQTT. Перед recovery нужно сохранить конфигурацию, журналы и видимый runtime-контекст.

Developer mode и web terminal являются сервисными поверхностями для инженерной поддержки. Обычный оператор не должен включать их для пусконаладки, проверки устройства или ежедневной эксплуатации. Используйте их только по процедуре поддержки и после фиксации текущего состояния.

Поверхность Как входить Граница безопасности
Recovery Открывается после локального recovery-события или через штатный сервисный сценарий, если доступ уже есть. Используйте только для восстановления доступа или повторного платформенного подключения. Для потери связи сначала смотрите Диагностику.
Developer mode Включается в сервисной области Система после авторизованного входа и только по инструкции поддержки. Не включайте для обычной эксплуатации. Перед включением сохраните runtime state, журналы и текущую конфигурацию.
Web terminal Используется только когда Developer mode разрешен и поддержка явно запросила терминальный доступ. Не вводите секреты в команды и не выполняйте операции с неизвестным эффектом. После работы отключите сервисный доступ.

Если web-пароль потерян, используйте soft recovery через удержание кнопки. Полный factory reset оставляйте как последний вариант, потому что он очищает все настройки и форматирует хранилище.

СПОДЭС/DLMS: переключение линии по шагам

Текущая реализация предназначена для чтения счётчиков. Команды SET/ACTION заблокированы до обращения к линии. Одна физическая RS-485 линия не может одновременно принадлежать Modbus и СПОДЭС.

  1. Остановите polling текущего владельца и зафиксируйте параметры линии.
  2. В Setup выберите линию и СПОДЭС/DLMS. Задайте baudrate, parity, data bits и stop bits из паспорта счётчика.
  3. Конвертируйте WB-шаблон или загрузите canonical schema v3; сначала выполните Validate.
  4. Импортируйте модель. Убедитесь, что line ID, OBIS, единицы, scale и meter address относятся к этому объекту.
  5. Выполните preview смены владельца, затем явное Apply. После этого включите polling.
  6. Проверьте runtime_mode, association, successful reads и появление свежих значений.
  7. Только затем проверяйте Dashboard, Automation и MQTT.
Файл, прошедший Validate, ещё не активен. Импортированная модель ещё не означает, что линия переключена; а переключённая линия ещё не означает, что association и чтение завершились успешно.

mDNS-туннель между двумя шлюзами

  1. На серверном шлюзе включите Modbus TCP bridge и запомните порт, обычно 502.
  2. На клиентском шлюзе откройте редактор TCP-туннеля и нажмите поиск устройств.
  3. Выберите peer вида umec-757473a8.local или введите hostname вручную. Выбор меняет только черновик.
  4. Сохраните конфигурацию и проверьте активный tunnel status.
  5. Добавьте TCP-устройство на клиенте и подтвердите свежие значения, а не только DNS resolution.

IPv4 остаётся допустимым fallback, но hostname удобнее при смене DHCP-адреса. Каждый новый connect заново разрешает имя. Если mDNS недоступен, ручной host не стирается и может быть исправлен оператором.