Edge Xpert 1.8
Edge Xpert 1.8 is based on version 1.3-Hanoi of the EdgeX Foundry open-source software platform, which provides the following key updates:
- Support for distributed Device Services. This means that a Device Service can run on a different host to that used by the other Edge Xpert microservices
- Support for event data tagging, which allows each Edge Expert instance to be configured to tag the data with a unique reference as it is exported northbound
- Upgrades to the provided security, configuration, and rules services with new releases of Vault (1.5.3), Kong (2.0.5) Consul (1.8), and Kuiper (1.0)
- The first availability of the EdgeX V2 APIs, which are provided as a beta release and will be productized and available for full commercial use in the next major release of Edge Xpert
Edge Xpert builds on this platform to deliver exclusive key updates for usability, device and platform support, including the following:
-
Provision of an online tool for creating and editing device configuration files with ease. Formally known as the Profile Modelling Tool, IOTech's Device Configuration Tool provides key usability enhancements and is provided as an online service for Edge Xpert, XRT and EdgeX Foundry users
-
Support for running on Windows using Docker Desktop or Docker Toolbox
-
Performance improvements for the Modbus Device Service. This Device Service has been re-implemented in C, providing the same features as the original Go-based implementation, but with improved performance and scalability
-
Enhancements for the BLE Device Service, including automatic device connections, notifications and user conversion functions
-
Updates for the PROFINET Device Service to remove the specific hardware dependencies of the previous version
Changelog
Discover what's new in our Edge Xpert 1.8.x releases for the following areas:
1.8.6
Edge Xpert CLI
New Features
- Added the
ble-sim
service and updated the docker compose file
Enhancements
- Updated the BLE CC2650 example device profile
Edge Xpert Device Services
All Go Device Services
Bug Fixes
- The Go Device Service SDK has been updated with a fix for handling Device Service re-creation callback
BLE Device Service
Enhancements
- Improved the handling of device connections
BLE Simulator
New Features
- Added the BLE simulator
Modbus Device Service
Enhancements
- Added boundary checks for request parameters and appropriate error messages for OOB values
Bug Fixes
- Fixed an issue where Float32 and Float64 values were not written, but an OK HTTP code was returned
- Updated Starting Address format to be a zero-based integer
1.8.5
Edge Xpert Microservices
New Features
- Provided a template for creating custom Application Services demonstrating how to build a custom Application Service and add custom pipeline functions
- Added an API to create an Application Service container, the request body is the app-service configuration:
api/v1/system/app/{name} POST
Enhancements
- Added new built-in functions
ConvertIntToFloatReading
andConvertFloatToIntReading
functions to convert readings to and fromInt
andFloat
types - Upgraded the Paho MQTT library from version 1.3.4 to version 1.3.5
- Upgraded the Consul image from version 1.8.3 to version 1.8.13
- Upgraded the Redis image from version 6.2.3 to version 6.2.4
- Upgraded the Vault image from version 1.5.8 to version 1.5.9
Bug Fixes
- Fixed
http send
function of export-distro, POST is used by default if the request method is not POST
Edge Xpert Device Services
BACnet Device Service
New Features
- Added options to disable BACnet multiple read and/or write capabilities with
DisableMultiRead
andDisableMultiWrite
environment variables - Added support for reading arrays, returning them as comma-separated strings, including null values
- New method of discovery to operate with provisioned watchers, mode is controlled by the
EdgeXDiscoveryMode
driver option
Enhancements
- BACnet/IP can use nsenter to run in the host network namespace
- Remapped Edge Xpert data types to BACnet data types
- The
Port
driver option can be set as an environment variable to override the default port, by default47808
BBMD_TIMETOLIVE
environment variable added to allow time to live period to be controlled when registering the Device Service as a foreign BACnet device connecting to the BBMD- Numerical driver options are now declared as integers instead of strings
BACnet Server
New Features
- Added support for lua scripts
BLE Device Service
Enhancements
- Updated the example BLE conversion device profile found at /usr/share/edgexpert/examples/device-services/ble/cc2650_conversion.yaml
MQTT Broker
New Features
- The MQTT Broker can be configured by the user in the docker compose
env
variable
Device Discovery Tool
New Features
- In OPC-UA Automatic Profile Modeling mode,
deviceResource
entries for Object Nodes can be created, these entries are flagged aseventNotifiers
1.8.4
Edge Xpert Microservices
New Features
- Added an
ExecuteCoreCommand
pipeline function in Application Services, providing the rules engine and Cloud services the capability to invoke core commands by sending MQTT messages to the Application Service - Added bi-directional communication support to Application Services, new pipeline functions included are:
MQTTSecretSendUsingSharedClient
,AzureIOTHubMQTTSendUsingSharedClient
,SendAzureDirectMethodResponse
,AWSIoTHubMQTTSendUsingSharedClient
,SendAWSIoTCoreResponse
- Added
AddTagsFromDeviceResource
function for Application Services, which adds pre-configured tags from a device resource to the tag collection of an event
Enhancements
- Upgraded the Paho MQTT library from version 1.3.3 to version 1.3.4
- The sys-mgmt-agent service now runs as non-root inside its container to avoid security vulnerabilities (Case: 00001311)
Bug Fixes
- Fixed the incorrect HTTP status code received when issuing the GET or PUT command to a Device Service (Case: 00001311)
Edge Xpert CLI
New Features
- Added support for Kong DNS Time-To-Live, configurable with environment variable
KONG_DNS_VALID_TTL
(recommended value is1
)
Enhancements
- Enhanced security of Docker containers with
no-new-privileges
andread-only
container options - Renamed the
images
subcommand toimage
to be consistent with the underlyingdocker image
command - Upgraded the Vault image to version 1.5.8 from version 1.5.7
- Upgraded the Postgres image to version 12.7-alpine from version 12.6-alpine
- Integrated InfluxDB version 2.0 into Edge Xpert
- Added the
VAULT_TOKEN_TTL
environment variable for the vault-worker to override the vault token defaultttl/period
of one hour (1h
) (Case: 00001318)
Bug Fixes
- Upgraded the Redis image to version 6.2.3 from version 6.0.13-alpine to fix issues with high CPU consumption on ARM32 systems (Case: 00001314)
Edge Xpert Device Services
BACnet Server
New Features
- Added support for dynamic object array allocation
- Added support for Change on Value (COV) readings
BLE Device Service
New Features
- New example device profiles provided for blue maestro tempo disc and Silicon Labs Thunderboard Sense 2 devices
Bug Fixes
- Fixed the device re-connection issue, devices can now reconnect as expected after the re-connection attempt timeout (Case: 00001316)
1.8.3
Edge Xpert Device Services
BLE Device Service
New Features
- Device Service can now read and process manufacturer advertisement data packets
Bug Fixes
- Fixed issue with device re-connection issue after device operational status changes to disabled
Device Discovery Tool
New Features
- Added support for specifying a maximum Browse depth in Automatic Profile Modeling, allows browsing of a subset of the server nodespace
1.8.2
Edge Xpert Microservices
New Features
- Added support for setting up multiple pipelines to allow bi-directional communication between Edge Xpert and the Cloud
- The secrets-setup service generates the certificate and key for Edge Xpert Manager to enable TLS (Case: 00001287)
- Created a Postgre password file for Kong (Case: 00001269)
Enhancements
- Edge Xpert Manager can support TLS in security mode (Case: 00001287)
- Upgraded the Paho MQTT library from version 1.2.1 to version 1.3.2
- Kuiper has been upgraded from version 1.1.1 to version 1.1.2 to allow the Kuiper service to run as non-root and avoid security risk (Case: 00001272)
Bug Fixes
- Fixed an issue with updating a device without an ID in Core Metadata, PUT API is now correctly checked (Case: 00001298)
Edge Xpert CLI
Bug Fixes
- Added the support-logging entry to resolve the issue with C Device Services using nsenter with hostname
- Fixed issue starting the API Gateway on an ARM32 platform
Edge Xpert Device Services
Modbus Device Service
Bug Fixes
- Fixed an issue with device commands performing batch reads on non-compliant devices
ONVIF Device Service
Enhancements
- Device authentication information can now be updated
Bug Fixes
- Fixed an issue where service could crash if a device is provisioned with an incorrect IP address or port
Edge Xpert Manager
Enhancements
- Added the TLS_ENABLE environment variable to allow TLS to be enabled for Edge Xpert Manager (Case: 00001287)
1.8.1
Edge Xpert Microservices
New Feature
- Introduced an environment variable (
EDGEX_INTERVAL
) to make the Consul health check interval configurable, default interval has been increased to ten seconds (Case: 00001278) - Upgraded the NodeRed service from version 0.19.0 to version 1.2.9
- Upgraded Kuiper from version 1.0.0 to version 1.1.1
Enhancements
Edge Xpert CLI
Enhancements
- The host network access is restricted, and the headers have been removed from the Kong API to improve security (Case: 00001276)
- The default health check interval has been increased to ten seconds for security services, which reduces CPU usage, and the
EDGEX_INTERVAL
environment variable has been introduced to provide control over the interval (Case: 00001278) - Created a Postgre password file for Kong (Case: 00001269)
- Kuiper subscribes to Core Data by default
Edge Xpert Device Services
ONVIF Device Service
New Features
- Introduced support for a selection of Pan Tilt Zoom features
1.8.0
Edge Xpert Microservices
New Feature
Enhancements
- Made the export-distro
MaxNumberOfEventInProcessing
limit configurable - Expanded the vault token live time for secrets-setup and secretstore-setup to avoid expiration
- The Kong Admin API has been hidden from the localhost interface to prevent users from changing the running configuration of the Kong service (Case: 00001275)
- RedisDB port has been hidden from the localhost interface (Case: 00001277)
- Fixed memory leaks found in Export Distro (Case: 00001226, 00001241)
- Fixed the overflow error in Core Data when post event at arm32 arch
- Disabled the Vault UI and removed the Vault dependency on Consul using the file backend (Case: 00001274)
Bug Fixes
Edge Xpert CLI
New Features
- The redis-password file is generated based on an environment variable
- The
--security-wait-duration
flag has been added to allow you to specify the time to wait for security bootstrap to complete to prevent the timeout of other services (Case: 00001245)
Enhancements
- All Device Services now register themselves to Consul if the
consul
service is running - The list of available services shown in the help message is now loaded during runtime. This allows you to see custom services if the docker-compose file has been modified
Bug Fixes
- The port collision between Kong and Portainer has been fixed by updating the Kong HTTP port from 8000 to 8686 (Case: 00001250)
- Edge Xpert CLI now returns with the correct non-zero exit status code
Edge Xpert Device Services
All Device Services
Enhancements
- All Device Services have been updated to use the latest SDK
CANbus Device Service
Enhancements
- CANbus Device Service now runs on port 49954 by default
CANopen Device Service
Enhancements
- CANopen Device Service now runs on port 49955 by default
File Device Service
Enhancements
- File Device Service now runs on port 49956 by default
Modbus Device Service
Enhancements
- Modbus Device Service is now included in Edge Xpert as a C Device Service
Zigbee Device Service
Enhancements
- Zigbee Device Service now runs on port 49957 by default
- The device profile format has been updated to match the EdgeX Foundry standard
Device Discovery Tool
New Features
- The Device Discovery Tool supports OPC-UA Automatic Profile Modeling and OPC-UA Node View modes