Common Data Model
As the world of Operational Technology (OT) and Information Technology (IT) converges with the Internet of Things (IoT) and Industrial Internet of Things (IIoT), IT and OT professionals can use the IIoT Core Common Data Model (CDM) to correlate data for troubleshooting and problem solving.
How does the Common Data Model work?
Each asset (sensors, machines, devices) generates a different data type and structure and CDM defines the data schema in which components exchange information with IIoT Core Services.
You can also use CDM to route certain data types (time series, binaries, structured, and unstructured) to specific destinations that you configure based on a tag in the model. A single CDM instance can be routed to one or more destinations, including storage media or network protocols. For example, an instance of the CDM containing AMQP data can be simultaneously routed to a time series database and a remote messaging broker.
The CDM uses language-neutral protocol buffers (protobuf) for arranging structured data in a series. For general information about how to create custom alerts, see Create custom alerts.
If you need a language-specific CDM object definition, contact your HV representative.
The IIoT Core Services CDM has the following parts:

Common Data Model data structure
The CDM contains the following structural elements:
HiotaMessage
Top-level message within the system which includes:
- Unique message identifier
- Message creation time stamp
- Unique identifier of the source
- For HiotaMessages that fail and are routed to an error topic, an error message stating the reason for failure
- Asset information
- Unique identifier of asset
- Asset name
OTData
Contains one or more data sensor readings from the IIoT Gateway device.
It represents a single attachment data point for sending single points of data, such as documents, images, and JSON. For an array, use the generic list.
ITData
Contains IT data of the edge devices:
- Unique asset identifier, such as a UUID, URL, or a friendly name for an asset, such as "Train cabin thermostat".
- Power supply or battery
- CPU
- Memory
- Boot time
- Disks
- Asset location (longitude and latitude)
- Connectivity status:
- Bluetooth
- Wi-Fi (network name, security type, Wi-Fi address)
- Network
- Cellular and SIM
Alert Data
Contains information about an alert to be ingested and stored:
- Alert name
- Alert description
- Alert severity
- Alert type
- Notifications
- EmailMessage
- subject
- body_content_type
- body
- recipients
- PushNotificationMessage
- APNsPayload
- Aps
- AlertString
- Alert
- Title
- SubTitle
- Body
- LocKey
- LocArgs
- TitleLocKey
- TitleLocArgs
- SubTitleLocKey
- SubTitleLocArgs
- ActionLocKey
- LaunchImage
- Badge
- Sound
- Critical Sound
- ContentAvailable
- MutableContent
- Category
- ThreadID
- CustomData
- Aps
- APNsPayload
- EmailMessage
Alert Data object details
You can use the CDM to create a custom alert using the alert_data
object described in this section.
A custom alert is created based on the alert_data
value that is found in the CDM definition. The alert_data
object contains the following fields:
Field | Description |
name |
Short name of the alert. |
description | Description of the alert. |
severity | The alert severity accepts one of the following values:
|
type | The following alert types are available:
|
notification | Array of notification type. For more information about email notifications, see Set up email notifications. |