Keep every screen's Wi-Fi awake from the shared core, so Home Assistant's messages no longer wait for the router's next beacon (0.2.88)

packages/core.yaml sets wifi: power_save_mode: none. ESPHome merges it
under the screen's own wifi: block, which keeps the network, the password
and the hotspot, and the screen's own YAML still wins on the mode. The
YAML ESP Screens writes has had the line since app 0.2.24; screens with
an older or hand-written YAML ran ESPHome's ESP32 default light, and
their messages from Home Assistant waited 76-117 ms on the bench.

esphome config on the bench screens' Device Builder YAMLs: NONE for both
without a line of their own, LIGHT when the YAML says light. The bench
Guition, flashed from its Device Builder YAML: ping 15 ms average instead
of 117 ms. tools/check.sh: 474 Python tests (a new one keeps the core's
wifi: block to this one key), 19/19 C++, editor; firmware unchanged in
size (CYD 1,678,816 B, 91.5 %; Guition 2,055,280 B), since the checkout
profiles already had the line.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Max Gramser
2026-09-19 09:06:53 +02:00
parent ff9d3af9f8
commit fcdea12c44
11 changed files with 112 additions and 13 deletions
+4 -3
View File
@@ -111,9 +111,10 @@ button. The card disappears once the screen is in the list.
## 4. Choose and edit your tiles
Tip: in your ESPHome YAML, add the line `power_save_mode: none` under `wifi:` (new
wizard YAMLs already have it); the screen is mains-powered, so this keeps it responding to
Home Assistant without Wi-Fi sleep delay.
A screen keeps its Wi-Fi awake (`power_save_mode: none`): it is mains-powered, and this way
Home Assistant's messages reach it without waiting for the router. Firmware 0.2.74 and later
do this by themselves; an older screen gets it with its next **Update**. A `power_save_mode`
under `wifi:` in the screen's own ESPHome YAML still wins.
Select your screen, tap the bar at the top of a page to give the screen its name,
and search for entities in the **Library** on the right. It has domain filters with