$ show HASwitchPlate/openHASP
openHASP is an embedded firmware framework for home automation touch panels, built around LVGL for GUI rendering. It provides a configurable dashboard for controlling IoT devices via MQTT, with support for ESP32, STM32, and other microcontrollers. The system features hardware abstraction layers for displays and touch controllers, modular services (MQTT, HTTP, FTP, Telnet, WireGuard VPN), OTA updates, and a JSON-based configuration system. It integrates with home automation platforms like Home Assistant through auto-discovery and state topics, while offering local UI interaction via touchscreen. The architecture separates concerns into HAL, GUI, networking, storage, and services, enabling cross-platform deployment.
The LLM identified 2 files worth highlighting for reuse:
Defines a uniform interface for touch controllers, allowing different implementations (XPT2046, GT911, etc.) to be swapped without modifying core logic. Demonstrates clean hardware abstraction with low coupling.
Provides a unified interface for TFT display drivers, enabling runtime selection of controllers (TFT_eSPI, LovyanGFX, etc.). Encapsulates hardware-specific initialization and drawing operations behind a common API.