From 42bf5811f7db0b016991611db9137995908f114c Mon Sep 17 00:00:00 2001
From: Max Gramser
Date: Thu, 17 Sep 2026 16:02:43 +0200
Subject: [PATCH] Show the settings on the screen, tap actions and Override
YAML in the README
The README pictures now match the released screens and ESP Screens: the light pages had the sliders
and clock from before 0.2.43, the editor showed firmware 0.2.34, and the vacuum and climate cards
carried Dutch names. New pictures show the settings page on the screen with Dark mode, the Screen
settings cards, Perform action in the tile settings and Override YAML; the full reference gets the
same and short notes on tap actions, Home Assistant's words and icons, and Override YAML.
Rendered from the host firmware and the real add-on on the demo home, like the earlier pictures.
Co-Authored-By: Claude Opus 5
---
README.md | 26 ++++++++++++---
README_EXTENDED.md | 40 ++++++++++++++++++++++--
docs/images/cyd-page-2.png | Bin 22326 -> 21990 bytes
docs/images/cyd-tiles-controls.png | Bin 16019 -> 16009 bytes
docs/images/cyd-tiles-values.png | Bin 20114 -> 20113 bytes
docs/images/cyd-vacuum.png | Bin 18891 -> 17690 bytes
docs/images/editor-alerts.png | Bin 244471 -> 250496 bytes
docs/images/editor-new-screen.png | Bin 180563 -> 192411 bytes
docs/images/editor-override-yaml.png | Bin 0 -> 308437 bytes
docs/images/editor-screen-settings.png | Bin 0 -> 191463 bytes
docs/images/editor-settings.png | Bin 290536 -> 278577 bytes
docs/images/editor-tile-settings.png | Bin 177941 -> 163803 bytes
docs/images/editor-tiles.png | Bin 308704 -> 272097 bytes
docs/images/editor-top-bar.png | Bin 197272 -> 196595 bytes
docs/images/editor.png | Bin 382374 -> 362301 bytes
docs/images/guition-climate.png | Bin 30562 -> 29817 bytes
docs/images/guition-controls.png | Bin 30054 -> 29293 bytes
docs/images/guition-dark-controls.png | Bin 29514 -> 29519 bytes
docs/images/guition-dark-settings.png | Bin 0 -> 28726 bytes
docs/images/guition-home.png | Bin 36755 -> 36810 bytes
docs/images/guition-settings-menu.png | Bin 0 -> 16781 bytes
docs/images/guition-settings-night.png | Bin 0 -> 21278 bytes
docs/images/guition-settings-screen.png | Bin 0 -> 29399 bytes
docs/images/guition-settings.png | Bin 0 -> 27964 bytes
docs/images/guition-tiles-controls.png | Bin 28368 -> 28389 bytes
docs/images/guition-tiles-values.png | Bin 35599 -> 35558 bytes
docs/images/guition-vacuum.png | Bin 37230 -> 35061 bytes
27 files changed, 58 insertions(+), 8 deletions(-)
create mode 100644 docs/images/editor-override-yaml.png
create mode 100644 docs/images/editor-screen-settings.png
create mode 100644 docs/images/guition-dark-settings.png
create mode 100644 docs/images/guition-settings-menu.png
create mode 100644 docs/images/guition-settings-night.png
create mode 100644 docs/images/guition-settings-screen.png
create mode 100644 docs/images/guition-settings.png
diff --git a/README.md b/README.md
index d6e023b..aed4415 100644
--- a/README.md
+++ b/README.md
@@ -14,11 +14,13 @@ lights, the heating or the vacuum.
**What.** Firmware for two affordable panels, the 2.8-inch CYD and the 4-inch Guition, with up to
twenty tiles over four pages: lights, climate, blinds and curtains, the vacuum, media, the weather,
history graphs, clocks and timers. An automation can put an alert on every screen when someone rings
-the bell, and a Guition shows who is there with the doorbell camera's picture.
+the bell, and a Guition shows who is there with the doorbell camera's picture. A tap can run any
+action Home Assistant has for a tile, and Dark mode suits a screen beside the bed.
**How.** ESP Screen Manager is an app inside Home Assistant. It flashes a new screen over USB, updates
it over Wi-Fi and sends it your tiles. Changing a screen is pick, drag and **Save & send to screen**:
-no reflash, no YAML to write, no blueprint, MQTT or token.
+no reflash, no YAML to write, no blueprint, MQTT or token. Brightness, night hours and Dark mode can
+also be changed on the screen or by an automation, and your own YAML for one screen survives every update.
**[Install it](#installing-from-home-assistant)** · [Full reference](README_EXTENDED.md) · [What's new](screen_manager/CHANGELOG.md)
@@ -57,6 +59,12 @@ no reflash, no YAML to write, no blueprint, MQTT or token.
Dark mode, for a screen beside the bed: the same pages, darker. It is a switch on the screen, in ESP Screens and in Home Assistant, so an automation can turn it on at bedtime.
+
+
+
+
+
+Settings on the screen itself: hold the top bar. The same brightness, Dark mode, standby, night hours, clock and rotation as in ESP Screens, and every one of them is an entity in Home Assistant.
## Managed from Home Assistant
@@ -65,15 +73,23 @@ no reflash, no YAML to write, no blueprint, MQTT or token.
ESP Screens, a page in Home Assistant: every screen on the left, its top bar and tiles on the right.
-
-
+
+
-Search your home, drop a tile on the preview, tap it for its name, width, control and color. Save, and the screen has it.
+Search your home, drop a tile on the preview, tap it for its name, width, control and color, and for what a tap does: open its card, switch it, or run any action Home Assistant has for it, such as the curtains to 50 %. Save, and the screen has it.
A top bar built from your own home, firmware updates over Wi-Fi (every night if you like), and a skill so Claude can rearrange your screens.
+
+
+
+Screen settings apply at once, and a change made on the screen or by an automation shows up here too.
+
+
+
+Other hardware, such as a different display controller? Every screen has an Override YAML of its own, checked by ESPHome before a build and kept through every update.
## Alerts
diff --git a/README_EXTENDED.md b/README_EXTENDED.md
index 445253c..7664803 100644
--- a/README_EXTENDED.md
+++ b/README_EXTENDED.md
@@ -49,6 +49,15 @@ on the screen itself, and how updates work.
− / + or a slider (numbers), previous/next (select), start/pause and
cancel (timer), and a single button for scenes, scripts, and buttons. Configurable
per tile; **None** keeps the regular card.
+- **On tap** (app 0.2.67 / firmware 0.2.58): **Automatic**, **Open control**, **View only**,
+ **On / off** for everything Home Assistant can toggle, covers included, or **Perform action**:
+ any action Home Assistant has for the tile's entity, under Home Assistant's own names and with
+ its fields, such as Set cover position at 50 %. Holding the tile still opens its card, and the
+ tile settings only offer what Home Assistant supports for that entity.
+- **Home Assistant's words and icons** (app 0.2.67 / firmware 0.2.58): a blind says Open or
+ Closing, a speaker Playing and a door Open or Closed, a sensor shows the decimals Home Assistant
+ shows, and a tile without an icon of its own gets the one Home Assistant shows, following its
+ state. A light or binary sensor that is off turns grey (firmware 0.2.53+).
- **Weather card** with current weather, the coming hours and days including chance of
rain or millimeters; **climate card** with an on/off button, mode, fan, and swing settings.
The target temperature sits big between − / + keys with one row of mode keys below; the
@@ -92,6 +101,9 @@ on the screen itself, and how updates work.
orientation and its own calibration.
- **Inspector:** check entities, status, and configuration in ESP Screens.
Action feedback shows that a command is on its way.
+- **Override YAML per screen** (app 0.2.61): your own ESPHome YAML for one screen, such as another
+ display controller, kept through updates. See
+ [Updates and keeping your settings](#updates-and-keeping-your-settings).
@@ -292,10 +304,10 @@ value. Click **Save & send to screen** to apply the changes.
After the first supporting firmware update, this requires no new flash.
-
-
+
+
-The settings of the Heating tile, and that tile on the screen: double-width with temperature − / +.
+The settings of the Curtains tile, and that tile on the screen: open, stop and close on the tile, and a tap on its name sets the curtains to 50 %.
A color is a fixed choice for that tile: it stays red, for example,
even when you run the all-off script. The entity status and action feedback
@@ -351,11 +363,21 @@ Home Assistant, `esphome._open_settings` opens it too (`page` 0 menu, 1
| Screen | 12/24-hour clock, back to page 1 by itself and after how long, also on standby, swiping between pages, rotation (boards that turn) |
| This screen | Name, IP address, firmware version, Home Assistant connected, Restart |
+
+
+
+
+
+
Tap a toggle to flip it, `-` and `+` to change a number or a time — hold them and a time walks
whole hours — and tap a chip like the clock to cycle it. Every change is saved on the screen,
takes effect at once, and appears in ESP Screens within a second, so both sides always show
the same value. The **Screen settings** cards in ESP Screens have the same rows.
+
+
+
+
**In Home Assistant** (firmware 0.2.49+), every setting is an entity on the screen's device, under
*Configuration*: `number._normal_brightness`, `switch._night_mode`,
`time._night_starts`, `switch._24_hour_clock`, `select._rotation` on a
@@ -371,6 +393,7 @@ and setting a value the screen already has costs nothing. The full list is in
| Screen settings | Change them in ESP Screens (they apply at once), on the screen, or on their entities in Home Assistant |
| New version of the management page | Update ESP Screen Manager in the HA App store |
| New feature on the physical screen | The **Update** button on the screen (badge *Update x.y.z*), or **Update automatically every night** under Settings |
+| Your own YAML for one screen | **Override YAML** in ESP Screens; kept through updates (app 0.2.61) |
Every app version belongs to one firmware version. After an app update, the list
shows per screen whether newer firmware is available. **Update** builds that screen's own profile
@@ -386,6 +409,17 @@ screen preferences stay stored on the device. Updates don't replace this
user data. Do still make normal Home Assistant backups and keep your
device profiles; removing an app or wiping flash memory is not an update.
+**Your own YAML for one screen (app 0.2.61).** **Override YAML** in ESP Screens edits a small
+`.local.yaml` beside the screen's profile, for hardware-specific changes such as another
+display controller. It is loaded after the shared board package and stays in place when the app or
+the firmware package updates. The screen's name, Wi-Fi, API, OTA, packages, external components and
+captive portal stay managed and are refused there. **Save & check** runs ESPHome's full validation
+of the complete profile, and a build never starts from an invalid one.
+
+
+
+
+
**Efficient, even with many screens (0.2.39 / firmware 0.2.33).** The app sends a
screen only the tile that changed, as a single action
(`esphome._screen_message`) instead of chunks in a text field.
diff --git a/docs/images/cyd-page-2.png b/docs/images/cyd-page-2.png
index 6b0eb25408f10ced90cbb3f16f8f5b748c569a3a..7b59e40fca4d89579e175729e27081b3e2109708 100644
GIT binary patch
literal 21990
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
literal 22326
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
diff --git a/docs/images/cyd-tiles-controls.png b/docs/images/cyd-tiles-controls.png
index e499b3e99cd30094d76fe60665620fc85952083e..e8e23cf95a2db81f1795b0ee1c7da2959cd8d1bc 100644
GIT binary patch
literal 16009
zcmd_RXH-*NxGuUViim;+6_jQPpwdMILCUAJPz6O0qzEbs(xkT}*dtAXN(ZGQU5r2|
zK?Nexq)QDFq!>u(0TPn468!ew=j=Vk9p~Pk_g}^$WX-kaobUUziMniNuy^;7-2edW
zg&FEv0stox064~X?F6r=bd5{`fYxQ0?mt(9hUP~@{Zd!MDYVM_us640%|D%Z1YPoO
zN^tH--f7Z(@oiqqP>S8q*_PQ;?~ZAB4DdgFfDL%@^>*<{ztPc`MWY8B?yq@XdHZTI
z_2tX6!fWSYX7M^Tk1m;CySVq`yG6-!A3isi-!lGCG98tB-ixW>)^vEvW5lWlj0bu@;L$6ReJ6i=aN_l0M!xi
zuRauNNnjlxGQlB)7pdH##)W()9xZt
z4$KD441aH^32Q)&oFyDljf!YoL<9#wuAWYBobNBX&UFCNu&zFDN7y`c*>G16EE9@)
zDusw!Z(8-a2RV6@{Von&<6M8D5XNz`clT4=MhcF@Y4F2s6iJ(Qop}Zv@E7)zo(<&`
zRtYILbEumCG>n`e(Q;~##5GFTv_^!>z%M=@+H!}60FqRS6GsZb7apO8x5jz2fpKyT
z#cV|3{?9TFq@8DVPLcmE>fB(wngcY=g1AlEG076%!+g!>5!pl9ZLArw^7E{=`0N
z>OUpBMju;@2?V@J#g&^^P81Z(hu+o(2;rxxp>xl)H+g{!TCeHtQRYIN1;8lvy1>!k
zt3W@1tgm+fwETORN~P2O%mndvF{-13Nf?u^nvq6h&IrH-kc^!0+hSB^_!%m*&w8no
zTBK~&xuv~;x9$w4A>a&0!BVg3PG1#jc%3GShNA>BxPU@4+d)f;OD%#*?;~)QxeSme
z)tH;-fv}nP->>aWqWDyVFqPPI+nx$&QAd1r-f5`nJ~#+-z?4)^9Rb9H#yQ4+LKXW@
zL^VcTT@va%p-c6C{&-G+xgfx?zBz#77qu%Cp72k9@ck5usP`e!Os5Ct6lHyZvJWpJ
zDw^tB*A(QC1NmMRUOr8o$%>VNe71z;K>LPA5gV7aPK6vo_BdqF!q>h>Ji3Zr2%D&=
zPF{(>Rs!rswP7*K!#=0cSvld=x29vvM-tZ=X@Ogk02MLojyGNC7H9Sca#T@$Gfbks
zuBB=7IBnf4<=NdrNDE{h1Sp}_^1o`xv11wFgk8;8pR-31KYgbO6T@zuWy0Yr=F_6n
z%;hdT$NE;FZJQ-<{__oyvGVHmiH~Vfu)eE2U@NwJ>wVSd@;~{TN3N;!h^ni
z-|JVtQWW>X#&m`@d9g?3NjAFjC7doC>nHT!0=#_sATgB;DOuUjqk2J+v(wVB_6cjk
z3T4WlIddj@2&c{bIj{3>ZLW>^J6h-6osw?(_L(I*S^K`J->|;vU_YIh!JP6vt?mgm
zA7E_Y1@YkjA{JFTywcKm`?>!*oSEBtTAj=c>9P|{xEH6m
zX#3EA;$aw5-vIv}>j=$`o5>wG9Oe0ELtM3xDj}!?mfx;6UZ=T55sa_JqeCkG<(IyN
z4RGD}|N8Z-uS14|YS}COzH3I76_MFeHU4>8;xRtok+J+J5oI
z+cU+G3R-llw@YcKdq