---
title: DeviceHub
slug: api-docs/devicehub-concepts
description: How DeviceHub models industrial protocol connections, devices, and tags in Litmus Edge. Use this page to understand the abstractions before hitting the endpoints.
docTags: 
createdAt: 2026-05-11T22:04:39.505Z
---

# DeviceHub

DeviceHub is the heart of Litmus Edge. Understanding its data model makes the rest of the API obvious.

## The hierarchy

```javascript
Driver Group (Modbus, OPC UA, AB EthernetIP, ...)
  └── Driver (Modbus TCP, OPC UA Client Advanced, ...)
        └── Device (one configured connection to an asset)
              └── Tag / Register (one data point on that asset)
                    └── Value (live + historical)
```

| Concept        | What it is                                                                                           | Created by                         |
| -------------- | ---------------------------------------------------------------------------------------------------- | ---------------------------------- |
| Driver Group   | Protocol family (Modbus, OPC UA, AB, Siemens, etc.)                                                  | Litmus (fixed list)                |
| Driver         | Specific implementation within a family (Modbus TCP vs Modbus RTU vs Modbus UDP)                     | Litmus (fixed list, \~146 drivers) |
| Device         | A configured instance of a driver pointing at a physical asset (IP, port, credentials, polling rate) | User                               |
| Tag / Register | A single data point on the device (e.g. Modbus holding register 40001)                               | User                               |
| Value          | Time-series data captured by polling the tag                                                         | DeviceHub runtime                  |

## Why each layer matters for the API

| You want to...                | First find the...                                            |
| ----------------------------- | ------------------------------------------------------------ |
| Create a device               | Driver ID (from `ListDriverGroups`)                          |
| Know what tag types are valid | Driver's `SupportedRegisters` (varies per driver)            |
| Create a tag                  | Device ID **and** the register type for that device's driver |
| Browse for tags automatically | Device must already exist (Browse runs against a device)     |

## API entry points

| Operation                                                      | GraphQL on `/devicehub/v2`                      |
| -------------------------------------------------------------- | ----------------------------------------------- |
| List driver families and their drivers                         | `ListDriverGroups`                              |
| Get one driver's template (config fields, supported registers) | `GetDriver` with `ID: "<driver_uuid>"`          |
| Create a device                                                | `CreateDevice`                                  |
| Start / stop a device                                          | `StartDevice` / `StopDevice`                    |
| Create a tag on a device                                       | `CreateRegisters`                               |
| List tags                                                      | `ListRegisters`                                 |
| Validate a tag payload before creating                         | `ValidateUpdateRegisters`                       |
| Browse the device's address space                              | `CreateBrowseTask` -> `StartBrowseTasks` -> ... |

## Driver IDs you'll see often

| Driver                                      | ID                                     |
| ------------------------------------------- | -------------------------------------- |
| Generator (simulator, useful for testing)   | `5BC98836-CFD4-11E9-BB65-2A2AE2DBCCE4` |
| OPC UA Client Advanced (recommended OPC UA) | `2372E68F-BA1B-46E9-BC07-E92CA006B377` |

Use `ListDriverGroups` to discover the rest live; IDs are stable.

## See also

- [Create Device + Tags workflow](#)
- [Browse - Bulk Tag Discovery workflow](#)
- [OPC UA Advanced Driver](#)
