commit 48f26e8ef8c6483a92eeef77876147243de371fc Author: KremeCN <3265494849@qq.com> Date: Sat Aug 22 12:02:45 2026 +0800 chore: initial commit diff --git a/docs/ABSDK接口部分_0630.md b/docs/ABSDK接口部分_0630.md new file mode 100644 index 0000000..7834ce6 --- /dev/null +++ b/docs/ABSDK接口部分_0630.md @@ -0,0 +1,408 @@ +# 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 | 设备控制失败 | \ No newline at end of file diff --git a/docs/ABSDK接口部分_0630.xls b/docs/ABSDK接口部分_0630.xls new file mode 100644 index 0000000..b82a9f7 Binary files /dev/null and b/docs/ABSDK接口部分_0630.xls differ diff --git a/docs/requirement_spec.md b/docs/requirement_spec.md new file mode 100644 index 0000000..cad3b73 --- /dev/null +++ b/docs/requirement_spec.md @@ -0,0 +1,15 @@ +## 需求规格 + +**登录** +1. 记住已登录用户信息功能:记住我 +2. 自动登录:选中自动登录之后 + +**设备列表** +1. 设备列表:显示设备名称(插座、温湿度、红外) +2. 点击设备:跳转到相应的设备控制页面 +3. 插座页面:可以获取插座状态 (图片) +4. 温湿度控制器页面:分别显示温度及湿度(图片) +5. 红外传感器:创建遥控器的功能,持久化红外学习按钮 + +**情景模式** +* 基于多种设备完成一种或多种生活场景 \ No newline at end of file