1. Очистка устаревшего кода из CoreCache
1. Корректировка дизайна интерфейса plugin#Initialize
1. Оптимизация расхода памяти
1. Добавление протокола国家标准电表协议 DLT645
1. Исправление проблемы с параметрами периода сбора данных для плагина HTTP client
1. Добавление протокола国家标准电表协议 DLT645 → Добавление протокола国家标准电表协议 DLT-645
Итоговый текст:
1. Очистка устаревшего кода из CoreCache
1. Корректировка дизайна интерфейса plugin#Initialize
1. Оптимизация расхода памяти
1. Добавление протокола国家标准电表协议 DLT-645
1. Исправление проблемы с параметрами периода сбора данных для плагина HTTP client
1. Добавлен встроенный модуль Lua: driverbox
2. Определён модель API для сценарного взаимодействия
3. Перемещены устройства-двойники и coreCache в путь внутреннего пакета internal.
4. При добавлении устройства добавлена проверка на конфликт modelName.
5. Оптимизирован сервис зеркальных устройств
1. Удалите интерфейс plugin.ProtocolAdapter и объедините методы Encode/Decode в plugin.Connector.
1. Добавлен интерфейс /sse/log, который позволяет в реальном времени просматривать логи работы шлюза через браузер.
1. Переработана логика получения соединения устройства при чтении и записи.
1. Добавлена проверка на пустое имя модели в cmanager.AddModel.
1. Удален интерфейс coreCache.GetDeviceByDeviceAndPoint.
1. Интерфейс coreCache.GetRunningPluginByDeviceAndPoint переопределен как coreCache.GetRunningPluginByDevice.
1. Открыт доступ к хранилищу активов для интеграции с driver-box.
1. Встроенная функция Export теперь имеет наивысший приоритет.
1. Устройства теперь используют потокобезопасную отложенную загрузку драйверов.
1. В модуль modbus добавлена проверка семафоров для обеспечения приоритета write-операций над read-операциями.
1. Улучшена функциональность плагина MQTT.
1. bugfix: Изменение имени устройства не сохраняется после ввода данных
1. Исправлена проблема деактивации плагина, вызванная наличием нескольких каталогов с одинаковым ProtocolName в многопротокольной среде.
2. Исправлена проблема утраты проверки ошибок в операции чтения Modbus.
3. Оптимизированы некоторые логи.
- Новое свойство: плагин, управляемый через WebSocket
- Новое свойство: автоматическое обнаружение новых устройств, поддержка HttpClient и WebSocket-плагина.
- Новое свойство: улучшение дизайна базы активов, что обеспечивает эффективное подключение устройств и централизованное управление ресурсами. В настоящее время доступны: библиотека протоколов связи, библиотека моделей, библиотека драйверов устройств, библиотека шаблонов.
- Новое свойство: добавлены новые типы событий: addDevice (добавление устройства), willExportTo (передача данных устройства), deviceDiscover (автоматическое обнаружение устройства), linkEdgeTrigger (выполнение сценария взаимодействия).
- Улучшение: поддержка системной переменной окружения `DRIVERBOX_HTTP_LISTEN` для конфигурации порта REST API в driver-box.
- Улучшение: перемещение интерфейса событийной шины в пакет `driverbox`, доступен через `driverbox.TriggerEvents`.
- Улучшение: унификация базовой модели конфигурации уровня подключения: plugin.BaseConnection.
- Улучшение: изменение приоритета триггера событий при выполнении ExportTo.
- Улучшение: по умолчанию включены функции зеркального устройства и сценария взаимодействия.
- Улучшение: переработка сервиса зеркального устройства для повышения стабильности.
- Улучшение: переработка плагина HttpClient.
- Улучшение: перемещение сервисов сценария взаимодействия и зеркального устройства в модуль internal.- Улучшение: при вызове метода `DeleteDevice` для удаления устройства одновременно удаляются данные зеркала, а конфигурация сохраняется.
- Улучшение: улучшение целостности состояния памяти при динамическом добавлении устройств и моделей.
- Улучшение: улучшение вывода большого объема логов.
- Устаревший: пометка метода coreCache. GetDeviceByDeviceAndPoint как устаревшего, будет удален в последующих версиях.
1. Переработка модели памяти устройства-двойника для улучшения производительности управления памятью.
2. Устройству-двойнику добавлены записи о записи значений для точек памяти.
1. Новая функция: сценарии взаимодействия
2. Новая функция: зеркальное устройство
3. Новая функция: динамическое добавление устройств в режиме реального времени
4. Новая функция: библиотека драйверов устройств, обеспечивающая централизованное управление и эффективное повторное использование драйверов устройств.
5. Новая функция: добавление GitHub Action для автоматической развертки документации
2. Улучшение: добавление свойств scale (коэффициент масштабирования значений) и decimals (количество знаков после запятой) в конфигурацию точек
2. Улучшение: уникальный идентификатор устройства изменен с sn на id
2. Улучшение: предоставление возможности массового чтения и записи точек устройств для повышения эффективности сбора данных и управления
2. Улучшение: добавление модели бизнес-свойств устройства: DeviceBusinessProp для удовлетворения потребностей в создании сложных систем из нескольких устройств
3. Улучшение: добавление write_time в тень устройства для идентификации времени последней записи
3. Улучшение: сортировка вывода REST-интерфейса тени устройства по ID устройства
4. Улучшение: улучшение управления файлами конфигурации драйверов устройств
4. Улучшение: добавление информации о процессах в логи для упрощения отладки
3. Устаревание: удаление конфигурации timerReport из точек
3.Устаревание: удаление плагина виртуального устройства, функции моделирования устройств теперь предоставляются соответствующими плагинами связи.
1. Открыт REST API для устройства-тени (device shadow).
2. Добавлен новый интерфейс `GetDevices` для получения информации о всех устройствах.
3. Исправлена проблема с точностью представления чисел с плавающей запятой, которая приводила к появлению значения -0.
4. Плагин bacnet поддерживает тип данных LargeAnalogValue.
5. Добавлена логика, которая активируется при неудачной попытке связи при периодическом сборе данных bacnet, что приводит к отключению устройства.
**Полный журнал обновлений**: https://gitee.com/iBUILDING-X/driver-box/commits/v0.6.0