跳转到内容

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

具体支持列表以文档站为准。

上手路径 ​

  1. 选一块文档站列出的屏幕板。
  2. 用文档提供的 Web 安装器或 release 里的固件刷机,参见 烧录工具。
  3. 设备启动后配置 Wi-Fi 和 MQTT。
  4. 上传 pages.jsonl,或通过 MQTT 发命令动态建立界面。
  5. 在 Home Assistant 写自动化,控制灯、插座、场景。参考 智能家居。

生态与衍生 ​

  • 对比:ESPHome 也能驱动屏幕与触摸,但需要写 YAML 并编译;openHASP 强调运行时通过 MQTT 动态调整界面。
  • 相关项目:HASPone(Nextion 版)、LVGL 本身。
  • 社区:Discord 的 #openHASP 频道。

局限与注意事项 ​

  • 近两年没有稳定版 release,主要用 rc 版本,使用前读 changelog。
  • 屏幕与触摸芯片兼容性依赖具体板型,选错板会花很多时间调试。
  • 界面定义用 JSONL,复杂界面维护起来不如图形设计器方便。
  • MQTT 默认没有加密,如果面板能控制门锁等重要设备,请启用 Broker 认证。

参考资料 ​

ESP32 非官方中文调查手册,与乐鑫科技(Espressif Systems)无隶属关系。