DeviceHub
DeviceHub
DeviceHub is the heart of Litmus Edge. Understanding its data model makes the rest of the API obvious.
The hierarchy
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.