Operations
- Commands Table -
The Operations module groups the core day-to-day functionalities of IoTRoutes that users interact with for data analysis, monitoring, and command management.
These functionalities enable users to explore data generated by connected devices, send or monitor commands, and trace workflow executions.
Commands Table
This screen allows users to create, configure, and send batch command messages targeting multiple devices. Batch commands can include one or more commands applied to one or several devices, according to selected criteria.
Each batch configuration can be saved for reuse and is uniquely identified by a name.
If the user sends a batch without specifying a name, the system automatically generates a dynamic identifier composed of the command name(s), the target scope, and a timestamp — for example: shutdown-all-environment-202511120930.

1- Command Batch Toolbar
At the top of the screen, a mini-toolbar provides management options for command batches:
- Batch selector: An autocomplete dropdown to search and select an existing command batch.
- Manage menu: Includes actions to Add, Copy, Save, and Delete existing command batches.
This area enables quick switching between saved batch configurations.

2- Command Targets
This section defines the target classes and devices for the batch commands.
Device Classes: Displays all active device classes in the platform.
When one or more classes are selected, the system lists all available commands associated with those classes, grouped by command groups.Commands Selector: Dropdown list showing the available commands for the selected classes.
Target All Devices in Selected Classes:
- Checked (default): All devices in the selected classes will be targeted automatically, including future devices registered in those classes.
- Unchecked: Displays the list of individual devices from the selected classes, allowing manual device selection.
Set Parameters for Each Device Separately:
- Unchecked (default): All target devices will receive identical command parameters.
- Checked: Enables per-device customization of command parameters (useful for specifying individual values such as color, level, or thresholds).

3- Command Settings
The Command Settings section defines the content and behavior of the command messages that will be sent to the selected devices.
Once a device class and one or more commands are chosen, each selected command appears as a tab in this section. Every tab represents one command definition, allowing users to configure and preview the data that will be sent.
3.1 Command Tabs and Editors
Each command tab includes:
- Command description: A short text explaining the purpose and effect of the command (e.g., “Reboots the specified device.”).
- Parameter editors: A dynamic form listing all required and optional parameters for the command, automatically generated based on its definition in the system.
Parameters can include:
| Type | Editor | Description |
|---|---|---|
| String / Enum | Text field or dropdown list | Used for identifiers, modes, or status values (e.g., “Mode = Auto”). |
| Numeric | Number input | Accepts integer or decimal values with validation. |
| Boolean | Toggle switch | Used for On/Off or True/False parameters. |
| Date / Time | Date picker, Time picker | For scheduling commands or defining time windows. |
| Object / JSON | JSON editor | For complex or structured payloads. |
| Media / File | File selector | For uploading configuration or firmware files. |
Each parameter field includes hints, units, and default values (if defined in the command definitions). Tooltips may also appear for complex parameters.
3.2 Parameter Customization Modes
Depending on the “Set parameters for each device separately” option in the Command Targets section, parameters can be customized in two ways:
Global Parameters Mode (default):
The same parameter values are sent to all targeted devices.
This mode is used for commands that require identical configuration, such as “Reboot all gateways” or “Enable all sensors.”Per-Device Parameters Mode:
When activated, this mode displays the parameter editors grouped by device.
Each device can have unique parameter values.
For example:- Light intensity or color per lamp.
- Thresholds per sensor.
- Custom messages or identifiers per node.
3.3 Dynamic Formulas and Expressions
In addition to static parameter values, IoTRoutes allows defining dynamic parameter expressions using the Formula Expression Editor.
This feature makes command execution more flexible and context-aware.
A formula can reference:
- Device properties (e.g., Device.Name, Device.Class, Device.Attribute["location"])
- Attribute values from the latest ledger
- Date and time functions (GetDate(),etc.)
- Mathematical or logical expressions

3.4 Message Preview and Send Actions
At the bottom of the section, users have three key actions:
🔍 View JSON:
Displays the Platform Message Structure (PMS) for the currently configured batch.
This JSON preview shows the standardized message that the platform generates before sending it to the broker.
It represents the internal format used by IoTRoutes, which will then be transformed by the outgoing workflow into the final device-specific structure, according to the user’s configuration.
This preview is particularly useful for advanced users or integrators who need to verify or adapt the payload schema before it is converted and transmitted.🚀 Send Commands:
Queues the command batch for dispatch through the IoTRoutes broker.
The message will pass through the standard outbound workflow where it is transformed according to the device’s communication protocol.🔁 With Retain (toggle):
When enabled, the MQTT message is sent with the retain flag, ensuring the broker stores it for future subscribers (useful for late-joining devices or gateways).
3.5 Execution and Monitoring
Once a command batch is sent:
- Each command execution is recorded in the Command Log (accessible via Operations → IoT Messages).
- The system tracks delivery status (queued, sent, confirmed, failed) and displays the result in the bottom of the screen.
- If multiple commands are sent in one batch, each command’s execution result can be expanded and inspected individuall.*
