Sets the values of properties for a specified device.

Response description

After IoT Platform sends a request to set device properties, the device asynchronously receives and processes the request. When you call this operation, a successful response indicates that IoT Platform sent a request, but does not indicate that the device has received and processed the request. The device SDK must respond to the request and then set the device properties.

Limits

Each Alibaba Cloud account can run a maximum of 500 queries per second (QPS).

Note Resource Access Management (RAM) users of an Alibaba Cloud account share the quota of the account.

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer. OpenAPI Explorer dynamically generates the sample code of the operation for different SDKs.

Request parameters

Parameter Type Required Example Description
Action String Yes SetDeviceProperty

The operation that you want to perform. Set the value to SetDeviceProperty.

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

The properties that you want to set. The value is a JSON string. Each property is a key-value pair. Separate multiple properties with commas (,).

For example, you want to set the following properties of a smart lamp:

  • A switch property whose identifier is Switch and the data type is Boolean. Set the value to 1. The value 1 indicates that the light is on.
  • A color property whose identifier is Color and the data type is String. Set the value to blue.

In this case, you can set Items={"Switch":1,"Color":"blue"}.

Note If the preceding properties belong to a custom module named testFB, you can set the Items parameter to {"testFb:Switch":1,"testFb:Color":"blue"}. The custom module is not the default module.
IotInstanceId String No iot_instc_pu****_c*-v64********

The instance ID. This parameter is not required for public instances. However, this parameter is required for Enterprise Edition instances.

IotId String No Q7uOhVRdZRRlDnTLv****00100

The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device.

Note If you specify this parameter, you do not need to specify the ProductKey or DeviceName parameter. The IotId parameter specifies a unique identifier for the device, and corresponds to a combination of the ProductKey and DeviceName parameters. If you specify the IotId parameter and a combination of the ProductKey and DeviceName parameters at the same time, only the IotId parameter is used.
DeviceName String No light

The name of each device.

Note If you specify this parameter, you must also specify the ProductKey parameter.
ProductKey String No a1BwAGV****

The ProductKey of the product to which the device belongs.

Note If you specify this parameter, you must also specify the DeviceName parameter.

In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this API operation. For more information, see Common request parameters.

Response parameters

Parameter Type Example Description
Code String iot.system.SystemException

The error code returned if the call fails. For more information, see Error codes.

Data Struct

The data returned if the call succeeds.

MessageId String abcabc123

The ID of the message that IoT Platform sends to the device.

ErrorMessage String A system exception has occurred.

The error message returned if the call fails.

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

The ID of the request.

Success Boolean true

Indicates whether the call succeeds.

  • true: The call succeeded.
  • false: The call failed.

Examples

Sample requests

https://iot.cn-shanghai.aliyuncs.com/?Action=SetDeviceProperty
&ProductKey=a1BwAGV****
&DeviceName=device1
&Items=%7B%22LightAdjustLevel%22%3A1%7D
&<Common request parameters>

Sample success responses

XML format

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

JSON format

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

Error codes

For a list of error codes, visit the API Error Center.