Reference · built on requestConnectorPLC, SCADA & MES

Litmus Edge

Device tags, tag values and status, host metrics, and integrations from Litmus Edge through its REST and GraphQL API.

About

Litmus Edge is an industrial edge data platform that runs on a gateway or server. DeviceHub connects to PLCs, sensors, and OPC UA servers through 146 drivers and publishes each tag as a flat JSON message with value, tagName, deviceID, datatype, and timestamp. DataHub stores tag data locally, Flows Manager runs the embedded Node-RED engine, Analytics runs processor pipelines, and Integration pushes tag data to 45 cloud and database providers. The API mixes REST and GraphQL behind one base URL, https://<edge-ip>.

Through Fibric, an operator lists devices and tags, follows tag status events, and proposes a device, tag, or integration change on the edge. You approve. Each change is sent once and leaves a receipt: what changed, why, and how to undo it.

This is a reference listing. It documents what Fibric would read from Litmus Edge and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.

Inputs

  • Devices and their drivers through ListDevices at POST /devicehub/v2
  • Tags across all devices through ListRegistersFromAllDevices, paged with Limit and SkipCount until Last is true
  • Tag values as flat messages with value, tagName, deviceID, datatype, timestamp, and success
  • Per-tag state changes such as OK, Failed, and Stale through the RegisterStatusEvent GraphQL subscription over WebSocket
  • Host CPU, memory, network, and storage metrics in Prometheus format at GET /stats/metrics
  • Integration instances and their subscriptions through ListInstances at POST /cc/v2
  • System events queried by offset and count with a fromTimestamp filter

Proposed actions

  • Target capability: propose creating, updating, starting, or stopping a device through DeviceHub mutations such as CreateDevice and StartDevice
  • Target capability: propose adding or updating tags through CreateTag and UpdateTag, or a bulk import through Upload CSV
  • Target capability: propose an integration instance and subscription through CreateInstance and CreateSubscription at /cc/v2
  • Target capability: propose enabling local data storage for a device with a retention period

Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.

What you can build

  • Spot a device that stopped reporting

    RegisterStatusEvent streams Failed and Stale states per tag. The operator groups them by device, checks the device's connection status, and proposes a notice to the controls team with the affected tags.

    With Sensor Health, Data Freshness

  • Push a new machine's tags to the cloud historian

    When a new device appears in ListDevices, the operator proposes a CreateSubscription that attaches its tags to the existing cloud integration instance. You approve; the subscription is created once.

    With Integration Health

  • Watch the edge box itself

    node_storage_available and node_memory_used from /stats/metrics are read each hour. The operator proposes a cleanup or backup when free storage on a mount falls and files the readings.

    With Storage Growth, Uptime Response

Requirements

  • A Litmus Edge 4.0.x instance reachable at https://<edge-ip> on port 443
  • An API token or OAuth2 client created under System, Access Control, Tokens, with rights to the services you call
  • Trust for the edge's self-signed certificate, or a CA-issued certificate installed on the device
  • A WebSocket transport such as graphql-ws for tag status subscriptions; a one-shot POST returns at most one event
Authentication
An OAuth2 Bearer token from POST /auth/v3/oauth/token using the client credentials grant, or an API token sent as the HTTP Basic username with an empty password; tokens are managed under System, Access Control, Tokens.

Limits

  • No enforced rate limit and no rate-limit headers; bulk loops must pace themselves
  • GraphQL endpoints return 200 OK on logical errors; the errors array must be inspected
  • The ContinueFrom cursor on tag lists is accepted but has no effect on 4.0.x; paginate with SkipCount
  • Token lifetime varies per deployment; read expires_in from the token response rather than assuming 3600 seconds

Access and pricing

Reference listing. Fibric builds the connector under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.

Request Litmus Edge ↗

Questions and answers

Does Litmus Edge stream tag values, or must they be polled?
Both patterns exist. DeviceHub publishes every tag value on a dotted NATS subject inside the edge, and Integration instances push those values to external brokers and stores. Over the API, tag lists and values are read with GraphQL queries, and tag status is streamed as a GraphQL subscription.
What does a tag message look like?
A flat JSON object with no payload wrapper: datatype, description, deviceID, deviceName, metadata, registerId, success, tagName, timestamp in epoch milliseconds, and value typed per datatype. A success of false means the value is stale or invalid.
How is the API organized?
Ten components behind one base URL. DeviceHub, Digital Twins, Analytics, Integration, and OPC UA Server are GraphQL at paths such as POST /devicehub/v2. Dashboard, DataHub, Flows Manager, Applications, and System are REST. The same token works across all of them.
Ask about Litmus Edge

Ask about the capabilities and requirements in this listing.

For project-specific requirements, contact Fibric.