Edit esp-bedside-panel.yaml
This commit is contained in:
+195
-77
@@ -6,6 +6,7 @@
|
||||
# https://home.fox.co.nz/gitea/zorruno/zorruno-homeassistant/src/branch/master/esphome/esp-bedside-panel.yaml
|
||||
#:########################################################################################:#
|
||||
# VERSIONS:
|
||||
# V1.20 2026-07-18 Swapped Bedtime/Jobs, defaulted Doorbell and refined Climate icons
|
||||
# V1.18 2026-07-18 Added Lounge Fire, six Security cameras, Jobs page and weather/tide header
|
||||
# V1.17 2026-07-18 Swapped Bedroom Climate/Atto buttons and removed Garage test logs
|
||||
# V1.16 2026-07-17 Removed garage-door influence from Garage Lights button state
|
||||
@@ -89,7 +90,8 @@
|
||||
# - Moon, Outdoor, Indoor and Humidity readings are positioned near the bottom.
|
||||
# - The display remains in its native 1024x600 landscape orientation.
|
||||
# - The default page contains nine Bedroom / nearby controls.
|
||||
# - The bottom navigation row contains Bedtime, Atto, Climate, Security and Clock.
|
||||
# - Compact Bedtime control is positioned beside the API connection indicator.
|
||||
# - The bottom navigation row contains Jobs Summary, Atto, Climate, Security and Clock.
|
||||
# - Jobs Summary opens a reserved Jobs page with Back and Clock navigation.
|
||||
# - The Security page supports six selectable camera views.
|
||||
# - After the configured idle period:
|
||||
@@ -119,12 +121,12 @@ substitutions:
|
||||
# Device Naming
|
||||
device_name: "esp-bedside-panel"
|
||||
friendly_name: "ESP Bedside Panel"
|
||||
description_comment: "Guition JC1060P470C_I_W_Y ESP32-P4 bedside control panel. Lounge Fire, six-camera Security, Jobs page and expanded weather/tide status. (Layout V1.1)"
|
||||
description_comment: "Guition JC1060P470C_I_W_Y ESP32-P4 bedside control panel. Compact Bedtime, bottom Jobs Summary, Doorbell default and icon-refined Climate controls. (Layout V1.1)"
|
||||
device_area: "Bedroom"
|
||||
|
||||
# Project Naming
|
||||
project_name: "Guition.JC1060P470C_I_W_Y"
|
||||
project_version: "v1.18"
|
||||
project_version: "v1.20"
|
||||
|
||||
# Passwords & Secrets
|
||||
api_key: !secret esp-api_key
|
||||
@@ -579,6 +581,22 @@ font:
|
||||
- "\U000F0238" # mdi-fire
|
||||
- "\U000F0717" # mdi-snowflake
|
||||
|
||||
# Compact Climate-page icons.
|
||||
- file: "https://raw.githubusercontent.com/Templarian/MaterialDesign-Webfont/master/fonts/materialdesignicons-webfont.ttf"
|
||||
id: font_mdi_climate
|
||||
size: 30
|
||||
bpp: 4
|
||||
glyphs:
|
||||
- "\U000F0425" # mdi-power
|
||||
- "\U000F0238" # mdi-fire
|
||||
- "\U000F0717" # mdi-snowflake
|
||||
- "\U000F0E0A" # mdi-water-outline
|
||||
- "\U000F032A" # mdi-leaf
|
||||
- "\U000F04C5" # mdi-speedometer
|
||||
- "\U000F0768" # mdi-atom
|
||||
- "\U000F1797" # mdi-ceiling-fan
|
||||
- "\U000F0D43" # mdi-air-filter
|
||||
|
||||
# Bold Atto status/value font used for prominent second-line values.
|
||||
- file:
|
||||
type: gfonts
|
||||
@@ -1746,20 +1764,20 @@ script:
|
||||
id: ceiling_fan_cycle_label
|
||||
text: !lambda |-
|
||||
if (!id(ha_ceiling_fan_on).state) {
|
||||
return std::string("Ceiling Fan: Off");
|
||||
return std::string("Fan:Off");
|
||||
}
|
||||
|
||||
const float percentage = id(ha_ceiling_fan_percentage).state;
|
||||
|
||||
if (isnan(percentage) || percentage < 50.0f) {
|
||||
return std::string("Ceiling Fan: Low");
|
||||
return std::string("Fan:Low");
|
||||
}
|
||||
|
||||
if (percentage < 85.0f) {
|
||||
return std::string("Ceiling Fan: Medium");
|
||||
return std::string("Fan:Medium");
|
||||
}
|
||||
|
||||
return std::string("Ceiling Fan: High");
|
||||
return std::string("Fan:High");
|
||||
|
||||
- lvgl.widget.update:
|
||||
id: ceiling_fan_cycle_button
|
||||
@@ -1768,7 +1786,29 @@ script:
|
||||
? lv_color_hex(0x315E82)
|
||||
: lv_color_hex(0x28313D);
|
||||
|
||||
# Air Filter Quiet is highlighted for filter levels 0, 1 or 2.
|
||||
# Air-filter text and Quiet highlighting.
|
||||
- lvgl.label.update:
|
||||
id: air_filter_quiet_label
|
||||
text: !lambda |-
|
||||
const float level = id(ha_air_filter_level).state;
|
||||
|
||||
if (isnan(level)) {
|
||||
return std::string("Filter:--");
|
||||
}
|
||||
|
||||
if (level >= 0.0f && level <= 2.0f) {
|
||||
return std::string("Filter:Quiet");
|
||||
}
|
||||
|
||||
char buffer[24];
|
||||
snprintf(
|
||||
buffer,
|
||||
sizeof(buffer),
|
||||
"Filter:%.0f",
|
||||
level
|
||||
);
|
||||
return std::string(buffer);
|
||||
|
||||
- lvgl.widget.update:
|
||||
id: air_filter_quiet_button
|
||||
bg_color: !lambda |-
|
||||
@@ -2621,46 +2661,47 @@ lvgl:
|
||||
shadow_width: 0
|
||||
clickable: false
|
||||
|
||||
# Jobs Summary opens the future Jobs page.
|
||||
# Compact Bedtime control beside the API connection indicator.
|
||||
- button:
|
||||
id: jobs_summary_navigation_button
|
||||
id: bedtime_button
|
||||
x: 50
|
||||
y: 8
|
||||
width: 210
|
||||
height: 68
|
||||
bg_color: 0x263443
|
||||
bg_color: 0x3B3048
|
||||
bg_opa: COVER
|
||||
border_width: 2
|
||||
border_color: 0x52677B
|
||||
border_color: 0x735E88
|
||||
radius: 13
|
||||
pressed:
|
||||
bg_color: 0x34495C
|
||||
bg_color: 0x584668
|
||||
widgets:
|
||||
- label:
|
||||
x: 10
|
||||
y: 6
|
||||
width: 190
|
||||
text: "Jobs Summary"
|
||||
text_font: font_header
|
||||
text_align: CENTER
|
||||
text_color: 0xAFC7DC
|
||||
|
||||
- label:
|
||||
id: bedroom_jobs_summary_value_label
|
||||
x: 10
|
||||
y: 32
|
||||
width: 190
|
||||
text: "--"
|
||||
text_font: font_header
|
||||
id: bedtime_button_label
|
||||
align: CENTER
|
||||
text: "Bedtime\n(Hold)"
|
||||
text_font: font_small
|
||||
text_align: CENTER
|
||||
text_color: 0xFFFFFF
|
||||
on_click:
|
||||
- lvgl.page.show:
|
||||
id: jobs_page
|
||||
animation: MOVE_LEFT
|
||||
time: 220ms
|
||||
|
||||
# Divider between Jobs Summary and the compact status strip.
|
||||
on_long_press:
|
||||
then:
|
||||
- homeassistant.action:
|
||||
action: input_button.press
|
||||
data:
|
||||
entity_id: "${bedtime_button_entity}"
|
||||
|
||||
- lvgl.label.update:
|
||||
id: bedtime_button_label
|
||||
text: "Activated"
|
||||
|
||||
- delay: 2s
|
||||
|
||||
- lvgl.label.update:
|
||||
id: bedtime_button_label
|
||||
text: "Bedtime\n(Hold)"
|
||||
|
||||
# Divider between Bedtime and the compact status strip.
|
||||
- obj:
|
||||
x: 268
|
||||
y: 11
|
||||
@@ -3172,42 +3213,45 @@ lvgl:
|
||||
# BEDROOM PAGE BOTTOM NAVIGATION
|
||||
#:################################################################################:#
|
||||
- button:
|
||||
id: bedtime_button
|
||||
id: jobs_summary_navigation_button
|
||||
x: 18
|
||||
y: 475
|
||||
width: 190
|
||||
height: 92
|
||||
widgets:
|
||||
- label:
|
||||
id: bedtime_button_label
|
||||
align: CENTER
|
||||
text: "Bedtime (Hold)"
|
||||
text_font: font_button
|
||||
text_color: 0xFFFFFF
|
||||
bg_color: 0x3B3048
|
||||
bg_color: 0x263443
|
||||
bg_opa: COVER
|
||||
border_width: 2
|
||||
border_color: 0x735E88
|
||||
border_color: 0x52677B
|
||||
radius: 16
|
||||
pressed:
|
||||
bg_color: 0x584668
|
||||
bg_color: 0x34495C
|
||||
widgets:
|
||||
- label:
|
||||
x: 10
|
||||
y: 7
|
||||
width: 170
|
||||
text: "Jobs Summary"
|
||||
text_font: font_header
|
||||
text_align: CENTER
|
||||
text_color: 0xAFC7DC
|
||||
|
||||
on_long_press:
|
||||
then:
|
||||
- homeassistant.action:
|
||||
action: input_button.press
|
||||
data:
|
||||
entity_id: "${bedtime_button_entity}"
|
||||
- label:
|
||||
id: bedroom_jobs_summary_value_label
|
||||
x: 10
|
||||
y: 29
|
||||
width: 170
|
||||
height: 54
|
||||
text: "--"
|
||||
text_font: font_header
|
||||
text_align: CENTER
|
||||
text_color: 0xFFFFFF
|
||||
long_mode: WRAP
|
||||
|
||||
- lvgl.label.update:
|
||||
id: bedtime_button_label
|
||||
text: "Activated"
|
||||
|
||||
- delay: 2s
|
||||
|
||||
- lvgl.label.update:
|
||||
id: bedtime_button_label
|
||||
text: "Bedtime (Hold)"
|
||||
on_click:
|
||||
- lvgl.page.show:
|
||||
id: jobs_page
|
||||
animation: MOVE_LEFT
|
||||
time: 220ms
|
||||
|
||||
- button:
|
||||
id: climate_navigation_button
|
||||
@@ -3295,6 +3339,7 @@ lvgl:
|
||||
on_click:
|
||||
- lambda: |-
|
||||
id(security_page_active) = true;
|
||||
id(security_camera_selection) = 1;
|
||||
|
||||
- lvgl.page.show:
|
||||
id: security_page
|
||||
@@ -4106,7 +4151,7 @@ lvgl:
|
||||
x: 220
|
||||
y: 41
|
||||
width: 782
|
||||
text: "Heat Pump"
|
||||
text: "Master Bedroom Heat Pump"
|
||||
text_font: font_small
|
||||
text_align: CENTER
|
||||
text_color: 0x8FA0B3
|
||||
@@ -4154,9 +4199,17 @@ lvgl:
|
||||
bg_color: 0x548C6C
|
||||
widgets:
|
||||
- label:
|
||||
align: CENTER
|
||||
align: TOP_MID
|
||||
y: 9
|
||||
text: "\U000F0425"
|
||||
text_font: font_mdi_climate
|
||||
text_color: 0xFFFFFF
|
||||
|
||||
- label:
|
||||
align: BOTTOM_MID
|
||||
y: -10
|
||||
text: "Off"
|
||||
text_font: font_button
|
||||
text_font: font_small
|
||||
text_color: 0xFFFFFF
|
||||
on_click:
|
||||
- homeassistant.action:
|
||||
@@ -4179,9 +4232,17 @@ lvgl:
|
||||
bg_color: 0xB76822
|
||||
widgets:
|
||||
- label:
|
||||
align: CENTER
|
||||
align: TOP_MID
|
||||
y: 9
|
||||
text: "\U000F0238"
|
||||
text_font: font_mdi_climate
|
||||
text_color: 0xFFFFFF
|
||||
|
||||
- label:
|
||||
align: BOTTOM_MID
|
||||
y: -10
|
||||
text: "Heat"
|
||||
text_font: font_button
|
||||
text_font: font_small
|
||||
text_color: 0xFFFFFF
|
||||
on_click:
|
||||
- homeassistant.action:
|
||||
@@ -4204,9 +4265,17 @@ lvgl:
|
||||
bg_color: 0x2E6A96
|
||||
widgets:
|
||||
- label:
|
||||
align: CENTER
|
||||
align: TOP_MID
|
||||
y: 9
|
||||
text: "\U000F0717"
|
||||
text_font: font_mdi_climate
|
||||
text_color: 0xFFFFFF
|
||||
|
||||
- label:
|
||||
align: BOTTOM_MID
|
||||
y: -10
|
||||
text: "Cool"
|
||||
text_font: font_button
|
||||
text_font: font_small
|
||||
text_color: 0xFFFFFF
|
||||
on_click:
|
||||
- homeassistant.action:
|
||||
@@ -4229,9 +4298,17 @@ lvgl:
|
||||
bg_color: 0x32677F
|
||||
widgets:
|
||||
- label:
|
||||
align: CENTER
|
||||
align: TOP_MID
|
||||
y: 9
|
||||
text: "\U000F0E0A"
|
||||
text_font: font_mdi_climate
|
||||
text_color: 0xFFFFFF
|
||||
|
||||
- label:
|
||||
align: BOTTOM_MID
|
||||
y: -10
|
||||
text: "Dehumid"
|
||||
text_font: font_button
|
||||
text_font: font_small
|
||||
text_color: 0xFFFFFF
|
||||
on_click:
|
||||
- homeassistant.action:
|
||||
@@ -4266,9 +4343,17 @@ lvgl:
|
||||
bg_color: 0x315843
|
||||
widgets:
|
||||
- label:
|
||||
align: CENTER
|
||||
align: TOP_MID
|
||||
y: 10
|
||||
text: "\U000F032A"
|
||||
text_font: font_mdi_climate
|
||||
text_color: 0xFFFFFF
|
||||
|
||||
- label:
|
||||
align: BOTTOM_MID
|
||||
y: -12
|
||||
text: "Quiet"
|
||||
text_font: font_button
|
||||
text_font: font_small
|
||||
text_color: 0xFFFFFF
|
||||
on_click:
|
||||
# Quiet toggles between Quiet and Normal.
|
||||
@@ -4351,9 +4436,17 @@ lvgl:
|
||||
bg_color: 0x6B4A86
|
||||
widgets:
|
||||
- label:
|
||||
align: CENTER
|
||||
align: TOP_MID
|
||||
y: 10
|
||||
text: "\U000F04C5"
|
||||
text_font: font_mdi_climate
|
||||
text_color: 0xFFFFFF
|
||||
|
||||
- label:
|
||||
align: BOTTOM_MID
|
||||
y: -12
|
||||
text: "Boost"
|
||||
text_font: font_button
|
||||
text_font: font_small
|
||||
text_color: 0xFFFFFF
|
||||
on_click:
|
||||
# Boost toggles between Boost and Normal.
|
||||
@@ -4436,9 +4529,17 @@ lvgl:
|
||||
bg_color: 0x315E82
|
||||
widgets:
|
||||
- label:
|
||||
align: CENTER
|
||||
align: TOP_MID
|
||||
y: 10
|
||||
text: "\U000F0768"
|
||||
text_font: font_mdi_climate
|
||||
text_color: 0xFFFFFF
|
||||
|
||||
- label:
|
||||
align: BOTTOM_MID
|
||||
y: -12
|
||||
text: "Nanoe-X"
|
||||
text_font: font_button
|
||||
text_font: font_small
|
||||
text_color: 0xFFFFFF
|
||||
on_click:
|
||||
- lambda: |-
|
||||
@@ -4557,10 +4658,18 @@ lvgl:
|
||||
pressed:
|
||||
bg_color: 0x315E82
|
||||
widgets:
|
||||
- label:
|
||||
align: LEFT_MID
|
||||
x: 18
|
||||
text: "\U000F1797"
|
||||
text_font: font_mdi_climate
|
||||
text_color: 0xFFFFFF
|
||||
|
||||
- label:
|
||||
id: ceiling_fan_cycle_label
|
||||
align: CENTER
|
||||
text: "Ceiling Fan: Off"
|
||||
x: 18
|
||||
text: "Fan:Off"
|
||||
text_font: font_small
|
||||
text_color: 0xFFFFFF
|
||||
on_click:
|
||||
@@ -4636,8 +4745,17 @@ lvgl:
|
||||
bg_color: 0x315843
|
||||
widgets:
|
||||
- label:
|
||||
align: LEFT_MID
|
||||
x: 18
|
||||
text: "\U000F0D43"
|
||||
text_font: font_mdi_climate
|
||||
text_color: 0xFFFFFF
|
||||
|
||||
- label:
|
||||
id: air_filter_quiet_label
|
||||
align: CENTER
|
||||
text: "Air Filter: Quiet"
|
||||
x: 18
|
||||
text: "Filter:Quiet"
|
||||
text_font: font_small
|
||||
text_color: 0xFFFFFF
|
||||
on_click:
|
||||
|
||||
Reference in New Issue
Block a user