调用该接口为指定设备设置属性值。

使用说明

因为云端下发属性设置命令和设备收到并执行该命令是异步的,所以调用该接口时,返回的成功结果只表示云端下发属性设置的请求成功,不能保证设备端收到并执行了该请求。即需设备端SDK成功响应云端设置设备属性值的请求,设备属性值才能真正设置成功。

重要 物模型功能定义数据类型为float或double时,对应参数值(即使值为整数)至少携带一位小数位。例如10.0、11.1。

QPS限制

单个阿里云账号调用该接口的每秒请求数(QPS)最大限制为500。

说明 RAM用户共享阿里云账号配额。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String SetDeviceProperty

系统规定参数。取值:SetDeviceProperty。

Items String {"Switch":1,"Color":"blue"}

要设置的属性信息,数据格式为JSON。

每个属性信息由标识符与属性值(key:value)构成,多个属性用英文逗号隔开。

例如,设置智能灯的如下两个属性:

  • 标识符为Switch的开关属性,数据类型为Bool,设置值为1(开)。
  • 标识符为Color的灯颜色属性,数据类型为String,设置值为blue

那么要设置的属性信息,JSON格式如下:

Items={"Switch":1,"Color":"blue"}
说明 如果设置自定义模块testFb(非默认模块)的属性,则格式为:Items={"testFb:Switch":1,"testFb:Color":"blue"}
IotInstanceId String iot-v64*****

实例ID。您可在物联网平台控制台的实例概览页面,查看当前实例的ID

重要
  • 若有ID值,必须传入该ID值,否则调用会失败。
  • 若无实例概览页面或ID值,则无需传入。

实例的更多信息,请参见实例概述

ProductKey String a1BwAGV****

设备所属的产品ProductKey

重要 如果传入该参数,需同时传入DeviceName
DeviceName String light

设备名称。

重要 如果传入该参数,需同时传入ProductKey
IotId String Q7uOhVRdZRRlDnTLv****00100

设备ID。物联网平台为该设备颁发的ID,设备的唯一标识符。

重要 IotId作为设备唯一标识符,和ProductKeyDeviceName组合是一一对应的关系。如果传入该参数,则无需传入ProductKeyDeviceName。如果您同时传入IotIdProductKeyDeviceName组合,则以IotId为准。
Qos Integer 1

指定调用本接口时,消息的发送方式。取值:

  • 0(默认):最多发送一次。
  • 1:最少发送一次。如果QoS=1消息未接收到PUBACK消息,会在设备重连时,重新推送给设备。

调用API时,除了本文介绍的该API的特有请求参数,还需传入公共请求参数。公共请求参数说明,请参见公共参数文档

返回数据

名称 类型 示例值 描述
Code String iot.system.SystemException

调用失败时,返回的错误码。更多信息,请参见错误码

Data Struct

调用成功时,返回的数据。

MessageId String abcabc123

云端给设备下发属性设置的消息ID。

ErrorMessage String 系统异常

调用失败时,返回的出错信息。

RequestId String E55E50B7-40EE-4B6B-8BBE-D3ED55CCF565

阿里云为该请求生成的唯一标识符。

Success Boolean true

表示是否调用成功。

  • true:调用成功。
  • false:调用失败。

示例

请求示例

https://iot.cn-shanghai.aliyuncs.com/?Action=SetDeviceProperty
&ProductKey=a1BwAGV****
&DeviceName=device1
&Items={"Switch":1,"Color":"blue"}
&<公共请求参数>

正常返回示例

XML格式

<SetDevicePropertyResponse>
  <RequestId>57b144cf-09fc-4916-a272-a62902d5b207</RequestId>
  <Success>true</Success>
  <Data>
        <MessageId>abcabc123</MessageId>
  </Data>
</SetDevicePropertyResponse>

JSON格式

{ 
  "RequestId":"57b144cf-09fc-4916-a272-a62902d5b207", 
  "Success": true, 
  "Data": {
     "MessageId":"abcabc123"
   } 
}