Edit esp-bedside-panel.yaml

This commit is contained in:
ESPHome Device Builder
2026-07-18 20:44:27 +12:00
parent 347e20f552
commit a95036e0c5
+125 -30
View File
@@ -6,6 +6,7 @@
# https://home.fox.co.nz/gitea/zorruno/zorruno-homeassistant/src/branch/master/esphome/esp-bedside-panel.yaml # https://home.fox.co.nz/gitea/zorruno/zorruno-homeassistant/src/branch/master/esphome/esp-bedside-panel.yaml
#:########################################################################################:# #:########################################################################################:#
# VERSIONS: # VERSIONS:
# V1.21 2026-07-18 Replaced bottom navigation text with icons and live time
# V1.20 2026-07-18 Swapped Bedtime/Jobs, defaulted Doorbell and refined Climate icons # 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.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.17 2026-07-18 Swapped Bedroom Climate/Atto buttons and removed Garage test logs
@@ -121,12 +122,12 @@ substitutions:
# Device Naming # Device Naming
device_name: "esp-bedside-panel" device_name: "esp-bedside-panel"
friendly_name: "ESP Bedside Panel" friendly_name: "ESP Bedside Panel"
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)" description_comment: "Guition JC1060P470C_I_W_Y ESP32-P4 bedside control panel. Icon-only bottom navigation with live 24-hour clock buttons. (Layout V1.1)"
device_area: "Bedroom" device_area: "Bedroom"
# Project Naming # Project Naming
project_name: "Guition.JC1060P470C_I_W_Y" project_name: "Guition.JC1060P470C_I_W_Y"
project_version: "v1.20" project_version: "v1.21"
# Passwords & Secrets # Passwords & Secrets
api_key: !secret esp-api_key api_key: !secret esp-api_key
@@ -291,6 +292,7 @@ esphome:
- script.execute: refresh_api_indicator - script.execute: refresh_api_indicator
- script.execute: refresh_button_states - script.execute: refresh_button_states
- script.execute: refresh_sleep_timer - script.execute: refresh_sleep_timer
- script.execute: refresh_navigation_time
#:########################################################################################:# #:########################################################################################:#
# ESP PLATFORM AND FRAMEWORK: # ESP PLATFORM AND FRAMEWORK:
@@ -416,6 +418,8 @@ time:
- rx8130.write_time: - rx8130.write_time:
id: rtc_time id: rtc_time
- script.execute: refresh_navigation_time
#:########################################################################################:# #:########################################################################################:#
# I2C: # I2C:
# https://esphome.io/components/i2c.html # https://esphome.io/components/i2c.html
@@ -563,6 +567,29 @@ font:
- "\U000F0335" # mdi-lightbulb - "\U000F0335" # mdi-lightbulb
- "\U000F06D9" # mdi-garage - "\U000F06D9" # mdi-garage
- "\U000F1054" # mdi-outdoor-lamp - "\U000F1054" # mdi-outdoor-lamp
- "\U000F014E" # mdi-clipboard-check
# Large bottom-navigation icons.
- file: "https://raw.githubusercontent.com/Templarian/MaterialDesign-Webfont/master/fonts/materialdesignicons-webfont.ttf"
id: font_mdi_navigation
size: 50
bpp: 4
glyphs:
- "\U000F004D" # mdi-arrow-left
- "\U000F07A8" # mdi-car-estate
- "\U000F050F" # mdi-thermometer
- "\U000F068A" # mdi-shield-home
# Live 24-hour time shown in bottom-right clock buttons.
- file:
type: gfonts
family: Roboto
weight: 500
id: font_navigation_time
size: 42
bpp: 4
glyphs:
- "0123456789:"
# Compact Vehicles-page icon font. # Compact Vehicles-page icon font.
- file: "https://raw.githubusercontent.com/Templarian/MaterialDesign-Webfont/master/fonts/materialdesignicons-webfont.ttf" - file: "https://raw.githubusercontent.com/Templarian/MaterialDesign-Webfont/master/fonts/materialdesignicons-webfont.ttf"
@@ -1047,6 +1074,61 @@ globals:
# Refresh all state-dependent LVGL button colours # Refresh all state-dependent LVGL button colours
#:########################################################################################:# #:########################################################################################:#
script: script:
#:######################################################################################:#
# BOTTOM NAVIGATION LIVE TIME
#:######################################################################################:#
- id: refresh_navigation_time
mode: restart
then:
- if:
condition:
lambda: |-
return (
id(lvgl_ready) &&
id(ha_time).now().is_valid()
);
then:
- lvgl.label.update:
id: clock_now_button_label
text: !lambda |-
auto now = id(ha_time).now();
char buffer[8];
now.strftime(buffer, sizeof(buffer), "%H:%M");
return std::string(buffer);
- lvgl.label.update:
id: jobs_clock_button_label
text: !lambda |-
auto now = id(ha_time).now();
char buffer[8];
now.strftime(buffer, sizeof(buffer), "%H:%M");
return std::string(buffer);
- lvgl.label.update:
id: vehicles_clock_button_label
text: !lambda |-
auto now = id(ha_time).now();
char buffer[8];
now.strftime(buffer, sizeof(buffer), "%H:%M");
return std::string(buffer);
- lvgl.label.update:
id: climate_clock_button_label
text: !lambda |-
auto now = id(ha_time).now();
char buffer[8];
now.strftime(buffer, sizeof(buffer), "%H:%M");
return std::string(buffer);
- lvgl.label.update:
id: security_clock_button_label
text: !lambda |-
auto now = id(ha_time).now();
char buffer[8];
now.strftime(buffer, sizeof(buffer), "%H:%M");
return std::string(buffer);
# Update Bedroom and Clock status values after LVGL has finished constructing. # Update Bedroom and Clock status values after LVGL has finished constructing.
- id: refresh_header_status - id: refresh_header_status
mode: restart mode: restart
@@ -2166,6 +2248,8 @@ interval:
return id(ha_time).now().is_valid(); return id(ha_time).now().is_valid();
then: then:
- script.execute: refresh_navigation_time
- lvgl.label.update: - lvgl.label.update:
id: clock_time_label id: clock_time_label
text: !lambda |- text: !lambda |-
@@ -3227,9 +3311,16 @@ lvgl:
bg_color: 0x34495C bg_color: 0x34495C
widgets: widgets:
- label: - label:
x: 10 align: LEFT_MID
x: 12
text: "\U000F014E"
text_font: font_mdi_button
text_color: 0xAFC7DC
- label:
x: 47
y: 7 y: 7
width: 170 width: 132
text: "Jobs Summary" text: "Jobs Summary"
text_font: font_header text_font: font_header
text_align: CENTER text_align: CENTER
@@ -3237,9 +3328,9 @@ lvgl:
- label: - label:
id: bedroom_jobs_summary_value_label id: bedroom_jobs_summary_value_label
x: 10 x: 47
y: 29 y: 29
width: 170 width: 132
height: 54 height: 54
text: "--" text: "--"
text_font: font_header text_font: font_header
@@ -3263,8 +3354,8 @@ lvgl:
- label: - label:
id: climate_navigation_button_label id: climate_navigation_button_label
align: CENTER align: CENTER
text: "Climate" text: "\U000F050F"
text_font: font_button text_font: font_mdi_navigation
text_color: 0xFFFFFF text_color: 0xFFFFFF
bg_color: 0x315843 bg_color: 0x315843
bg_opa: COVER bg_opa: COVER
@@ -3290,8 +3381,8 @@ lvgl:
- label: - label:
id: atto_navigation_button_label id: atto_navigation_button_label
align: CENTER align: CENTER
text: "Atto (Hold)" text: "\U000F07A8"
text_font: font_button text_font: font_mdi_navigation
text_color: 0xFFFFFF text_color: 0xFFFFFF
bg_color: 0x3E4652 bg_color: 0x3E4652
bg_opa: COVER bg_opa: COVER
@@ -3325,8 +3416,8 @@ lvgl:
- label: - label:
id: security_navigation_button_label id: security_navigation_button_label
align: CENTER align: CENTER
text: "Security" text: "\U000F068A"
text_font: font_button text_font: font_mdi_navigation
text_color: 0xFFFFFF text_color: 0xFFFFFF
bg_color: 0x493535 bg_color: 0x493535
bg_opa: COVER bg_opa: COVER
@@ -3365,8 +3456,8 @@ lvgl:
- label: - label:
id: clock_now_button_label id: clock_now_button_label
align: CENTER align: CENTER
text: "Clock" text: "--:--"
text_font: font_button text_font: font_navigation_time
text_color: 0xFFFFFF text_color: 0xFFFFFF
bg_color: 0x214F72 bg_color: 0x214F72
bg_opa: COVER bg_opa: COVER
@@ -3413,8 +3504,8 @@ lvgl:
widgets: widgets:
- label: - label:
align: CENTER align: CENTER
text: "Back" text: "\U000F004D"
text_font: font_button text_font: font_mdi_navigation
text_color: 0xFFFFFF text_color: 0xFFFFFF
on_click: on_click:
- lvgl.page.show: - lvgl.page.show:
@@ -3437,9 +3528,10 @@ lvgl:
bg_color: 0x2E6A96 bg_color: 0x2E6A96
widgets: widgets:
- label: - label:
id: jobs_clock_button_label
align: CENTER align: CENTER
text: "Clock" text: "--:--"
text_font: font_button text_font: font_navigation_time
text_color: 0xFFFFFF text_color: 0xFFFFFF
on_click: on_click:
- lvgl.page.show: - lvgl.page.show:
@@ -4091,8 +4183,8 @@ lvgl:
widgets: widgets:
- label: - label:
align: CENTER align: CENTER
text: "Back" text: "\U000F004D"
text_font: font_button text_font: font_mdi_navigation
text_color: 0xFFFFFF text_color: 0xFFFFFF
on_click: on_click:
- lvgl.page.show: - lvgl.page.show:
@@ -4115,9 +4207,10 @@ lvgl:
bg_color: 0x2E6A96 bg_color: 0x2E6A96
widgets: widgets:
- label: - label:
id: vehicles_clock_button_label
align: CENTER align: CENTER
text: "Clock" text: "--:--"
text_font: font_button text_font: font_navigation_time
text_color: 0xFFFFFF text_color: 0xFFFFFF
on_click: on_click:
- lvgl.page.show: - lvgl.page.show:
@@ -4862,8 +4955,8 @@ lvgl:
widgets: widgets:
- label: - label:
align: CENTER align: CENTER
text: "Back" text: "\U000F004D"
text_font: font_button text_font: font_mdi_navigation
text_color: 0xFFFFFF text_color: 0xFFFFFF
on_click: on_click:
- lvgl.page.show: - lvgl.page.show:
@@ -4886,9 +4979,10 @@ lvgl:
bg_color: 0x2E6A96 bg_color: 0x2E6A96
widgets: widgets:
- label: - label:
id: climate_clock_button_label
align: CENTER align: CENTER
text: "Clock" text: "--:--"
text_font: font_button text_font: font_navigation_time
text_color: 0xFFFFFF text_color: 0xFFFFFF
on_click: on_click:
- lvgl.page.show: - lvgl.page.show:
@@ -5208,8 +5302,8 @@ lvgl:
widgets: widgets:
- label: - label:
align: CENTER align: CENTER
text: "Back" text: "\U000F004D"
text_font: font_button text_font: font_mdi_navigation
text_color: 0xFFFFFF text_color: 0xFFFFFF
on_click: on_click:
- lambda: |- - lambda: |-
@@ -5237,9 +5331,10 @@ lvgl:
bg_color: 0x2E6A96 bg_color: 0x2E6A96
widgets: widgets:
- label: - label:
id: security_clock_button_label
align: CENTER align: CENTER
text: "Clock" text: "--:--"
text_font: font_button text_font: font_navigation_time
text_color: 0xFFFFFF text_color: 0xFFFFFF
on_click: on_click:
- lambda: |- - lambda: |-