OPC UA Client Endpoint Properties

nodeId (string)

Specifies the address of the OPC UA node within the server. You must define either nodeId or browsePath. A nodeId value is encoded as an xs:string with the following syntax: ns=<namespaceIndex>;<type>=<value> The fields have the following meanings: <namespaceIndex> is an integer number such as 0 or 10, denoting the namespace. <type> is a flag that specifies the identifier type and can be: i for numeric (integer), s for string, g for guid, or b for opaque (byte string). <value> is the identifier itself, encoded as a string and in the format according to the identifierType. See also https://reference.opcfoundation.org/v104/Core/docs/Part6/5.3.1arrow-up-right, section 5.3.1.10.

Examples: "i=2258", "ns=2;s=TemperatureSensor/Output", "ns=10;i=-1012"

browsePath (string)

Specifies the relative path to the endpoint. You must provide either nodeId or browsePath.

Examples: "0:CurrentTime", "2:Devices/PLC1/Temperature"

nodeType (string, enum)

Specifies the OPC UA node type. This is mandatory when the node represents a method call. Example: - Variable: Represents a value, such as temperature or pressure. - Object: Represents a logical entity such as a device or subsystem. - Method: Represents an executable action (e.g., start, reset).

This element must be one of the following enum values:

  • Object

  • Variable

  • Method

fields (array)

An array of browse names representing variables defined in an event type. Each array element must be a string.

The object is an array with all elements of the type string.

Additional restrictions:

  • Unique items: true

eventTypes (array)

Lists the node IDs of OPC UA-defined event types in the server namespace, each as a nodeId string.

The object is an array with all elements of the type string.

Examples: "ns=0;i=2041", "ns=0;i=2130", "ns=2;s=CustomAlarmType"

Additional restrictions:

  • Unique items: true

browsePathPrefix (string)

Optional prefix added to the beginning of a browsePath. If both browsePathPrefix and browsePath are provided, they are combined with a / in between. If only one is provided, that value is used as the full path. Example: If browsePathPrefix is 2:Devices/Device1 and browsePath is Temperature, the full path becomes 2:Devices/Device1/Temperature.

publishInterval (integer)

Specifies how often (in milliseconds) the server should publish values within a subscription. Typically, updates are sent only when values change. Example: A publishInterval of 500 means the server checks every 500 milliseconds for changes to send to the client. If no values change, no data is sent, reducing network traffic.

Default: 1000

samplingInterval (integer)

Sets the sampling interval (in milliseconds) in which values published by the server should be sampled for a particular node subscription. All nodes (i.e., monitored items) with the same samplingInterval will be combined into one monitored item group. Example: A samplingInterval of 500 means the server samples every 500 milliseconds.

Default: 1000

maxNotificationsPerPublish (integer)

Specifies the maximum number of monitored item notifications per publish message. Setting this to a lower value will lead to more network traffic. Example: A value of 50 means that if more than 50 monitored items change between publish intervals, multiple publish messages will be sent to the client to deliver all updates.

Default: 100

priority (integer)

Sets the priority of the subscription on the server. Higher values mean higher priority for publishing data changes.

Default: 10

requestedLifetimeCount (integer)

Specifies the number of publish intervals that the server should wait for a publish request before considering the subscription inactive and deleting it. A higher value allows for longer interruptions in communication without losing the subscription, but may consume more server resources. Example: A value of 30 means that if no publish requests are received within 30 times the publishInterval, the server will delete the subscription.

Default: 30

requestedMaxKeepAliveCount (integer)

Specifies the maximum number of publish intervals that can pass without the server sending a publish response. If this count is reached, the server sends a keep-alive message to the client, even if no monitored items have changed. This helps ensure the client knows the connection is still active. Example: A value of 10 means that if no monitored items change within 10 times the publishInterval, the server will send a keep-alive message.

Default: 10

retryMonitorTimeout (integer)

Specifies the time (in milliseconds) to wait before retrying to monitor a node if the initial monitoring attempt fails. This helps handle temporary issues when setting up monitoring for a node. Example: A value of 300000 means that if monitoring a node fails, the system will wait 300 seconds (5 minutes) before trying again.

Default: 300000

Additional restrictions:

  • Minimum: 10000

trigger (string, enum)

Specifies when a client should be notified about data changes on a monitored item. Determines the condition under which the server sends notifications to the client. Options: - Status: Notify only if the status code of the value changes. - StatusValue (default): Notify if either the status code or the value changes. - StatusValueTimestamp: Notify if the status, value, or timestamp changes. A timestamp change means the value stayed the same, but the data source refreshed or reprocessed it, resulting in a new timestamp.

This element must be one of the following enum values:

  • Status

  • StatusValue

  • StatusValueTimestamp

Default: "StatusValue"

deadbandType (string, enum)

An optional filter that suppresses small changes in numeric values to reduce traffic. If set, only significant value changes (as defined by deadbandValue) will trigger notifications. Only applicable to variables with numeric data types. Options: - None (default): Not using any deadband filter. - Absolute: A notification is sent only if the absolute difference between the new and previous value is greater than or equal to deadbandValue. - Percent: A notification is sent only if the relative difference between the new and previous value exceeds the defined percentage threshold in deadbandValue.

This element must be one of the following enum values:

  • None

  • Absolute

  • Percent

Default: "None"

deadbandValue (number)

Specifies the threshold value that is used by the selected deadbandType. It will be ignored when deadbandType is None. For Absolute, it defines the minimum difference (in engineering units) that must be exceeded. For Percent, it defines the percentage of the EURange that must be exceeded.

Last updated

Was this helpful?