IoT Hub

Note

Features marked with “(Preview)” are selective opt-in features that are ready for you to test and evaluate but not recommended for production use. Contact your sales representative if you are interested in a Preview feature.


In EnOS 2.3 Release, we added new features and functions for Device Connectivity & Management Service, Alert Management, and Device Integration Service. See the below for more details.

Device Connectivity & Management Service

Device Connectivity

  • Bi-directional certificate-based authentication: Added the ability to use HTTP SDK to connect to EnOS.


  • Added a Device Onboarding function (Preview), a set of protocol gateway access methods where two-way conversion of third-party device protocols to EnOS IoT standard protocol can be done, enabling users to access EnOS Cloud through non-EnOS IoT protocols. Users can define their own codec process to convert third-party protocol data to the EnOS IoT standard protocol and access EnOS for dynamic modeling and asset management in IoT Hub.


    For more information, see Device Onboarding.

Device Management

  • Added the ability to share or migrate models, products, and devices to another OU.

  • Added multi-language options for model feature definition description.

  • Added a validate model switch when creating models. Toggled on by default, you can choose to switch it off in situations where there is a large number of model definitions to reduce the impact on performance.

  • Added Protocol Gateway when creating devices. The EnOS IoT protocol gateway, the default protocol gateway used in EnOS, will be automatically assigned if Only EnOS IoT is chosen for Onboarding Method and this option will not appear. If EnOS IoT and Custom is chosen, you can either enable or disable it.


    If enabled, you can select a protocol gateway from the drop-down list. The protocol gateways in the list are the protocol gateways from Private Gateways in Device Onboarding > Protocol Gateways, which can be created from scratch or based on a template in Public Gateways. For more information, see Protocol Gateways. If disabled, a custom data parsing script would need to be created in the product to encode and decode the uplink and downlink data.


  • Added OU ID and more information such as the device key and product key of the asset to the CSR request details in System Management > Certificate Management. For more information, see Creating your Certificate Signing Request (CSR) File.


    ../_images/csr_code.png

Device Monitoring

  • Added two new functions: Connection Topology and Online Debugging.

    • Connection Topology: Edges can upload the connection topology structure and connection status of devices through MQTT protocol. The information and connection status of the Edges and their devices are shown in the EnOS Management Console which can help to pinpoint the location of devices that have broken connections.

      ../_images/connection_topo_page.png


    • Online Debugging: Enables the online debugging and testing of registered devices in Iot Hub according to the feature definitions defined in the models to quickly locate problems or to faciliate application development. Different debug functions are available for devices with different status.

      • Report attribute: Simulates the reporting of the device attribute value from device to cloud.
      • Report measurement point: Simulates the reporting of the device measurement point value from device to cloud.
      • Report event: Simulates the reporting of the device event value from device to cloud.
      • Get measurement point: Gets the measurement point value of the device.
      • Set measurement point: Sends a command to set the measurement point value from cloud to device.
      • Invoke service: Sends a command to invoke a service.


      For more information, see Online Debugging.


  • You can now view the full description of a device’s communication status from the search results.


    ../_images/device_network_stats_desc.png


Alert Management

  • You can now search for alert rules by model and measurement point or event, or filter the list of alert rules by a rule’s trigger.

    ../_images/alert_rule_search.gif


  • Added the ability to search by time for the alert records (new version).

  • Added a new function to configure alert sources so as to map the required metrics from third-party systems to be used as triggers during alert rule creation.

  • Added new features for alert rule creation (new version).

    • Added rule name, supports internationalization.

    • Supports more than two measurement points as triggers for comparison as the trigger condition.

    • Supports metrics not only from EnOS IoT hub, but also metrics from third-party systems to be used as triggers.

    • Other than Tumbling Window, you can now choose Sliding Window for timing alerts. For more information, see Time Windows.

    • Added a section where you can set customized tags that contain the selected model’s attribute value. These tags are attached to their respective alert records for easy aggregation or conditional filtering.

    • Added more options for selecting an alert rule’s scope when creating alert rules.

    • Added more aggregation functions for Timing to cater to more scenarios when creating alert rules. For more information, see Time Window Functions.


      ../_images/alert_aggregation_functions.png


    • Added an option to use expressions to specify the alert condition.


      ../_images/alert_use_expression.gif

Device Integration Service

  • You can now export flows as application launchers that can be used at end stations. For more information, see Exporting as an Application Launcher.

  • Added a search field for flow logs where you can enter a keyword to filter the search results. If the keyword is found in the input msg of the first node of the flow, the search results will return the relevant logs. For more information, see Flow Logs.

  • Added a Connection Configurations function where data sources such as MySQL connections can be configured for use. For example, a successfully configured MySQL connection can be used by the Database node for updating database data without the need to reconfigure it every time. For more information, see Connection Configurations.

  • Added integration templates with ready-designed flows that users can either refer to as a reference or use as a template when creating integration flows. Users can also export created integration flows as template for future reference and use. They are classified into 3 types.

    • Public Templates: Public templates are integration templates that are created by the system. Users under all OUs can access these templates but cannot edit or delete them.
    • Enterprise Templates: Enterprise tempaltes are integration templates that are created, and can be edited or deleted, by the OU admin. All users under the OU the template belongs to can access, but cannot edit or delete, these templates.
    • Private Templates: Private templates are integration templates that are created, and can be edited or deleted, by users. All users under the OU the template belongs to can access as well as edit and delete these templates.


    ../_images/dis_templates.png


  • Added a new function, Integration Agent, for remote deployment and monitoring of integration agent flows. Users can design an integration flow in the cloud and export it as a JAR file for local site deployment. After successful deployment and an agent flow is running, the agent flow establishes a connection with the cloud and sends its status (online/offline) over, where users can remotely view its status, update the flow, and send commands to trigger the agent flow from the cloud.

  • Added a new function, Server Configurations, where users can configure proxy servers to be used by nodes such as MQTT Sub and MQTT Pub. For more information, see Server Configurations.

Nodes

  • Action nodes: You can now choose to save part or all of the content in the msg to the metadata before executing the nodes to prevent the content from being overwritten.

  • You can now create and customize your own nodes, upload them, and use them in integration flows to improve your flow process. For more information, see Custom Nodes.

  • Added metadata information to a node’s input and output logs. For more information, see Node Logs.


    ../_images/log_node_input.png


  • Enhanced debug function to indicate each node’s status: nodes without errors have a green icon displayed at the top right of the node while nodes with errors have a red icon.

    ../_images/dis_log_node_status.png

Existing Nodes

Node What’s New
Azure Blob Added file name wildcard support.
CSV Added a Test tab for CSV node where you can upload a CSV file to see its output sample.
HTTP Client Added the option to keep cookie for session management.
Kafka Sub Added Anonymous as an authentication option.
Refresh Token Added the option to use cookie for session management.
Script

Added built-in JavaScript functions which can be utilized in the Script tab.

../_images/script_builtin_js.png
SFTP Client
  • Added a new Action where files under the specified path can be listed in the form of a JSON array to be passed to downstream nodes for processing.
  • Added a new logon type using key files.

New Nodes

Node Type: Subflow
Node Description
Subflow An integration flow that can be added to other integration flows.


Node Type: Input
Node Description
AMQP Sub Enables users to subscribe to AMQP queues.
Inject Triggers a flow manually or by intervals using a custom msg, which is used for debugging or function expansions.


Node Type: Logic
Node Description
Loop Marks the start of a loop in the integration flow and is to be used together with the Loop End node.
Loop End Marks the end of a loop in the integration flow and is to be used together with the Loop node.
Combine Merges split data into an array.
Comment A standalone node that enables you to add comments to the integration flow.
Catch Stores exceptions thrown by nodes for subsequent processing.


Node Type: Action
Node Description
Read Context Reads the chosen key-value pair data stored via the Store Context node within the specified scope, and outputs the data in the metadata or output msg.
XML Converts data in an XML file to JSON format.
File Reads data from a file and outputs to msg, writes data from msg to a file, or deletes a file.
Store Context Stores the specified data using key-value pairs within the specified scope, which can be retrieved using the Read Context node.
HTTP Response Sends responses back to requests received from an HTTP Server node.


Node Type: IoT Hub
Node Description
Lookup Mapping Finds the mapping relationship as per the uploaded CSV mapping file and output the specified mapping data to msg.
Template Populates a template with data from the input msg and outputs the populated template as the output msg.


Node Type: External
Node Description
AMQP Pub Publishes messages to queues based on the topic and routing key.
Azure Event Hub Connects to and gets data from Azure Event Hub.
Email Sends email notifications.
AWS S3 Establishes a connection to AWS S3 for CSV file downloading.
Kafka Pub Establishes a Kafka client that publish messages to a third-party Kafka server.
SMS Sends SMS notifications.
Twilio SMS Sends the input msg as an SMS message via Twilio.
Azure IoT Hub Sends the input msg to Azure IoT Hub.


Node Type: Enterprise
Node Description
YBSoftware eDOS Obtains the collected device data from the eDOS database via SDK or web service according to the tag name and outputs the data in the output msg.
Database Updates the selected database according to the selected action and data.


Node Type: System
Node Description
Checkpoint Enables buffering when sending data to the cloud fails.
Remote Task Receives a trigger from the cloud to proceed to process its downstream nodes in the remote flow.