Rewrite of the old config on the core ESPHome components (it8951, gt911,
bm8563, sht3xd):
- USB: always on, forecast screen redrawn every 15 min, forecast
refreshed every hour and when Home Assistant connects
- battery: BM8563 timer wakes the board every 15 min (off 1:00-5:00),
it draws the stored forecast and cuts power; WiFi only when the
forecast is older than 6 h
- mode detected by trying to power off; battery voltage drop on USB
triggers the battery cycle
- hourly forecast via weather.get_forecasts, 48 h kept in the FM24C02
EEPROM (include/m5paper_weather.h)
- OTA image confirmed before power-off, battery wake-ups are shorter
than boot_is_good_after
- status screen with "Made for ESPHome" logo, IPv6 addresses first
Move the homeassistant time platform (id ha_time) into all common
packages. Devices with custom triggers now use '!extend ha_time';
plain duplicate time blocks are removed. mcu-lvgl's unused time_comp
is unified to ha_time.
Bulk cleanup: remove trailing whitespace and ensure files end with a
newline. Structural issues (indentation, bracket spacing) left for
per-file fixes.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>