Creating Variables
Add variables to templates and assets manually or from libraries.
Variables can be added to templates (as definitions) or directly to assets (as instances). There are two approaches: manual creation and cloning from a variable library.
Adding variables to templates
From a library
The fastest way to populate a template with variables is to clone them from a library:
- Open the template and go to the Variables tab
- Click Add from Library
- Select a library and choose the variables you need
- Click Add
The selected variables are cloned into the template. A new template version is created automatically if the variables differ from the current version.
Manually
To add a variable definition to a template:
- Open the template and go to the Variables tab
- Click the add button
- Fill in the form fields:
| Field | Required | Description |
|---|---|---|
| Key | Yes | snake_case identifier (auto-normalized from name) |
| Name | Yes | Human-readable label |
| Kind | Yes | Raw or Derived (defaults to Raw) |
| Data Type | Yes | Value type (defaults to Float) |
| Unit Code | No | Unit of measurement |
| Description | No | Explanatory text |
| Sampling Hint (ms) | No | Suggested collection interval (minimum 100ms) |
| Is Index | No | Whether this is an index column |
Removing variables from templates
On the Variables tab, click Remove Variables to open a selection dialog. Check the variables you want to remove, optionally add a changelog note, and confirm. A new template version is created with the remaining variables.
Adding variables to assets
From a template
When you instantiate an asset from a template, all variable definitions from the template version are automatically created as variable instances on the asset. No additional action is needed.
Manually
To add a variable directly to an asset:
- Open the asset detail page and go to the Variables tab
- Click the add button
- Fill in the form:
| Field | Required | Description |
|---|---|---|
| Key | Yes | snake_case identifier |
| Name | Yes | Human-readable label |
| Kind | Yes | Raw or Metadata |
| Data Type | Yes | Value type |
| Unit Code | No | Unit of measurement |
Variables you add by hand read their values from equipment, so bind them to a connector once they are saved. To compute a value from variables you already collect, define a KPI instead — the engine creates and fills the output variable on every matching asset for you.
Managing variable instances
The Variables tab on an asset shows all variable instances in a table with columns for key, name, kind, data type, unit, binding status, and enabled state.
Enabling and disabling
Each variable can be individually enabled or disabled. Disabling a variable pauses data collection without deleting the variable or its historical data.
For bulk operations, select multiple variables using the checkboxes and use the Enable or Disable buttons.
Binding status
The table shows the binding status for each variable:
- Unbound — no binding configured (data not being collected)
- Bound — one or more valid bindings exist (data is flowing)
- Invalid — bindings exist but have configuration issues
Hover over the binding badge to see details about each binding, including the protocol, address, and transform parameters.
Bulk binding
To bind multiple variables at once, use match suggestions from the connector's Bindings tab. The AI matching engine suggests bindings that you can accept individually or in bulk. This requires at least one connector to be attached to the asset with a data model.