## Новые функции
1. **Интерфейс для запроса информации о устройстве**
- Добавлен RESTful API для запроса детальной информации о устройстве
- Поддерживает возврат данных в формате JSON, включающий состояние устройства, конфигурацию и т.д.
2. **Управление метаданными шлюза**
- Добавлена возможность управления метаданными шлюза, включая версию, конфигурацию и т.д.
- Предоставлены интерфейсы для запроса и обновления метаданных
3. **Генерация уникального идентификатора шлюза**
- Реализован алгоритм генерации уникального идентификатора на основе информации о аппаратном обеспечении
- Обеспечивает уникальное идентификационное имя шлюза в распределенной среде
4. **Улучшение системы событий**
- Добавлен тип события `onOff` для отслеживания состояния включения/выключения устройств
- Расширены возможности генерации событий на уровне драйвера с использованием Lua-скриптов
5. **Поддержка UDP-диагностики**
- По умолчанию открыт порт 9090 для диагностики UDP-сервисов
- Поддерживается настройка пользовательского контента ответа на диагностику
6. **Улучшение сценария взаимодействия**
- Добавлены условия для активации сценария на основе продолжительности состояния точки
- Поддерживается обнаружение изменений состояния на основе временного окна## Улучшение интерфейсов
1. **Форматирование дат**
- Унифицирован формат вывода дат в REST-интерфейсах
2. **Проверка добавления устройств**
- Усилены проверки входных данных в интерфейсе добавления устройств
- Добавлены проверки типа устройства и валидности параметров
3. **Очистка интерфейсов**
- Отмечен интерфейс `callback#OnReceiveHandler` как устаревший
## Исправление ошибок
1. **Проблемы с сохранением данных**
- Исправлены проблемы с сохранением данных в cmanager
- Усилены надежность и устойчивость хранения данных
2. **Очистка кода**
- Удален экспериментальный плагин serial
- Удалены связанные зависимости и параметры конфигурации
## Описание улучшений
В этом обновлении основное внимание уделено повышению устойчивости и расширению функциональности системы. Включены следующие улучшения:
- Инфраструктура: уникальное идентификационное имя шлюза, управление метаданными
- Интерфейсы: форматирование дат, проверка входных данных
- Расширение функциональности: типы событий, условия активации сценария
- Поддержка: исправление ошибок, очистка кода
1. Добавлено событие удаления устройства: event.EventCodeWillDeleteDevice
### Новые добавления
- Добавлены [документы по сценариям и связям](https://ibuilding-x.github.io/driver-box/export/linkedge/)
- Добавлены [документы по экспорту](https://ibuilding-x.github.io/driver-box/export/about/)
### Изменения
- Изменен метод `helper.CoreCache.AddModel` (параметр `config.DeviceModel` заменен на `config.Model`)
### Исправления
- Исправлен метод `cmanager.GetPluginNameByModel` (исключены ошибки при получении имени плагина по имени модели)
- Исправлены проблемы с редким сбоем в работе пользовательских моделей и индексов устройств в пакете `cmanager`
- Исправлены проблемы с паникой при принудительном преобразовании типов данных в пакете `config`
### Исправления
- Исправлено偶尔失效问题 с пользовательскими моделями и индексами устройств в пакете cmanager
### Новые добавления
- Добавлены [документы по сценариям взаимодействия](https://ibuilding-x.github.io/driver-box/export/linkedge/)
- Добавлены [документы по экспорту](https://ibuilding-x.github.io/driver-box/export/about/)
### Изменения
- Изменены параметры метода `helper.CoreCache.AddModel` (config.DeviceModel => config.Model)
### Исправления
- Исправлено исключение в методе `cmanager.GetPluginNameByModel` (получение имени плагина по модели)
### Добавлено
- Добавлены документы по **сценарным связям**
- Добавлены документы по **экспорту**
### Изменено
- Изменены параметры метода helper.CoreCache.AddModel (config.Model => config.DeviceModel)
### Исправлено
- Исправлено исключение в методе cmanager.GetPluginNameByModel (получение имени плагина по имени модели)
1. Поддержка битового управления для виртуального устройства MODBUS
1. Внедрение встроенной функции driverbox.getDevice в LUA
1. Улучшение функции автоматического обнаружения устройств
1. Поддержка динамических скриптов уровня приложения для генерации событий
- Оптимизация скрипта компиляции и пакетирования deploy.sh
- Добавление функции автоматической проверки конфигурации и очистки недействительных настроек.
- Добавление экспериментального плагина универсального COM-порта.
- Поддержка диапазона дат сценария, охватывающего несколько лет.
- Временное отключение llm export (функциональность требует доработки; предотвращение принудительного обновления версии Go).
- Доработка проверки типов данных для результатов выполнения Lua.
- Удаление недействительного кода из плагина драйвера DLT645.
- Устаревший интерфейс: callback.OnReceiveHandler
- Устаревший интерфейс: plugin.Connector.Decode
- Устаревший интерфейс: cmanager.Manager.GetConnection
- Устаревший интерфейс: cmanager.Manager.RemoveConnection
- Исправлена проблема с парсингом порта в плагине websocket
- Исправлена异常问题并发发送消息 в websocket
- Исправлена синхронизационная проблема в GatewayExporter
Примечание: В данном случае для сохранения смысла и стиля оригинального текста были использованы китайские терминологии, которые наиболее точно передают смысл. В остальном текст переведён на русский язык в соответствии с правилами.
- Исправление проблемы автоматического добавления шлюза
- Исправление проблемы прозрачного прохождения событий автоматического обнаружения устройств
- Исправление проблемы прозрачного прохождения метаданных устройств
1. Игнорирование выключенных устройств при выполнении сценария для повышения эффективности выполнения.
1. Предоставление упрощённого пользовательского интерфейса для просмотра списка устройств и данных теней.
1. Адаптивное изменение приоритета сбора данных для выключенных устройств Modbus для обеспечения стабильности связи с работающими устройствами.
1. Исследование технологии больших моделей и её интеграции с driver-box.
1. Добавление плагина для driver-box для реализации функции последовательного соединения шлюзов на основе driver-box.
Исправлена проблема с недоступным значением Config.Key при запуске шлюза, что приводило к неисправности динамических скриптов. Функция динамических скриптов теперь работает корректно.
Изменения:
- При запуске шлюза проверяется значение Config.Key.
- Если Config.Key не установлен, система теперь устанавливает его по умолчанию, чтобы избежать сбоев в работе динамических скриптов.
1. плагин BACnet поддерживает многоточечные операции записи
Увеличение конфигурации multiWrite в драйвере Modbus для идентификации одиночных операций записи в регистры с использованием функции кода 16.
1. Исправлена проблема с недействительным массовым записыванием значений для нескольких точек в протоколе Modbus.
1. Улучшить совместимость платформ для плагина modbus.
1. Плагин поддерживает обновление с использованием метода полной замены.
1. Управление новыми тегами в хранилище активов.
2. В CoreCache добавлен интерфейс GetPoints для получения отсортированного списка точек.
3. В сценарии взаимодействия добавлены новые типы событий: неизвестное устройство, неизвестная сцена.
4. Улучшена стабильность плагина DLТ645.
Исправление проблемы синхронизации зеркального устройства в оффлайн-режиме.