API接口描述
a. 请求参数加密形式
每个对接平台会分配一个app key和app secret
app key 接口请求必须带上,用于身份确认
app secret 保留好,不要让其他人知道,用于参数签名加密
请求参数统一格式:
例子:
timestamp 时间戳
必须带上当前的时间戳,对应System.currentTimeMillis() 每次请求都需要带上最新的当前时间戳,服务器将会验证当前时间
appKey 平台分配的 app key 必须带上
sign 签名
签名的规则如下
接口请求参数按照key的字典顺序来排序(升序),然后最前面和最后面拼上app secret ,进行md5加密,例子如下
请求参数:param=1&appKey=1100001×tamp=15318011076707 appSecret+appKey1100001+param1+timestamp1531801107607+appSecret 用这个字符串进行md5加密得到sign的值
b. 接口返回数据统一json格式:
{
"code": 1,
"msg": "",
"data": {
.........
}
}
code: 1代表成功 0失败
msg : 服务器返回信息,如果有错误,会返回具体的错误信息
data: 具体的数据,所有的返回数据都在这个字段里面体现
(1)获取空调列表接口
请求地址:http://lora.feiyikj.cn/open/ac/showAcInfo
请求方式:get 或者post
请求参数
属性 | 必填 | 说明 |
---|---|---|
appKey | 是 | 平台分配的appKey |
timestamp | 是 | 时间戳 |
sign | 是 | 根据上面加密方式生成的签名 |
返回json格式例子
{
"code": 1,
"msg": null,
"data": [{
"account": "bo_00001",
//账号,用于区分不同的项目
"acStatus": [{
"status": "1",
//空调状态 1代表运行 0代表停止 2代表有错误 3代表通讯故障
"address": "1-1-1-1",
//空调地址
"errorCode": "0",
//错误代码
"onOff": 1,
//是否开关 1开 0关
"runMode": 1,
//运行模式
//1制冷 2制热 3送风 4除湿
"fanSpeed": 1,
//风速 1高风 2中风 4低风
"tempSet": 26
//设定温度
}, {
"status": "0",
"address": "1-1-2",
"errorCode": "0",
"onOff": 0,
"runMode": 1,
"fanSpeed": 4,
"tempSet": 26
}, {
"status": "1",
"address": "1-1-3",
"errorCode": "0",
"onOff": 1,
"runMode": 1,
"fanSpeed": 1,
"tempSet": 27
}]
}]
}
返回值
属性 | 说明 |
---|---|
status | 空调状态 1代表运行 0代表停止 2代表有错误 3代表通讯故障 |
address | 空调地址 |
errorCode | 错误代码 |
onOff | 是否开关 1开 0关 |
runMode | 运行模式 1制冷 2制热 3送风 4除湿 |
fanSpeed | 风速 1高风 2中风 4低风 |
tempSet | 设定温度 |
(2)控制空调接口
请求地址:http://lora.feiyikj.cn/open/ac/acSet
请求方式:post
请求参数
属性 | 必填 | 说明 |
---|---|---|
appKey | 是 | 平台分配的appKey |
timestamp | 是 | 时间戳 |
sign | 是 | 根据上面加密方式生成的签名 |
account | 是 | 空调所属账号 |
action | 是 | 控制传Set |
onOff | 否 | 开关 1是开 0是关 |
temp | 否 | 设置温度 |
workMode | 否 | 工作模式 1制冷 2制热 3送风 4除湿 |
speed | 否 | 风速 1高风 2中风 4低风 |
selectedAc | 是 | 1-1-1-1#1-1-1-2 多个空调用#分开 空调address |
返回json格式例子
{
"code": 1,
"msg": null,
"data": 1
}
返回值
属性 | 说明 |
---|---|
code | 1代表请求成功 0其他代表请求失败 |
data | 1 代表指令下发成 0代表失败 |
(3)获取空调累计运行时间接口
请求地址:http://lora.feiyikj.cn/open/ac/totalRuntime
请求方式:get或post
请求参数
属性 | 必填 | 说明 |
---|---|---|
appKey | 是 | 平台分配的appKey |
timestamp | 是 | 时间戳 |
sign | 是 | 根据上面加密方式生成的签名 |
account | 是 | 空调所属账号 |
date | 是 | 获取日期 格式 20200601 |
address | 否 | 空调地址 格式 34-2-2-11 |
返回json格式例子
{
"code": 1,
"msg": null,
"data": {
"address": "34-2-2-11",
"logDate": 20190419,
"thermoTime": 410 //累计运行时间,单位分钟
}
}
返回值
属性 | 说明 |
---|---|
address | 空调地址 |
logDate | 日期 |
thermoTime | 累计运行时间 单位分钟 |
(4)获取空调分摊电量接口
请求地址:http://lora.feiyikj.cn/open/ac/elecFeeDaily
请求方式:get或post
请求参数
属性 | 必填 | 说明 |
---|---|---|
appKey | 是 | 平台分配的appKey |
timestamp | 是 | 时间戳 |
sign | 是 | 根据上面加密方式生成的签名 |
account | 是 | 空调所属账号 |
date | 是 | 获取日期 格式 20200601 |
address | 否 | 空调地址 格式 34-2-2-11 |
返回json格式例子
{
"code": 1,
"msg": null,
"data": {
"meterIuUsage": 1.57, //空调内机分摊的电量,单位度
"address": "34-2-2-12",
"meterIuUsageFee": 2.28, //空调内机分摊的电费(电量乘以每度的价格)
"divideDate": 20200601
}
}
返回值
属性 | 说明 |
---|---|
address | 空调地址 |
divideDate | 分摊日期 |
meterIuUsage | 空调内机分摊的电量,单位度 |
meterIuUsageFee | 空调内机分摊的电费(电量乘以每度的价格) |
(5)获取电表列表信息接口
请求地址:http://lora.feiyikj.cn/open/meter/allMeter
请求方式:get或post
请求参数
属性 | 必填 | 说明 |
---|---|---|
appKey | 是 | 平台分配的appKey |
timestamp | 是 | 时间戳 |
sign | 是 | 根据上面加密方式生成的签名 |
account | 是 | 空调所属账号 |
返回json格式例子
{
"code": 1,
"msg": null,
"data": [{
"meterAddress": "33-10-0000000001", //电表地址
"changeRatio": 20.0 //电表的变比
}, {
"meterAddress": "33-9-0000000001",
"changeRatio": 20.0
}, {
"meterAddress": "33-7-0000000001",
"changeRatio": 30.0
}]
}
返回值
属性 | 说明 |
---|---|
meterAddress | 电表地址 |
changeRatio | 电表变比 |
(6)获取单个电表抄表值接口
请求地址:http://lora.feiyikj.cn/open/meter/meterLog
请求方式:get或post
请求参数
属性 | 必填 | 说明 |
---|---|---|
appKey | 是 | 平台分配的appKey |
timestamp | 是 | 时间戳 |
sign | 是 | 根据上面加密方式生成的签名 |
account | 是 | 空调所属账号 |
meterAddress | 是 | 电表地址 |
date | 是 | 获取日期 格式 20200601 |
返回json格式例子
{
"code": 1,
"msg": null,
"data": {
"meterAddress": "33-6-0000000001",
"logDate": 20190417,
"calcTodayUsage": 8.1,//当天使用的电量,单位度
"totalUsage": 131.6//当天的抄表值(电表上显示的值)
}
}
返回值
属性 | 说明 |
---|---|
meterAddress | 电表地址 |
logDate | 日期 |
calcTodayUsage | 当天使用的电量,单位度 |
totalUsage | 当天的抄表值(电表上显示的值) |