feat: add mode selector modal (Heat/Cool/Off) to classic Home screen
The thermostat had no way to actually set its operating mode: home_mode_label was read-only, and no widget anywhere called climate.control with a mode. Tapping the mode label now shows a modal (mirrors the existing nav_menu_overlay pattern) with explicit Heat/Cool/Off choices.
This commit is contained in:
parent
c9df881066
commit
9e1a9ebe9f
1 changed files with 47 additions and 0 deletions
|
|
@ -222,6 +222,8 @@ lvgl:
|
|||
id: home_mode_label
|
||||
text: "Mode: --"
|
||||
text_font: montserrat_20
|
||||
on_click:
|
||||
lvgl.widget.show: mode_select_overlay
|
||||
- label:
|
||||
id: home_temp_label
|
||||
text: "-- °F"
|
||||
|
|
@ -528,3 +530,48 @@ lvgl:
|
|||
- label:
|
||||
text: "Schedule"
|
||||
text_font: montserrat_20
|
||||
- obj:
|
||||
id: mode_select_overlay
|
||||
hidden: true
|
||||
align: center
|
||||
width: 280px
|
||||
height: size_content
|
||||
pad_all: 8
|
||||
radius: 8
|
||||
layout:
|
||||
type: flex
|
||||
flex_flow: column
|
||||
flex_align_cross: stretch
|
||||
flex_align_track: start
|
||||
flex_align_main: start
|
||||
widgets:
|
||||
- button:
|
||||
on_click:
|
||||
- climate.control:
|
||||
id: main_thermostat
|
||||
mode: HEAT
|
||||
- lvgl.widget.hide: mode_select_overlay
|
||||
widgets:
|
||||
- label:
|
||||
text: "Heat"
|
||||
text_font: montserrat_20
|
||||
- button:
|
||||
on_click:
|
||||
- climate.control:
|
||||
id: main_thermostat
|
||||
mode: COOL
|
||||
- lvgl.widget.hide: mode_select_overlay
|
||||
widgets:
|
||||
- label:
|
||||
text: "Cool"
|
||||
text_font: montserrat_20
|
||||
- button:
|
||||
on_click:
|
||||
- climate.control:
|
||||
id: main_thermostat
|
||||
mode: "OFF"
|
||||
- lvgl.widget.hide: mode_select_overlay
|
||||
widgets:
|
||||
- label:
|
||||
text: "Off"
|
||||
text_font: montserrat_20
|
||||
|
|
|
|||
Loading…
Reference in a new issue