Edge Xpert 2.3
Edge Xpert 2.3 is based on the open source EdgeX Foundry version 2.3 release, codenamed "Levski".
EdgeX Levski Features
- Allow delivery of commands to the device services via the EdgeX message bus (previously this was REST only)
- Allow asynchronous communications from 3rd party systems (applications, Cloud systems, etc) all the way to devices
- Allow for better quality of service (QoS) based on the levels provided by broker implementations
- New System Events for devices. For example, when a device is added, updated or deleted, Core Metadata will publish a System Event to the MessageBus
- More metrics telemetry (following the beta capability provided in 2.2 Kamakura) including common service metrics
See the EdgeX Levski release page for further details.
Additional Edge Xpert Features and Enhancements
- Enhanced the support-sparkplug service to communicate with underlying Edge Xrt in the device nodes
- Enhanced the capability of device profiles with new resource tagging and command tagging features
- Introduced the lightweight and user-friendly Core Keeper service to replace Consul as the default registration and configuration service
- Provided an advanced option on the Edge Xpert Manager UI's App Service menu to configure multiple functions in sequence
- Security vulnerabilities have been addressed compared to older version
- Added new Quick Start tutorial to help onboard new users
Release Changelog
2.3.8
Edge Xpert CLI
Enhancements
- Added File Device Service and CANbus Device Service Configuration on Edge Xpert CLI utility
Edge Xpert Device Services
Modbus, OPC-UA, BACnet, BLE, S7, GPS, Ethernet-IP, CANbus Device Services
Enhancements
- Enhanced all the XRT instances schedule handling
Bug Fixes
- Fixed the subscriptions missing issue in the OPC UA Device Service when creating multiple subscriptions
Edge Xpert Manager
Enhancements
- Updated the parameter fields when uploading the DBC file with multiple devices
- Correct the heading title in the popup dialog on the Advanced App Service page
- Creating App service by Edge Xpert CLI utility now is visible on Xpert manager
- Allowed 0 row on the Device Command sheet when creating the device profile on google sheet
- Updated the command names and the command list width on the Device Command page
- Added
appCustom
configuration to the ONVIF Camera Device Service - Added
ReadFile
pipeline function on Advanced App Service page - Added
TransformToParquet
pipeline function on Advanced App Service page - Removed the imported file name after importing the device profile
- Supported edge instance/edge instance device discovery
- Added importing device in a XLSX format for edge node device backend API
Bug Fixes
- Removed the warning message when uploading the device profile spreadsheet
- Fix the blank page issue when the device properties value is a nested object on the View Detail page
Edge Xpert Microservice
Enhancements
- Support app services provisioning on Provision service
- Update support-provision service to accept both single and multiple device profile JSON payload
Bug Fixes
- Fixed a bug when support-provision service was blocked by invalid JSON files or hidden files
2.3.7
Edge Xpert CLI
Enhancements
- Added the new docker compose files that only contains device service to integrate with EdgeX Jakarta release
- Add a check to ensure that app service can be run with toml file name which is restricted to consist only of lowercase alphanumeric characters, hyphens, and underscores as well as start with a letter or number
Bug Fixes
- Fixed a bug when launching service in the secure mode
- Fixed a bug on the
edgexpert stop
command when running the app service
Edge Xpert Device Services
WebSockets, REST, Virtual, USB-Camera, ONVIF Camera, MQTT Device Services
Enhancements
- Added
TopicReplacement
,HeartbeatResouce
andHeartbeatTimeout
options to MQTT device service - Updated the protocolName of auto discovery to USB camera device service
Modbus, OPC-UA, BACnet, BLE, S7, GPS, Ethernet-IP Device Services
Enhancements
- Added environment variable
QueueSize
for MQTTBridge configuration - Added subscriptions support for device properties and device profile to OPC-UA device service
Bug Fixes
- Fixed a bug in the auto events when updating the device
Edge Xpert Manager
Enhancements
- Added the new feature to export massive devices and device profiles in a XLSX format
- Added the button for importing multiple devices and device profiles
- Support adding, updating and deleting the edge node devices
- Support uploading and deleting the edge node device profiles
- Added
TopicReplacement
,HeartbeatResource
andHeartbeatTimeout
options on MQTT protocol properties - Added Object Type Input Fields on the Device page of set command section
- Added JSON parameter field on the Device page of get command section
- Enhanced user experience by relocating Device Profile and Device Service section before Protocol Properties section on the Device page
Bug Fixes
- Fixed the field ApplicationURI to the OPC-UA protocol property on the Device page
- Fixed a bug when deleting protocol property mapping for general protocol on the Device page
Edge Xpert Microservice
Bug Fixes
- Fixed a bug in support-provision service false alarm issue when it runs without any error
2.3.6
Edge Xpert Application Service
Enhancements
- Updated status of a stopped service to
halt
to keep service in the list of registered services
Edge Xpert CLI
Bug Fixes
- Fixed a bug in Podman deployment when running the
edgexpert stop
command
Edge Xpert Device Services
WebSockets, REST, Virtual, USB-Camera, ONVIF Camera, MQTT Device Services
Enhancements
- Updated status of a stopped service to
halt
to keep service in the list of registered services
Modbus, OPC-UA, BACnet, BLE, S7, GPS, Ethernet-IP Device Services
Enhancements
- Updated status of a stopped service to
halt
to keep service in the list of registered services - Updated the device
OperatingState
during service initialization - Added configuration
DiscardUnchangedReadings
for users to modify with environment variable
Edge Xpert Manager
Enhancements
- Disabled stop botton for core-keeper on the Service Control page
- Support exporting device profile in a JSON format for edge node device profiles on the device profile panel
- Updated status of a stopped service to
halt
to keep service in the list of registered services - Support JSON format when uploading the device profile
- Added RequestTimeout option on Modbus-TCP and Modbus-RTU protocol properties
- Added the retention field on the Service Control page
- Add new function pipeline
execute CoreCommand
on the Advanced App Service page
Bug Fixes
- Fixed a bug when downloading the configuration of service in the secure mode
- Fixed a bug with the start up of app services
- Fixed the browser compatibility issue when creating an app service with the Advanced mode
Edge Xpert Microservice
Enhancements
- Added option
cmdFlags
when creating an app service - Added data retention feature for service core data and support-notification
- Updated status of a stopped service to
halt
to keep service in the list of registered services
Bug Fixes
- Fixed a bug in Podman deployment when running the command
edgexpert stop
2.3.5
Edge Xpert Application Service
Enhancements
- Added timer trigger to execute function pipelines periodically
- Updated function
JavascriptTransform
to process strings with free formats
Edge Xpert CLI
Enhancements
- Enhanced docker compose version validation
- Upgraded third-party services to the latest patch version
Edge Xpert Device Services
Modbus, OPC-UA, BACnet, BLE, S7, GPS, Ethernet-IP Device Services
Bug Fixes
- Updated xrt configuration
QueueMax
toRequestQueueMax
- Fixed a bug in removing autoevents when device name contains the underline
Modbus Device Service
Enhancements
- Added configuration
XRT_MODBUS_DEFAULT_TIMEOUT
MQTT Device Service
Enhancements
- Supported data type array in the message payload
Edge Xpert Manager
Enhancements
- Added App service timer trigger on App service Advanced page
- Enhanced Gateway management to support remote edge node command execution
Bug Fixes
- Fixed a bug in Notification page when no notification is selected
2.3.4
Edge Xpert Application Service
Bug Fixes
- Fixed the unclear log message when parsing the value of
PostDisconnectionAlert
from theApplicationSettings
- Removed the unnecessary
InfluxDBValueType
field from the Influxdb configuration file
Edge Xpert CLI
Enhancements
- Added Podman support as an alternative container engine
- Upgraded third-party services to the latest patch version
Edge Xpert Device Services
WebSockets, REST, Virtual, USB-Camera, ONVIF Camera, MQTT Device Services
Bug Fixes
- Fixed a bug in Device Service's profile when its profileName is empty
Modbus, OPC-UA, BACnet, BLE, S7, GPS, Ethernet-IP Device Services
Enhancements
- Added OPC-UA protocol property
SessionKeepAliveInterval
- Add Modbus protocol properties
ReadMaxHoldingRegisters
,ReadMaxInputRegisters
,ReadMaxBitsDiscreteInputs
,WriteMaxHoldingRegisters
andWriteMaxBitsCoils
Edge Xpert Manager
Enhancements
- Added to
ReadMaxHoldingRegisters
,ReadMaxInputRegisters
,ReadMaxBitsCoils
,ReadMaxBitsDiscreteInputs
,WriteMaxHoldingRegisters
andWriteMaxBitsCoils
to Modbus TCP and Modbus RTU on the device management page - Added store reading tags checkbox when exporting to Influxdb endpoint on the App Service page
- Added
FieldKeyPattern
inputbox to Influxdb endpoint on the App Service page - Added MQTT Broker Information field to editing configuration section of the Service Control page
- Added
ReadBatchSize
,WriteBatchSize
andNodesPerBrowse
to OPC UA protocol properties - Adjusted icon position on the Advanced App Service Page
- Enabled hashed to the Client Secret field under the WebSocket device on Device page
- Disabled the hashed of OAuth 2 Client Id and Token URL field to app-service HTTP on APP Service page
Bug Fixes
- Fixed Device Resource units value in the downloaded YAML file
- Fixed security settings to the OPC-UA Device Service page
Edge Xpert Microservices
Bug Fixes
- Fixed
support-scheduler
to initialize interval in the local time zone - Fixed a bug in auto event and interval validation when exceeding the minimum suggested value
2.3.3
Edge Xpert Application Service
Enhancements
- Added support to aws_signature
auth mode
for HTTP endpoints - Added support for sending data to Azure IOT Hub through MQTT over Websocket
Bug Fixes
- Fixed the issue of writing tag through
InfluxDBSyncWrite
Edge Xpert CLI
Enhancements
- Upgraded third-party services to the latest patch version
- Added
redis
dependency oncore-keeper
Bug Fixes
device-mqtt
broker environmentEdge Xpert Device Services
Modbus, OPC-UA, BACnet, BLE, S7, GPS, Ethernet-IP Device Services
Enhancements
- Added
SchedulesThreadPool
setting - Added XRT redis bridge component
- Applied the change of
responseTimeout
fromcore-keeper
- Added optional OPC-UA Device Service protocol properties,
ReadBatchSize
,WriteBatchSize
, andNodesPerBrowse
for the performance configuration
Edge Xpert Manager
Enhancements
- Grouped Device Resources and Device Commands sections on the Device Profile page
- Added a loading screen on Upload Profile page to prevent users from clicking Save button twice
- Added AWS Signature auth mode for HTTP export to AWS endpoints
- Added validation for fields on the Service Control page
Bug Fixes
- Disabled start/stop button for
redis
on the Service Control page - Disabled edit configurations button for
sys-mgmt
on the Service Control page - Disabled edit configuration button from the multi-select actions list on the Service Control page
- Replaced Client Id, Client Secret, Token URL fields with password type on the basic and Advanced App Service page 00001494
- Fixed the actions menu id of each row on the Service Control page
- Fixed a bug in updating configuration on the Service Control page
- Fixed a bug in downloading configuration on the Service Control page
- Fixed a bug when updating service's Log level
- Fixed a bug when creating subscription with MQTT channel QoS set to 1 or 2
- Fixed the missing Content and ContentType bug when creating an intervalaction
2.3.2
Edge Xpert Application Service
Enhancements
- Added
HTTPRequestHeaders
which allows user to define the HTTP request header in the HTTP endpoint - Updated sample configuration of Azure IOT Hub export with latest
api-version
Bug Fixes
- Fixed a bug of loading the updated configuration file when restarting the APP service
Edge Xpert CLI
Enhancements
- Upgraded third-party services to the latest patch version
Edge Xpert Device Services
All Device Services
Enhancements
- Added device validation to check whether the device and profile are valid instead of removing invalid device data
Bug Fixes
- Fixed a bug in event persistence when there is a space in the device name
Modbus, OPC-UA, BACnet, BLE, S7, GPS, Ethernet-IP Device Services
Enhancements
- Updated to predefined device configuration
Bug Fixes
- Fixed Device Service not exiting properly after initialization failed
Edge Xpert Manager
Enhancements
- Added a new feature in updating services' configurations on the service control page
- Added a feature in copying the value of each reading on the Data Center page
- Added a HTTP request headers table for the HTTP endpoint on the App Service page
Bug Fixes
- Fixed missing secretValue under insecure mode when XpertHTTPExport's authMode is
header_secret
Edge Xpert Microservices
Enhancements
- Added a new REST API to
support-rulesengine
to query all rules - Updated Grule library logging when the log level of
support-rulesengine
is NOTTrace
Bug Fixes
- Fix
support-rulesengine
REST API to return correct HTTP status code - Fixed a bug in event persistence when there is a space in the device name
- Fixed a bootstrap bug in
support-rulesengine
2.3.1
Edge Xpert Application Service
Enhancements
- Optimize
PostgresWrite
by using bytea to store readings value
Edge Xpert CLI
Enhancements
- Upgraded third-party services to the latest patch version
- Updated
app-service.yml
to eliminate warning message when creating an app service container - Fixed the error when using
edgexpert up
,start
,restart
,stop
, andrm
commands with duplicate service names - Added
edgexpert config gen
command to generatedocker-compose-edgexpert.yml
file which allows user to run Edge Xpert service(s) without the CLI tool - Added
--env-file
global option for user to specify environment docker environment files
Edge Xpert Device Services
MQTT Device Service
Bug Fixes
- Fixed MQTT device service bug with using an empty sourceName when the matched deviceCommand cannot be found
BACnet Device Service
Bug Fixes
- Fixed bug with the auto-discovery feature
- Fixed bug in BACnet licence checking
OPC-UA Device Service
Bug Fixes
- Fixed bug with the auto-discovery feature
Edge Xpert Manager
Enhancements
- Add
core-keeper
endpoint to the Gateway page
Edge Xpert Microservices
Enhancements
- Updated config key prefix of
support-sparkplug
andsupport-rulesengine
to synchronize with other support services - Removed core-data client from support-sparkplug configuration
- Added a new built-in function
SendNotification
forsupport-rulesengine
- Use log level TRACE for
support-rulesengine
2.3.0
Edge Xpert CLI
New Features
- Added Core Keeper service into Edge Xpert CLI
Enhancements
- Updated OPC-UA profile example for XRT 2.1 changes
- Renamed volume
license
tolicense-data
to prevent docker compose warning message - Upgraded third-party services to the latest patch version
Bug Fixes
- Fixed error when running
edgexpert image version
- Fixed error in
edgexpert restart
relating to the Docker Compose version - Fixed the missing configuration in
TansformXml
andTransformJson
pipeline functions
Edge Xpert Device Services
All Device Services
Enhancements
- Upgraded underlying Edge Xrt services to v2.1
- Added resource tags and command tags to the Device Profile
Device Virtual
Enhancements
- When the profile is updated, it will trigger the UpdateDevice callback to update the device cache without restarting the device service
Device Mqtt
Enhancements
- When the profile is updated, it will trigger the UpdateDevice callback to update device cache without restarting the device service
Edge Xpert Manager
Enhancements
- Added an option `Advanced` to the Edge Xpert Manager UI's App Service menu to configure multiple functions with pipeline flows
Bug Fixes
- Fixed a login error when switching Edge Xpert Manager UI from non-secure mode to secure mode
Edge Xpert Microservices
New Features
- Replaced Consul with Core keeper as the default registration and configuration service
Enhancements
- Added a configurable option
Sparkplug.DataSource
to enable support-sparkplug by subscribing to XRT Telemetry and publish corresponding DBIRTH and DDATA for it.
Migration changes
2.3
Licensing
- License volume renamed to license-data
To better support Docker Compose v2 in the v2.3.0 release the license volume is renamed to license-data. After upgrading to Edge Xpert 2.3.0 please reinstall license(s)
Edge Xpert Application Service
Migration Changes
- Google Cloud IoT Core is no longer supported
Google Cloud IoT Core will be retired on August 16, 2023 and the jwt lib contains security vunerability when used for connecting to Google Cloud IoT Core. As a result sending data to Google Cloud IoT Core is no longer supported.
Edge Xpert Device Services
OPC-UA Device Service
Device Profile Changes
- The
monitored
andpublishInteval
attributes have been removed with OPC-UA subscriptions now configured by API rather than in the device profile - The attributes section now has
nodeAttribute
,dataTypeId
andnodeId
sections. This enables the user to specify multiple different types of OPC-UA data rather than just values.
Example profile showing an updated deviceResource in Edge Xpert 2.3deviceResources: - name: Sawtooth isHidden: true properties: valueType: Float64 readWrite: R units: Float64 defaultValue: "0" attributes: dataTypeId: identifier: 11 identifierType: NUMERIC namespaceIndex: 0 nodeAttribute: value nodeId: identifier: 1003 identifierType: NUMERIC namespaceIndex: 3
Edge Xpert Microservices
Edge Xpert Core Services
Config and Registry
- Replaced Consul with Core keeper as the default registration and configuration service.
For Edge Xpert 2.3, the registry and configuration service (Core Keeper) is started by default. It can be disabled by using the `edgexpert up` command with the `no-core-keeper` option. - Prior to Edge Xpert 2.3 the default registration and configuration service was Consul. This is deprecated in Edge Xpert 2.3
To use Consul by Hashicorp as the registry and configuration service instead of Core keeper, add `consul` to the specified microservices without starting Core Keeper, for example, `edgexpert up --no-core-keeper consul device-virtual` - Any App Services configuration changes made in Core Keeper (including the Writable section) require a service restart to take effect.