Queries the statuses of multiple devices in a product.

Limits

  • You can call this operation to query the statuses of multiple devices in 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 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 BatchGetDeviceState

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

DeviceName.N RepeatList No light

The names 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 instance ID. This parameter is not required for public instances. However, the parameter is required for the instances that you have purchased.

ProductKey String No a1BwAGV****

The key 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 the ProductKey or DeviceName parameter. The IotId parameter specifies a unique identifier for each 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, the IotId parameter takes precedence.

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.

DeviceStatusList Array of DeviceStatus

The details of device statuses returned if the call succeeds. For more information, see the following parameters that are included in the DeviceStatus parameter.

DeviceStatus
AsAddress String 42.12*.7*.1**

The IP address of each device.

DeviceId String dwnS41bhNxjslDAI****

The ID of the device (expired).

Note This parameter is expired. 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 specify a valid device identifier.
DeviceName String light

The name 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:

  • 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 succeeds.

  • true: The call succeeded.
  • 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>42.1**.7*.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": "42.1**.7*.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.