udmi

UDMI / Docs / Specs / Onboarding

Onboarding

Onboarding is defined as the overall flow required to have on-prem building devices properly feeding telemetry into a backend data pipeline. This consists of three main separable phases, each with a distinct role and function:

As an analogy, these phases correspond to biological eyes (discovery), brain (mapping), and arms (provisioning), and fall into the simple see, think, do adage: First you see something, then you think about it, and then you do something about it.

Each of these steps can be applied individually, and the continuous application of all of them together constitutes automation, which is a key step towards enabling highly maintainable systems. The absence of each is also indicative of certain specific failure modes:

flowchart LR
  D[Devices]
  A[Agent]
  P[Pipeline]
  D -- Pointset --> P
  D -- Discovery --> A
  A -- Provisioning --> P
  A -- Mapping --> A

Terms and Definitions

Throughout the UDMI (and beyond) framework, there are several different key concepts that tie everything together. Unfortunately, due to cross-systems and legacy reasons there aren’t unique terms for everything (sometimes the same thing has multiple names), but they do ultimately constitute a coherent system.

Legacy IoT Gateway Discovery

Actors:

The device id used in this mode is in an implicit form of bacnet-ABCDEF that encodes both the iot id (as seen in the cloud), and the fieldbus id (as used by bacnet).

%%{wrap}%%
sequenceDiagram
  participant Devices
  participant Gateway
  participant Registry
  participant Agent
  participant Pipeline
  Agent->>Gateway: Start Discovery Sequence
  Gateway-->Devices: Fieldbus Discovery
  Gateway->>Pipeline: Discovery Result
  Pipeline->>Registry: Ensure Device entry
  Pipeline->>Gateway: Gateway Config
  Pipeline->>Devices: Device Config
  loop Quiescent
    Devices->>Pipeline: Point Telemetry Event<br/>(via gateway)
  end