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 with pastel backgrounds: the coffee machine and the good-night script keep their colour, deeper

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.

+

+ The settings page on the Guition, Screen: the 12 or 24-hour clock, back to page 1 by itself and after how long, also on standby, swiping between pages and the rotation + The settings page on the Guition, Brightness: the brightness with minus and plus, Dark mode off, Auto standby on, standby after 10 minutes and the standby brightness + The same Brightness page right after turning Dark mode on: a black page with graphite rows and soft white text +

+

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.

- Choosing tiles: every page in the screen preview, next to the entity picker with filters - Tile settings: name, icon, display, width, direct control, tap action and pastel background + Choosing tiles: every page in the screen preview, next to the entity picker with filters + Tile settings of the curtains: double-width with open, stop and close on the tile, and on tap Perform action with Set cover position at 50 %

-

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.

Add to the top bar: the time, an analog clock, the date and suggestions from your own home Settings in ESP Screens: New screen and Firmware & USB, the firmware updates, the Alerts cheatsheet, and the Claude skill

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 in ESP Screens: Brightness with Dark mode and standby, Night with its hours and brightness, and Screen with the clock, back to page 1, swiping and the rotation +

+

Screen settings apply at once, and a change made on the screen or by an automation shows up here too.

+

+ Override YAML for the living room screen: a small file of its own, loaded after the shared package, here with the example that changes the display controller +

+

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).

Double-width tiles with direct control: heating mode keys with heat selected, previous, pause and next for the Sonos, and a ceiling fan's speed slider @@ -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.

- Tile settings: name, icon, display, width, direct control, tap action and pastel background - The result on the screen: a double-width Heating tile with temperature − and + + Tile settings of the curtains: double-width with open, stop and close on the tile, and on tap Perform action with Set cover position at 50 % + The result on the screen: the double-width Curtains tile with open, stop and close, above a kitchen timer, a scene and the sun path

-

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 | +

+ The settings menu on the Guition: Brightness, Night, Screen and This screen + The Brightness page: the brightness with minus and plus, Dark mode off, Auto standby on, standby after 10 minutes and the standby brightness + The Night page: Night mode on, starting at 22:00 and ending at 07:00, and the night brightness +

+ 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. +

+ Screen settings in ESP Screens: Brightness with Dark mode and standby, Night with its hours and brightness, and Screen with the clock, back to page 1, swiping and the rotation +

+ **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. + +

+ Override YAML for the living room screen: a small file of its own, loaded after the shared package, here with the example that changes the display controller +

+ **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