更新时间:2024-10-11 GMT+08:00

平台设置设备属性

功能介绍

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

低配置且资源受限或者对网络流量有要求的设备,不适合直接构造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

参数解释:

  • 平台下发时,若为直连设备,不携带该参数。
  • 平台下发时,若为网关子设备,该参数为Topic中设备的子设备ID。

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"
}