I have started a own implementation of the wallpanel components. Currently it supports basic functionality and is running stable.
You can find the source on Github: NSPanel HAUI
!! INFO: the project is not finished yet, not everything works or is described / documented !!!
Its based on ESPHome, a custom esphome component and a appdaemon app.
Features:
A variety of different panels
Select from different Panels that can be displayed on the panel.
Touch gestures and sequences
Different touch gestures as swipe left or right are supported. There is also support for gesture sequences.
Live state updates
The display will update when a entity state changes. All entities being displayed will notify about changes and the display will update.
Button and relay states, coupled and uncoupled relays
The buttons can be used in a couped state, so that by button presses, the relay will get activated. It is also possible to disable the relay and use the physical buttons as software buttonms.
Dimming of the display after a timeout
The display will automatically dim its brightness after a timeout.
Sleep display change after a timeout
The display can switch to a page after a timeout. There are sleep and wakeup panels possible.
Locking/Unlocking mechanism for panels
All panels can be locked by a pin code. The panel can be accessed after entering the pin code.
Device settings in HomeAssistant
The whole device configuration can be done in HomeAssistant.
Device display configuration in a single yaml file
The whole configuration is located in the apps.yaml
file. The configuration is done per device.
Optimized custom ESPHome component
For the communication between the esp32 and the nextion display a custom component nspanel_haui
is used. It provides basic functionality like send_command
, get_int_value
, get_txt_value
, etc. and also generates events for button presses and other changes on the display.