Queries the status of multiple devices at a time.
Description
When you call this operation, you can perform the following operations:
- You can specify a value for the ProductKey parameter and multiple values for the DeviceName parameter to query the status of devices that belong to a product.
- You can specify multiple values for the IotId parameter to query the status of devices that belong to different products.
QPS limits
Each Alibaba Cloud account can run up to 50 queries per second (QPS).
Debugging
Request parameters
Parameter | Type | Required | Example | Description |
---|---|---|---|---|
Action | String | Yes | BatchGetDeviceState | The operation that you want to perform. Set the value to BatchGetDeviceState. |
DeviceName.N | RepeatList | No | light | The names of the devices. Important If you configure this parameter, you must also specify a value for the ProductKey parameter.
|
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. Important
For more information, see Overview. |
ProductKey | String | No | a1BwAGV**** | The ProductKey of the product to which the device belongs. Important If you configure this parameter, you must also specify a value for the DeviceName parameter.
|
IotId.N | RepeatList | No | Q7uOhVRdZRRlDnTLv****00100 | The IDs of the devices. Important 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 configure this parameter, you do not need to configure the ProductKey or DeviceName parameter. If you specify values for 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 also configure common request parameters when you call this operation. For more information about common request parameters, 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. |
DeviceStatusList | Array of DeviceStatus | The device status information returned if the call is successful. For more information, see the following parameters that are included in the DeviceStatus parameter. |
|
DeviceStatus | |||
AsAddress | String | 192.0.2.1 | The IP address of the device. |
DeviceId | String | dwnS41bhNxjslDAI**** | The ID of the device (expired). Note This parameter is no longer supported. Do not use this parameter to identify a device. You can use the value of the IotId parameter or a combination of the values of the ProductKey and DeviceName parameters to identify a device. |
DeviceName | String | light | The DeviceName of the device. |
IotId | String | dwnS41bhNxjslDAI****000100 | The ID of the device. The ID is the unique identifier that is issued by IoT Platform to the device. |
LastOnlineTime | String | 2020-01-17 16:19:11 | The last time when the device was online. |
Status | String | OFFLINE | The status of the device. Valid values: Valid values:
|
ErrorMessage | String | A system exception 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 was successful. Valid values:
|
Examples
Sample requests
https://iot.cn-shanghai.aliyuncs.com/?Action=BatchGetDeviceState
&productKey=a1BwAGV****
&DeviceName.1=device1
&DeviceName.2=device2
&<Common request parameters>
Sample success response
XML
format
<BatchGetDeviceStateResponse>
<DeviceStatusList>
<DeviceStatus>
<Status>OFFLINE</Status>
<DeviceId>dwnS41bhNxjslDAI****</DeviceId>
<DeviceName>Humidity</DeviceName>
<AsAddress>192.0.2.1</AsAddress>
<LastOnlineTime>2020-01-17 16:19:11</LastOnlineTime>
<IotId>dwnS41bhNxjslDAI****000100</IotId>
</DeviceStatus>
</DeviceStatusList>
<RequestId>3258D872-EDC5-4039-B564-C27ED7176741</RequestId>
<Success>true</Success>
</BatchGetDeviceStateResponse>
JSON
format
{
"DeviceStatusList": {
"DeviceStatus": [
{
"Status": "OFFLINE",
"DeviceId": "dwnS41bhNxjslDAI****",
"DeviceName": "Humidity",
"AsAddress": "192.0.2.1",
"LastOnlineTime": "2020-01-17 16:19:11",
"IotId": "dwnS41bhNxjslDAI****000100"
}
]
},
"RequestId": "3258D872-EDC5-4039-B564-C27ED7176741",
"Success": true
}
Error codes
For a list of error codes, see Service error codes.