Command Bindings
Map command instances to protocol-specific addresses on connectors for execution.
A command binding connects a command instance to a specific protocol address on a connector. Without a binding, the platform knows what command to execute but not where to send it.
Bindings are similar in concept to variable bindings for data acquisition, but work in the opposite direction — instead of reading data from a device, command bindings write data to or call methods on a device.
Creating a binding
To configure a command binding:
- Navigate to the asset that has the command instance
- Open the Commands tab on the asset detail page
- Find the command you want to bind and click the binding icon
- In the binding dialog, select a connector and configure the address
Each command instance can have one binding per connector. Only enabled connectors for the asset's site are available for selection.
Binding fields
| Field | Required | Description |
|---|---|---|
| Connector | Yes | The connector to route the command through |
| Action Type | Yes | Value Write or Method Call — defaults to the command's type |
| Address | Yes | Protocol-specific target address (see below) |
OPC UA address formats
The address format depends on the action type. All OPC UA addresses use the Node ID format: ns=<namespace>;<identifier-type>=<identifier>, where the identifier type is one of s (string), i (integer), g (GUID), or b (byte string).
Value Write
For a value write command, the address specifies the OPC UA node to write to:
| Field | Description | Example |
|---|---|---|
| NodeId | The OPC UA node to write the value to | ns=2;s=MyDevice.PowerSetpoint |
Address: { "nodeId": "ns=2;s=MyDevice.PowerSetpoint" }Method Call
For a method call command, the address specifies the method, the object it belongs to, and optionally the node for status feedback:
| Field | Description | Example |
|---|---|---|
| NodeId | The object instance node (parent of the method) | ns=2;s=MyDevice |
| MethodId | The OPC UA method node to call | ns=2;s=MyDevice.StartMethod |
| ObjectId | The object instance node for method invocation context | ns=2;s=MyDevice |
Address: {
"nodeId": "ns=2;s=MyDevice",
"methodId": "ns=2;s=MyDevice.StartMethod",
"objectId": "ns=2;s=MyDevice"
}The binding dialog provides a ns= prefix in the input field. You only need to enter the namespace number and identifier — for example, type 2;s=MyDevice.StartMethod and the platform prepends ns= automatically. The field validates the format in real time and shows a green checkmark when the format is correct.
Validation
The binding dialog validates OPC UA Node IDs as you type. A valid Node ID must match the pattern ns=<number>;<type>=<value> where type is s, i, g, or b. For method call bindings, all three fields (NodeId, MethodId, ObjectId) must be valid before you can save.
Editing and removing bindings
To update a binding, open the binding dialog for the command instance. The dialog loads the existing configuration, which you can modify and save.
To remove a binding, open the binding dialog and click the Remove button. Removing a binding means the command can no longer be executed until a new binding is configured.
Relationship to variable bindings
Command bindings and variable bindings serve complementary purposes:
| Variable Bindings | Command Bindings | |
|---|---|---|
| Direction | Device to cloud (read) | Cloud to device (write/call) |
| Purpose | Acquire telemetry data | Send commands to equipment |
| Configured on | Variable instances | Command instances |
| Address type | Data point to read from | Data point to write to, or method to call |