Development¶
Everything you need to understand the internals of NSPanel HAUI, extend the integration, or contribute to the project.
Architecture¶
The system has three layers:
| Layer | Component | Role |
|---|---|---|
| Hub App | NSPanelHAUI (runs in HA) |
Reads entity states, renders display commands, manages navigation |
| ESP32 | ESPHome firmware | Serial bridge between HA and the display, relays touch events |
| Nextion | Touchscreen display | Renders panels, manages widget state, handles touch input |
Developer Docs¶
- Design Guidelines — Styling, theming, and panel design principles
- Communication Overview — How the layers talk to each other
- ESPHome Component — ESP32 firmware details
- Hub Component — Core logic: state management, panel lifecycle, navigation
- Nextion Component — Display-level operations and widget management
- Services Reference — Home Assistant services for display control and TFT upload
Versioning¶
Version information is maintained for:
- Hub App — tracked in
custom_components/nspanel_haui/haui/version.pyand synced tomanifest.jsonandpyproject.toml - ESPHome YAML — the ESPHome device config tracks its own compatibility version
- TFT Display File — matches the Hub App release version
Every release should include the compiled TFT file as a release asset.