Let Home Assistant automations switch Auto standby per screen, and teach the skill (0.2.48)

App 0.2.48 / firmware 0.2.41:
- Both boards expose the switch "Auto standby", the same standby_enabled setting as the checkbox
  in ESP Screens. Off wakes a dimmed screen and keeps it on; on counts the standby time from that
  moment. The change is saved on the screen and reported through esphome.screen_setting, so ESP
  Screens stores it too. No action runs at boot (restore_mode DISABLED).
- The Claude skill gains "Standby and brightness": the switch, Standby after and the three
  brightness numbers, with an example automation that keeps screens awake while someone is home
  and a light is on or a window is open.
- EASY_SETUP and the README describe the entities and the automation.

Tested through Home Assistant's API on both bench boards (CYD: dimmed -> off wakes in 1.1 s, stays
bright past the standby time, on dims again after 61 s); see docs/TEST_RESULTS_0248.md, which also
records a CYD rollback after the first OTA that points to memory headroom, not to this change.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Max Gramser
2026-09-15 18:06:04 +02:00
parent 57c82fdd12
commit dffd6a90c6
13 changed files with 295 additions and 15 deletions
+14
View File
@@ -176,6 +176,20 @@ icons sit off-center in the browser); run `generate_packages.py` afterward.
The `MDI_GLYPH_*` substitutions are retired: `TILEn_ICON` in manual
profiles must come from the set. No changed preferences or keys.
### Compatibility 0.2.48 / firmware 0.2.41
Storage, protocol, preferences and keys are unchanged.
- Both profiles add a template switch `setting_auto_standby` ("Auto standby", entity category config,
`restore_mode: DISABLED`, state from `screen_settings::current.standby_enabled` through its lambda).
Its actions change `standby_enabled`, save the settings preference, send the existing
`esphome.screen_setting` event (`standby_enabled`, 1/0; the app already stores bool settings from it)
and run `apply_screen_settings`, which wakes a dimmed screen when standby is off. Turning it on sets
`last_touch_ms`, so the standby time counts from then.
- `claude_skill.text()` gains "Standby and brightness" (the switch, the four numbers, an example
automation); `core.AUTO_STANDBY_MIN_FIRMWARE` is 0.2.41. The skill description stays under 200 bytes.
An installed skill shows as outdated until it is installed again.
### Compatibility 0.2.47 / firmware 0.2.40
Firmware and board profiles; the app only raises `FIRMWARE_VERSION`. Storage, protocol, preferences and