平台设置设备属性
功能介绍
用于平台设置设备属性。设备的产品模型中定义了平台可向设备设置的属性,平台可调用此修改设备属性接口设置指定设备的属性数据。设备收到属性设置请求后,需要将执行结果返回给平台,如果设备没回响应平台会认为属性设置请求执行超时。
Topic
下行: $oc/devices/{device_id}/sys/properties/set/request_id={request_id}
上行: $oc/devices/{device_id}/sys/properties/set/response/request_id={request_id}
- 应用修改设备属性时,平台会生成唯一ID用于标识该请求。同时该唯一标识会通过平台设置设备属性下行Topic中的request_id携带给设备。
- 设备无法提前感知该request_id,在订阅该Topic时请使用通配符“#”来替代“request_id={request_id}”即为:$oc/devices/{device_id}/sys/properties/set/#。
下行请求参数说明
| 字段名 | 必选/可选 | 类型 | 参数描述 |
|---|---|---|---|
| object_device_id | 可选 | String | 参数解释:
|
| services | 必选 | List<ServiceProperty> | 设备服务数据列表。 |
ServiceProperty结构定义:
| 字段名 | 必选/可选 | 类型 | 参数描述 |
|---|---|---|---|
| service_id | 必选 | String | 参数解释: 设备的服务ID,由创建的产品模型确定。 |
| properties | 必选 | Object | 参数解释: 设备服务的属性列表,具体字段在产品模型里定义,可以设置多个字段。 |
上行响应参数说明
| 字段名 | 必选/可选 | 类型 | 参数描述 |
|---|---|---|---|
| result_code | 可选 | Integer | 参数解释: 命令的执行结果,0表示成功,其他表示失败。不带默认认为成功。 |
| result_desc | 可选 | String | 参数解释: 属性设置的响应描述。 |
下行请求示例
Topic: $oc/devices/{device_id}/sys/properties/set/request_id={request_id}
数据格式:
{
"object_device_id":"{object_device_id}",
"services": [{
"service_id": "Temperature",
"properties": {
"value": 57,
"value2": 60
}
},
{
"service_id": "Battery",
"properties": {
"level": 80,
"level2": 90
}
}
]
} 上行响应示例
Topic:$oc/devices/{device_id}/sys/properties/set/response/request_id={request_id}
数据格式:
{
"result_code": 0,
"result_desc": "success"
}