平台命令下发
功能介绍
用于平台向设备下发设备控制命令。平台下发命令后,需要设备及时将命令的执行结果返回给平台,如果设备没回响应,平台会认为命令执行超时。命令下发和消息下发的区别,请查看消息通信说明。
Topic
下行: $oc/devices/{device_id}/sys/commands/request_id={request_id}
上行:$oc/devices/{device_id}/sys/commands/response/request_id={request_id}
- {request_id}用于唯一标识这次请求。设备侧收到下行请求的topic带该参数时,上行响应的topic需要将该参数值返回给平台。
- 设备侧订阅带{request_id}结尾的topic时,可以使用通配#,设备侧订阅平台命令下发的topic为:$oc/devices/{device_id}/sys/commands/#
下行请求参数说明
|
字段名 |
必选/可选 |
类型 |
参数描述 |
|---|---|---|---|
|
object_device_id |
可选 |
String |
命令对应的目标设备ID,命令下发对应的最终目标设备,没有携带则表示目标设备即topic中指定的设备。 |
|
service_id |
可选 |
String |
设备的服务ID,在设备关联的产品模型中定义 |
|
command_name |
可选 |
String |
设备命令名称,在设备关联的产品模型中定义。 |
|
paras |
可选 |
Object |
设备命令的执行参数,具体字段在设备关联的产品模型中定义。 |
上行响应参数说明
命令应答的json格式,具体字段在设备关联的产品模型中定义。
|
字段名 |
必选/可选 |
类型 |
参数描述 |
|---|---|---|---|
|
result_code |
可选 |
Integer |
标识命令的执行结果,0表示成功,其他表示失败。不带默认认为成功。 |
|
response_name |
可选 |
String |
命令的响应名称,在设备关联的产品模型中定义。 |
|
paras |
可选 |
Object |
命令的响应参数,具体字段在设备关联的产品模型中定义。 |
下行请求示例
Topic: $oc/devices/{device_id}/sys/commands/request_id={request_id}
数据格式:
{
"object_device_id": "{object_device_id}",
"command_name": "ON_OFF",
"service_id": "WaterMeter",
"paras": {
"value": "1"
}
}
上行响应示例
Topic:$oc/devices/{device_id}/sys/commands/response/request_id={request_id}
数据格式:
{
"result_code": 0,
"response_name": "COMMAND_RESPONSE",
"paras": {
"result": "success"
}
}
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.