Skip to content

Latest commit

 

History

History

messages

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

UDMI / Docs / Messages

Messages

Messages are organized by type and folder, which correspond to the transport aspect of the device (type) and semantic meaning (folder).

Message Folders

Each message has an associated sub block (sometimes called a subFolder) that indicates a semantic scoping of the message or block:

  • pointset messages deal with data point telemetry (e.g. temperature reading)
  • system messages handle system events such as rebooting, config processing, firmware, etc...

Message Types

Message types are divided into four high-level categories, which define the direction of message flow, but also the treatment of the message as it moves through the system:

  • Directionality: Which direction the messages flow with respect to the device
    • Uplink: From the device to cloud, used to collect data from/about devices.
    • Downlink: From cloud to the device, used to control devices.
  • Treatment: How the message flows through the system and is stored by the transport layers
    • Sticky: Rate-limited, and persist in the system. If multiple messages are sent, only the last one is meaningful or maintained (intermediate messages may be proactively dropped by the system). There is only one 'sticky' blob of data for each device, shared my all blocks/folders.
    • Stream: Passed through the system with minimal on-the-way handling. If multiple messages are sent, all of them should make it through although any individual message may be lost in transit. Each 'stream' message has its own folder/block associated with it (not shared).
Uplink Downlink
Sticky state config
Stream events command

The properties and uses of the four types fall out from this accordingly:

  • state: Sticky to the cloud information from the device, including information such as the overall status of the device, and any errors or conditions from, e.g., writing points.
  • events: The canonical streaming telemetry messages from the device, usually containing things like temperature readings or system memory utilization.
  • config: Ability to control the behavior of a device, e.g. for key rotation, writeback, etc...
  • command: Direct but transitory messages to a device, e.g. to install a new auth key or perform diagnostic operations.

Individual blocks (folders), such as system or pointset will have their own semantic uses for the various types. See the individual block folder documentation to learn more about those aspects.

Message Schemas

MQTT Topics

MQTT topics described in tech stack