forecast.solar updates estimates as the day progresses, so a single
morning fetch can be stale by afternoon. New behaviour:
- Re-fetch every 4h within 07:00–19:00 window (3 fetches/day)
- Outside the window always serve the cached value
- Free tier limit is 12 req/day — 3 fetches is well within budget
- First startup outside window still fetches if cache is empty
Config: forecast.fetch_interval, fetch_window_start, fetch_window_end
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>