diff --git a/esphome/esp-bedside-panel.yaml b/esphome/esp-bedside-panel.yaml index 780eb3a..2fd5309 100644 --- a/esphome/esp-bedside-panel.yaml +++ b/esphome/esp-bedside-panel.yaml @@ -6,6 +6,7 @@ # https://home.fox.co.nz/gitea/zorruno/zorruno-homeassistant/src/branch/master/esphome/esp-bedside-panel.yaml #:########################################################################################:# # VERSIONS: +# V1.5 2026-07-16 Added RX8130 battery-backed RTC time restore and synchronisation # V1.4 2026-07-16 Moved Security image right, added Driveway and four Future buttons # V1.3 2026-07-16 Added Security page with 640x360 Doorbell camera snapshot # V1.2 2026-07-16 Removed Climate title and aligned Heat Pump heading above Off @@ -61,6 +62,8 @@ # - Touch interrupt: GPIO21 # - Touch reset: GPIO22 # - Touch I2C address: 0x5D +# - Battery-backed RTC: RX8130 +# - RTC I2C address: 0x32 #:########################################################################################:# # OPERATION NOTES: # - This build returns to the proven V0.8a structure. @@ -86,7 +89,9 @@ # OFFLINE NOTES: # - LVGL, the clock, touch and backlight operate locally. # - Home Assistant control buttons require an API connection. -# - The clock continues using the most recently synchronised time. +# - At boot, system time is restored from the battery-backed RX8130 RTC. +# - When Home Assistant time synchronises, the corrected time is written back to the RTC. +# - A suitable backup cell must be fitted for the RTC to retain time without panel power. #:########################################################################################:# #:########################################################################################:# @@ -98,12 +103,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. Security page with Doorbell and Driveway camera snapshots plus Future controls. (Layout V1.1)" + description_comment: "Guition JC1060P470C_I_W_Y ESP32-P4 bedside control panel. Bedroom, Climate, Security and Clock pages with RX8130 RTC backup. (Layout V1.1)" device_area: "Bedroom" # Project Naming project_name: "Guition.JC1060P470C_I_W_Y" - project_version: "v1.4" + project_version: "v1.5" # Passwords & Secrets api_key: !secret esp-api_key @@ -112,6 +117,7 @@ substitutions: # Device Settings log_level: "INFO" update_interval: "60s" + local_timezone: "Pacific/Auckland" # Display Settings backlight_pin: "GPIO23" @@ -230,6 +236,10 @@ esphome: on_boot: priority: -100 then: + # Restore system time from the battery-backed hardware RTC. + - rx8130.read_time: + id: rtc_time + - delay: 2s - lambda: |- @@ -339,11 +349,29 @@ ota: #:########################################################################################:# # TIME: +# RX8130 restores time at boot; Home Assistant corrects it when available +# https://esphome.io/components/time/rx8130/ # https://esphome.io/components/time/homeassistant.html #:########################################################################################:# time: + # Battery-backed onboard hardware RTC. + - platform: rx8130 + id: rtc_time + i2c_id: touch_i2c + address: 0x32 + timezone: "${local_timezone}" + update_interval: never + + # Home Assistant remains the authoritative network time source. - platform: homeassistant id: ha_time + timezone: "${local_timezone}" + + on_time_sync: + then: + # Save corrected HA time into the hardware RTC. + - rx8130.write_time: + id: rtc_time #:########################################################################################:# # I2C: