Topics
When a device connects to IoTDA through MQTT, topics are used in their communication. The following table lists the preset topics in IoTDA.
Category |
Topic |
Publisher |
Subscriber |
Function |
---|---|---|---|---|
Device messages |
$oc/devices/{device_id}/sys/messages/up |
Device |
Platform |
|
$oc/devices/{device_id}/sys/messages/down |
Platform |
Device |
||
Device commands |
$oc/devices/{device_id}/sys/commands/request_id={request_id} |
Platform |
Device |
|
$oc/devices/{device_id}/sys/commands/response/request_id={request_id} |
Device |
Platform |
||
Device properties |
$oc/devices/{device_id}/sys/properties/report |
Device |
Platform |
|
$oc/devices/{device_id}/sys/gateway/sub_devices/properties/report |
Device |
Platform |
||
$oc/devices/{device_id}/sys/properties/set/request_id={request_id} |
Platform |
Device |
||
$oc/devices/{device_id}/sys/properties/set/response/request_id={request_id} |
Device |
Platform |
||
$oc/devices/{device_id}/sys/properties/get/request_id={request_id} |
Platform |
Device |
||
$oc/devices/{device_id}/sys/properties/get/response/request_id={request_id} |
Device |
Platform |
||
$oc/devices/{device_id}/sys/shadow/get/request_id={request_id} |
Device |
Platform |
||
$oc/devices/{device_id}/sys/shadow/get/response/request_id={request_id} |
Platform |
Device |
||
Device events |
$oc/devices/{device_id}/sys/events/up |
Device |
Platform |
Gateway and Child Device Management, Software and Firmware Upgrade, File Upload and Download, Device Time Synchronization, Device Reporting Information, Device Log Collection, and Remote Configuration |
$oc/devices/{device_id}/sys/events/down |
Platform |
Device |
- {device_id} identifies the target device that messages with a specific topic will be routed to. When a device subscribes to a topic or pushes messages to a topic, the value of this parameter must be replaced with the device ID used for establishing an MQTT connection between the device and the platform.
- {request_id} is used to uniquely identify a request. If this parameter is carried in a message sent by a device, ensure that the parameter value is unique on the device by using an incremental number or UUID. request_id in the response returned by the device must be the same as that contained in the topic received by the device from IoTDA.
- When a device subscribes to a topic with the {request_id} parameter, the parameter can be replaced with the number sign (#). For example, when a device subscribes to the command delivery topic $oc/devices/{device_id}/sys/commands/request_id={request_id}, the topic can be specified as $oc/devices/{device_id}/sys/commands/#.
- IoTDA uses implicit subscription. Devices do not need to subscribe to the downstream system topic. Devices subscribe to the system topic whose QoS is 0 by default. If the downstream system topic whose QoS is 1 is required, devices need to be configured to subscribe to the topic.
- Except device_id and request_id, other fields are system fields.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot