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 |
Used by a device to return a response for a property query. The response does not affect device properties and shadows. |
|
$oc/devices/{device_id}/sys/shadow/get/request_id={request_id} |
Device |
Platform |
Used by a device to query device shadow data from the platform |
|
$oc/devices/{device_id}/sys/shadow/get/response/request_id={request_id} |
Platform |
Device |
Used by the platform to return a response to a device's query of device shadow data |
|
Device events |
$oc/devices/{device_id}/sys/events/up |
Device |
Platform |
Used by a device to report an event |
$oc/devices/{device_id}/sys/events/down |
Platform |
Device |
Used by the platform to deliver an event |
- {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