In my scenario, id(licht_kontrolle).state is true. The button “Licht” is checked.
After switching to another screen e.g. “Licht” and going back to the main screen, Button “Light” is unchecked. The state of licht_kontrolle has not been changed at all.
Updating the binary sensor id(licht_kontrolle) checks the button on the main screen again.
My feeling is, that the state of licht_kontrolle is lost after switching the screen and not reloaded.
binary_sensor:
- platform: template
id: test
name: test
lambda: return id(licht_kontrolle).state;
Open the web UI, reproduce the bug performing screen change, or whatever is needed.
Check the state of the test sensor
If the state doesn’t correlate with the current button state on the screen - it’s a bug in the component rendering. If the binary sensor changed its state but shouldn’t - I don’t know what is happening. Maybe check that you have enough free RAM.
Hello,
you do a geat job. Thanks for this! How can i use only your display component? You are the only Guy who brings the WT32 SC01 PLus in ESPHome and it works perfect. I have also a WT32 SC01 without plus. i can work with this Display with the nativ LVGL who now supportet in ESPHome with extern component. But ESPHome work at the moment not with the display from the Plus Model, because the display driver ST7796UI MCU 8 Bit is not supported
Thanks Man! This is what i need.
I connected 2 sensors on this board and love to work with ESPHome.
Its pretty easy, but the grafik with the display component looks very oldscool. now i can use LVGL on the WT32 SC01 Plus.
Can you share your config please? I have some problems with display dimensions.
My config is working without dispay dimension. but i see only the half display. the touch is working with the right size. when i fill in my config the dimensions. lvgl will crash
Hi. Amazing - thank you for sharing this! Works super well
One question:
Is it possible for a widget ‘button’ to have an ‘on_click’ action to highlight the button to show it is being pressed? Basically, an ‘on click toggle: true’ type function.
- type: button
position: 362, 8
text: Set 23
icon:
enabled: return true;
on_click:
#### something to show the button is being pressed ####
then:
- homeassistant.service:
service: script.set_heat_pump_23
Thank yiou again! A super nice mini display / control center for HA
Hi folks. The latest ESPHome update (2025.10) introduces the “Arduino as an IDF component” architecture, which may break many external components, including this one.
From the very beginning, this component was architecturally wrong (to be fair, that’s why it existed — there wasn’t a “right” path yet). It required a separate hardware component for each display, which, let’s be honest, wasn’t great. I also never found a clean way to support third-party hardware components, which is why the repo ended up with ~60 forks.
Times have changed: LVGL is now available natively in ESPHome. I consider HA Deck deprecated, and I don’t plan to maintain it. My questions:
Despite native LVGL support, using it still requires a much deeper understanding of what’s happening under the hood than HA Deck ever did. So, to me, a reasonable compromise could be an online dashboard designer — specifically for dashboards built from ready-made widgets, not raw LVGL components. I started working on such a designer, but it’s a fairly large project that takes a lot of time, so I’ve shelved it for now.
Honestly, I’m a bit surprised no one has built something similar yet — the idea seems pretty obvious. I might revisit it, simplify the scope, and come back to it when I have more free time. I’d love to hear your thoughts.
One downside I see with this kind of designer is integrating custom code — i.e., reconciling what the designer outputs with the custom YAML you still need for other functionality.
Hi @strange_v, I used your component for while to have a small screen on my desk with useful information. Thanks a lot for creating this! Your component was a great starting point.
After LVGL was available for esphome, I switched because I had more freedome. So I no longer use your component.
@j_d Thanks for the feedback. I’ve seen that LVGL editor — it’s a good start, but still a bit basic for now.
I’m wrapping up the hardware for the per-room screen, so I’ll soon need to choose between LVGL and a native web dashboard. I’ll probably start with LVGL.