---
title: Devices
description: A Device is hardware that pushes data to ControlCom Connect or accepts commands. Each Device has a unique ID, auth credentials, and a set of Variables.
source: https://documentation.controlcomtech.com/platform/devices
---

# 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.

> **Workflow Stage: Connect**

## Overview

Devices are where data enters the platform. Everything downstream (Variables, Alarms, Dashboards, Reports) is anchored to a Device record, so registering hardware is the first step of the Connect stage. A Device can publish telemetry, accept commands, or both, depending on how its Variables and Commands are configured.

Devices live under **System** in the sidebar, with one list per device type.

![The Devices section in ControlCom Connect listing registered devices with their status and device IDs](https://documentation.controlcomtech.com/images/device-administration/01-devices-list.png)

*The Devices section: each registered device with its status and Device ID*

## Device Types

A Device's type is chosen at creation and fixed for its lifetime. There are four: a **ControlCom Gateway** runs the ControlCom Edge Server and talks to equipment over protocols like Modbus, OPC UA and BACnet; a **LoRaWAN Gateway** relays radio traffic from LoRaWAN end devices; a **LoRaWAN Device** is a sensor or meter that joins the network over the air; and a **Generic** device is anything you write the integration for yourself, pushing data over MQTT or HTTP.

The lists, creation wizards, certificates and per-type detail tabs are covered in [Device Administration](https://documentation.controlcomtech.com/platform/devices/administration).

## 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](https://documentation.controlcomtech.com/build/guides/node-red). |

All connections use TLS, and each Device authenticates with its own credential rather than a shared secret, so revoking one Device never affects another. The device list shows each Device's current status, and the [Security](https://documentation.controlcomtech.com/references/security) reference covers the transport and authentication model in full. For wiring up your own hardware, see [Sending Data](https://documentation.controlcomtech.com/build/sending-data).

## Variables

A Device communicates with the platform through Variables: typed, named data points, each tied to a topic property the Device publishes on. The **Variables** tab of a device lists them with their current value and flags. **New Variable** adds one by hand, **Import** brings in a set from a file, and the row menu edits a variable, toggles logging, opens it in Platform Explorer, sends a test value, or deletes it. Variables can be grouped into folders and exported.

![The Variables tab of a device in ControlCom Connect listing named data points with their values and topic properties](https://documentation.controlcomtech.com/images/device-administration/05-device-variables.png)

*The Variables tab of a device: one row per data point, with its current value and topic property*

See [Variables](https://documentation.controlcomtech.com/platform/variables) for the fields, the create flow, Virtual (calculated) Variables, and how history is stored.

## Commands

Commands send data the other direction, from the platform to the Device. Like a Variable, a Command has a name, a data type (`Number`, `String`, or `Boolean`), and a topic the Device listens on. They live on the **Commands** tab of the device, and each Command issued is logged with a timestamp, the user who issued it, and the execution result.

## Health and Diagnostics

The device detail page shows the Device's connection state alongside health tiles and an activity timeline, so a Device that has gone quiet stands out. LoRaWAN Devices add a dedicated **Health** tab covering signal quality and the gateways that witnessed their uplinks.

Health issues can trigger [Alarms](https://documentation.controlcomtech.com/platform/alarms), which route to email, SMS, or webhook notifications. Once data is flowing, continue to [Variables](https://documentation.controlcomtech.com/platform/variables) for the Collect stage.
