Edge Xpert 2.2
Edge Xpert 2.2 is based on the open source EdgeX Foundry version 2.2 release, codenamed "Kamakura".
EdgeX Kamakura Features
EdgeX Kamakura is the 10th community release by EdgeX Foundry and marks the project turning five years old. It is backward compatible with Ireland (2.0) and Jakarta (2.1) and adds its own new features which include:
- Metrics telemetry collection with an initial configuration for the Core Data service
- Support for the delayed start of services but for them to still receive security tokens without a restart of the platform
- Support for the dynamic updating of device profiles while the platform is running
- New camera device services allowing for the command and control of both ONVIF and USB-based cameras
See the EdgeX Kamakura release page for further details.
Additional Edge Xpert Features and Enhancements
- Greatly enhanced device connectivity with new automatic discovery features in the BACnet, OPC-UA, and BLE devices
- The ability to apply Lua-based functional translations when data is collected via the C-based device services
- New service providing Sparkplug B Edge of Network (EoN) support to communicate with other Sparkplug-enabled nodes
- Replacement of the Kong API Gateway service with Nginx to greatly reduce the footprint and resource consumption of Edge Xpert security
- The internal Edge Xpert message bus can now be run securely with TLS enablements
- Numerous additions and enhancements to the Edge Xpert Manager UI, including the ability to provide your own branding options
Release Changelog
2.2.5
Edge Xpert Application Service
New Feature
- Service configuration files (configuration.toml) can now be downloaded by using the /config API (using the
Content-Type=application/toml
API header)
Enhancements
-
ConvertDDATAToEvent
pipeline function no longer requires parameters. Improved to accept any data from MQTT topics that conform to the Sparkplug DDATA specification:<namespace>/<group_id>/DDATA/<edge_node_id>/<device_id>
Edge Xpert CLI
Enhancements
- Patch upgrade to third-party service (Redis 6.2.7-alpine3.16 is updated to 6.2.8-alpine3.17)
Edge Xpert Device Services
All Device Services
New Feature
- Service configuration files (configuration.toml) can now be downloaded by using the /config API (using the
Content-Type=application/toml
API header)
Edge Xpert Manager
New Feature
- Added an option to download configuration files (configuration.toml) from the Service Control page. Currently, this feature does not support App Services
Bug Fixes
- Fixed a bug that caused incorrect lines to be displayed in the Edge Xpert Manager Logs
Edge Xpert Microservices
New Feature
- Service configuration files (configuration.toml) can now be downloaded by using the /config API (using the
Content-Type=application/toml
API header)
2.2.4
Edge Xpert Application Service
Enhancements
- Added GZIP, ZLIB decompress functions and base64 encode and decode parameters
Edge Xpert CLI
Enhancements
- Upgraded Grafana to the latest patch version 8.5.15
Edge Xpert Device Services
All Device Services
Enhancements
- Upgraded the underlying Xrt service that many device services run on
Virtual Device Service
Enhancements
- Updated Virtual Device Service to support String data types for device resources
Edge Xpert Manager
Enhancements
- Automatic refresh has been implemented for tables on Device, Device Profile, Device Service, and Provision Watcher pages
Bug Fixes
- Fixed the broken layout on the Commands page
Edge Xpert Microservices
Enhancements
- Default
MaxResultCount
configuration updated from 1024 to 25000. This allows for larger resource usage by default. Effects the following microservices:core-data
,core-metadata
,support-notifications
, andsupport-scheduler
2.2.3
Edge Xpert Application Service
Bug Fixes
- Fixed incorrect use of CA certificate pool when setting up a TLS configuration for MQTT clients
- Fixed issue with increasing memory usage when publishing to AzureIoTHub
- Fixed bug to prevent possible data loss on PostgresWrite functions
Edge Xpert CLI
Enhancements
- To help with ease-of-use, ports are now exposed by default when Edge Xpert is running in non-secure mode
Bug Fixes
- Fixed error in
edgexpert restart
relating to the Docker Compose version
Edge Xpert Device Services
All Device Services
Enhancements
- Use of special characters are now allowed for device and device resource names in REST API paths and MQTT topics
BACnet Device Services
Enhancements
- Discovery timeout is now used for device profile auto-generation. This is to handle the length of time potentially required to discover available resources for the device profile
OPC-UA Device Service
Enhancements
- Discovery timeout is now used for device profile auto-generation. This is to handle the length of time potentially required to discover available resources for the device profile
Edge Xpert Manager
Enhancements
- Use of special characters now allowed for device and device resource names in REST API paths and MQTT topics
- Improvements made to tables on the Create Subscription page
- Improvements made to the Logging page
-
xpert-manager
is now listed as a service in Service Control - Original scientific notation values are displayed for Get commands and readings when float values are too small
Edge Xpert Microservices
New Feature
- A new supporting rules engine service is added. Implemented with Grule, this experimental service has been created to better support sensor fusion
Enhancements
- Use of special characters now allowed for device and device resource names in REST API paths and MQTT topics
- Provision watchers now accept empty profile names to support the automatic generation of device profiles
- Support for adding device and device resource tags to Sparkplug events
Bug Fixes
- Fixed issue with automatic deletion of old events. Default value for EventMaxLimit is extended from 1000 to 10000 (Case: 00001451)
2.2.2
Edge Xpert Application Service
New Feature
- New App Service function added,
ConvertDDATAToEvent
, which can convert incoming Sparkplug DDATA messages to EdgeX events
Enhancements
- Authentication support added for
XpertHTTPExport
pipeline function - Settings have been updated to fully support MQTT TLS. MQTT option
SkipCertVerify
can now be set to false
Edge Xpert CLI
New Features
device-ethernet-ip
added to Docker Compose filesdevice-onvif-camera
added to Docker Compose filesdevice-usb-camera
added to Docker Compose files
Enhancements
- Updated CLI to support both
docker compose
anddocker-compose
. This is due todocker-compose
being deprecated in Docker's offical plugin
Edge Xpert Device Services
EtherNet/IP Device Service
New Feature
- EtherNet/IP Device Service added to Edge Xpert
MQTT Device Service
Enhancements
- Support added for sending and receiving binary values
- Settings have been updated to fully support MQTT TLS. MQTT option
SkipCertVerify
can now be set to false
ONVIF Camera Device Service
New Feature
- ONVIF Camera Device Service added to Edge Xpert
USB Camera Device Service
New Feature
- USB Camera Device Service added to Edge Xpert
Edge Xpert Manager
New Features
- Support added for locking and unlocking multiple devices at a time
- Support added for locking and unlocking multiple device services at a time
- Configuration support for EtherNet/IP devices added to Devices menu
- Configuration support for ONVIF Camera devices added to Devices menu
- Configuration support for USB Camera devices added to Devices menu
- Feature added to App Services to allow downloading of configuration files
- Services Control feature added, which allows for the starting, stopping, and restarting of microservices. This also allows the creation and control of provision watchers for auto-discovery
- Microservice logs are now available on the Log Viewer page. These can be copied or downloaded
Enhancements
- Password validation added to increase password strength
- Password fields updated to show asterisks
Bug Fixes
- Fixed Get command error in the Devices page
- Fixed error with editing Intervals and IntervalActions
Edge Xpert Microservices
Enhancements
- Added security settings for USB Camera Device Service
- System Management Agent API has been enhanced, now includes GetServiceLog and GetServiceList
- Settings have been updated to fully support MQTT TLS. MQTT option
SkipCertVerify
can now be set to false
2.2.1
Edge Xpert Application Service
Enhancements
- Add new configuration
FieldKeyPattern
to theInfluxDBSyncWrite
function. This configuration specifies the pattern of field keys used to store reading values when writing to InfluxDB
Edge Xpert CLI
Enhancements
- Upgraded Grafana, Vault, Redis, and MQTT-broker to the latest patched versions.
Edge Xpert Device Services
All Device Services
New Feature
- Added support for uploading Lua scripts to transform and translate device readings as they come in. For example, converting Celsius to Fahrenheit. Feature is in Beta.
BACnet Device Service
Enhancements
- Upgraded underlying Edge Xrt services to v2.0.2
GPS Device Service
Enhancements
- Upgraded underlying Edge Xrt services to v2.0.2
Modbus Device Service
Enhancements
- Upgraded underlying Edge Xrt services to v2.0.2
OPC-UA Device Service
Enhancements
- Upgraded underlying Edge Xrt services to v2.0.2
S7 Device Service
Enhancements
- Upgraded underlying Edge Xrt services to v2.0.2
WebSocket Device Service
Enhancements
- Replaced
selfSigned
property withskipCertVerify
. Self-signed certificates will be added to the system certificate pool - if specified by the user. Otherwise, ifskipCertVerify
is true, verification of the server's certificate chain and host name will be skipped
Edge Xpert Manager
Enhancements
-
uinteger
option added to InfluxDB Value Type drop-down options in App Service page - New fields added to App Service page: new field "Skip Verify" added to skip verifying the server's certificate chain and host name; new field "OAuth2 Token Cert" added for uploading the self-signed certificate of the OAuth2 token server
- Fields updated in Device pages for Websocket Device Service: "Self Signed" field is now replaced with "Skip Cert Verify"; "Cert" field is changed to "WSS Cert"; new field "Token Server Cert" is added
- Redesigned the Device Profile Detail panel layout
2.2.0
Edge Xpert Application Service
Enhancements
- Added support for writing unsigned integers in the InfluxDB App Service functions
- Deprecated support for writing data into InfluxDB 1.8.x. To use
InfluxDBSynceWrite
in the App Service, ensure that the target InfluxDB has version 2.x or above
Edge Xpert CLI
Enhancements
kong
,kong_db
andproxy-setup
has been replaced withnginx
andproxy-auth
. These provide similar functionality but with reduced memory overhead
Bug Fixes
- Updated container_name of
secretstore-setup
to avoid potential errors when using CLI - License handling for
edgexpert-device-bacnet
fixed. License now works correctly with bothdevice-bacnet-ip
anddevice-bacnet-mstp
Edge Xpert Device Services
BACnet Device Service
Enhancements
- Provision watchers improved to allow customization of name, description, and labels for auto-discovered devices and device profiles
Bug Fixes
- Licensing issue fixed
Modbus Device Service
Enhancements
- Provision watchers improved to allow customization of name, description, and labels for auto-discovered devices and device profiles
- Some attribute types have been updated from string to numerics and booleans
OPC-UA Device Service
Enhancements
- Provision watchers improved to allow customization of name, description, and labels for auto-discovered devices and device profiles
- Some attribute types have been updated from string to numerics and booleans
S7 Device Service
Enhancements
- Provision watchers improved to allow customization of name, description, and labels for auto-discovered devices and device profiles
- Some attribute types have been updated from string to numerics and booleans
Edge Xpert Manager
New Features
- New rebranding feature allows theme colors and images to be adjusted for own branding usage
- Device discovery can now be triggered in Edge Xpert Manager with the "Device Discovery" button on the Device Service table
Enhancements
- Added a new attribute
StoreEventTags
to the App Service InfluxDB write function - Added a new
Labels
column in the main Device table. This allows the ability to filter by Labels - Added a new
Labels
column in the main Device Profile table. This allows the ability to filter by Labels - Added
View
andEdit
features to the Device Services Page, allowing users to edit the description, label, and transformScript of a device service. A detail pane to check the device service details has also been added - Added an Alert View to the Notifications table
- Attributes and data types updated for Modbus-RTU, Modbus-TCP, OPC-UA, and S7
- Added ability to sort table columns on the Devices, Application Services, Notifications, and User pages
Edge Xpert Microservices
New Features
- MQTT Sparkplug Specifications added, allowing communication with SCADA systems
Enhancements
- Character range in device resource names improved to allow the use of spaces, ampersands, brackets, and more
- Events are now distributed by the MQTT broker as the internal message bus. This replaces Redis Pub/Sub which is no longer supported.
Migration changes
2.2
Edge Xpert CLI
Edge Xpert Services
- The
Sparkplug
service has been added in Edge Xpert 2.2
Edge Xpert Device Services
BACnet Device Service
Device Profile Changes
- The attribute values for
instance
code>,property
andtype
have changed from strings to integers - The attribute value
raw
has changed from string to boolean
BLE Device Service
Device Profile Changes
- The attribute value
startByte
has changed from string to integer - The attribute values for
isNotification
andisAdvertisement
have changed from strings to booleans
Modbus Device Service
Device Profile Changes
- The attribute values for
startingAddress
,boolIndex
andstringRegisterSize
have changed from strings to integers - The attribute values for
isByteSwap
andisWordSwap
have changed from strings to booleans
S7 Device Service
Device Profile Changes
- The following device resource attribute keys are now in lower case:
- Operation → operation
- Size → size
- Start → start
- Type → type
- The following attribute values for
operation
are now in lower case: - Conn_state → conn_state
- Err_text → err_text
- Job_res → job_res
- State → state