T07: Solcast + Open-Meteo forecast clients
Solar forecast integration. Primary: Solcast (free tier, 7d horizon, SOLCAST_API_KEY from secret). Fallback: Open-Meteo (no key needed, 11d horizon). Refresh schedule: 30min 04:00-22:00 local time, 2h overnight. UPSERT to forecast_solar table via sqlmodel. Both APIs return rooftop kW estimates. Error handling: if both fail >2h → disable WEATHER controller mode + banner event.