查询设备状态

设备可能的状态如下表:

状态 值(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 协议错误, 数采器从设备上采集到的报文与协议不符

例, 请求: http://api.shinemonitor.com/public/?sign=7f220b6f21d0b52d0452d9c66ffe1f4f84635b81&salt=2337424845041575962&token=91a6c87e89acbfb2fa482f3b02ee071ee58ea0293dd92f243a88ee51415f497f&action=queryDeviceStatus&device=COLLECTOR0001,512,1,687489900018;COLLECTOR0002,512,2,687489900019

参数 描述 必选
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 找不到设备