ESPHome firmware for Waveshare ESP32-S3 7" touch thermostat with direct HVAC relay control
Root cause of the Home screen dial rendering tiny and pinned to the top-left, confirmed via isolated test compile and direct inspection of generated C++: an explicit main: sub-block on an LVGL arc widget silently suppresses the implicit top-level MAIN-part style properties (align, width, height, x, y) instead of merging with them. All three arcs (dial_bg_arc, heat_arc, cool_arc) used a main: block for arc_color/arc_width/arc_opa, which wiped out their align/width/height in the exact same commit that set them (my earlier size/wrapper fix never had a chance to take effect). Verified via a standalone test config: an arc with main: nesting generates zero lv_obj_set_style_width/height/align calls; the identical arc with the same properties flattened to top-level generates them correctly. indicator:/knob: are unaffected since those are genuinely separate LVGL parts that require explicit nesting. |
||
|---|---|---|
| docs | ||
| firmware | ||
| .gitignore | ||
| README.md | ||
Firecrest
ESPHome firmware for the Waveshare ESP32-S3-Touch-LCD-7B touch display board, configured as a smart thermostat panel with direct 24VAC HVAC control.
Requires Home Assistant with the ESPHome integration.
Hardware
See docs/build-guide-phase1-notes.md for full pin assignments and Phase 1 hardware decisions.
Flashing
- Copy
firmware/secrets.example.yamltofirmware/secrets.yamland fill in your values. esphome run firmware/waveshare-thermostat.yaml
License
MIT