# SetDeviceDesiredProperty
调用该接口为指定设备批量设置期望属性值。
# 使用说明
- 只读属性不支持设置期望属性值。
- 一次调用最多可设置10个期望属性值。
- 设备创建后,期望属性值的版本(Version)为0。首次设置期望属性值时,如果指定Version参数,则需指定Version值为0。
重要:设置期望值成功后,云端会下发设置期望属性值的消息到设备
# 请求参数
# 请求方式1
| 名称 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| Action | String | 是 | SetDeviceDesiredProperty | 系统规定参数。取值:SetDeviceDesiredProperty。 |
| IotInstanceId | String | 是 | 68986788124400**** | 实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID。 |
| ProductKey | String | 是 | 4ZvJ291**** | 要设置期望属性值的设备所隶属的产品ProductKey。 |
| DeviceName | String | 是 | wZ66sbgIUwS0v6FW**** | 要设置期望属性值的设备名称。 |
| Versions | String | 是 | {"Temperature":2} | 当前期望属性值版本,组成为Key:Value,数据格式为JSON String,例如{"Temperature":2}。 key: 取值为属性的标识符(identifier)。可在控制台中,设备所属产品的功能定义中查看属性的identifier。 说明:一次调用中,key的取值(即属性的identifier)不能重复。Value: 取值为当前期望属性值的版本号。首次设置期望属性值时,指定该参数值为0。首次设置期望属性值后,期望值版本号为1。以后每次设置期望值后,物联网平台自动将期望值版本加1(即第二次设置期望属性值时,指定该参数值为1。设置成功后,版本号自动变为2;第三次设置时,指定该参数值为2。设置成功后,版本号自动变为3;以此类推)。 说明:如果传入的版本号与当前版本不符,服务器将拒绝此次请求。若您不确定当前期望值的版本号,可以不传入版本号,但仍需传入有效的JSON,即传入{}。 |
| Items | String | 是 | {"Temperature":35} | 要设置的期望属性值,组成为属性的Key:Value,数据格式为JSON String,例如 {"Temperature":35} 。 key: Key取值为属性的标识符 (identifier)。可在控制台中,设备所属产品的功能定义中查看;或调用GetThingModelTsl,从返回的物模型数据中查看。 说明:指定属性必须是读写型。如果您指定了一个只读型的属性,设置将会失败。并且,一次调用中,不能传入重复的属性标识符。Value: 取值为要设置的期望属性值。 说明:若属性值设置为null,则表示清空期望属性值。 |
# 请求方式2
| 名称 | 类型 | 是否必选 | 示例值 | 描述 |
|---|---|---|---|---|
| Action | String | 是 | SetDeviceDesiredProperty | 系统规定参数。取值:SetDeviceDesiredProperty。 |
| IotInstanceId | String | 是 | 6912917943269**** | 实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID。 |
| IotId | String | 是 | 71803964996819**** | 要设置期望属性值的设备ID。物联网平台为该设备颁发的ID,设备的唯一标识符。 |
| Versions | String | 是 | {"Temperature":2} | 当前期望属性值版本,组成为Key:Value,数据格式为JSON String,例如{"Temperature":2}。 key: 取值为属性的标识符(identifier)。可在控制台中,设备所属产品的功能定义中查看属性的identifier。 说明:一次调用中,key的取值(即属性的identifier)不能重复。Value: 取值为当前期望属性值的版本号。首次设置期望属性值时,指定该参数值为0。首次设置期望属性值后,期望值版本号为1。以后每次设置期望值后,物联网平台自动将期望值版本加1(即第二次设置期望属性值时,指定该参数值为1。设置成功后,版本号自动变为2;第三次设置时,指定该参数值为2。设置成功后,版本号自动变为3;以此类推)。 说明:如果传入的版本号与当前版本不符,服务器将拒绝此次请求。若您不确定当前期望值的版本号,可以不传入版本号,但仍需传入有效的JSON,即传入{}。 |
| Items | String | 是 | {"Temperature":35} | 要设置的期望属性值,组成为属性的Key:Value,数据格式为JSON String,例如 {"Temperature":35} 。 key: Key取值为属性的标识符 (identifier)。可在控制台中,设备所属产品的功能定义中查看;或调用GetThingModelTsl,从返回的物模型数据中查看。 说明:指定属性必须是读写型。如果您指定了一个只读型的属性,设置将会失败。并且,一次调用中,不能传入重复的属性标识符。Value: 取值为要设置的期望属性值。 说明:若属性值设置为null,则表示清空期望属性值。 |
# 返回数据
| 名称 | 类型 | 示例值 | 描述 |
|---|---|---|---|
| Code | String | iot.system.SystemException | 调用失败时,返回的错误码。 |
| Data | Struct | 调用成功时,返回的数据。详情请参见以下参数。 | |
| MessageId | String | 2983119386 | 云端下发给设备的设置期望属性值的消息ID。 |
| Versions | String | {"Temperature":2} | 本次设置期望属性值后,期望属性值的当前版本号。 |
| ErrorMessage | String | 系统异常 | 调用失败时,返回的出错信息。 |
| RequestId | String | 3eba55fc01de47999a2cef3d659635b0 | 平台为该请求生成的唯一标识符。 |
| Success | Boolean | true | 是否调用成功。 true:调用成功。 false:调用失败。 |
# 示例
请求示例
http://open.${区域}.fenydata.com/fenydata-java-open/?Action=SetDeviceDesiredProperty
&IotInstanceId=68986788124400****
&ProductKey=4ZvJ291****
&DeviceName=wZ66sbgIUwS0v6FW****
&Items=%7B%22LightAdjustLevel%22%3A1%7D
&Versions=%7B%22LightAdjustLevel%22%3A10%7D
&<公共请求参数>
正常返回示例
XML格式
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xml>
<RequestId>3eba55fc01de47999a2cef3d659635b0</RequestId>
<Success>true</Success>
<Data>
<MessageId>300511751</MessageId>
<Versions>{"LightAdjustLevel":2}</Versions>
</Data>
</xml>
JSON格式
{
"RequestId": "3eba55fc01de47999a2cef3d659635b0",
"Success": true,
"Data": {
"MessageId": "300511751",
"Versions": "{\"LightAdjustLeve\":2}"
}
}
← 查询服务调用记录 查询指定设备期望属性值 →