这个项目能做什么
hestia 为 Keemple 智能家居设备提供本地、无云的控制——这些设备包括卷帘/百叶窗控制器、开关、调光器、恒温器、智能插座和传感器,均基于 Hi-Flying Wi-Fi 和 WCH 以太网串口桥接模块。这些设备通常通过一种明文、自定义的 0x7e 帧格式二进制协议回连到厂商云。hestia 在本地重新实现了该协议,使设备与其通信而非厂商云,从而消除了对云、第三方 CDN 或公网 IP 的依赖。
它可以以两种模式运行:作为透明代理,在解码所有内容的同时将流量转发到云;或作为独立服务器,完全替代厂商云。在独立模式下,它完全离线运行。设备通过本地 DNS 覆盖或 iptables PREROUTING 重定向到端口 8925,被重定向到 hestia。
协议编解码器采用净室方法构建:一组人员通过对网关明文局域网流量的被动在线观测推导出协议规范,第二组人员仅依据该规范文档实现编解码器、服务器和工具。不涉及固件、反编译或二进制分析。
功能包括:
- 完整的协议解码与伪造:帧格式和 TLV 编解码器、所有执行器命令(百叶窗、调光器、开关、恒温器、场景/功能按钮)、所有传感器和状态报告(门、运动、烟雾/水浸、智能插座功率计量)、登录/握手以及设备名册。
- 实时 Web 仪表盘(TypeScript + Vite SPA,基于 Server-Sent Events),具有按房间分组的家庭视图、恒温器/空调/百叶窗/场景控制、逐节点状态、智能插座功率计量、电池电量、内联命名以及引导式本地规则编辑器。
- 多用户身份验证,具有基于角色的访问权限(管理员、操作员、查看者)、完整的审计/活动日志,以及 45 种 UI 语言区域,包括 RTL 支持。
- 自动化引擎,支持事件、时间、cron、日出日落、存在和全局字段触发器,并具有带条件和去抖动的动作。
- 通过 RTL-SDR 的本地传感器输入:rtl_433 馈送器在本地流式传输 433 MHz 温度和湿度传感器数据,无需网关或互联网。
- 可选的按需集成:用于温度设备的 Tuya v3.3 局域网客户端、Open-Meteo 室外温度轮询器,以及通过串口连接发射器(Flipper Zero)进行的红外控制。
后端使用 Python,带有 aiohttp Web 层和可选的 SQLite 持久化(SQLAlchemy + Alembic),用于设备状态、每用户设置和账户。Keemple 协议编解码器保持纯标准库、第一方代码;外部库(用于 AES-128 的 cryptography、用于 USB-CDC 传输的 pyserial)仅提供通用原语。该项目报告使用标准库 unittest 达到 100% 行和分支覆盖率。根据 GNU AGPL v3.0 许可。
评论
0 人表达喜爱 · 满10人后显示 Deer Point
登录后参与讨论。