# Dynamic value substitution

## Overview

Dynamic value substitution allows you to use variables as placeholders in CONTROL configuration settings. Variables are enclosed in double curly braces (e.g., `{{ variable_name }}`) and are automatically replaced with their actual values when applied to devices.

You can use dynamic value substitution in the following contexts:

- Default values for **Parameters** in Device Profile/Type configurations
- **Device Settings** values in Device Profile/Type configurations
- Integration service configurations for event handlers and other integrations

## How Variables Work

Variables and their values are defined under the **Groups** menu. They can be:

- **Custom variables**: Manually defined within Groups
- **System variables**: Dynamically generated from Device object information and settings

For detailed information about configuring Groups and their variables, see the [Inventory Groups section](/books/control/page/inventory-groups/).

## Using Variables in Configuration

When a Device belongs to a Group that includes a defined variable, CONTROL automatically substitutes any matching variable placeholder with its actual value.

**Example:**

If a Device belongs to a Group with a variable named `network_name` set to `Zequenze`, then:

- Any setting configured as `{{ network_name }}` will be replaced with `Zequenze`
- If a Parameter's default value in a Device Profile/Type is set to `{{ network_name }}`, the platform will use `Zequenze` when generating the device's default configuration

## Variable Precedence and Weight

When multiple Groups define the same variable name, CONTROL uses the **Weight** value to determine precedence:

- Variables configured with **higher weights** take precedence over those with lower weights
- If a Device belongs to multiple Groups that define the same variable, the value from the variable with the highest weight will be used

[![](https://docs.zequenze.com/uploads/images/gallery/2026-02/5lNB0RhIn6miY0gF-tmpo6psyqn.png)](https://docs.zequenze.com/uploads/images/gallery/2020-05/EfGjNQw5cFwkzo4W-image-1589426567125.png)

## System-Generated Device Variables

The following variables are automatically generated from Device object properties and are available for use in dynamic value substitution:

| Variable Name | Description |
|---------------|-------------|
| `device.name` | Name of the device |
| `device.description` | 1st description of the device |
| `device.description2` | 2nd description of the device |
| `device.description3` | 3rd description of the device |
| `device.description4` | 4th description of the device |
| `device.serial_number` | Serial number of the device |
| `device.serial_number_alt` | Alternate serial number of the device |
| `device.organization` | Name of the Device's assigned Organization |
| `device.organization_id` | ID of the Device's assigned Organization |
| `device.type_id` | ID of the Device's Type/Profile |
| `device.type.name` | Name of the Device's Type/Profile |
| `device.type.short_name` | Short name configured on the Type/Profile |
| `device.type.klass` | Class of device configured on the Type/Profile |
| `device.manufacturer` | Manufacturer of the device |
| `device.unique_identifier` | Manufacturer Unique ID |
| `device.product_class` | Product class |
| `device.software_version` | Software version of the device |
| `device.hardware_version` | Hardware version of the device |
| `device.location_name` | Location name configured for the device (not normalized) |
| `device.location_id` | ID of the Location assigned to the device (normalized) |
| `device.location.name` | Name of the Location assigned to the device (normalized) |
| `device.location.short_name` | Short-name of the Location assigned to the device (normalized) |
| `device.longitude` | Longitude of the device |
| `device.latitude` | Latitude of the device |
| `device.username` | Device's management agent username |
| `device.password` | Device's management agent password |
| `device.update_frequency` | Update frequency interval configured on the device |
| `device.mac` | MAC address of the device |
| `device.address` | Management address of the device |
| `device.gateway_address` | Management gateway address or hostname |

## Examples

### Example 1: Device Settings Substitution

If a device is configured with the following settings:

[![](https://docs.zequenze.com/uploads/images/gallery/2026-02/ICaVEDh1q0iuCG4f-tmph7ameuwx.png)](https://docs.zequenze.com/uploads/images/gallery/2020-05/J9eUjSPp2drNZEPs-image-1589427943710.png)

The following variable substitutions will be performed:

- `{{ device.username }}` → `agent-username`
- `{{ device.password }}` → `agent-password`
- `{{ device.update_frequency }}` → `600`
- `{{ device.address }}` → `10.0.0.1`

### Example 2: Parameter Default Value

The following example shows dynamic value substitution configured as the default value of a Parameter:

[![](https://docs.zequenze.com/uploads/images/gallery/2026-02/eJtNk7IwbPG87qwz-tmpzjtaw3ih.png)](https://docs.zequenze.com/uploads/images/gallery/2021-02/4rxRTsxWAwzhQSZV-image-1613402002535.png)