设备
设备API
1 设备信息
1.1 获取设备列表
功能:获取设备列表
请求方式: GET
url:/devicelist
请求参数:
参数 | 取值 | 必需 | 说明 |
---|---|---|---|
token | String | 是 | 用户通行证 |
hash | String | 是 | 哈希值 |
name | String | 否 | 设备名(模糊查询) |
modelid | Integer | 否 | 类型id |
serialnumber | String | 否 | 序列号 |
deviceType | String | 否 | 2--ra-device,null – 所有设备 |
返回参数格式: json
返回参数说明:
参数 | 取值 | 说明 |
---|---|---|
status | String | 请求状态。成功:100;失败:其它 |
msg | String | 错误信息(status为其它时) |
data | array | 设备信息列表 |
设备信息字段
参数 | 取值 | 说明 |
---|---|---|
id | String | device id |
name | String | 设备名 |
serialNumber | String | 序列号 |
lastContact | Long | 上次联系时间。也即最后一次上传数据的时间,如果该属性为空,表示网关注册之后一直没有数据上传。 |
lastRegister | Long | 最后注册时间 |
deviceCondition | Integer | 设备数据采集状态,0 or null -- 设备没有数据上传(5倍最大采集周期时间内),1--设备数据上传正常 |
channel | Integer | Anylink-SE的通道ID |
channelName | String | Anylink-SE的通道名称 |
version | String | 网关agent的版本号 |
vpnVersion | String | DA网关当前支持的vpn版本号(SE设备该值为空) |
deviceModel | JSONObject | 设备类型 |
设备类型字段
参数 | 取值 | 说明 |
---|---|---|
id | Integer | 类型id |
name | String | 类型名 |
请求示例:
<%=BaseUrl%>/devicelist?token=8029cd9c-257c-4f3b-9347-f7acbfa44498&hash=test
返回示例:
{
status: "100",
data: [
{
"id":2,
"name":"mini",
"serialNumber": "1500001",
"lastContact": 1528170910000,
"lastRegister": 1528163814925,
"deviceCondition":0,
"channel":1,
"channelName":"CHANNEL-1",
"version": "3.6.7",
"deviceModel":{
"id":8,
"name":"mini",
}
}
]
}
1.2 获取单个设备信息
功能:获取设备信息
请求方式: GET
url:/device/{deviceId}
请求参数:
参数 | 取值 | 必需 | 说明 |
---|---|---|---|
token | String | 是 | 用户通行证 |
hash | String | 是 | 哈希值 |
返回参数: 格式: json 参数说明:
参数 | 取值 | 说明 |
---|---|---|
status | String | 请求状态。成功:100;失败:其它 |
msg | String | 错误信息(status为其它时) |
data | array | 设备信息列表,同1.2.2 |
请求示例:
<%=BaseUrl%>/device/1000001?token=8029cd9c-257c-4f3b-9347-f7acbfa44498
返回示例:
{
status:”100”,
data: {
"id":2,
"name":"mini",
"serialNumber":"3",
"lastContact":1522394228000,
"lastRegister":1522395540720,
"deviceCondition":0, //设备在线状态
"channel":1,
"channelName":"CHANNEL-1",
"version":"3.7.0", //agent版本号
"deviceModel":{
"id":8,
"name":"mini"
}
}
}
```
1.3 获取某个设备的所有数据项
功能:获取某个设备的所有数据项
请求方式:GET
url:/dataitemlist/getDataItemList
请求参数:
参数 | 取值 | 必需 | 说明 |
---|---|---|---|
token | String | 是 | 用户通行证 |
hash | String | 是 | 哈希值 |
deviceid | Integer | 是 | 设备ID |
返回参数格式: json 返回参数说明:
参数 | 取值 | 说明 |
---|---|---|
status | String | 请求状态。成功:100;失败:其它 |
msg | String | 错误信息(status为其它时) |
data | array | 设备数据项 |
devid | Integer | 设备id |
deviceName | String | 设备名称 |
itemid | Integer | 数据项ID |
config | String | 配置信息 |
datatype | String | 数据类型 |
datatypeName | String | 数据类型名称 |
driverName | String | 驱动名称 |
did | Integer | 驱动id |
itemname | String | 数据项名称 |
itemalias | String | 数据项别名 |
readonly | int | 0—只读,1—可写 |
frequency | int | 数据项采集频率(毫秒) |
请求示例:
<%=BaseUrl%>/dataitemlist/getDataItemList?token=08a67a16-9e96-4bfd-8492-3f415585639c&hash=test&deviceid=3000537
返回示例:
{
"status": "100",
"data": [
{
"config":"1;3;0;1;int16_t;0;0;0",
"datatype":"a",
"datatypeName":"数值",
"deviceName":"风机",
"devid":1435101188,
"did":13,
"driverName":"libDModbus",
"driverid":2,
"frequency":5000,
"itemalias":"进口风压",
"itemid":"30",
"itemname":"INLET PRESSURE",
"readonly":0
},
{
"config":"1;3;1;1;int16_t;0;0;0",
"datatype":"a",
"datatypeName":"数值",
"deviceName":"风机",
"devid":1435101188,
"did":13,
"driverName":"libDModbus",
"driverid":2,
"frequency":5000,
"itemalias":"过滤器差压",
"itemid":"31",
"itemname":"FILTER DROP.",
"readonly":0
}
]
}
1.4 获取device id
功能:根据设备名称和网关序列号获取device id。
如果参数中的deviceName,agentID都为空,则获取该用户有权限查看的所有设备ID;
如果deviceName为空,则获取agentID该序列号下所有设备ID;
如果agentID为空,则获取所有deviceName相同的设备ID。
请求方式: GET
url: /devicelist/getDeviceID
请求参数:
参数 | 取值 | 必需 | 说明 |
---|---|---|---|
token | String | 是 | 用户通行证 |
hash | String | 是 | 哈希值 |
deviceName | String | 否 | 设备名称 |
agentID | Integer | 否 | agent 序列号 |
返回参数格式: json 返回参数说明:
参数 | 取值 | 说明 |
---|---|---|
status | String | 请求状态。成功:100;失败:其它 |
msg | String | 错误信息(status为其它时) |
data | Integer | device id |
请求示例:
<%=BaseUrl%>/devicelist/getDeviceID?token=08a67a16-9e96-4bfd-8492-3f415585639c&hash=test&deviceName=设备3&agentID=1200001
返回示例:
{
"data":[
1434108930
],
"status":"100"
}
2 设备告警
2.1 根据设备ID获取配置的告警规则
功能:根据设备ID获取配置的告警规则
请求方式:GET
url:/rule/getRuleByDataItemName
请求参数:
参数 | 取值 | 必需 | 说明 |
---|---|---|---|
token | String | 是 | 用户通行证 |
hash | String | 是 | 哈希值 |
devid | Integer | 是 | 设备id |
itemNames | String | 否 | 数据项名称。各个数据项名称之间用逗号分隔。如果数据项名称为空,则是搜索该设备的所有告警规则。 |
返回参数: 格式: json 参数说明:
参数 | 取值 | 说明 |
---|---|---|
status | String | 请求状态。成功:100;失败:其它 |
msg | String | 错误信息(status为其它时) |
data devid | String | 设备ID |
ruleID | String | 规则ID |
ruleName | String | 规则名称 |
triggerPO triggerId | String | 触发器ID |
triggerName | String | 触发器名称 |
relation | String | 各个规则之间的关系,包括&, |
type | String | 见附表 |
trgItemList itemId | String | 数据项ID |
itemName | String | 数据项名称 |
operand | String | 阈值 |
operator | String | 操作符,比如>,<,=,≥,≤,≠ |
depend | String | |
actionList actionId | String | 触发的动作ID |
description | String | 告警描述 |
name | String | 告警名称 |
severity | String | 告警级别,目前包括8,9,10,11,12五个级别 |
type | String | |
typeName | String |
请求示例:
<%=BaseUrl%>/rule/getRuleByDataItemName?token=4d38abea-5f3e-4c9b-9eac-9354da1a254d&devid=1000253&itemNames=X1,X2
返回示例:
{
"status": "100",
"data": [
{
"actionList": [
{
"actionId": 9,
"description": "测试,$0",
"name": "X1",
"severity": "8",
"type": "alarm告警",
"typeName": "alarm"
}
],
"devid": 1000253,
"ruleID": 3,
"ruleName": "测试",
"triggerPO": {
"relation": "0",
"trgItemList": [
{
"depend": "",
"itemId": 0,
"itemName": "X1",
"operand": "111",
"operator": "="
}
],
"triggerId": 17,
"triggerName": "测试",
"type": "1"
}
},
{
"actionList": [
{
"actionId": 10,
"description": "111,$0",
"name": "X1",
"severity": "8",
"type": "alarm告警",
"typeName": "alarm"
}
],
"devid": 1000253,
"ruleID": 4,
"ruleName": "111",
"triggerPO": {
"relation": "0&1",
"trgItemList": [
{
"depend": "",
"itemId": 0,
"itemName": "X1",
"operand": "-1",
"operator": ">"
},
{
"depend": "",
"itemId": 1,
"itemName": "X1",
"operand": "1",
"operator": "≤"
}
],
"triggerId": 18,
"triggerName": "111",
"type": "1"
}
}
}
2.2 获取设备的实时告警信息
功能:获取设备的实时告警信息
请求方式:GET
url:/alarm
请求参数:
参数 | 取值 | 必需 | 说明 |
---|---|---|---|
token | String | 是 | 用户通行证 |
hash | String | 是 | 哈希值 |
devid | Integer | 是 | 设备id |
severity | Integer | 否 | 告警级别。取值:8,9,10,11,12分别对应:一级,二级,三级,四级,通知 |
stime | Long | 否 | 开始时间(时间戳,单位毫秒)如果为空,默认取 etime-12小时 |
etime | Long | 否 | 结束时间(时间戳,单位毫秒)如果为空,默认取stime+12小时;如果stime和etime都为空,则etime取当前时间,stime = etime-12小时。 |
pageindex | Integer | 否 | 第几页,用于数据分页,默认为1 |
pagesize | Integer | 否 | 每页显示的行数,默认20 |
orderby | String | 否 | 按照某个字段排序,默认按照htime排序 |
desc | Boolean | 否 | 是否按照倒序排序。可选值:true, false。默认是true |
返回参数格式: json 返回参数说明:
参数 | 取值 | 说明 |
---|---|---|
status | String | 请求状态。成功:100;失败:其它 |
msg | String | 错误信息(status为其它时) |
data | list | 告警信息列表 |
totalSize | Integer | 此次查询数据条数 |
告警信息
参数 | 取值 | 说明 |
---|---|---|
active | boolean | true 表示处于告警状态,false 表示设备已经恢复到非告警状态 |
alarmdesc | String | 告警描述。alarm status reset.或者 active=false表示设备已经恢复到非告警状态(针对配置的该规则) |
alarmid | Integer | 告警ID |
alarmname | String | 告警名称 |
deviceid | Integer | device ID |
htime | Long | 触发告警的时间(毫秒) |
happentime | Long | 服务器接收到数据的时间(毫秒) |
ruleid | Integer | 告警规则ID |
severity | Integer | 告警级别,取值为8,9,10,11,12 |
thisDataItemName | String | 触发该告警的数据项名称 |
thisDataItemValue | String | 触发告警时该数据项的值 |
请求示例:
<%=BaseUrl%>/alarm?token=77490586-17dc-4add-9a1c-7735029ac56e&devid=1000253&severity=8,9&pageindex=1&pagesize=20&orderby=htime&desc=true
返回示例:
{
"data":{
"list":[
{
"active":true,
"alarmdesc":"冷却水温度过高",
"alarmid":209,
"alarmname":"alarm",
"deviceid":1435101185,
"happentime":1532658207189,
"htime":1532657631003,
"ruleid":6,
"severity":12,
"thisDataItemName":"COOLING WATER TEMP.",
"thisDataItemValue":"7229.3078125"
}
],
"totalSize":1
},
"status":"100"
}
2.3 获取历史告警
功能: 获取单个设备的历史告警
请求方式: GET
url: /hisAlarm
请求参数:
参数 | 取值 | 必需 | 说明 |
---|---|---|---|
token | String | 是 | 用户通行证 |
hash | String | 是 | 哈希值 |
devid | Integer | 是 | 设备id |
itemNames | String | 否 | 数据项名称,各名称之间用英文逗号分隔 |
severity | Integer | 否 | 告警级别。取值:8,9,10,11,12 |
stime | Long | 否 | 开始时间(时间戳,单位毫秒)。如果为空,默认取 etime-12小时 |
etime | Long | 否 | 结束时间(时间戳,单位毫秒)。如果为空,默认取stime+12小时;如果stime和etime都为空,则etime取当前时间,stime = etime-12小时。 |
pageindex | Integer | 否 | 页码,用于数据分页,默认1 |
pagesize | Integer | 否 | 每页显示的行数,默认20 |
orderby | String | 否 | 按照某个字段排序,默认字段为htime |
desc | Boolean | 否 | 是否按照倒序排序。可选值:true, false,默认是true |
返回参数格式: json 返回参数说明:
参数 | 取值 | 说明 |
---|---|---|
status | String | 请求状态。成功:100;失败:其它 |
msg | String | 错误信息(status为其它时) |
data | list | 告警信息列表 |
totalSize | Integer | 总的告警条数 |
告警信息
参数 | 取值 | 说明 |
---|---|---|
active | Boolean | true 表示处于告警状态,false 表示设备已经恢复到非告警状态 |
alarmdesc | String | 告警描述 |
alarmid | Integer | 告警ID |
alarmname | String | 告警名称 |
deviceid | Integer | 设备ID |
htime | Long | 触发告警的时间(毫秒) |
happentime | Long | 服务器接收到数据的时间(毫秒) |
ruleid | Integer | 告警规则ID |
severity | Integer | 告警级别 |
thisDataItemName | String | 触发该告警的数据项名称 |
thisDataItemValue | String | 触发告警时该数据项的值 |
请求示例:
<%=BaseUrl%>/hisAlarm?token=77490586-17dc-4add-9a1c-7735029ac56e&devid=1000253&itemNames=X1&severity=8&pageindex=1&pagesize=3&orderby=htime&desc=true
返回示例:
{
"status": "100",
"data": {
"list": [
{
"active": true,
"alarmdesc": "测试",
"alarmid": 375,
"alarmname": "alarm",
"happentime": 1432865815224,
"htime": 1432865787034,
"ruleid": 3,
"severity": 8,
"thisDataItemName": "X1",
"thisDataItemValue": "0"
},
{
"active": true,
"alarmdesc": "测试",
"alarmid": 374,
"alarmname": "alarm",
"happentime": 1432865815203,
"htime": 1432865786033,
"ruleid": 3,
"severity": 8,
"thisDataItemName": "X1",
"thisDataItemValue": "0"
}
],
"totalSize": 2
}
}
3 实时数据
3.1 获取设备的实时数据
功能:获取实时数据,如果某个数据项没有实时数据,则返回结果中不会有该数据项相关信息
请求方式:GET
url:/currentdata
请求参数:
参数 | 取值 | 必需 | 说明 |
---|---|---|---|
token | String | 是 | 用户通行证 |
hash | String | 是 | 哈希值 |
deviceid | String | 是 | 设备id |
itemids | String | 否 | 要查询的itemid列表,多个时以“,”隔开 |
itemnames | String | 否 | 要查询的itemname列表,多个时以“,”隔开。itemids条件存在且不为空时,此项将被忽略。 |
format | String | 否 | file:导出excel文件。json或者空值,返回json格式数据 |
返回参数格式: json 返回参数说明:
参数 | 取值 | 说明 |
---|---|---|
status | String | 请求状态。成功:100;失败:其它 |
msg | String | 错误信息(status为其它时) |
data | array | 设备数据项数组 |
设备数据项
参数 | 取值 | 说明 |
---|---|---|
itemid | Integer | 数据项id |
devid | Integer | 设备id |
itemname | String | 数据项名 |
alias | String | 别名 |
datatype | String | 数据类型 |
val | Object | 数据项值 |
readOnly | bool | true—只读,false—可写 |
htime | String | 时间 |
dataAddress | String | 数据点地址 |
devName | String | 设备名称 |
quality | String | g--good, b--bad |
specificType | String | 功能码 |
请求示例:
<%=BaseUrl%>/currentdata?token=c5155039-ef0d-45b9-8b43-5c73cf1b9c6f&hash=test&deviceid=1000002&itemids=1,2,3
返回示例:
{
"status": "100",
"data": [
{
"alias":"NAME1",
"dataAddress":"0",
"datatype":"3",
"devName":"DEVICE1",
"devid":"1536006145",
"htime":"2017-01-21 18:19:20.0",
"itemid":"1",
"itemname":"NAME1",
"quality":"g",
"readOnly":false,
"specificType":"3",
"val":"6.0"
},
…
]
}
3.2 获取多个设备的实时数据
功能:获取多个设备的实时数据
如果某些数据项没有实时数据,这些数据项也会返回,不过返回结果中没有val、htime、quality字段
请求方式:GET
url:/currentdata/getDeviceCurrentData
请求参数:
参数 | 取值 | 必需 | 说明 |
---|---|---|---|
token | String | 是 | 用户通行证 |
hash | String | 是 | 哈希值 |
deviceIds | String | 是 | 设备id,多项之间用英文逗号相隔 |
format | String | 否 | file: 导出excel文件。json或者空值,返回json格式数据 |
返回参数格式: json 返回参数说明:
参数 | 取值 | 说明 |
---|---|---|
status | String | 请求状态。成功:100;失败:其它 |
msg | String | 错误信息(status为其它时) |
data | array | 设备数据项 |
参数 | 取值 | 说明 |
---|---|---|
itemid | String | 数据项id |
devid | String | 设备id |
itemname | String | 数据项名 |
alias | String | 别名 |
datatype | String | 数据类型 |
val | Object | 数据项值 |
readOnly | bool | ture—只读,false—可写 |
htime | String | 时间 |
dataAddress | String | 数据点地址 |
devName | String | 设备名称 |
quality | String | g--good, b--bad |
specificType | String | 功能码 |
请求示例:
<%=BaseUrl%>/currentdata/getDeviceCurrentData?token=c5155039-ef0d-45b9-8b43-5c73cf1b9c6f&hash=test&deviceIds=1228801025,1228801026
返回示例:
{
"status": "100",
"data": [
{
"alias":"NAME1",
"dataAddress":"0",
"datatype":"3",
"devName":"DEVICE1",
"devid":"1228801025",
"htime":"2017-01-21 18:19:20.0",
"itemid":"1",
"itemname":"NAME1",
"quality":"g",
"readOnly":false,
"specificType":"3",
"val":"6.0"
},
{
"alias":"NAME1",
"dataAddress":"0",
"datatype":"3",
"devName":"DEVICE1",
"devid":"1228801025",
"itemid":"2",
"itemname":"NAME2",
"readOnly":false,
"specificType":"3"
},
…
]
}
4 历史数据
4.1 获取单个数据项的历史数据
功能: 获取单个数据项的历史数据,数据按照htime降序排列,获取最新的数据。
请求方式: GET
url: /historydata
请求参数:
参数 | 取值 | 必需 | 说明 |
---|---|---|---|
token | String | 是 | 用户通行证 |
hash | String | 是 | 哈希值 |
deviceid | Integer | 是 | 设备id |
dataitemid | String | 是 | 数据项id |
stime | Long | 否 | 开始时间,时间戳,单位毫秒。如果该参数为空,默认为据当前12小时之前。 |
etime | Long | 否 | 结束时间,时间戳,单位毫秒。如果为空,默认当前时刻。 |
limit | Integer | 否 | 条数限制(默认1000条,最多支持1000条) |
format | String | 否 | 返回格式(json/file)。file文件为excel |
返回参数格式: json 返回参数说明:
参数 | 取值 | 说明 |
---|---|---|
status | String | 请求状态。成功:100;失败:其它 |
msg | String | 错误信息(status为其它时) |
data | array | 设备数据项 |
参数 | 取值 | 说明 |
---|---|---|
devid | String | 设备id |
itemid | String | 数据项id |
itemname | String | 数据项名称 |
alias | String | 数据项别名 |
val | String | 数据值 |
htime | String | 时间戳 |
datatype | String | 数据类型 |
datatypeName | String | 数据类型名称 |
readOnly | Boolean | true—只读,false-可写 |
请求示例:
<%=BaseUrl%>/historydata?token=90e1a491-2360-4eb4-90e8-e3f2379192c2&hash=test&deviceid=20&dataitemid=24&stime=1412750888000&etime=1416898091000
返回示例:
{
"status": "100",
"data": [
{
"alias":"N1",
"datatype":"1",
"datatypeName":"Boolean",
"devid":"1536008193",
"htime":"2017-03-07 10:11:27.166",
"itemid":"1",
"itemname":"N1",
"readOnly":true,
"val":"1"
},
{
"alias":"N1",
"datatype":"1",
"datatypeName":"Boolean",
"devid":"1536008193",
"htime":"2017-03-07 10:11:26.291",
"itemid":"1",
"itemname":"N1",
"readOnly":true,
"val":"1"
},
{
"alias":"N1",
"datatype":"1",
"datatypeName":"Boolean",
"devid":"1536008193",
"htime":"2017-03-07 10:11:25.303",
"itemid":"1",
"itemname":"N1",
"readOnly":true,
"val":"1"
}
]
}
4.2 根据数据项id获取历史数据
功能:根据数据项id(可以是多个)获取历史数据
请求方式:GET
url:/history/forids
请求参数:
参数 | 取值 | 必需 | 说明 |
---|---|---|---|
token | String | 是 | 用户通行证 |
hash | String | 是 | 哈希值 |
deviceid | String | 是 | 设备id |
itemids | String | 否 | 数据项id列表,多个时以“,”隔开。不传时默认查询所有数据项历史数据 |
stime | Long | 否 | 开始时间,时间戳,单位毫秒 |
etime | Long | 否 | 结束时间,时间戳,单位毫秒 |
limit | Integer | 否 | 每个数据项数据的条数限制,最大1000条,所有数据项总条数最大为100000条,如果查询数据项个数n*1000>100000,那么每个数据项数据的最大条数为100000/n |
format | String | 否 | 返回格式(json/file) |
返回参数格式: json
返回参数说明:
参数 | 取值 | 说明 |
---|---|---|
status | String | 请求状态。成功:100;失败:其它 |
msg | String | 错误信息(status为其它时) |
data | Object | 内容格式为:itemid:该数据项的历史数据列表 |
参数 | 取值 | 说明 |
---|---|---|
devid | String | 设备id |
itemid | String | 数据项id |
itemname | String | 数据项名称 |
alias | String | 数据项别名 |
val | String | 数据值 |
htime | String | 时间戳 |
datatype | String | 数据类型 |
datatypeName | String | 数据类型名称 |
readOnly | Boolean | true—只读,false-可写 |
请求示例:
<%=BaseUrl%>/history/ forids?token=a0d01cf4-6f78-4f8a-8db0-81bb35978196&hash=test&deviceid=12&itemids=11,12
返回示例:
{
"status": "100",
"data": {
"1": [
{
"alias":"N1",
"datatype":"1",
"datatypeName":"Boolean",
"devid":"1536008193",
"htime":"2017-03-07 10:11:27.166",
"itemid":"1",
"itemname":"N1",
"readOnly":true,
"val":"1"
},
{
"alias":"N1",
"datatype":"1",
"datatypeName":"Boolean",
"devid":"1536008193",
"htime":"2017-03-07 10:11:26.291",
"itemid":"1",
"itemname":"N1",
"readOnly":true,
"val":"1"
}, …
]
}
4.3 根据数据项名称获取历史数据
功能:根据数据项名称(可以是多个)获取历史数据
请求方式:GET
url:/history/fornames
请求参数:
参数 | 取值 | 必需 | 说明 |
---|---|---|---|
token | String | 是 | 用户通行证 |
hash | String | 是 | 哈希值 |
deviceid | String | 是 | 设备id |
itemnames | String | 否 | 数据项名称列表,多个时以“,”隔开。不传时默认查询所有数据项历史数据 |
stime | Long | 否 | 开始时间,时间戳,单位毫秒 |
etime | Long | 否 | 结束时间,时间戳,单位毫秒 |
limit | Int | 否 | 每个数据项数据的条数限制,最大1000条,所有数据项总条数最大为100000条,如果查询数据项个数n*1000>100000,那么每个数据项数据的最大条数为100000/n |
format | String | 否 |
返回参数格式: json 返回参数说明:
参数 | 取值 | 说明 |
---|---|---|
status | String | 请求状态。成功:100;失败:其它 |
msg | String | 错误信息(status为其它时) |
data | Object | 内容格式为:itemid:该数据项的历史数据列表 |
数据项的历史数据
参数 | 取值 | 说明 |
---|---|---|
devid | String | 设备id |
itemid | String | 数据项id |
itemname | String | 数据项名称 |
alias | String | 数据项别名 |
val | String | 数据值 |
htime | String | 时间戳 |
datatype | String | 数据类型 |
datatypeName | String | 数据类型名称 |
readOnly | Boolean | true—只读,false-可写 |
请求示例:
<%=BaseUrl%>/history/fornames?token=a0d01cf4-6f78-4f8a-8db0-81bb35978196&hash=test&deviceid=12&itemnames=data11,data12
返回示例:
{
"status": "100",
"data": {
"data11": [
{
"datatype": "b",
"datatypeName": "开关量",
"devid": "12",
"htime": "2014-12-01 23:59:56",
"itemid": "11",
"itemname": "data11",
"readOnly": true,
"val": "0"
},
…
],
"data12": [
{
"datatype": "b",
"datatypeName": "开关量",
"devid": "12",
"htime": "2014-12-01 23:59:56",
"itemid": "12",
"itemname": "data12",
"readOnly": true,
"val": "0"
},
…
]
}
5 设备控制
5.1 向设备发送命令
功能:向设备发送命令(只返回发送是否成功,不返回操作结果),改变数据项的值
请求方式: PUT
url: /control/v2.1
请求参数:
参数 | 取值 | 必需 | 说明 |
---|---|---|---|
token | String | 是 | 用户通行证 |
hash | String | 是 | 哈希值 |
devid | int | 是 | 设备id |
driverID | int | 否 | 驱动id |
driverName | String | 否 | 驱动名称,如果为空:如果itemid!=null,则获取该item对应的驱动名称;如果itemid==null,该值默认为”libTCmd";DA RA切换时,itemid=null,并且 driverName=libtremoteplc |
itemid | int | 否 | 数据项id,DA RA切换时,itemid=null |
itemname | String | 否 | 数据项名称,itemid和itemname必须至少有一个不为空,当itemid存在且不为空时,itemname会被忽略 |
value | String | 是 | 数据项的值(开关量类型的数据项值为0或1) |
返回参数格式: json 返回参数说明:
参数 | 取值 | 说明 |
---|---|---|
status | String | 请求状态。100:控制命令成功加入队列;103:参数错误;106:其他用户控制中;111:未知错误 |
msg | String | 错误信息(status为其它时) |
data | String | 用来获取控制结果的标识码 |
请求示例:
<%=BaseUrl%>/control?token=90e1a491-2360-4eb4-90e8-e3f2379192c2&hash=test&devid=1001&itemid=48&value=1
返回示例:
{
status:”100”,
data: 1415844000000
}
5.2 获取操作结果
功能: 获取操作结果(需循环访问,直到得到结果)
请求方式: GET
url: /control/result
请求参数:
参数 | 取值 | 必需 | 说明 |
---|---|---|---|
token | String | 是 | 用户通行证 |
hash | String | 是 | 哈希值 |
devid | String | 是 | 设备id |
sign | String | 是 | 用于获取结果的标识,取值为/control/v2.1接口中获取的data值 |
返回参数格式: json 返回参数说明:
参数 | 取值 | 说明 |
---|---|---|
status | String | 请求状态。成功:100;失败:其它 |
msg | String | 错误信息(status为其它时) |
data | String | 结果(0:成功,3:超时(90s),其他:失败 (-1,5,7) |
请求示例:
<%=BaseUrl%>/control/result?token=90e1a491-2360-4eb4-90e8-e3f2379192c2&hash=test&devid=1002&itemid=48&sign=1415844000000
返回示例:
{
status:”100”,
data:”1”
}
或者
{
status:”100”,
}
6 设备台账相关接口
6.1 查询单个设备的台账信息
功能: 查询单个设备的台账信息
请求方式: GET
url:/deviceInfo/info
请求参数:
参数 | 取值 | 必需 | 说明 |
---|---|---|---|
token | String | 是 | 用户通行证 |
deviceId | String | 是 | 设备id |
返回参数格式: json 返回参数说明:
参数 | 取值 | 说明 |
---|---|---|
status | String | 请求状态。成功:100;失败:其它 |
msg | String | 错误信息(status为其它时) |
data | List | 设备台账信息的列表 |
请求示例:
<%=BaseUrl%>/deviceInfo/info?token=90e1a491-2360-4eb4-90e8-e3f2379192c2&deviceId=10020000
返回示例:
{
"status": "100",
"data": [
{
"deviceId": 10020000,
"fullName": "产品名称",
"id": 52,
"key": 3,
"name": "productName",
"value": "ABCDEF"
},
{
"deviceId": 10020000,
"fullName": "用户姓名",
"id": 54,
"key": 5,
"name": "userName",
"value": "张三"
},
{
"deviceId": 10020000,
"fullName": "用户电话",
"id": 55,
"key": 6,
"name": "userPhone",
"value": "18357730601"
},
{
"deviceId": 10020000,
"fullName": "产品型号",
"id": 604,
"key": 9,
"name": "productModel",
"value": "DLDFM230120420232"
}
{
"deviceId": 10020000,
"fullName": "产品编号",
"id": 51,
"key": 2,
"name": "productId",
"value": "10300501600002202018004"
}
]
}