One-click and nightly firmware updates from ESP Screens

Screens now report their ESPHome name and IP address, so the add-on can
match each screen to its YAML profile and OTA address itself. The screen
list shows an update badge with a Bijwerken button, an update-all action
and a nightly checkbox; updates run one screen at a time, wait for the
new version to report back and stop the round on the first failure.

App 0.2.16, firmware 0.2.17.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Max Gramser
2026-09-13 10:14:04 +02:00
parent 437b8c55b4
commit 437e3a5046
18 changed files with 875 additions and 23 deletions
+11 -1
View File
@@ -59,7 +59,7 @@
############################################################
substitutions:
SCREEN_FIRMWARE_VERSION: "0.2.16"
SCREEN_FIRMWARE_VERSION: "0.2.17"
DYNAMIC_TILES: "true"
DASHBOARD_INBOX_INTERNAL: "false"
DEVICE_NAME: "cyd-new"
@@ -1602,6 +1602,16 @@ text_sensor:
entity_category: diagnostic
lambda: 'return {"${SCREEN_FIRMWARE_VERSION}"};'
update_interval: 60s
# ESP Screen Manager matches the screen to its YAML profile and OTA address.
- platform: template
name: "Apparaatnaam"
entity_category: diagnostic
lambda: 'return {"${DEVICE_NAME}"};'
update_interval: 60s
- platform: wifi_info
ip_address:
name: "IP-adres"
entity_category: diagnostic
- platform: template
id: smartdisplay_action
name: "SmartDisplay Action"
+11 -1
View File
@@ -2,7 +2,7 @@
# Guition ESP32-S3-4848S040 / 4-inch EU wallbox, 480x480 IPS + GT911.
# Use guition-device.yaml; see docs/GUITION.md. CYD hardware is a separate profile.
substitutions:
SCREEN_FIRMWARE_VERSION: "0.2.16"
SCREEN_FIRMWARE_VERSION: "0.2.17"
DYNAMIC_TILES: "true"
DASHBOARD_INBOX_INTERNAL: "false"
DEVICE_NAME: "guition-new"
@@ -1417,6 +1417,16 @@ text_sensor:
entity_category: diagnostic
lambda: 'return {"${SCREEN_FIRMWARE_VERSION}"};'
update_interval: 60s
# ESP Screen Manager matches the screen to its YAML profile and OTA address.
- platform: template
name: "Apparaatnaam"
entity_category: diagnostic
lambda: 'return {"${DEVICE_NAME}"};'
update_interval: 60s
- platform: wifi_info
ip_address:
name: "IP-adres"
entity_category: diagnostic
- platform: template
id: smartdisplay_action
name: "SmartDisplay Action"