Devices
A Device is a single piece of hardware — a sensor, controller, gateway, edge device, or piece of industrial equipment — that pushes data to ControlCom Connect or accepts commands back from it. Each Device has a unique ID, a name, an authentication credential, and a set of Variables it publishes. A Device belongs to one Organization and may be assigned to a Location and one or more Assets.
Overview
Devices are the source of data in the platform. They communicate over MQTT or HTTPS; the platform handles authentication, encryption, and reconnection on the server side. What a Device does — publish telemetry, accept commands, or both — depends on how you configure its Variables and Commands.
Adding a Device
- Open the Devices section.
- Click Add Device.
- Enter a name and an optional description.
- Save. The platform generates a unique ID and authentication credentials for the Device.
After creation, you can assign the Device to a Location, link it to one or more Assets, or apply tags for grouping and filtering.
Connectivity
Devices connect over:
| Protocol | Use case |
|---|---|
| MQTT | Lightweight pub/sub. Preferred for persistent device connections. |
| HTTPS | Standard REST. Preferred for scheduled or intermittent uploads. |
| WebSockets | Real-time bidirectional. Browser/JS clients. |
| Node-RED | Visual flow editor. See the Node-RED guide. |
All connections use TLS. Each Device authenticates with its own credential — never a shared secret. Per-Device access controls limit what operations the Device can perform.
The Device list shows current connection state, last-contact timestamp, and recent transmission rate so you can spot Devices that have gone quiet.
Variables
A Device communicates with the platform through Variables — typed, named data points published on a topic.
| Field | Type | Notes |
|---|---|---|
| Name | string | Human-readable identifier. |
| Topic Path | string | MQTT topic or API path the data lands on. |
| Data Type | enum | Number, String, or Boolean. |
| Unit | string | Optional; for numeric Variables. |
| Description | string | Optional. |
| Logging | boolean | If true, history is stored as time-series. |
| Short ID | string | Optional abbreviated identifier. |
For numeric Variables you can also configure scaling (multiplier + offset), validation ranges, outlier filtering, and a deadband (only record changes exceeding a threshold).
Stored Variables are queryable through Dashboards, Platform Explorer, the API, and CSV/JSON export. See Variables for details on Virtual (calculated) Variables and historical aggregation.
Commands
Commands send data the other direction — from the platform to the Device.
| Field | Type | Notes |
|---|---|---|
| Name | string | Human-readable identifier. |
| Topic Suffix | string | MQTT topic or API path the command is published on. |
| Data Type | enum | Number, String, or Boolean. |
| Description | string | Optional. |
Each Command issued is logged with timestamp, the user who issued it, and the execution result.
Health and Diagnostics
The Device detail page surfaces:
- Online/offline state and last-contact time.
- Data-freshness check — flags Variables that haven't reported in their expected interval.
- Connection-event history for troubleshooting drop-outs.
- Diagnostic logs of Device activity.
Health issues can trigger Alarms; Alarms can route to email, SMS, or webhook notifications.