
# 查询终端设备列表 - ListDevices
#### 功能介绍
该API用于查询终端设备列表。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/IEF/doc?api=ListDevices)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ief/ief_02_1003.html)。
#### URI
GET /v2/{project_id}/edgemgr/devices
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述   |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID |
表2Query参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                           |
|:---|:---|:---|:---|
| name       | 否    | String | 终端设备名称，模糊匹配                                                  |
| node_id    | 否    | String | 节点ID, 精确匹配                                                   |
| limit      | 否    | String | 每页显示的条目数量，取值范围1\~1000，默认为1000                                |
| offset     | 否    | String | 查询的起始位置，取值范围为非负整数，默认为0                                       |
| is_binding | 否    | String | 是否绑定到边缘节点，为"true"时返回所有已绑定到节点的设备列表；为"false"则返回未绑定节点的设备列表。     |
| tags       | 否    | String | 标签的key和value通过点连接， 多个标签通过逗号连接，如：tags=key1.value1,key2.value2 |
#### 请求参数
表3请求Header参数 
| 参数              | 是否必选 | 参数类型   | 描述                                                        |
|:---|:---|:---|:---|
| Content-Type    | 是    | String | 消息体的类型（格式），默认取值为"application/json"。                       |
| X-Auth-Token    | 是    | String | 用户Token。 通过调用IAM服务获取用户Token接口获取（响应消息头中X-Subject-Token的值）。 |
| ief-instance-id | 否    | String | 企业版实例ID，专业版实例为空值。                                         |
   
#### 响应参数
**状态码：200**
表4响应Body参数 
| 参数      | 参数类型                                                     | 描述          |
|:---|:---|:---|
| devices | Array of [Device] objects | 终端设备属性      |
| count   | Integer                                                  | 满足条件的终端设备个数 |
   
 表5Device 
| 参数                | 参数类型                                                                                    | 描述                                                                               |
|:---|:---|:---|
| id                | String                                                                                  | 终端设备ID，只允许英文字母、数字、下划线、中划线，必须以英文字母和数字开头，长度限制为24\~64之间                             |
| name              | String                                                                                  | 终端设备名称，只允许中文字符、英文字母、数字、下划线、中划线，长度限制为1\~64                                        |
| access_protocol   | String                                                                                  | 访问协议，有如下选项： - userdefine：自定义协议 - modbus：modbus协议 - opc-ua：opc-ua协议 默认为userdefine |
| description       | String                                                                                  | 终端设备描述，最大长度255，不允许\^ \~ # $ % \& \* \< \> ( ) \[ \] { } ' " \\                   |
| project_id        | String                                                                                  | 项目ID                                                                             |
| created_at        | String                                                                                  | 创建时间                                                                             |
| updated_at        | String                                                                                  | 更新时间                                                                             |
| attributes        | Map\<String,[ValueInAttributes]\>             | 终端设备静态属性信息                                                                       |
| connection_type   | String                                                                                  | 连接类型，默认为edge                                                                     |
| twin              | Map\<String,[ValueInTwinResponse]\>         | 终端设备孪生属性信息                                                                       |
| access_config     | [AccessConfig] object                              | 访问配置，与access_protocol直接关联                                                        |
| property_visitors | Map\<String,[ValueInPropertyVisitors]\> | 孪生属性配置                                                                           |
   
 表6ValueInTwinResponse 
| 参数       | 参数类型                                                           | 描述                               |
|:---|:---|:---|
| excepted | [ExceptedActual] object | 动态属性的期望信息                        |
| actual   | [ExceptedActual] object | 动态属性的实际信息                        |
| metadata | [Metadata] object             | 动态属性的元数据信息                       |
| optional | Boolean                                                        | 标识属性是否可选，默认为true，继承模板的属性默认为false |
   
 表7ExceptedActual 
| 参数    | 参数类型   | 描述                                                                          |
|:---|:---|:---|
| value | String | 动态属性的初始值，最大长度512，value允许英文字母、数字、下划线、中划线、点、逗号、冒号、/、@、+、?、\^、=、%、\&、\~、#、!、\* |
   
 表8AccessConfig 
| 参数            | 参数类型                                                                 | 描述                                                                                                    |
|:---|:---|:---|
| protocol_type | [ValueInAttributes] object | 设备访问类型，包含： - userdefine：自定义访问协议 - TCP：modbus访问协议中的一种访问形式 - RTU：modbus访问协议中的一种访问形式 - opc-ua：opc-ua访问协议 |
| protocol_name | [ValueInAttributes] object | 设备访问名称                                                                                                |
| slave_id      | [ValueInAttributes] object | Modbus设备访问id(0-255)                                                                                   |
| ip            | [ValueInAttributes] object | TCP传输模式下访问ip地址（标准ipv4地址）                                                                              |
| port          | [ValueInAttributes] object | TCP传输模式下访问端口（0-65535）                                                                                 |
| serial_port   | [ValueInAttributes] object | RTU传输模式下串口配置                                                                                          |
| baud_rate     | [ValueInAttributes] object | RTU传输模式下波特率配置，value值字段可选50、75、110、150、200、300、1200、1800、2400、9600、19200、38400、57600、115200            |
| data_bits     | [ValueInAttributes] object | RTU传输模式下数据位配置，value值字段包括5、6、7、8                                                                       |
| stop_bits     | [ValueInAttributes] object | RTU传输模式下停止位配置，value值字段包含1、2                                                                           |
| parity_bits   | [ValueInAttributes] object | RTU传输模式下校验位配置，value值字段可选为none、odd、even                                                                |
| url           | [ValueInAttributes] object | OPC-UA协议下访问url地址                                                                                      |
| sec_mode      | [ValueInAttributes] object | OPC-UA协议下访问安全模式                                                                                       |
| sec_policy    | [ValueInAttributes] object | OPC-UA协议下访问安全策略                                                                                       |
| auth_type     | [ValueInAttributes] object | OPC-UA协议下访问认证类型，value值字段可选为0、1、2、3                                                                    |
| username      | [ValueInAttributes] object | OPC-UA协议下，采用密码认证时用户名字段                                                                                |
| password      | [ValueInAttributes] object | OPC-UA协议下，采用密码认证时密码字段                                                                                 |
| private_key   | [ValueInAttributes] object | OPC-UA协议下，采用证书认证时私钥字段，value字段为base64格式                                                                |
| certificate   | [ValueInAttributes] object | OPC-UA协议下，采用证书认证时证书字段，value字段为base64格式                                                                |
| timeout       | [ValueInAttributes] object | OPC-UA协议下访问超时配置，默认为5s                                                                                 |
   
 表9ValueInPropertyVisitors 
| 参数                | 参数类型                                                                 | 描述                                                                                      |
|:---|:---|:---|
| register_type     | [ValueInAttributes] object | 寄存器类型，value值字段可选为CoilsRegisters、HoldingRegisters、DiscreteInputsRegisters、InputRegisters |
| access_mode       | [ValueInAttributes] object | 访问模式，value值字段可选为r和r/w                                                                   |
| register_index    | [ValueInAttributes] object | 寄存器偏移地址，value值字段取值范围0-65535                                                             |
| register_num      | [ValueInAttributes] object | 寄存器个数                                                                                   |
| scale_index       | [ValueInAttributes] object | 缩放因子                                                                                    |
| original_datatype | [ValueInAttributes] object | 原始数据类型                                                                                  |
| expected_datatype | [ValueInAttributes] object | 期望数据类型                                                                                  |
| is_registerswap   | [ValueInAttributes] object | 是否交换寄存器顺序                                                                               |
| is_swap           | [ValueInAttributes] object | 是否交换高低字节                                                                                |
| sample_interval   | [ValueInAttributes] object | 数据采集间隔，取值范围为1-3600                                                                      |
| data_min          | [ValueInAttributes] object | 原始数据值区间最小值，与原始数据类型关联                                                                    |
| data_max          | [ValueInAttributes] object | 原始数据值区间最大值，与原始数据类型关联                                                                    |
| node_id           | [ValueInAttributes] object | 节点id                                                                                    |
| browse_name       | [ValueInAttributes] object | 节点名称                                                                                    |
   
 表10ValueInAttributes 
| 参数       | 参数类型                                               | 描述                                                                       |
|:---|:---|:---|
| value    | String                                             | value 最大长度512，value允许英文字母、数字、下划线、中划线、点、逗号、冒号、/、@、+、?、\^、=、%、\&、\~、#、!、\* |
| optional | Boolean                                            | 标识属性是否可选，默认为true                                                         |
| metadata | [Metadata] object | 静态属性的元数据信息，默认为{"type": "string"}                                         |
   
 表11Metadata 
| 参数   | 参数类型   | 描述                                                                 |
|:---|:---|:---|
| type | String | 属性类型标识，string\|int\|float\|boolean（boolean类型为true或false），默认为string |
   
#### 请求示例
无
#### 响应示例
**状态码：200**
查询成功
```
{
  "devices" : [ {
    "id" : "1398f13d-f24d-4de4-8cd3-5905db1d6d9f",
    "name" : "device",
    "access_protocol" : "",
    "project_id" : "05e1aef9040010e22fccc009adecb056",
    "description" : "",
    "created_at" : "2020-09-23T02:00:22.858736Z",
    "updated_at" : "",
    "access_config" : { },
    "connection_type" : "edge"
  } ],
  "count" : 1
}
```
#### 状态码
| 状态码 | 描述   |
|:---|:---|
| 200 | 查询成功 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ief/ErrorCode.html)。
