外观
openHASP
openHASP 把一块带触摸屏的 ESP32 变成嵌墙或桌面的智能家居控制面板:界面由 LVGL(轻量图形库)绘制,设备通过 MQTT 与 Home Assistant、openHAB、Node-RED 等通信。你不需要编译,写一份描述界面的 JSONL 文件就可以定制按钮、滑块、仪表和页面。
项目概况
| 项目 | 内容 |
|---|---|
| 仓库 / 官网 | github.com/HASwitchPlate/openHASP,文档 openhasp.com |
| 作者 / 组织 | HASwitchPlate 组织,是 aderusha 的 HASwitchPlate 项目的重写 |
| 开源协议 | MIT |
| 支持芯片 | README 称使用 ESP32 与 STM32F4;资料未逐一列出 ESP32 子型号,请看文档站的硬件支持表 |
| 首次发布 | 仓库创建于 2020 年 1 月 18 日 |
| 最新版本 | GitHub 上最近的发布为 0.7.0-rc13(2024 年 8 月 26 日),属于候选版,更新较慢 |
| 热度 | 约 1000 星(2026 年 10 月) |
它是怎么工作的
openHASP 是对 HASwitchPlate 的重写。旧版依赖 Nextion / TJC 这类带处理器的 HMI 屏,新版用 LVGL 直接驱动普通 SPI / RGB 屏,省去了 HMI 屏的成本。设备做两件事:
- 在屏幕上渲染界面,对象(按钮、开关、滑块、图表等)由
pages.jsonl定义。 - 通过 MQTT 主题收发命令和状态:触摸事件发布到
state/…,Home Assistant 发布命令修改对象的文字、值、颜色。
Home Assistant 端的配置是普通的 MQTT 实体和自动化,不需要专用集成。
需要的硬件
| 部件 | 说明 |
|---|---|
| 开发板 | 带触摸屏的 ESP32 板,社区常用 Sunton Cheap Yellow Display、Waveshare、LILYGO 触摸屏板,以及各类 86 型墙面面板 |
| 屏幕 | SPI 电阻 / 电容触摸,或 RGB 并口大屏 |
| MQTT | 一个 MQTT Broker |
具体支持列表以文档站为准。
上手路径
- 选一块文档站列出的屏幕板。
- 用文档提供的 Web 安装器或 release 里的固件刷机,参见 烧录工具。
- 设备启动后配置 Wi-Fi 和 MQTT。
- 上传
pages.jsonl,或通过 MQTT 发命令动态建立界面。 - 在 Home Assistant 写自动化,控制灯、插座、场景。参考 智能家居。
生态与衍生
- 对比:ESPHome 也能驱动屏幕与触摸,但需要写 YAML 并编译;openHASP 强调运行时通过 MQTT 动态调整界面。
- 相关项目:HASPone(Nextion 版)、LVGL 本身。
- 社区:Discord 的 #openHASP 频道。
局限与注意事项
- 近两年没有稳定版 release,主要用 rc 版本,使用前读 changelog。
- 屏幕与触摸芯片兼容性依赖具体板型,选错板会花很多时间调试。
- 界面定义用 JSONL,复杂界面维护起来不如图形设计器方便。
- MQTT 默认没有加密,如果面板能控制门锁等重要设备,请启用 Broker 认证。