Skip to main content Skip to footer

OPC UA Subscriber Documentation

Version: 5.0.0

Retrieved: 2025-10-09 15:16:08


OPC UA Subscriber

The module is used to setup grouped subscriptions to an OPC UA server with a specified interval. When data is changed in the OPC UA server a message is sent from the module with the new values.

This module is designed to be located at the beginning of a flow.

Settings

In the settings you specify the URL and credentials used for setting up subscriptions on an OPC UA server. The NodeIds that are subscribed to can be loaded from a resource, entered manually or updated dynamically through an input message. You can also specify the sample interval used for monitoring the NodeIds.

When using resources to specify NodeIds to subscribe to, additional properties can be attached to each NodeId. These additional properties can be used in other modules in the flow for example to filter out certain NodeIds, apply scaling of values or just to add additional metadata. See the example below and the documentation for more information on the resource format.

Name Requirements Purpose Default
Server URL   The OPC UA server to setup subscriptions to  
Disable module if no Server URL bool If true the flow will not attempt to start the module if no Server URL is configured false
Accept Untrusted Certificate   If true the server certificate will be automatically trusted by the client. true
Auto-Generate Client Certificate   If false the module will not use a client certificate for the connection. true
Security Policy None, Basic128Rsa15, Basic256, Basic256Sha256, Https Define the algorithm to use for signing and message encryption (depending on the mode specified). None
Security Mode None, Sign, SignAndEncrypt Define the mechanisms to secure the message exchange. None
Target Property string The property to write the result into. If empty the result is written to the root. Note that dot-notation is allowed to write the result into a sub-object.  
Tags collection (Resource)   The resource to import NodeIds from  
Additional tags to monitor   Any additional NodeIds to subscribe to, apart from the ones loaded from the resource or messages  
Publish Interval 0 seconds -> 24 hours The sample interval for NodeIds 1000
Include Display Name   Include display name in the output. false
Include Browse Name   Include browse name in the output. false

Credential

This module contains an option to select credentials to use in the module. All credentials supported by the module are presented in a drop-down.

Input - Additional Tags

The module does not need any input. However additional nodes can be subscribed to by sending a message to the module. This message should have an array of NodeIds assigned to the property opcuasubscriber.nodeIds. The format of the array is the same as for OPC UA resources, see the documentation.

The NodeIds subscribed to at any time will be a combination of any manually entered NodeIds, any resource and the latest list through an input message.

Input - Refresh

If needed you can send in a message to the module with the property opcuasubscriber.refresh set to true. The module will then send out all values for the subscriptions (both from settings and from the opcuasubscriber.nodeIds if available).

Output

Each change of the value of a NodeId in the subscription will be individually sent out from the module into the next module(s).

Name Type Description
displayName string A localized, human readable name for the node. Only present if enabled in the settings.
browseName string A non-localized, human readable name for the node. Only present if enabled in the settings.
name string Name set in settings when specifying NodeIds to read
dataType string OPC UA Data Type
nodeId string The identifier for the node in the address space of the OPC UA server
statusCode string Status code of reading a NodeId from the server
sourceTimestamp string The timestamp of the source from that the value originates
value string The value/result from the OPC UA server for the specific NodeId
custom any Custom properties added through the resources will be added to each output message

Examples

Subscribing values from one NodeId from an OPC UA server.

# Settings:
Target Property = data
Server URL = opc.tcp://192.168.0.103:51210/UA/SampleServer
Tags collection (Resource) =
Additional tags to monitor =
  Name = CC2001_ControlOut, Node Id = ns=5;i=29
Publish Interval = 1 second
Include Display Name = true
Include Browse Name = true
Security Mode = None
Security Policy = None

# Outgoing message:
{
  "data": {
    "displayName": "ControlOut",
    "browserName": "4:ControlOut",
    "name": "CC2001_ControlOut",
    "dataType": "double",
    "nodeId": "29",
    "statusCode": "good",
    "sourceTimestamp": "2018-12-21T08:14:23.6567987Z",
    "value": 0.057499999999999996
  },
  "crosser": {
    "success": true
  }
}

Adding subscriptions by sending message to the module.

# Settings:
Target Property = data
Server URL = opc.tcp://192.168.0.103:51210/UA/SampleServer
Tags collection (Resource) =
Additional tags to monitor =
  Name = CC2001_ControlOut, Node Id = ns=5;i=29
Publish Interval = 1 second
Include Display Name = false
Include Browse Name = false
Security Mode = None
Security Policy = None

# Incoming message:
{
  "opcuasubscriber":{
    "nodeIds": [
      {
        "nodeId": "ns=3;i=1003",
        "name": "Sawtooth",
        "additionalData": {
          "a": 1,
          "b": true
        }
      }
    ]
  }
}

# Outgoing message:
{
  "data":  {
    "nodeId": "ns=3;i=1003",
    "name": "Sawtooth",
    "additionalData": {
      "a": 1,
      "b": true
    }
    "index": 2,
    "dataType": "Double",
    "statusCode": "Good",
    "sourceTimestamp": "2021-05-10T15:08:49Z",
    "value": -0.4
  },
  "crosser": {
    "success": true
  }
}