调用该接口批量查看同一产品下指定设备的运行状态。

限制说明

该接口用于查看一个产品下多个设备的运行状态,单次最多可查询50个设备。

请求参数

名称 类型 是否必需 描述
Action String 要执行的操作,取值:BatchGetDeviceState
ProductKey String

要查看运行状态的设备所隶属的产品Key。

说明 如果传入该参数,需同时传入 DeviceName
DeviceName List<String>

要查看运行状态的设备的名称列表。

说明
  • 如果传入该参数,需同时传入ProductKey
  • 单次查询最多50个设备。
IotIds List

要查看运行状态的设备ID列表。

说明 如果传入该参数,则无需传入 ProductKeyDeviceNameIotId作为设备唯一标识符,与 ProductKeyDeviceName组合是一一对应的关系。如果您同时传入 IotIdProductKeyDeviceName组合,则以 IotId为准。
公共请求参数 - 公共请求参数,请参见公共参数

返回参数

名称 类型 描述
RequestId String 阿里云为该请求生成的唯一标识符。
Success Boolean 表示是否调用成功。true表示调用成功,false表示调用失败。
ErrorMessage String 调用失败时,返回的出错信息。
Code String 调用失败时,返回的错误码。错误码详情,请参见错误码
DeviceStatusList List 调用成功时,返回设备状态信息列表。详情参见下表DeviceStatus。
表 1. DeviceStatus
名称 类型 描述
DeviceName String 设备名称。
Status String

设备状态。取值:

ONLINE:设备在线。

OFFLINE:设备离线。

UNACTIVE:设备未激活。

DISABLE:设备已禁用。

DeviceId String

设备ID(旧版参数)。

说明 该参数是旧版本遗留参数,已无实际作用,不能用来标识设备。目前,有效的设备标识符为 IotIdProductKeyDeviceName组合。
IotId String 设备ID,物联网平台为设备颁发的唯一标识。

示例

请求示例

https://iot.cn-shanghai.aliyuncs.com/?Action=BatchGetDeviceState
&productKey=al*********
&DeviceName.1=device1
&DeviceName.2=device2
&公共请求参数

返回示例

  • JSON格式

    {
      "DeviceStatusList": {
        "DeviceStatus": [
          {
            "Status": "UNACTIVE",
            "DeviceId": "xHkR9exGvarIjZ******",
            "DeviceName": "device1",
            "IotId": "xHkR9exGvarIjZzpZ0H******"
          },
          {
            "Status": "UNACTIVE",
            "DeviceId": "YXMl37sPvABrJy******",
            "DeviceName": "device2",
            "IotId": "YXMl37sPvABrJyqoKP******"
          }
        ]
      },
      "RequestId": "D9E3DADE-5B9D-4594-AE0E-8090C16B485D",
      "Success": true
    }
  • XML格式

    <?xml version="1.0" encoding="UTF-8" ?>
    <BatchGetDeviceStateResponse>
        <DeviceStatusList>
            <DeviceStatus>
                <Status>UNACTIVE</Status>
                <DeviceId>xHkR9exGvarIjZz******</DeviceId>
                <DeviceName>device1</DeviceName>
                <IotId>xHkR9exGvarIjZzpZ0HW******</IotId>
            </DeviceStatus>
            <DeviceStatus>
                <Status>UNACTIVE</Status>
                <DeviceId>YXMl37sPvABrJy******</DeviceId>
                <DeviceName>device2</DeviceName>
                <IotId>YXMl37sPvABrJyqoKP2o******</IotId>
            </DeviceStatus>
        </DeviceStatusList>
        <RequestId>D9E3DADE-5B9D-4594-AE0E-8090C16B485D</RequestId>
        <Success>true</Success>
    </BatchGetDeviceStateResponse>