Как устроен раздел Система
Внутри Система используется левый навигатор секций. Он отделен от главного меню сайта и помогает быстро перейти к Режим, Учетные данные, Сеть, Время, Аплинк, Линии Modbus, Modbus TCP, Интеграция, MQTT, Wi-Fi, Прошивка, Обслуживание и сервисным блокам.
В многоколоночных формах сравнивайте верхнюю границу элементов ввода: под подпись зарезервировано одинаковое место в две строки, а пояснение остаётся под своим полем. На узком экране форма становится одноколоночной без лишнего отступа.
Runtime state
Сервисные действия
Конфигурация и 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
- Выберите RTU 1 или RTU 2; для TCP DLMS device file недоступен.
- Выберите DLMS/COSEM/СПОДЭС в поле Line protocol.
- Загрузите с компьютера DLMS JSON-шаблон формата
wb-mqtt-serial, например Mercury 234, Energomera CE308 или Milur 107S. - Укажите физический и, если требуется, логический адрес счётчика. Нажмите Проверить шаблон и проверьте список активных каналов.
- Для low-auth введите рабочий пароль отдельно. Пароль из исходного файла не используется и не сохраняется.
- Нажмите Применить модель и запустить опрос. Мастер сохраняет 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
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 и СПОДЭС.
- Остановите polling текущего владельца и зафиксируйте параметры линии.
- В Setup выберите линию и СПОДЭС/DLMS. Задайте baudrate, parity, data bits и stop bits из паспорта счётчика.
- Конвертируйте WB-шаблон или загрузите canonical schema v3; сначала выполните Validate.
- Импортируйте модель. Убедитесь, что line ID, OBIS, единицы, scale и meter address относятся к этому объекту.
- Выполните preview смены владельца, затем явное Apply. После этого включите polling.
- Проверьте
runtime_mode, association, successful reads и появление свежих значений. - Только затем проверяйте Dashboard, Automation и MQTT.
mDNS-туннель между двумя шлюзами
- На серверном шлюзе включите Modbus TCP bridge и запомните порт, обычно
502. - На клиентском шлюзе откройте редактор TCP-туннеля и нажмите поиск устройств.
- Выберите peer вида
umec-757473a8.localили введите hostname вручную. Выбор меняет только черновик. - Сохраните конфигурацию и проверьте активный tunnel status.
- Добавьте TCP-устройство на клиенте и подтвердите свежие значения, а не только DNS resolution.
IPv4 остаётся допустимым fallback, но hostname удобнее при смене DHCP-адреса. Каждый новый connect заново разрешает имя. Если mDNS недоступен, ручной host не стирается и может быть исправлен оператором.