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 6b0eb25..7b59e40 100644
Binary files a/docs/images/cyd-page-2.png and b/docs/images/cyd-page-2.png differ
diff --git a/docs/images/cyd-tiles-controls.png b/docs/images/cyd-tiles-controls.png
index e499b3e..e8e23cf 100644
Binary files a/docs/images/cyd-tiles-controls.png and b/docs/images/cyd-tiles-controls.png differ
diff --git a/docs/images/cyd-tiles-values.png b/docs/images/cyd-tiles-values.png
index 646fc94..55aebb8 100644
Binary files a/docs/images/cyd-tiles-values.png and b/docs/images/cyd-tiles-values.png differ
diff --git a/docs/images/cyd-vacuum.png b/docs/images/cyd-vacuum.png
index 226f2e8..dd347fc 100644
Binary files a/docs/images/cyd-vacuum.png and b/docs/images/cyd-vacuum.png differ
diff --git a/docs/images/editor-alerts.png b/docs/images/editor-alerts.png
index f579b41..49385fd 100644
Binary files a/docs/images/editor-alerts.png and b/docs/images/editor-alerts.png differ
diff --git a/docs/images/editor-new-screen.png b/docs/images/editor-new-screen.png
index 7a52b0f..55f21bc 100644
Binary files a/docs/images/editor-new-screen.png and b/docs/images/editor-new-screen.png differ
diff --git a/docs/images/editor-override-yaml.png b/docs/images/editor-override-yaml.png
new file mode 100644
index 0000000..13b3850
Binary files /dev/null and b/docs/images/editor-override-yaml.png differ
diff --git a/docs/images/editor-screen-settings.png b/docs/images/editor-screen-settings.png
new file mode 100644
index 0000000..4bc1c11
Binary files /dev/null and b/docs/images/editor-screen-settings.png differ
diff --git a/docs/images/editor-settings.png b/docs/images/editor-settings.png
index f832003..77fdd82 100644
Binary files a/docs/images/editor-settings.png and b/docs/images/editor-settings.png differ
diff --git a/docs/images/editor-tile-settings.png b/docs/images/editor-tile-settings.png
index 2469b46..da5b400 100644
Binary files a/docs/images/editor-tile-settings.png and b/docs/images/editor-tile-settings.png differ
diff --git a/docs/images/editor-tiles.png b/docs/images/editor-tiles.png
index 4955470..ba12c57 100644
Binary files a/docs/images/editor-tiles.png and b/docs/images/editor-tiles.png differ
diff --git a/docs/images/editor-top-bar.png b/docs/images/editor-top-bar.png
index 08e5e77..db3b44b 100644
Binary files a/docs/images/editor-top-bar.png and b/docs/images/editor-top-bar.png differ
diff --git a/docs/images/editor.png b/docs/images/editor.png
index 1dfde0d..c367fa1 100644
Binary files a/docs/images/editor.png and b/docs/images/editor.png differ
diff --git a/docs/images/guition-climate.png b/docs/images/guition-climate.png
index 277df1f..12009c7 100644
Binary files a/docs/images/guition-climate.png and b/docs/images/guition-climate.png differ
diff --git a/docs/images/guition-controls.png b/docs/images/guition-controls.png
index 04ec739..7bb2727 100644
Binary files a/docs/images/guition-controls.png and b/docs/images/guition-controls.png differ
diff --git a/docs/images/guition-dark-controls.png b/docs/images/guition-dark-controls.png
index 565ac12..c3ec7b5 100644
Binary files a/docs/images/guition-dark-controls.png and b/docs/images/guition-dark-controls.png differ
diff --git a/docs/images/guition-dark-settings.png b/docs/images/guition-dark-settings.png
new file mode 100644
index 0000000..6b26b8a
Binary files /dev/null and b/docs/images/guition-dark-settings.png differ
diff --git a/docs/images/guition-home.png b/docs/images/guition-home.png
index 07d9206..3a80c70 100644
Binary files a/docs/images/guition-home.png and b/docs/images/guition-home.png differ
diff --git a/docs/images/guition-settings-menu.png b/docs/images/guition-settings-menu.png
new file mode 100644
index 0000000..3897cb9
Binary files /dev/null and b/docs/images/guition-settings-menu.png differ
diff --git a/docs/images/guition-settings-night.png b/docs/images/guition-settings-night.png
new file mode 100644
index 0000000..8e48486
Binary files /dev/null and b/docs/images/guition-settings-night.png differ
diff --git a/docs/images/guition-settings-screen.png b/docs/images/guition-settings-screen.png
new file mode 100644
index 0000000..7d812da
Binary files /dev/null and b/docs/images/guition-settings-screen.png differ
diff --git a/docs/images/guition-settings.png b/docs/images/guition-settings.png
new file mode 100644
index 0000000..df5fe6a
Binary files /dev/null and b/docs/images/guition-settings.png differ
diff --git a/docs/images/guition-tiles-controls.png b/docs/images/guition-tiles-controls.png
index d05c831..86b1792 100644
Binary files a/docs/images/guition-tiles-controls.png and b/docs/images/guition-tiles-controls.png differ
diff --git a/docs/images/guition-tiles-values.png b/docs/images/guition-tiles-values.png
index e78da94..03d9137 100644
Binary files a/docs/images/guition-tiles-values.png and b/docs/images/guition-tiles-values.png differ
diff --git a/docs/images/guition-vacuum.png b/docs/images/guition-vacuum.png
index fecd26d..8dba15e 100644
Binary files a/docs/images/guition-vacuum.png and b/docs/images/guition-vacuum.png differ