Reporting
The gateway will report from devices by publishing to the following generic topic structure:
t/{tenant-id}/{d}/...
where {tenant-id}
is a unique identifier of a tenant the devices belong to,
{d}
is device MAC address.
The format of MAC addresses is 12 lowercase hex digits.
The message payload is an UTF-8 encoded JSON object and always contains a property time. This is the time of the message in ISO-8601 format.
heartbeat
t/{tenant-id}/{d}
Device heartbeat.
Properties
- type: type of a reported property
- time: time in ISO-8601 format.
- seq: sequence number 0-255
- status: a device status value. Non-zero values are used to indicate device error/warning.
Example
t/Meshtech/c0141f68fc3d
{
"type": "heartbeat",
"time": "2021-06-29T11:05:45.058Z",
"seq": 17,
"status": 0
}
property-decoded
t/{tenant-id}/{d}
A device reported a property value.
Properties
- type: type of a reported property
- id: identifier of a reported property
- time: time in ISO-8601 format
- value: the property value (JSON)
- ext: value extensions (JSON object, optional)
- seq: sequence number 0-255 (optional)
Example
t/Meshtech/ddc571e972f5
{
"type": "property-decoded",
"id": "motion",
"time": "2021-06-29T11:10:31.039Z",
"value": 0
}
event-decoded
t/{tenant-id}/{d}
A device fired an event.
Properties
- type: type of a reported property
- id: identifier of a reported property
- time: time in ISO-8601 format.
- value: value associated with event (JSON, optional)
- ext: value extensions (JSON object, optional)
Example
(Button press)
t/Meshtech/ddc571e972f5
{
"type": "event-decoded",
"id": "button-0-counter",
"time": "2021-06-29T10:47:18.905Z",
"value": 7
}