As I update the thermostat, I’ll update that post.
Currently, in auto mode, you can’t use the arc knobs to control heat and cool setpoints. This is because you can’t have a “transparent” clickable arc in front of another one. I have a thought on how to implement this differently - I’ll try it out later and if it’s successful, I will update.
Finally, I’d really like to simulate HA’s climate control where the arc becomes highlighted at the portion between the setpoint and current temp - when heating/cooling. I have some thoughts here, but it may prove too cumbersome to implement.
If feeding it from 5V or 12V, that topic has a link to a 3D printable screw/mounting backplate stl file - for a clean surface mount install. I “implanted” a tiny 12v to 5v regulator in the display housing and just fed two wires out of the back.
Could please someone help me understand the general concept of this ESPhome/LVGL approach.
Correct me or amend:
First you flash your device with ESPhome. After this it is basically an empty ESP32 device visible in HA
Then you use one of the ESPhome-YAML files provided here or at other locations making use of the LVGL library and basically hand-code every display element with its behavior. (I’ve seen some YAML files making use of SVG graphics, which supposedly requires an install of an SVG library manually to ESPhome, but otherwise the main LVGL library is now directly available with any new version of ESPhome, no install necessary)
You integrate or copy one of these YAMLs in your ESPhome-YAML (either replace completely or keep some parts of your initial new YAML). Compile in ESPhome and OTA-update to the display.
Now you have your Smart Display but with the display elements and logics of what someone else has come up with for their needs
You basically re-do all the display-element and behavior coding by copy-pasting and adapting the YAML script to you liking in ESPhome
Is this how it works? Well, OpenHASP kind of repelled me for its use and dependency on multiple other HA parts, but the easiness of installing and tinkering/adapting to your layout is compelling…
Is there any recommended source/documentation of available LVGL/screen elements and the YAML code to paint and the logic required to drive them? Or do you guys copy-paste from the existing scripts here and use the LVGL manual only?
Such an exciting and lean approach, but I feel a bit lost.
I was hoping I had a solution for this - I tried making both arcs unclickable and floating an invisible object over (or under) each arc’s knob. With a little trigonometry, I was able to get these invisible knobs to “follow” the setpoint knobs. I hoped that if I enabled an arc’s click while I was holding down on the invisible knob, the arc would pick that up as a click. Alas, that did not work. The best I could come up with is to show/hide a setpoint knob when I clicked on the invisible knob (where the knob would be).
Yes everything you say is true. Using ESPHome is much more flexible then OpenHASP but does require bit of coding. The ESPHome site has very good documentation on how everything works.
Get a screen, and download one of my basic examples. This will get you a working screen! then you can modify it. If you just want to add a few button you can do this with one line of code using my library.
Available actions: cover.open_cover, cover.close_cover, cover.stop_cover, cover.toggle, cover.open_cover_tilt, cover.close_cover_tilt, cover.stop_cover_tilt, cover.toggle_tilt so you first need to update buttons
Thanks a lot, you’re the boss! the docs and exemple in LVGL Esphome are outdated…i havent realize that all command have change…like cover.stop is cover.stop_cover now
thanks again @radugeo, lost a lot of time yesterday
Huge thanks again for all the effort on this project! The modular display setup looks really promising.
I’ve been trying out the guition-esp32-s3-4848s040-display modular.yaml example, and I’ve run into a bit of a roadblock. I keep getting an error saying it can’t find the lvgl.style.update action.
I was wondering if anyone else who’s tried this specific modular.yaml configuration has encountered the same issue? And if so, were you able to find a way around it? Any help or insights would be super appreciated!
Yeah sorry about that. I added support for theming the UI. You can now update the theme at runtime. In my demo I have a button that can switch from day to night theme. I was hoping this feature would be in an official release by now but it’s not. You need to compile with the DEV version of ESPHome.
If you have not run DEV before this is the command to load it.
I just wanted to say a massive thank you to everyone, especially @clydebarrow and @andrew_NH, for making things so straightforward for non-devs like me. I’ve swapped out all my light switches for the 4-inch guition and had a play over the last couple of weeks. I’ve set up a sort of stream that activates when someone rings the doorbell, and I was wondering if there’s a better way to do this. Here’s what I’ve got so far: