udmi

UDMI / Docs / Specs / Tech Stack

UDMI Technology Stack

The complete UDMI specification (super set of the base schema), specifies a complete technology stack for compliant IoT devices.

Core Requirements

MQTT Topic Suffix Table

Type Category subFolder MQTT Topic Suffix Schema File
state state n/a {topic_prefix}/state state.json
config config n/a {topic_prefix}/config config.json
pointset event pointset {topic_prefix}/events/pointset pointset.json
system event system {topic_prefix}/events/system system.json

For many implementations the full topic would be /devices/{device_id}/{suffix}

Backend Systems

Any backend system should adhere to the following guidelines:

A config push can be tested with something like:

gcloud pubsub topics publish target \
    --attribute subFolder=config,deviceId=AHU-1,projectId=bos-daq-testing,cloudRegion=us-central1,deviceRegistryId=registrar_test \
    --message '{"version": 1, "timestamp": "2019-01-17T14:02:29.364Z"}'

The reason for the redirection of any data through a PubSub topic is so that the Cloud IoT registry, if necessary, can be housed in a different cloud project from the backend applications.

Internal Control Channels vs Device Topics

When running a local broker setup or utilizing the UDMI Server (UDMIS) infrastructure, you may observe two distinct but related MQTT configuration topics. It is important to distinguish between communication bound for the edge device, and communication intended for internal backend orchestration.