Queries the statuses of multiple devices under a product.

Limits

  • You can call this operation to query the statuses of multiple devices under a product. You can query a maximum of 50 devices in a single call.
  • Each Alibaba Cloud account can run a maximum of 50 queries per second (QPS).
    Note RAM users of an Alibaba Cloud account share the quota of the account.

Debugging

Alibaba Cloud provides OpenAPI Explorer to simplify API usage. 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 BatchGetDeviceState

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

DeviceName.N RepeatList No light

The DeviceNames of the devices.

Note If you specify this parameter, you must also specify the ProductKey parameter.
IotInstanceId String No iot_instc_pu****_c*-v64********

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

Notice
  • If your instance has an ID, you must configure this parameter. If you do not set this parameter, the call fails.
  • If your instance has no Overview page or ID, you do not need to set this parameter.

For more information, see Overview.

ProductKey String No a1BwAGV****

The ProductKey of the product to which the devices belong.

Note If you specify this parameter, you must also specify the DeviceName parameter.
IotId.N RepeatList No Q7uOhVRdZRRlDnTLv****00100

The IDs of the devices.

Note If you specify this parameter, you do not need to specify ProductKey or DeviceName. The IotId parameter specifies a globally unique identifier (GUID) of the device, which corresponds to a combination of ProductKey and DeviceName. If you specify both IotId and the combination of ProductKey and DeviceName, IotId takes precedence.

In addition to the preceding operation-specific request parameters, you must specify common request parameters when you call this 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.

DeviceStatusList Array of DeviceStatus

The details of device statuses returned if the call is successful. For more information, see the DeviceStatus parameter.

DeviceStatus
AsAddress String 192.0.2.1

The IP address of each device.

DeviceId String dwnS41bhNxjslDAI****

The ID of the device (expired).

Note This parameter is no longer used. Do not use this parameter to identify a device. You can use the IotId parameter or a combination 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 time when the device was last online.

Status String OFFLINE

The status of the device. Valid values:

  • ONLINE: The device is online.
  • OFFLINE: The device is offline.
  • UNACTIVE: The device is not activated.
  • DISABLE: The device is disabled.
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.

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

Examples

Sample requests

https://iot.cn-shanghai.aliyuncs.com/?Action=BatchGetDeviceState
&productKey=a1BwAGV****
&DeviceName.1=device1
&DeviceName.2=device2
&<Common request parameters>

Sample success responses

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, visit the API Error Center.