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
Voice assistant satellite with animated face on the CoreS3 display:
- power rails, IO expander resets and servo power as in the M5 BSP
- mic and speaker share one I2S bus, so the mic is released before playback
- AW88298 volume limited to the audible range (0.5-1.0)
- partial display redraws, status screen until Home Assistant connects
- battery and wifi indicators, listening icon
- camera converted to JPEG on demand, no periodic frames