Outputs

An Output represents a writeable path to a data point on a connection. Examples of outputs include OPC UA tags, MQTT topics, SQL tables, etc. This section covers general settings and configuration across all Outputs. See Connections for protocol specific settings.

Create an Output

  1. Navigate to Connections in the configuration’s Main Menu and select a connection. Inside the selected connection navigate to the Outputs menu item. Here you can add, edit, and view outputs.

New Input

  1. Depending on the type of connection you may be able to Browse and import one or more Outputs (e.g., OPC UA). Alternatively, you can click the New Output to manually configure an output.

    • Click the Browse button to View and Select the desired outputs. When finished, click the Import Selected button.
      Graphical user interface, application Description automatically generated
    • Click the New Output button to manually configure an output.
      Graphical user interface, application Description automatically generated
  2. Set any General and Protocol Specific Settings. Click Submit to add the output and return to the output list. General Settings are described below.

General Settings

Name

Specifies the name of the output. The name must be unique across all outputs for the specified connection. Names can only contain alphanumeric and underscore characters (e.g., A-Z, a-z, 0-9 or _).

Breakup Arrays

When enabled, arrays sent to this output are broken up into individual objects and sent one at a time. One example of this is breaking up SQL rows over multiple MQTT topics.

Note: Some connectors, like SQL, can efficiently process arrays via bulk operations. In this case enabling breakup arrays decreases performance.

Attribute Filter

Specifies attributes to remove from a complex payload. Nested attributes are excluded by defining the attribute path (delimited by the dot (.) character).

For example, to remove the field “temp” from the payload below, use the attribute path “value.temp”.

json
{ "name": "myInstance", "value": { "temp": 123, "pressure": 456 } }

The result of the filtering the attribute path “value.temp” is:

json
{ "name": "myInstance", "value": { "pressure": 456 } }

Note: Only complex payloads are filtered and invalid attribute paths are ignored. When outputting an array of complex objects, attribute filters are applied to each object in the array.

Protocol Specific Settings

See Connections for Protocol Specific Settings.

Test Writes

All outputs support test writes. Test writes output an expression result to the output. The Expression to write can be JSON object, single value, or a source reference (e.g., Input, Instance, Condition, etc.).

Some examples of test write expressions include:

javascript
// Outputs a single value
1
javascript
// Outputs a string
"hello world"
javascript
// Outputs an instance
{{Instance.myInstance}}
javascript
// Outputs a JSON object
var out = {
    "myObject": {
        "tag1": 123,
        "tag2": "hello world"
    }
}
out

Note: Test writes output the Expression to write result using the current output settings.