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