查询设备状态
设备可能的状态如下表:
| 状态 | 值(HEX) | 描述 | 
|---|---|---|
| DEVICE_STATUS_ONLINE | 0x00 | 在线, 正常运转 | 
| DEVICE_STATUS_OFFLINE | 0x01 | 离线, 可能是设备所附着的数采器离线, 也可能是设备本身离线(数采器无法从设备获得数据) | 
| DEVICE_STATUS_FAULT | 0x02 | 故障, 设备发生了故障级别的告警或者有一些寄存器或字段标识了设备正运行在故障状态 | 
| DEVICE_STATUS_STANDBY | 0x03 | 待机, 有一些寄存器或字段标识了设备正运行在待机状态 | 
| DEVICE_STATUS_WARNING | 0x04 | 告警, 设备发生了警告级别的告警或者有一些寄存器或字段标识了设备正运行在告警状态 | 
| DEVICE_STATUS_ERROR | 0x05 | 错误, 设备发生了错误级别的告警或者有一些寄存器或字段标识了设备正运行在错误状态 | 
| DEVICE_STATUS_PROTOCOL_ERROR | 0x06 | 协议错误, 数采器从设备上采集到的报文与协议不符 | 
| 参数 | 描述 | 必选 | 
|---|---|---|
| action | queryDeviceStatus | 是 | 
| device | 数采器编号, 设备协议编码, 设备地址(485总线), 设备序列号(pn,devcode,devaddr,sn), 多个用";"号隔开, 一次最多支持256个 | 是 | 
响应:
| 参数 | 描述 | 必选 | 
|---|---|---|
| device[x].pn | 数采器编号 | 是 | 
| device[x].devcode | 设备协议编码 | 是 | 
| device[x].devaddr | 设备地址(485总线) | 是 | 
| device[x].sn | 设备序列号 | 是 | 
| device[x].status | 设备状态 | 是 | 
需要注意是, 接口是快速失败的: 即, 如果有一个设备信息被认为有误(格式), 接口将立即返回错误.
另外, 返回的设备顺序可能与查询时传递的顺序不同.
{
    "err":0,
    "desc":"ERR_NONE",
    "dat":{
        "device":[
            {
                "pn":"COLLECTOR0001",
                "devcode":512,
                "devaddr":1,
                "sn":"687489900018",
                "status":1
            },
            {
                "pn":"COLLECTOR0002",
                "devcode":512,
                "devaddr":2,
                "sn":"687489900019",
                "status":0
            }
        ]
    }
}
可能出现的错误:
| 返回错误码 | 描述 | 详细描述 | 
|---|---|---|
| 0x0006 | ERR_FORMAT_ERROR | 参数错误 | 
| 0x0007 | ERR_MISSING_PARAMETER | 缺少必要的参数 | 
| 0x000D | ERR_OVER_LIMIT | 超出限制 | 
| 0x000C | ERR_NO_RECORD | 无记录(该设备没有数据) | 
| 0x0102 | ERR_NOT_FOUND_DEVICE | 找不到设备 |