平台设置设备属性
功能介绍
用于平台设置设备属性。设备的产品模型中定义了平台可向设备设置的属性,平台可调用此修改设备属性接口设置指定设备的属性数据。设备收到属性设置请求后,需要将执行结果返回给平台,如果设备没回响应平台会认为属性设置请求执行超时。
低配置且资源受限或者对网络流量有要求的设备,不适合直接构造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中的requst_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" }