# ABSDK 接口文档 ## ABRet 返回值说明 | 字段 | 说明 | 备注 | |------|------|------| | **code** | 00000成功
Xxxxx失败 | 错误码:
00000 成功
0xxxx 系统级错误
1xxxx 权限级
2xxxx 操作级 | | **msg** | 错误信息 | code为00000以外时,该字段有效
该字段只提供概要的错误信息。具体错误原因可参考下面提到的code含义表 | | **key=> value** | 附带信息, 如 seq => 123111 | code为00000时,该字段有效 | --- ## API 接口 ### 0. 取得实例对象 **方法签名:** `ABSDK getInstance()` **参数:** 无 **返回值:** ABSDK实例 ### 1. 登录 **方法签名:** `ABRet loginWithUsername(String username, String password)` **参数说明:** - username:用户名 - password:密码 **返回值:** ABRet: code String 处理结果(00000成功,00000以外失败) msg String 错误信息 dicdatas Map 返回数据 token String TOKEN(后续访问用token,有效期2小时,过期后需重新获取) ### 2. 验证token状态 **方法签名:** `ABRet isValidateToken()` **参数:** 无 **返回值:** ABRet: code String 处理结果(00000成功,00000以外失败) msg String 错误信息 dicdatas Map 返回数据 status String TOKEN状态(0:无效 1:有效) ### 3. 发送红外按键指令(请在登录后使用) **方法签名:** `ABRet sendIr(String irDevName, String irKey)` **参数说明:** - irDevName: 红外设备名称 - irKey:按键KEY **返回值:** ABRet: code String 处理结果(00000成功,00000以外失败) msg String 错误信息 ### 4. 控制窗帘(请在登录后使用) **方法签名:** `ABRet curtainCtrl(String ctDevName, AB_CT_ACTION action, int percent)` **参数说明:** - ctDevName: 窗帘名称 - action:动作(请使用下面2个已在库中定义好的常量) - OPEN 打开窗帘 - ADJUST 校准窗帘 - PAUSE 暂停(使窗帘停止运动) - percent:窗帘打开百分比(0~100) - ※该参数只需要在【打开窗帘】时使用 **返回值:** ABRet: code String 处理结果(00000成功,00000以外失败) msg String 错误信息 ### 5. 主机红外下载 (请在登录后使用) **方法签名:** `ABRet downloadIrCodes(List irInfos)` **参数说明:** - irInfos 红外码值信息(请传入IrInfo类型的数据) **返回值:** ABRet: code String 处理结果(00000成功,00000以外失败) msg String 错误信息 dicdatas Map 返回数据 ret List 导入结果(可通过IrInfo中的status判断每个红外码的下载成功或失败) --- ## IrInfo 说明 | 字段 | 说明 | 备注 | |------|------|------| | **irDevName** | 设备区分 | 红外设备名称 | | **key** | 红外KEY | | | **code** | 红外码值 | | | **status** | 红外下载结果 | 0:失败
1:成功 | ### 6. 控制插座(请在登录后使用) **方法签名:** `ABRet sockCtrl(String soDevName, String status)` **参数说明:** - soDevName: 插座名称 - status:插座状态(0:关闭 1:打开) **返回值:** ABRet: code String 处理结果(00000成功,00000以外失败) msg String 错误信息 ### 7. 控制开关(请在登录后使用) **方法签名:** `ABRet switchCtrl(String switchDevName, String status, String no)` **参数说明:** - switchDevName: 开关名称 - status:开关状态(0:关闭 1:打开) - no:开关键序号( - 1开开关:空 - 2开开关:no值和开关键对应如下 - 1:对应2开开关上最下侧按键 - 3:对应2开开关上最上侧按键 - 3开开关:no值和开关键对应如下 - 1:对应3开开关上最下侧按键 - 2:对应3开开关上中间按键 - 3:对应3开开关上最上侧按键 - ) **返回值:** ABRet: code String 处理结果(00000成功,00000以外失败) msg String 错误信息 ### 8. 控制射灯开关(请在登录后使用) **方法签名:** `ABRet lightStatusCtrl(String lightDevName, String status)` **参数说明:** - lightDevName: 射灯名称 - status:灯的状态 0:关灯 1:开灯 **返回值:** ABRet: code String 处理结果(00000成功,00000以外失败) msg String 错误信息 ### 9. 控制射灯的色调饱和度(请在登录后使用) **方法签名:** `ABRet lightHSCtrl(String lightDevName, String h, String s)` **参数说明:** - lightDevName: 射灯名称 - h:色调值 0~254 - s:饱和度 0~254 **返回值:** ABRet: code String 处理结果(00000成功,00000以外失败) msg String 错误信息 ### 10. 控制射灯的亮度(请在登录后使用) **方法签名:** `ABRet lightVCtrl(String lightDevName, String v)` **参数说明:** - lightDevName: 射灯名称 - v:亮度 0~254 **返回值:** ABRet: code String 处理结果(00000成功,00000以外失败) msg String 错误信息 ### 11. 取得开关状态(请在登录后使用) **方法签名:** `ABRet getSwitchStatus(String switchDevName)` **参数说明:** - switchDevName: 开关名称 **返回值:** ABRet: code String 处理结果(00000成功,00000以外失败) msg String 错误信息 dicdatas Map 返回数据 btns String 开关数(1:1开开关 2:2开开关 3:3开开关) status List 开关状态数组(0:关闭 1:开启) ### 12. 取得插座状态(请在登录后使用) **方法签名:** `ABRet getSockStatus(String soDevName)` **参数说明:** - soDevName: 插座名称 **返回值:** ABRet: code String 处理结果(00000成功,00000以外失败) msg String 错误信息 dicdatas Map 返回数据 status String 插座状态(0:关闭 1:开启) ### 13. 取得门磁状态(请在登录后使用) **方法签名:** `ABRet getDoorStatus(String doorDevName)` **参数说明:** - doorDevName: 门磁名称 **返回值:** ABRet: code String 处理结果(00000成功,00000以外失败) msg String 错误信息 dicdatas Map 返回数据 status String 门磁状态(0:关闭 1:开启) ### 14. 取得温湿度情报(请在登录后使用) **方法签名:** `ABRet getThStatusByDevName(String thDevName)` **参数说明:** - thDevName: 温湿度名称 **返回值:** ABRet: code String 处理结果(00000成功,00000以外失败) msg String 错误信息 dicdatas Map 返回数据 temperature String 温度 humidity String 湿度 ### 15. 取得人体活动传感器情报(请在登录后使用) **方法签名:** `ABRet getHdStatus(String hdDevName)` **参数说明:** - hdDevName: 人体活动传感器名称 **返回值:** ABRet: code String 处理结果(00000成功,00000以外失败) msg String 错误信息 dicdatas Map 返回数据 status String 人体活动状态(0:无活动 1:有活动) lightIntensity String 光感强度(1:亮 2:正常 3:昏暗 4:黑) ### 16. 取得一氧化碳传感器情报(请在登录后使用) **方法签名:** `ABRet getCoStatus(String coDevName)` **参数说明:** - coDevName: 一氧化碳传感器名称 **返回值:** ABRet: code String 处理结果(00000成功,00000以外失败) msg String 错误信息 dicdatas Map 返回数据 concentration String 一氧化碳浓度 ### 17. 控制一氧化碳蜂鸣(请在登录后使用) **方法签名:** `ABRet coCtrlBySoDevName(String coDevName, String interval)` **参数说明:** - coDevName: 一氧化碳名称 - interval:蜂鸣时间(单位:秒) **返回值:** ABRet: code String 处理结果(00000成功,00000以外失败) msg String 错误信息 ### 18. 红外学习 **方法签名:** `ABRet studyIrByIrDevName(String irDevName, String irKey)` **参数说明:** - irDevName: 红外设备名称 - irKey:按键KEY **返回值:** ABRet: code String 处理结果(00000成功,00000以外失败) msg String 错误信息 --- ## 返回值 CODE 含义 | CODE | 含义 | |------|------| | 00000 | 处理成功 | | 00001 | 数据库操作失败 | | 10001 | TOKEN不存在或长度不足 | | 10002 | TOKEN已失效 | | 10003 | TOKEN中的SN号不正 | | 10004 | 签名不存在 | | 10005 | 时间戳不存在 | | 10006 | 签名不正确 | | 20000 | 请求超时 | | 20001 | 用户名或密码不存在 | | 20002 | 用户不存在或已暂停使用 | | 20003 | 登录失败次数过多 | | 20004 | 用户名或密码不正确 | | 20005 | 本地用户权限不足 | | 20101 | 服务器端URL或酒店名或房间号或APIKEY不存在 | | 20201 | 红外KEY不存在 | | 20202 | 红外码值不存在 | | 20203 | 红外设备不存在 | | 20204 | 红外码库导入失败 | | 20205 | 红外发射失败 | | 20206 | 红外设备已离线 | | 20301 | 参数不正_CMD0不存在 | | 20302 | 参数不正_CMD1不存在 | | 20303 | 参数不正_PAYLOAD不存在 | | 20304 | 窗帘设备不存在 | | 20305 | 窗帘设备控制失败 | | 20306 | 窗帘设备已离线 | | 20501 | 参数不正_插座状态不存在 | | 20502 | 插座设备不存在 | | 20503 | 插座设备控制失败 | | 20504 | 插座设备已离线 | | 20601 | 参数不正_开关状态不存在 | | 20602 | 参数不正_开关类型不存在(标识几开开关) | | 20603 | 开关设备不存在 | | 20604 | 开关设备控制失败 | | 20605 | 开关设备已掉线 | | 20701 | 参数不正_射灯操作类型不存在 | | 20702 | 参数不正_射灯操作类型不正确 | | 20703 | 参数不正_射灯开关状态不存在 | | 20704 | 参数不正_射灯色调饱和度不存在 | | 20705 | 参数不正_射灯亮度不存在 | | 20706 | 射灯设备不存在 | | 20707 | 射灯设备控制失败 | | 20801 | 参数不正_设备名称不存在 | | 20802 | 端末设备不存在 | | 20803 | 端末状态属性不存在 | | 20804 | 参数不正_报警时长不正确 | | 20805 | 端末设备已离线 | | 20806 | 设备控制失败 |