Sets the values of properties for a specified device.

Usage notes

After IoT Platform sends a request to set device properties, the device receives and processes the request asynchronously. 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.

QPS limits

Each Alibaba Cloud account can run up to 500 queries per second (QPS).

Note The RAM users of an Alibaba Cloud account share the quota of the Alibaba Cloud 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 specify. These properties must be in the JSON format.

Each property consists of a key-value pair in the key:value format. Separate multiple properties with commas (,).

Assume that you want to set the following properties of a smart lamp:

  • A switch property whose key is Switch and the data type is BOOLEAN. The value is 1. The value 1 specifies that the light is on.
  • A color property whose key is Color and the data type is STRING. The value is blue.

In this case, you can specify the following properties in the JSON format:

Items={"Switch":1,"Color":"blue"}
Note If you specify properties for the custom module testFb, set the Items parameter to {"testFb:Switch":1,"testFb:Color":"blue"}. The testFb module is not the default module.
IotInstanceId String No iot_instc_pu****_c*-v64********

The ID of the instance. You can view the ID of the instance on the Overview page in the IoT Platform console.

Notice
  • If your instance has an ID, you must specify the ID for this parameter. Otherwise, the call fails.
  • If no Overview page or instance ID appears in the console you do not need to configure this parameter.

For more information, see Overview.

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.
DeviceName String No light

The DeviceName of the device.

Note If you specify this parameter, you must also specify the ProductKey parameter.
IotId String No Q7uOhVRdZRRlDnTLv****00100

The ID of the device. The ID is a 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 and DeviceName parameters. The IotId parameter specifies a globally unique identifier (GUID) for the device. The value of the IotId parameter corresponds to a combination of the values of the ProductKey and DeviceName parameters. If you specify the IotId, ProductKey, and DeviceName parameters, the value of the IotId parameter takes precedence.

In addition to the preceding operation-specific request parameters, you must configure common request parameters when you call this operation. For more information, see Common 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 is successful.

MessageId String abcabc123

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

ErrorMessage String A system exception occurred.

The error message returned if the request fails.

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

The ID of the request.

Success Boolean true

Indicates whether the call was successful.

  • true: The call was successful.
  • false: The call failed.

Examples

Sample requests

https://iot.cn-shanghai.aliyuncs.com/?Action=SetDeviceProperty
&ProductKey=a1BwAGV****
&DeviceName=device1
&Items={"Switch":1,"Color":"blue"}
&<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"
   } 
}