平台设置设备属性
功能介绍
用于平台设置设备属性。设备的产品模型中定义了平台可向设备设置的属性,平台可调用此修改设备属性接口设置指定设备的属性数据。设备收到属性设置请求后,需要将执行结果返回给平台,如果设备没回响应平台会认为属性设置请求执行超时。

低配置且资源受限或者对网络流量有要求的设备,不适合直接构造JSON数据与物联网平台通信时,可将原始二进制数据透传到物联网平台。通过开发编解码插件实现二进制数据到平台定义JSON格式的转换。
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
}
}
]
} 
