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
+7
View File
@@ -1,3 +1,10 @@
## 0.2.88 (firmware 0.2.74)
Wi-Fi that never dozes, on every screen.
- **A screen keeps its Wi-Fi awake.** ESPHome lets an ESP32's Wi-Fi doze between the router's beacons unless the screen's YAML says otherwise. Then everything Home Assistant sends to the screen waits at the router for the next beacon: 76-117 ms on the bench screens against about 20 ms awake. That wait shows in the confirmation after a tap and in a lamp reporting its brightness. With the Wi-Fi awake, the screen also stalls less often for a moment while a camera picture comes in. The YAML ESP Screens writes has said `power_save_mode: none` since app 0.2.24, but older screens and YAMLs written by hand still dozed. The firmware now keeps the Wi-Fi awake itself; the screens hang on the mains, and it costs a few tenths of a watt. The network and its password stay in the screen's own YAML, and a `power_save_mode` there still wins.
- Needs firmware 0.2.74: press **Update** on the screen. Includes everything from 0.2.87. CYD firmware: 1,678,816 bytes, 91.5 % of the update slot, the same as 0.2.87.
## 0.2.87 (firmware 0.2.73)
A starting screen with a spinner, a camera that opens sooner with a spinner, and round corners on an alert's camera picture.
+1 -1
View File
@@ -37,7 +37,7 @@ WEEKDAYS = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su']
REPO = 'https://github.com/MaxGramser/homeassistant_espscreen'
REFS = {'cyd': 'main', 'guition': 'main'}
# Firmware shipped with this app release; screens below it get an update offer.
FIRMWARE_VERSION = '0.2.73'
FIRMWARE_VERSION = '0.2.74'
# The Auto standby switch a screen offers Home Assistant automations.
AUTO_STANDBY_MIN_FIRMWARE = '0.2.41'
# The settings page the screen opens itself, and the screen.settings tile that opens it.
+1 -1
View File
@@ -1,5 +1,5 @@
name: ESP Screen Manager
version: "0.2.87"
version: "0.2.88"
slug: esp_screen_manager
description: Choose tiles for your CYD and Guition touchscreen, without reflashing.
url: https://github.com/MaxGramser/homeassistant_espscreen