Helvetica; ;; \*;; 2026-04-25 00:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Tracked actual weather - temp=5.8C, clouds=28% 2026-04-25 00:00:01 - custom_components.solar_forecast_ml.production.production_tracker - INFO - Midnight reset - Final production time for previous day: 13.74 hours 2026-04-25 00:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Executing hourly update 2026-04-25 00:06:04 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - INFO - System started without locked forecast (before 12:00) - initiating recovery 2026-04-25 00:06:04 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 48 hours across 2 days 2026-04-25 00:06:04 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 5.7, 'humidity': 88.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1018.8, 'solar_radiation': None, 'lux': 0.02\ 2026-04-25 00:06:04 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 00:06:04 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 00:06:04 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 00:06:04 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26 2026-04-25 00:06:04 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=32.17 kWh, Tomorrow=43.60 kWh, Day After=0.00 kWh, Method=AI + Physics 2026-04-25 00:06:04 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=32.17 kWh, tomorrow=43.6 kWh, method=AI + Physics, hourly_entries=48 2026-04-25 00:06:04 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 00:06:04 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 00:06:04 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 0 day_after 2026-04-25 00:06:04 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.498 seconds (success: True) 2026-04-25 00:10:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - Executing midnight task 2026-04-25 00:10:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Reset daily peak tracking 2026-04-25 00:10:00 - custom_components.solar_forecast_ml.data.data_state_handler - DEBUG - Expected daily production cleared 2026-04-25 00:10:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - Dynamic scheduling: Weather blend at 05:15 (sunrise 06:00 - 45min) 2026-04-25 00:10:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - Dynamic scheduling: Corrected forecast at 05:20 (sunrise 06:00 - 40min) 2026-04-25 00:10:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - Dynamic scheduling: Final forecast at 05:30 (sunrise 06:00 - 30min) 2026-04-25 00:20:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - Astronomy cache refresh triggered at 00:20:00 2026-04-25 00:20:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - Refreshing astronomy cache for today + 7 days... 2026-04-25 00:20:00 - custom_components.solar_forecast_ml.astronomy.astronomy_cache - INFO - Astronomy Cache initialized: lat=52.XXXXX, lon=10.XXXXX, tz=Europe/Berlin, elev=80m 2026-04-25 00:20:00 - custom_components.solar_forecast_ml.astronomy.astronomy_cache - INFO - Panel groups configured: 4 groups 2026-04-25 00:20:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Panel groups set for astronomy refresh: 4 groups 2026-04-25 00:20:00 - custom_components.solar_forecast_ml.astronomy.astronomy_cache - INFO - Rebuilding astronomy cache: 0 days back, 7 days ahead from 2026-04-25 2026-04-25 00:20:00 - custom_components.solar_forecast_ml.astronomy.astronomy_cache - INFO - Processing 8 days in parallel... 2026-04-25 00:20:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Scheduled corrected forecast triggered (00:20) 2026-04-25 00:20:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Fetching fresh weather data for next day forecast... 2026-04-25 00:20:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Refreshing all weather sources (force)... 2026-04-25 00:20:00 - custom_components.solar_forecast_ml.astronomy.astronomy_cache - INFO - Astronomy cache: 8/8 days processed 2026-04-25 00:20:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - Astronomy cache refreshed: 8 days updated, 0 errors 2026-04-25 00:20:00 - custom_components.solar_forecast_ml.astronomy.astronomy_cache_manager - DEBUG - Loaded 10 days + 240 hourly entries of astronomy data into cache 2026-04-25 00:20:00 - custom_components.solar_forecast_ml.astronomy.astronomy_cache_manager - DEBUG - Astronomy cache manager initialized from database 2026-04-25 00:20:05 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 00:20:05 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 795 W/m2) 2026-04-25 00:20:05 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Open-Meteo fetch SUCCESS 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_expert_blender - DEBUG - BrightSky: Saved 25 hours to DB 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Expert sources: wttr.in: FAILED, Bright Sky: OK, Pirate Weather: disabled 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - INFO - Loaded 3 dates from weather_cache_open_meteo (RAW) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 6: 11.6 * 0.483 = 5.6 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 7: 29.0 W/m\'b2 (cloud_cover=30%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 8: 115.0 W/m\'b2 (cloud_cover=26%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 9: 233.0 W/m\'b2 (cloud_cover=24%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 10: 370.0 W/m\'b2 (cloud_cover=23%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 11: 515.0 W/m\'b2 (cloud_cover=23%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 12: 653.0 W/m\'b2 (cloud_cover=23%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 13: 747.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 14: 771.0 W/m\'b2 (cloud_cover=28%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 15: 732.0 W/m\'b2 (cloud_cover=30%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 16: 646.0 W/m\'b2 (cloud_cover=29%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 17: 528.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 18: 387.0 W/m\'b2 (cloud_cover=29%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 19: 236.0 W/m\'b2 (cloud_cover=31%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 20: 95.0 W/m\'b2 (cloud_cover=30%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 21: 8.0 W/m\'b2 (cloud_cover=32%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 6: 12.7 * 0.847 = 10.7 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 7: 48.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 8: 172.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 9: 326.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 10: 487.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 11: 623.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 12: 722.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 13: 780.0 W/m\'b2 (cloud_cover=4%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 14: 795.0 W/m\'b2 (cloud_cover=4%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 15: 760.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 16: 675.0 W/m\'b2 (cloud_cover=8%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 17: 547.0 W/m\'b2 (cloud_cover=10%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 18: 397.0 W/m\'b2 (cloud_cover=11%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 19: 244.0 W/m\'b2 (cloud_cover=12%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 20: 105.0 W/m\'b2 (cloud_cover=12%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 21: 11.0 W/m\'b2 (cloud_cover=18%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 6: 14.1 * 0.280 = 4.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 7: 52.0 W/m\'b2 (cloud_cover=50%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 8: 173.0 W/m\'b2 (cloud_cover=50%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 9: 315.0 W/m\'b2 (cloud_cover=50%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 10: 461.0 W/m\'b2 (cloud_cover=50%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 11: 591.0 W/m\'b2 (cloud_cover=50%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 12: 691.0 W/m\'b2 (cloud_cover=50%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 13: 739.0 W/m\'b2 (cloud_cover=50%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 14: 721.0 W/m\'b2 (cloud_cover=50%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 15: 646.0 W/m\'b2 (cloud_cover=50%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 16: 538.0 W/m\'b2 (cloud_cover=50%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 17: 408.0 W/m\'b2 (cloud_cover=50%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 18: 275.0 W/m\'b2 (cloud_cover=50%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 19: 163.0 W/m\'b2 (cloud_cover=50%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 20: 75.0 W/m\'b2 (cloud_cover=50%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 21: 9.0 W/m\'b2 (cloud_cover=50%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - INFO - Created corrected forecast: 72 hours written to weather_forecast 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Corrected forecast updated 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Fresh weather data fetched successfully 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - INFO - Loaded 3 dates from weather_cache_open_meteo (RAW) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 6: 11.6 * 0.390 = 4.5 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 7: 29.0 W/m\'b2 (cloud_cover=38%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 8: 115.0 W/m\'b2 (cloud_cover=33%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 9: 233.0 W/m\'b2 (cloud_cover=30%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 10: 370.0 W/m\'b2 (cloud_cover=28%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 11: 515.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 12: 653.0 W/m\'b2 (cloud_cover=25%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 13: 747.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 14: 771.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 15: 732.0 W/m\'b2 (cloud_cover=29%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 16: 646.0 W/m\'b2 (cloud_cover=29%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 17: 528.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 18: 387.0 W/m\'b2 (cloud_cover=30%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 19: 236.0 W/m\'b2 (cloud_cover=32%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 20: 95.0 W/m\'b2 (cloud_cover=32%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 21: 8.0 W/m\'b2 (cloud_cover=33%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 6: 12.7 * 0.839 = 10.6 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 7: 48.0 W/m\'b2 (cloud_cover=7%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 8: 172.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 9: 326.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 10: 487.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 11: 623.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 12: 722.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 13: 780.0 W/m\'b2 (cloud_cover=4%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 14: 795.0 W/m\'b2 (cloud_cover=4%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 15: 760.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 16: 675.0 W/m\'b2 (cloud_cover=8%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 17: 547.0 W/m\'b2 (cloud_cover=10%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 18: 397.0 W/m\'b2 (cloud_cover=10%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 19: 244.0 W/m\'b2 (cloud_cover=11%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 20: 105.0 W/m\'b2 (cloud_cover=11%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 21: 11.0 W/m\'b2 (cloud_cover=14%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 6: 14.1 * 0.589 = 8.3 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 7: 52.0 W/m\'b2 (cloud_cover=28%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 8: 173.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 9: 315.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 10: 461.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 11: 591.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 12: 691.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 13: 739.0 W/m\'b2 (cloud_cover=38%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 14: 721.0 W/m\'b2 (cloud_cover=47%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 15: 646.0 W/m\'b2 (cloud_cover=46%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 16: 538.0 W/m\'b2 (cloud_cover=45%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 17: 408.0 W/m\'b2 (cloud_cover=44%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 18: 275.0 W/m\'b2 (cloud_cover=41%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 19: 163.0 W/m\'b2 (cloud_cover=37%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 20: 75.0 W/m\'b2 (cloud_cover=36%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 21: 9.0 W/m\'b2 (cloud_cover=38%) 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_corrector - INFO - Created corrected forecast: 72 hours written to weather_forecast 2026-04-25 00:20:07 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Daily corrected forecast created with fresh data 2026-04-25 00:30:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - === EARLY MORNING FORECAST SCHEDULER TRIGGERED at 00:30:00 === 2026-04-25 00:30:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - Creating early morning forecast task... 2026-04-25 00:30:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - >>> STARTING EARLY MORNING FORECAST (00:30 scheduled execution) <<< 2026-04-25 00:30:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - 2026-04-25 00:30:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - 2026-04-25 00:30:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - EARLY MORNING FORECAST @ 00:30 - Initial daily forecast 2026-04-25 00:30:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - 2026-04-25 00:30:00 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 00:30:00 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 5.5, 'humidity': 89.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1018.7, 'solar_radiation': None, 'lux': 0.0\ 2026-04-25 00:30:00 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 00:30:00 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 00:30:00 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 00:30:01 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26 2026-04-25 00:30:01 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.21 kWh, Tomorrow=43.67 kWh, Day After=34.11 kWh, Method=AI + Physics 2026-04-25 00:30:01 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - Generated full forecast for 2026-04-25: today=28.21, tomorrow=43.67, day_after=34.11 kWh 2026-04-25 00:30:01 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Loaded 72 weather hours from DB (3-day range: 2026-04-25 to 2026-04-27) 2026-04-25 00:30:01 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - 2026-04-25 00:30:01 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ================================================================================ 2026-04-25 00:30:01 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - MORNING ROUTINE EXECUTION - Attempt 1/3 for 2026-04-25 2026-04-25 00:30:01 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ================================================================================ 2026-04-25 00:30:01 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Step 1/5: Validating prerequisites... 2026-04-25 00:30:01 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - All prerequisites validated 2026-04-25 00:30:01 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Prerequisites validated: 72 forecast hours, 72 weather hours 2026-04-25 00:30:01 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Inverter capping enabled: 5.00 kW 2026-04-25 00:30:01 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Step 2/5: Creating hourly predictions in database... 2026-04-25 00:30:01 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Checking and unlocking existing forecast locks... 2026-04-25 00:30:01 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Found 24 existing predictions - will update 2026-04-25 00:30:01 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Preparing to update predictions for 3 days... 2026-04-25 00:30:01 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Cleared 72 existing prediction slots for update 2026-04-25 00:30:01 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Processing 72 input forecast entries (3 days)... 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Calculating daily totals from saved predictions for 3 days... 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - 2026-04-25: 28.21 kWh 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - 2026-04-26: 39.04 kWh 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - 2026-04-27: 33.43 kWh 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Saving daily forecasts to database for 3 days... 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Daily forecasts LOCKED for 3 days: locked=TRUE, locked_at=2026-04-25 00:30:01.229138+02:00 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Updating coordinator expected daily production... 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.data.data_state_handler - DEBUG - Expected daily production saved: 28.21 kWh 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Setting morning routine lock for 2026-04-25... 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Lock flag set: last_set_date = 2026-04-25 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - SUMMARY: 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - \'95 Input entries: 72 (3 days) 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - \'95 Created predictions: 72 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - \'95 Predictions per day: 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - - 2026-04-25: 24 hours, 28.21 kWh 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - - 2026-04-26: 24 hours, 39.04 kWh 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - - 2026-04-27: 24 hours, 33.43 kWh 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - \'95 Coordinator updated: Yes (today=28.21 kWh) 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Hourly predictions created successfully 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Step 3/5: Verifying data integrity... 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Integrity verified for 3 days starting from 2026-04-25, no duplicates 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Data integrity verified - no duplicates found 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Step 4/5: Refreshing coordinator cache... 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Coordinator cache refreshed 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Step 5/5: Triggering sensor updates... 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 5.5, 'humidity': 89.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1018.7, 'solar_radiation': None, 'lux': 0.0\ 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 00:30:02 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.46 kWh, Tomorrow=43.50 kWh, Day After=34.41 kWh, Method=AI + Physics 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.46 kWh, tomorrow=43.5 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.717 seconds (success: True) 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Sensor updates triggered 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ================================================================================ 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - MORNING ROUTINE SUCCESSFUL 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Date: 2026-04-25 | Attempt: 1/3 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ================================================================================ 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.data.data_manager - DEBUG - Best hour forecast saved: hour=11, prediction=4.284 kWh, source=AI + Physics 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - Best hour saved: 11:00 (4.284 kWh) 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.data.data_manager - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Tomorrow forecast saved: 43.67 kWh 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.data.data_manager - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Day-after forecast saved: 34.11 kWh 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - EARLY MORNING FORECAST COMPLETED SUCCESSFULLY! 2026-04-25 00:30:03 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - 2026-04-25 00:33:02 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background forecast update starting... 2026-04-25 00:33:02 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update - fetching from Open-Meteo API... 2026-04-25 00:33:03 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 00:33:03 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 795 W/m2) 2026-04-25 00:33:03 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update successful: 72 hours 2026-04-25 00:33:03 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background update complete: 72 hours 2026-04-25 01:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Tracked actual weather - temp=5.4C, clouds=38% 2026-04-25 01:00:03 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 01:00:03 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 5.4, 'humidity': 90.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1018.8, 'solar_radiation': None, 'lux': 0.0\ 2026-04-25 01:00:03 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 01:00:03 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 01:00:03 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 01:00:04 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 01:00:04 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.46 kWh, Tomorrow=43.50 kWh, Day After=34.41 kWh, Method=AI + Physics 2026-04-25 01:00:04 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 01:00:04 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 01:00:04 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 01:00:04 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.46 kWh, tomorrow=43.5 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 01:00:04 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 01:00:04 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 01:00:04 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 01:00:04 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 01:00:04 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 01:00:04 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 01:00:04 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.723 seconds (success: True) 2026-04-25 01:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Executing hourly update 2026-04-25 01:30:04 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 01:30:04 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 5.4, 'humidity': 90.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1018.8, 'solar_radiation': None, 'lux': 0.0\ 2026-04-25 01:30:04 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 01:30:04 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 01:30:04 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 01:30:05 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 01:30:05 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.46 kWh, Tomorrow=43.50 kWh, Day After=34.41 kWh, Method=AI + Physics 2026-04-25 01:30:05 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 01:30:05 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 01:30:05 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 01:30:05 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.46 kWh, tomorrow=43.5 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 01:30:05 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 01:30:05 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 01:30:05 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 01:30:05 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 01:30:05 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 01:30:05 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 01:30:05 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.719 seconds (success: True) 2026-04-25 01:33:03 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background forecast update starting... 2026-04-25 01:33:03 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update - fetching from Open-Meteo API... 2026-04-25 01:33:03 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 01:33:03 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 795 W/m2) 2026-04-25 01:33:03 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update successful: 72 hours 2026-04-25 01:33:03 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background update complete: 72 hours 2026-04-25 02:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Tracked actual weather - temp=5.6C, clouds=41% 2026-04-25 02:00:05 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 02:00:05 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 5.6, 'humidity': 90.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1018.8, 'solar_radiation': None, 'lux': 0.0\ 2026-04-25 02:00:05 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 02:00:05 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 02:00:05 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 02:00:06 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 02:00:06 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.46 kWh, Tomorrow=43.50 kWh, Day After=34.41 kWh, Method=AI + Physics 2026-04-25 02:00:06 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 02:00:06 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 02:00:06 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 02:00:06 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.46 kWh, tomorrow=43.5 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 02:00:06 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 02:00:06 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 02:00:06 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 02:00:06 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 02:00:06 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 02:00:06 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 02:00:06 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.713 seconds (success: True) 2026-04-25 02:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Executing hourly update 2026-04-25 02:30:06 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 02:30:06 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 6.3, 'humidity': 90.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1018.2, 'solar_radiation': None, 'lux': 0.0\ 2026-04-25 02:30:06 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 02:30:06 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 02:30:06 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 02:30:07 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 02:30:07 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.46 kWh, Tomorrow=43.50 kWh, Day After=34.41 kWh, Method=AI + Physics 2026-04-25 02:30:07 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 02:30:07 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 02:30:07 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 02:30:07 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.46 kWh, tomorrow=43.5 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 02:30:07 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 02:30:07 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 02:30:07 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 02:30:07 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 02:30:07 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 02:30:07 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 02:30:07 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.722 seconds (success: True) 2026-04-25 02:33:03 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background forecast update starting... 2026-04-25 02:33:03 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update - fetching from Open-Meteo API... 2026-04-25 02:33:03 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 02:33:03 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 795 W/m2) 2026-04-25 02:33:03 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update successful: 72 hours 2026-04-25 02:33:03 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background update complete: 72 hours 2026-04-25 03:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Tracked actual weather - temp=6.5C, clouds=42% 2026-04-25 03:00:07 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 03:00:07 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 6.5, 'humidity': 88.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1018.1, 'solar_radiation': None, 'lux': 0.0\ 2026-04-25 03:00:07 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 03:00:07 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 03:00:07 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 03:00:08 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 03:00:08 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.46 kWh, Tomorrow=43.50 kWh, Day After=34.41 kWh, Method=AI + Physics 2026-04-25 03:00:08 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 03:00:08 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 03:00:08 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 03:00:08 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.46 kWh, tomorrow=43.5 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 03:00:08 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 03:00:08 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 03:00:08 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 03:00:08 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 03:00:08 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 03:00:08 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 03:00:08 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.702 seconds (success: True) 2026-04-25 03:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Executing hourly update 2026-04-25 03:30:08 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 03:30:08 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 6.6, 'humidity': 86.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.8, 'solar_radiation': None, 'lux': 0.0\ 2026-04-25 03:30:08 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 03:30:08 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 03:30:08 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 03:30:09 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 03:30:09 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.46 kWh, Tomorrow=43.50 kWh, Day After=34.41 kWh, Method=AI + Physics 2026-04-25 03:30:09 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 03:30:09 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 03:30:09 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 03:30:09 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.46 kWh, tomorrow=43.5 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 03:30:09 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 03:30:09 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 03:30:09 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 03:30:09 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 03:30:09 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 03:30:09 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 03:30:09 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.696 seconds (success: True) 2026-04-25 03:33:03 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background forecast update starting... 2026-04-25 03:33:03 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update - fetching from Open-Meteo API... 2026-04-25 03:33:04 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 03:33:04 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 796 W/m2) 2026-04-25 03:33:04 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update successful: 72 hours 2026-04-25 03:33:04 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background update complete: 72 hours 2026-04-25 04:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Tracked actual weather - temp=6.6C, clouds=42% 2026-04-25 04:00:09 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 04:00:09 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 6.6, 'humidity': 84.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.8, 'solar_radiation': None, 'lux': 0.0\ 2026-04-25 04:00:09 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 04:00:09 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 04:00:09 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 04:00:10 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 04:00:10 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.46 kWh, Tomorrow=43.50 kWh, Day After=34.41 kWh, Method=AI + Physics 2026-04-25 04:00:10 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 04:00:10 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 04:00:10 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 04:00:10 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.46 kWh, tomorrow=43.5 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 04:00:10 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 04:00:10 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 04:00:10 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 04:00:10 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 04:00:10 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 04:00:10 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 04:00:10 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.722 seconds (success: True) 2026-04-25 04:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Executing hourly update 2026-04-25 04:30:10 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 04:30:10 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 6.7, 'humidity': 84.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.7, 'solar_radiation': None, 'lux': 0.0\ 2026-04-25 04:30:10 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 04:30:10 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 04:30:10 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 04:30:11 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 04:30:11 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.46 kWh, Tomorrow=43.50 kWh, Day After=34.41 kWh, Method=AI + Physics 2026-04-25 04:30:11 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 04:30:11 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 04:30:11 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 04:30:11 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.46 kWh, tomorrow=43.5 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 04:30:11 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 04:30:11 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 04:30:11 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 04:30:11 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 04:30:11 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 04:30:11 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 04:30:11 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.711 seconds (success: True) 2026-04-25 04:33:04 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background forecast update starting... 2026-04-25 04:33:04 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update - fetching from Open-Meteo API... 2026-04-25 04:33:04 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 04:33:04 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 796 W/m2) 2026-04-25 04:33:04 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update successful: 72 hours 2026-04-25 04:33:04 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background update complete: 72 hours 2026-04-25 05:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Tracked actual weather - temp=6.6C, clouds=41% 2026-04-25 05:00:11 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 05:00:11 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 6.6, 'humidity': 82.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.6, 'solar_radiation': None, 'lux': 0.01\ 2026-04-25 05:00:11 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 05:00:11 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 05:00:11 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 05:00:12 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 05:00:12 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.46 kWh, Tomorrow=43.50 kWh, Day After=34.41 kWh, Method=AI + Physics 2026-04-25 05:00:12 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 05:00:12 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 05:00:12 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 05:00:12 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.46 kWh, tomorrow=43.5 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 05:00:12 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 05:00:12 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 05:00:12 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 05:00:12 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 05:00:12 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 05:00:12 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 05:00:12 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.700 seconds (success: True) 2026-04-25 05:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Executing hourly update 2026-04-25 05:05:00 - custom_components.solar_forecast_ml.data.data_panel_group_sensor_reader - INFO - Energy counter reset detected for group 'Gruppe 1': 14.4100 -> 0.0000 kWh 2026-04-25 05:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Panel group actuals for hour 4: \'Gruppe 1': 0.0\ 2026-04-25 05:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Panel group actuals updated for 2026-04-25_04: 1 groups 2026-04-25 05:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Shadow detection for 2026-04-25_04: night (100.0%) 2026-04-25 05:15:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - 2026-04-25 05:15:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - 2026-04-25 05:15:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - [1/3] WEATHER BLEND REFRESH @ 05:15 2026-04-25 05:15:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - 2026-04-25 05:15:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - Fetching fresh weather data from multiple sources... 2026-04-25 05:15:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Refreshing all weather sources (force)... 2026-04-25 05:15:00 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 05:15:00 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 796 W/m2) 2026-04-25 05:15:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Open-Meteo fetch SUCCESS 2026-04-25 05:15:00 - custom_components.solar_forecast_ml.data.data_weather_expert_blender - WARNING - WttrIn fetch error: 200, message='Attempt to decode JSON with unexpected mimetype: application/text', url='https://wttr.in/52.XXXXX,10.XXXXX?format=j1' 2026-04-25 05:15:00 - custom_components.solar_forecast_ml.data.data_weather_expert_blender - DEBUG - BrightSky: Saved 25 hours to DB 2026-04-25 05:15:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Expert sources: wttr.in: FAILED, Bright Sky: OK, Pirate Weather: disabled 2026-04-25 05:15:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - INFO - Loaded 3 dates from weather_cache_open_meteo (RAW) 2026-04-25 05:15:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 6: 11.6 * 0.401 = 4.6 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 7: 33.0 W/m\'b2 (cloud_cover=39%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 8: 123.0 W/m\'b2 (cloud_cover=34%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 9: 233.0 W/m\'b2 (cloud_cover=32%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 10: 358.0 W/m\'b2 (cloud_cover=29%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 11: 498.0 W/m\'b2 (cloud_cover=28%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 12: 640.0 W/m\'b2 (cloud_cover=26%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 13: 740.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 14: 768.0 W/m\'b2 (cloud_cover=28%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 15: 733.0 W/m\'b2 (cloud_cover=29%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 16: 650.0 W/m\'b2 (cloud_cover=29%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 17: 532.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 18: 390.0 W/m\'b2 (cloud_cover=30%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 19: 238.0 W/m\'b2 (cloud_cover=30%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 20: 96.0 W/m\'b2 (cloud_cover=32%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 21: 8.0 W/m\'b2 (cloud_cover=33%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 6: 12.7 * 0.835 = 10.6 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 7: 48.0 W/m\'b2 (cloud_cover=7%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 8: 172.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 9: 325.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 10: 486.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 11: 622.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 12: 722.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 13: 780.0 W/m\'b2 (cloud_cover=4%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 14: 796.0 W/m\'b2 (cloud_cover=4%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 15: 763.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 16: 676.0 W/m\'b2 (cloud_cover=8%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 17: 546.0 W/m\'b2 (cloud_cover=9%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 18: 393.0 W/m\'b2 (cloud_cover=10%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 19: 236.0 W/m\'b2 (cloud_cover=10%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 20: 94.0 W/m\'b2 (cloud_cover=11%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 21: 8.0 W/m\'b2 (cloud_cover=12%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 6: 14.1 * 0.686 = 9.7 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 7: 51.0 W/m\'b2 (cloud_cover=19%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 8: 175.0 W/m\'b2 (cloud_cover=16%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 9: 328.0 W/m\'b2 (cloud_cover=16%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 10: 487.0 W/m\'b2 (cloud_cover=16%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 11: 620.0 W/m\'b2 (cloud_cover=18%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 12: 717.0 W/m\'b2 (cloud_cover=23%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 13: 767.0 W/m\'b2 (cloud_cover=36%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 14: 766.0 W/m\'b2 (cloud_cover=46%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 15: 713.0 W/m\'b2 (cloud_cover=45%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 16: 615.0 W/m\'b2 (cloud_cover=44%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 17: 482.0 W/m\'b2 (cloud_cover=43%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 18: 336.0 W/m\'b2 (cloud_cover=39%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 19: 198.0 W/m\'b2 (cloud_cover=35%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 20: 80.0 W/m\'b2 (cloud_cover=33%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 21: 8.0 W/m\'b2 (cloud_cover=36%) 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - INFO - Created corrected forecast: 72 hours written to weather_forecast 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Corrected forecast updated 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - Weather blend SUCCESS! 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - \'95 Active sources: 0 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - \'95 Hours blended: 0 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - \'95 Cache updated 2026-04-25 05:15:01 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - [2/3] CORRECTED FORECAST @ 05:20 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - Applying learned corrections to weather data... 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - INFO - Loaded 3 dates from weather_cache_open_meteo (RAW) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 6: 11.6 * 0.348 = 4.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 7: 33.0 W/m\'b2 (cloud_cover=42%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 8: 123.0 W/m\'b2 (cloud_cover=37%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 9: 233.0 W/m\'b2 (cloud_cover=33%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 10: 358.0 W/m\'b2 (cloud_cover=30%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 11: 498.0 W/m\'b2 (cloud_cover=28%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 12: 640.0 W/m\'b2 (cloud_cover=26%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 13: 740.0 W/m\'b2 (cloud_cover=26%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 14: 768.0 W/m\'b2 (cloud_cover=26%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 15: 733.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 16: 650.0 W/m\'b2 (cloud_cover=29%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 17: 532.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 18: 390.0 W/m\'b2 (cloud_cover=30%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 19: 238.0 W/m\'b2 (cloud_cover=28%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 20: 96.0 W/m\'b2 (cloud_cover=28%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 21: 8.0 W/m\'b2 (cloud_cover=30%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 6: 12.7 * 0.864 = 11.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 7: 48.0 W/m\'b2 (cloud_cover=7%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 8: 172.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 9: 325.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 10: 486.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 11: 622.0 W/m\'b2 (cloud_cover=4%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 12: 722.0 W/m\'b2 (cloud_cover=4%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 13: 780.0 W/m\'b2 (cloud_cover=3%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 14: 796.0 W/m\'b2 (cloud_cover=3%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 15: 763.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 16: 676.0 W/m\'b2 (cloud_cover=8%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 17: 546.0 W/m\'b2 (cloud_cover=10%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 18: 393.0 W/m\'b2 (cloud_cover=20%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 19: 236.0 W/m\'b2 (cloud_cover=28%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 20: 94.0 W/m\'b2 (cloud_cover=37%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 21: 8.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 6: 14.1 * 0.793 = 11.2 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 7: 51.0 W/m\'b2 (cloud_cover=11%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 8: 175.0 W/m\'b2 (cloud_cover=8%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 9: 328.0 W/m\'b2 (cloud_cover=8%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 10: 487.0 W/m\'b2 (cloud_cover=8%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 11: 620.0 W/m\'b2 (cloud_cover=11%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 12: 717.0 W/m\'b2 (cloud_cover=14%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 13: 767.0 W/m\'b2 (cloud_cover=21%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 14: 766.0 W/m\'b2 (cloud_cover=26%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 15: 713.0 W/m\'b2 (cloud_cover=26%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 16: 615.0 W/m\'b2 (cloud_cover=37%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 17: 482.0 W/m\'b2 (cloud_cover=44%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 18: 336.0 W/m\'b2 (cloud_cover=43%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 19: 198.0 W/m\'b2 (cloud_cover=42%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 20: 80.0 W/m\'b2 (cloud_cover=41%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 21: 8.0 W/m\'b2 (cloud_cover=42%) 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - INFO - Created corrected forecast: 72 hours written to weather_forecast 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - Corrected forecast SUCCESS! 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - \'95 Temperature corrections applied 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - \'95 Solar radiation corrections applied 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - \'95 Cloud cover corrections applied 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - \'95 Corrected forecast saved to database 2026-04-25 05:20:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - [3/3] FINAL MORNING FORECAST @ 05:30 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - Executing complete morning routine... 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 6.4, 'humidity': 82.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.6, 'solar_radiation': None, 'lux': 1.06\ 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=27.94 kWh, Tomorrow=43.37 kWh, Day After=36.30 kWh, Method=AI + Physics 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - Generated full forecast for 2026-04-25: today=27.94, tomorrow=43.37, day_after=36.30 kWh 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Loaded 72 weather hours from DB (3-day range: 2026-04-25 to 2026-04-27) 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ================================================================================ 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - MORNING ROUTINE EXECUTION - Attempt 1/3 for 2026-04-25 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ================================================================================ 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Step 1/5: Validating prerequisites... 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - All prerequisites validated 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Prerequisites validated: 72 forecast hours, 72 weather hours 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Inverter capping enabled: 5.00 kW 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Step 2/5: Creating hourly predictions in database... 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Checking and unlocking existing forecast locks... 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Found 24 existing predictions - will update 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Unlocking daily_forecast (was locked at 2026-04-25 00:30:01.229138+02:00 by morning_routine) 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Preparing to update predictions for 3 days... 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Preserved 1 hourly actuals, 0 group actuals before re-creation 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Cleared 72 existing prediction slots for update 2026-04-25 05:30:00 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Processing 72 input forecast entries (3 days)... 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Restored 1 hourly actuals, 0 group actuals, 1 sensor, 1 weather actuals 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Calculating daily totals from saved predictions for 3 days... 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - 2026-04-25: 27.94 kWh 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - 2026-04-26: 38.83 kWh 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - 2026-04-27: 34.53 kWh 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Saving daily forecasts to database for 3 days... 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Daily forecasts LOCKED for 3 days: locked=TRUE, locked_at=2026-04-25 05:30:00.790935+02:00 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Updating coordinator expected daily production... 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.data.data_state_handler - DEBUG - Expected daily production saved: 27.94 kWh 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Setting morning routine lock for 2026-04-25... 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Lock flag set: last_set_date = 2026-04-25 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - SUMMARY: 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - \'95 Input entries: 72 (3 days) 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - \'95 Created predictions: 72 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - \'95 Predictions per day: 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - - 2026-04-25: 24 hours, 27.94 kWh 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - - 2026-04-26: 24 hours, 38.83 kWh 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - - 2026-04-27: 24 hours, 34.53 kWh 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - \'95 Coordinator updated: Yes (today=27.94 kWh) 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Hourly predictions created successfully 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Step 3/5: Verifying data integrity... 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Integrity verified for 3 days starting from 2026-04-25, no duplicates 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Data integrity verified - no duplicates found 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Step 4/5: Refreshing coordinator cache... 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Coordinator cache refreshed 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Step 5/5: Triggering sensor updates... 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 6.4, 'humidity': 82.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.6, 'solar_radiation': None, 'lux': 1.06\ 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 05:30:02 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.05 kWh, Tomorrow=43.12 kWh, Day After=36.06 kWh, Method=AI + Physics 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.05 kWh, tomorrow=43.12 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.695 seconds (success: True) 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Sensor updates triggered 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ================================================================================ 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - MORNING ROUTINE SUCCESSFUL 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - Date: 2026-04-25 | Attempt: 1/3 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - ================================================================================ 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.production.production_morning_routine - INFO - 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.data.data_manager - DEBUG - Best hour forecast saved: hour=12, prediction=4.289 kWh, source=AI + Physics 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - Best hour saved: 12:00 (4.289 kWh) 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.data.data_manager - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Tomorrow forecast saved: 43.37 kWh 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.data.data_manager - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Day-after forecast saved: 36.30 kWh 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - ALL MORNING TASKS COMPLETED SUCCESSFULLY! 2026-04-25 05:30:03 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - INFO - 2026-04-25 05:33:04 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background forecast update starting... 2026-04-25 05:33:04 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update - fetching from Open-Meteo API... 2026-04-25 05:33:04 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 05:33:04 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 796 W/m2) 2026-04-25 05:33:04 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update successful: 72 hours 2026-04-25 05:33:04 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background update complete: 72 hours 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Scheduled weather update triggered 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Refreshing all weather sources... 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_open_meteo_client - DEBUG - Using fresh cached Open-Meteo data 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Open-Meteo fetch SUCCESS 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Tracked actual weather - temp=6.5C, clouds=43% 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Expert sources: wttr.in: FAILED, Bright Sky: OK, Pirate Weather: disabled 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - INFO - Loaded 3 dates from weather_cache_open_meteo (RAW) 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 6: 11.6 * 0.339 = 3.9 W/m\'b2 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 7: 33.0 W/m\'b2 (cloud_cover=43%) 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 8: 123.0 W/m\'b2 (cloud_cover=37%) 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 9: 233.0 W/m\'b2 (cloud_cover=34%) 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 10: 358.0 W/m\'b2 (cloud_cover=30%) 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 11: 498.0 W/m\'b2 (cloud_cover=28%) 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 12: 640.0 W/m\'b2 (cloud_cover=26%) 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 13: 740.0 W/m\'b2 (cloud_cover=25%) 2026-04-25 06:00:00 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 14: 768.0 W/m\'b2 (cloud_cover=26%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 15: 733.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 16: 650.0 W/m\'b2 (cloud_cover=29%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 17: 532.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 18: 390.0 W/m\'b2 (cloud_cover=29%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 19: 238.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 20: 96.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 21: 8.0 W/m\'b2 (cloud_cover=29%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 6: 12.7 * 0.876 = 11.1 W/m\'b2 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 7: 48.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 8: 172.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 9: 325.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 10: 486.0 W/m\'b2 (cloud_cover=4%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 11: 622.0 W/m\'b2 (cloud_cover=4%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 12: 722.0 W/m\'b2 (cloud_cover=3%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 13: 780.0 W/m\'b2 (cloud_cover=3%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 14: 796.0 W/m\'b2 (cloud_cover=3%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 15: 763.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 16: 676.0 W/m\'b2 (cloud_cover=8%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 17: 546.0 W/m\'b2 (cloud_cover=11%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 18: 393.0 W/m\'b2 (cloud_cover=22%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 19: 236.0 W/m\'b2 (cloud_cover=34%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 20: 94.0 W/m\'b2 (cloud_cover=42%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 21: 8.0 W/m\'b2 (cloud_cover=32%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 6: 14.1 * 0.841 = 11.9 W/m\'b2 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 7: 51.0 W/m\'b2 (cloud_cover=8%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 8: 175.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 9: 328.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 10: 487.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 11: 620.0 W/m\'b2 (cloud_cover=8%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 12: 717.0 W/m\'b2 (cloud_cover=10%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 13: 767.0 W/m\'b2 (cloud_cover=14%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 14: 766.0 W/m\'b2 (cloud_cover=18%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 15: 713.0 W/m\'b2 (cloud_cover=22%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 16: 615.0 W/m\'b2 (cloud_cover=35%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 17: 482.0 W/m\'b2 (cloud_cover=44%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 18: 336.0 W/m\'b2 (cloud_cover=43%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 19: 198.0 W/m\'b2 (cloud_cover=43%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 20: 80.0 W/m\'b2 (cloud_cover=43%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 21: 8.0 W/m\'b2 (cloud_cover=43%) 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_corrector - INFO - Created corrected forecast: 72 hours written to weather_forecast 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Corrected forecast updated 2026-04-25 06:00:01 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Weather update SUCCESS 2026-04-25 06:00:03 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 06:00:03 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 6.5, 'humidity': 83.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.2, 'solar_radiation': None, 'lux': 45.14\ 2026-04-25 06:00:03 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 06:00:03 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 06:00:03 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 06:00:04 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 06:00:04 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.09 kWh, Tomorrow=43.14 kWh, Day After=39.47 kWh, Method=AI + Physics 2026-04-25 06:00:04 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 06:00:04 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 06:00:04 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 06:00:04 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.09 kWh, tomorrow=43.14 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 06:00:04 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 06:00:04 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 06:00:04 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 06:00:04 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 06:00:04 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 06:00:04 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 06:00:04 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.741 seconds (success: True) 2026-04-25 06:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Executing hourly update 2026-04-25 06:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Panel group actuals for hour 5: \'Gruppe 1': 0.0\ 2026-04-25 06:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Panel group actuals updated for 2026-04-25_05: 1 groups 2026-04-25 06:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Shadow detection for 2026-04-25_05: night (100.0%) 2026-04-25 06:23:07 - custom_components.solar_forecast_ml.production.production_tracker - INFO - [PRODUCTION_TRACKER] Starting production tracking at 06:23:07 (Power: 11.0W) 2026-04-25 06:30:04 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 06:30:04 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 6.7, 'humidity': 82.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.2, 'solar_radiation': None, 'lux': 314.7\ 2026-04-25 06:30:04 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 06:30:04 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 06:30:04 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 06:30:05 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 06:30:05 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.09 kWh, Tomorrow=43.14 kWh, Day After=39.47 kWh, Method=AI + Physics 2026-04-25 06:30:05 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 06:30:05 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 06:30:05 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 06:30:05 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.09 kWh, tomorrow=43.14 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 06:30:05 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 06:30:05 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 06:30:05 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 06:30:05 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 06:30:05 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 06:30:05 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 06:30:05 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.717 seconds (success: True) 2026-04-25 06:33:04 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background forecast update starting... 2026-04-25 06:33:04 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update - fetching from Open-Meteo API... 2026-04-25 06:33:05 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 06:33:05 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 796 W/m2) 2026-04-25 06:33:05 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update successful: 72 hours 2026-04-25 06:33:05 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background update complete: 72 hours 2026-04-25 07:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Tracked actual weather - temp=7.0C, clouds=43% 2026-04-25 07:00:05 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 07:00:05 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 7.0, 'humidity': 81.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.2, 'solar_radiation': None, 'lux': 892.4\ 2026-04-25 07:00:05 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 07:00:05 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 07:00:05 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 07:00:06 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 07:00:06 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.09 kWh, Tomorrow=43.14 kWh, Day After=39.47 kWh, Method=AI + Physics 2026-04-25 07:00:06 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 07:00:06 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 07:00:06 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 07:00:06 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.09 kWh, tomorrow=43.14 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 07:00:06 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 07:00:06 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 07:00:06 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 07:00:06 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 07:00:06 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 07:00:06 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 07:00:06 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.718 seconds (success: True) 2026-04-25 07:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Executing hourly update 2026-04-25 07:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Panel group actuals for hour 6: \'Gruppe 1': 0.04\ 2026-04-25 07:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Panel group actuals updated for 2026-04-25_06: 1 groups 2026-04-25 07:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Shadow detection for 2026-04-25_06: moderate (22.4%) 2026-04-25 07:30:06 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 07:30:06 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 7.1, 'humidity': 81.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.2, 'solar_radiation': None, 'lux': 1658.0\ 2026-04-25 07:30:06 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 07:30:06 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 07:30:06 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 07:30:07 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 07:30:07 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.09 kWh, Tomorrow=43.14 kWh, Day After=39.47 kWh, Method=AI + Physics 2026-04-25 07:30:07 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 07:30:07 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 07:30:07 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 07:30:07 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.09 kWh, tomorrow=43.14 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 07:30:07 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 07:30:07 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 07:30:07 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 07:30:07 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 07:30:07 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 07:30:07 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 07:30:07 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.712 seconds (success: True) 2026-04-25 07:33:05 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background forecast update starting... 2026-04-25 07:33:05 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update - fetching from Open-Meteo API... 2026-04-25 07:33:05 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 07:33:05 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 796 W/m2) 2026-04-25 07:33:05 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update successful: 72 hours 2026-04-25 07:33:05 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background update complete: 72 hours 2026-04-25 07:42:40 - custom_components.solar_forecast_ml.services.service_registry - WARNING - SERVICE: run_grid_search - DESTRUCTIVE OPERATION! This will reset the LSTM model and replace all learned weights. Only run on explicit developer instruction. 2026-04-25 07:42:40 - custom_components.solar_forecast_ml.services.service_registry - INFO - SERVICE: run_grid_search - Starting in background 2026-04-25 07:42:40 - custom_components.solar_forecast_ml.services.service_registry - INFO - Grid-Search started in background 2026-04-25 07:42:40 - custom_components.solar_forecast_ml.ai.ai_grid_search - DEBUG - Container detected - Grid-Search still allowed if host is capable 2026-04-25 07:42:40 - custom_components.solar_forecast_ml.ai.ai_grid_search - INFO - Hardware detection: Capable hardware detected (x86_64, 4 CPUs) 2026-04-25 07:42:40 - custom_components.solar_forecast_ml.services.service_registry - INFO - Hardware: x86_64, 4 CPUs 2026-04-25 07:42:40 - custom_components.solar_forecast_ml.services.service_registry - INFO - Loading training data... 2026-04-25 07:42:44 - custom_components.solar_forecast_ml.ai.ai_predictor - INFO - Prepared 767 training samples from 60 days, 4 outputs 2026-04-25 07:42:44 - custom_components.solar_forecast_ml.services.service_registry - ERROR - Error in run_grid_search: too many values to unpack (expected 3, got 4) Traceback (most recent call last): File "/config/custom_components/solar_forecast_ml/services/service_registry.py", line 275, in _run_grid_search_background X_sequences, y_targets, _ = await predictor._prepare_training_data() ^^^^^^^^^^^^^^^^^^^^^^^^^ ValueError: too many values to unpack (expected 3, got 4) 2026-04-25 08:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Tracked actual weather - temp=7.9C, clouds=37% 2026-04-25 08:00:07 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 08:00:07 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 7.9, 'humidity': 78.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.6, 'solar_radiation': None, 'lux': 2673.0\ 2026-04-25 08:00:07 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 08:00:07 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 08:00:07 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 08:00:08 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 08:00:08 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.09 kWh, Tomorrow=43.14 kWh, Day After=39.47 kWh, Method=AI + Physics 2026-04-25 08:00:08 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 08:00:08 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 08:00:08 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 08:00:08 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.09 kWh, tomorrow=43.14 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 08:00:08 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 08:00:08 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 08:00:08 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 08:00:08 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 08:00:08 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 08:00:08 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 08:00:08 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.782 seconds (success: True) 2026-04-25 08:02:30 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.20s: database is locked 2026-04-25 08:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Executing hourly update 2026-04-25 08:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Panel group actuals for hour 7: \'Gruppe 1': 0.36\ 2026-04-25 08:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Panel group actuals updated for 2026-04-25_07: 1 groups 2026-04-25 08:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Shadow detection for 2026-04-25_07: moderate (26.6%) 2026-04-25 08:30:08 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 08:30:08 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 8.7, 'humidity': 74.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.8, 'solar_radiation': None, 'lux': 3635.0\ 2026-04-25 08:30:08 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 08:30:08 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 08:30:08 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 08:30:09 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 08:30:09 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.09 kWh, Tomorrow=43.14 kWh, Day After=39.47 kWh, Method=AI + Physics 2026-04-25 08:30:09 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 08:30:09 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 08:30:09 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 08:30:09 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.09 kWh, tomorrow=43.14 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 08:30:09 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 08:30:09 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 08:30:09 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 08:30:09 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 08:30:09 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 08:30:09 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 08:30:09 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.718 seconds (success: True) 2026-04-25 08:33:05 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background forecast update starting... 2026-04-25 08:33:05 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update - fetching from Open-Meteo API... 2026-04-25 08:33:05 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 08:33:05 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 796 W/m2) 2026-04-25 08:33:05 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update successful: 72 hours 2026-04-25 08:33:05 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background update complete: 72 hours 2026-04-25 09:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Tracked actual weather - temp=8.9C, clouds=34% 2026-04-25 09:00:09 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 09:00:09 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 8.9, 'humidity': 70.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.9, 'solar_radiation': None, 'lux': 5836.0\ 2026-04-25 09:00:09 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 09:00:09 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 09:00:09 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 09:00:10 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 09:00:10 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.09 kWh, Tomorrow=43.14 kWh, Day After=39.47 kWh, Method=AI + Physics 2026-04-25 09:00:10 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 09:00:10 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 09:00:10 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 09:00:10 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.09 kWh, tomorrow=43.14 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 09:00:10 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 09:00:10 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 09:00:10 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 09:00:10 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 09:00:10 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 09:00:10 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 09:00:10 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.694 seconds (success: True) 2026-04-25 09:02:30 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.28s: database is locked 2026-04-25 09:04:30 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.21s: database is locked 2026-04-25 09:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Executing hourly update 2026-04-25 09:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Panel group actuals for hour 8: \'Gruppe 1': 1.19\ 2026-04-25 09:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Panel group actuals updated for 2026-04-25_08: 1 groups 2026-04-25 09:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Shadow detection for 2026-04-25_08: light (13.8%) 2026-04-25 09:06:30 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.29s: database is locked 2026-04-25 09:24:07 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.29s: database is locked 2026-04-25 09:30:10 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 09:30:10 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 9.8, 'humidity': 70.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.9, 'solar_radiation': None, 'lux': 5652.0\ 2026-04-25 09:30:10 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 09:30:10 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 09:30:10 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 09:30:12 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 09:30:12 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.09 kWh, Tomorrow=43.14 kWh, Day After=39.47 kWh, Method=AI + Physics 2026-04-25 09:30:12 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 09:30:12 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 09:30:12 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 09:30:12 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.09 kWh, tomorrow=43.14 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 09:30:12 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 09:30:12 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 09:30:12 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 09:30:12 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 09:30:12 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 09:30:12 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 09:30:12 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 1.783 seconds (success: True) 2026-04-25 09:32:12 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.25s: database is locked 2026-04-25 09:33:05 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background forecast update starting... 2026-04-25 09:33:05 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update - fetching from Open-Meteo API... 2026-04-25 09:33:09 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 09:33:09 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 796 W/m2) 2026-04-25 09:33:09 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update successful: 72 hours 2026-04-25 09:33:09 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background update complete: 72 hours 2026-04-25 10:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Tracked actual weather - temp=10.6C, clouds=30% 2026-04-25 10:00:12 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 10:00:12 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 10.6, 'humidity': 58.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.8, 'solar_radiation': None, 'lux': 7211.0\ 2026-04-25 10:00:12 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 10:00:12 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 10:00:12 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 10:00:13 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 10:00:13 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.09 kWh, Tomorrow=43.14 kWh, Day After=39.47 kWh, Method=AI + Physics 2026-04-25 10:00:13 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 10:00:13 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 10:00:13 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 10:00:13 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.09 kWh, tomorrow=43.14 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 10:00:13 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 10:00:13 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 10:00:13 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 10:00:13 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 10:00:13 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 10:00:13 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 10:00:13 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.736 seconds (success: True) 2026-04-25 10:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Executing hourly update 2026-04-25 10:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Panel group actuals for hour 9: \'Gruppe 1': 2.42\ 2026-04-25 10:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Panel group actuals updated for 2026-04-25_09: 1 groups 2026-04-25 10:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Shadow detection for 2026-04-25_09: none (1.6%) 2026-04-25 10:30:13 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 10:30:13 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 11.4, 'humidity': 46.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.7, 'solar_radiation': None, 'lux': 7247.0\ 2026-04-25 10:30:13 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 10:30:13 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 10:30:13 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 10:30:14 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 10:30:14 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.09 kWh, Tomorrow=43.14 kWh, Day After=39.47 kWh, Method=AI + Physics 2026-04-25 10:30:14 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 10:30:14 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 10:30:14 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 10:30:14 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.09 kWh, tomorrow=43.14 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 10:30:14 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 10:30:14 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 10:30:14 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 10:30:14 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 10:30:14 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 10:30:14 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 10:30:14 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.742 seconds (success: True) 2026-04-25 10:33:09 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background forecast update starting... 2026-04-25 10:33:09 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update - fetching from Open-Meteo API... 2026-04-25 10:33:10 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.29s: database is locked 2026-04-25 10:33:10 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 10:33:10 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 794 W/m2) 2026-04-25 10:33:10 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update successful: 72 hours 2026-04-25 10:33:10 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background update complete: 72 hours 2026-04-25 11:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Tracked actual weather - temp=11.5C, clouds=28% 2026-04-25 11:00:14 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 11:00:14 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 11.5, 'humidity': 42.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.6, 'solar_radiation': None, 'lux': 7664.0\ 2026-04-25 11:00:14 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 11:00:14 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 11:00:14 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 11:00:15 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 11:00:15 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.09 kWh, Tomorrow=43.14 kWh, Day After=39.47 kWh, Method=AI + Physics 2026-04-25 11:00:15 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 11:00:15 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 11:00:15 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 11:00:15 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.09 kWh, tomorrow=43.14 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 11:00:15 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 11:00:15 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 11:00:15 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 11:00:15 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 11:00:15 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 11:00:15 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 11:00:15 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.725 seconds (success: True) 2026-04-25 11:00:30 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.24s: database is locked 2026-04-25 11:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Executing hourly update 2026-04-25 11:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Panel group actuals for hour 10: \'Gruppe 1': 3.58\ 2026-04-25 11:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Panel group actuals updated for 2026-04-25_10: 1 groups 2026-04-25 11:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Shadow detection for 2026-04-25_10: none (0.0%) 2026-04-25 11:16:00 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.29s: database is locked 2026-04-25 11:30:15 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 11:30:15 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 12.4, 'humidity': 42.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.6, 'solar_radiation': None, 'lux': 8529.0\ 2026-04-25 11:30:15 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 11:30:15 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 11:30:15 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 11:30:16 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 11:30:16 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.09 kWh, Tomorrow=43.14 kWh, Day After=39.47 kWh, Method=AI + Physics 2026-04-25 11:30:16 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 11:30:16 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 11:30:16 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 11:30:16 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.09 kWh, tomorrow=43.14 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 11:30:16 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 11:30:16 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 11:30:16 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 11:30:16 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 11:30:16 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 11:30:16 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 11:30:16 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.726 seconds (success: True) 2026-04-25 11:33:10 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background forecast update starting... 2026-04-25 11:33:10 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update - fetching from Open-Meteo API... 2026-04-25 11:33:10 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 11:33:10 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 794 W/m2) 2026-04-25 11:33:10 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update successful: 72 hours 2026-04-25 11:33:10 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background update complete: 72 hours 2026-04-25 11:35:30 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.28s: database is locked 2026-04-25 12:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Scheduled weather update triggered 2026-04-25 12:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Refreshing all weather sources... 2026-04-25 12:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Tracked actual weather - temp=12.9C, clouds=26% 2026-04-25 12:00:10 - custom_components.solar_forecast_ml.data.data_open_meteo_client - WARNING - Open-Meteo API request timed out 2026-04-25 12:00:10 - custom_components.solar_forecast_ml.data.data_open_meteo_client - WARNING - Open-Meteo API unavailable, using stale cache (age: 6.8h) 2026-04-25 12:00:10 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Open-Meteo fetch SUCCESS 2026-04-25 12:00:13 - custom_components.solar_forecast_ml.data.data_weather_expert_blender - WARNING - WttrIn fetch error: 200, message='Attempt to decode JSON with unexpected mimetype: application/text', url='https://wttr.in/52.XXXXX,10.XXXXX?format=j1' 2026-04-25 12:00:16 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 12:00:16 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 12.9, 'humidity': 38.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.4, 'solar_radiation': None, 'lux': 9884.0\ 2026-04-25 12:00:16 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 12:00:16 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 12:00:16 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 12:00:17 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 12:00:17 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.09 kWh, Tomorrow=43.14 kWh, Day After=39.47 kWh, Method=AI + Physics 2026-04-25 12:00:17 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 12:00:17 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 12:00:17 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 12:00:17 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.09 kWh, tomorrow=43.14 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 12:00:17 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 12:00:17 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 12:00:17 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 12:00:17 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 12:00:17 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 12:00:17 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 12:00:17 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.752 seconds (success: True) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_expert_blender - DEBUG - BrightSky: Saved 25 hours to DB 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Expert sources: wttr.in: FAILED, Bright Sky: OK, Pirate Weather: disabled 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - INFO - Loaded 3 dates from weather_cache_open_meteo (RAW) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 6: 11.6 * 0.200 = 2.3 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 7: 28.0 W/m\'b2 (cloud_cover=45%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 8: 111.0 W/m\'b2 (cloud_cover=47%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 9: 228.0 W/m\'b2 (cloud_cover=20%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 10: 366.0 W/m\'b2 (cloud_cover=33%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 11: 513.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 12: 653.0 W/m\'b2 (cloud_cover=25%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 13: 749.0 W/m\'b2 (cloud_cover=24%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 14: 774.0 W/m\'b2 (cloud_cover=23%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 15: 735.0 W/m\'b2 (cloud_cover=26%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 16: 648.0 W/m\'b2 (cloud_cover=28%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 17: 529.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 18: 387.0 W/m\'b2 (cloud_cover=28%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 19: 236.0 W/m\'b2 (cloud_cover=25%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 20: 95.0 W/m\'b2 (cloud_cover=25%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 21: 8.0 W/m\'b2 (cloud_cover=29%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 6: 12.7 * 0.882 = 11.2 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 7: 48.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 8: 171.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 9: 325.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 10: 485.0 W/m\'b2 (cloud_cover=4%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 11: 620.0 W/m\'b2 (cloud_cover=4%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 12: 720.0 W/m\'b2 (cloud_cover=3%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 13: 778.0 W/m\'b2 (cloud_cover=2%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 14: 794.0 W/m\'b2 (cloud_cover=3%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 15: 760.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 16: 668.0 W/m\'b2 (cloud_cover=8%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 17: 523.0 W/m\'b2 (cloud_cover=11%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 18: 359.0 W/m\'b2 (cloud_cover=22%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 19: 208.0 W/m\'b2 (cloud_cover=35%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 20: 84.0 W/m\'b2 (cloud_cover=43%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 21: 8.0 W/m\'b2 (cloud_cover=34%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 6: 14.1 * 0.868 = 12.3 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 7: 52.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 8: 176.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 9: 329.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 10: 486.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 11: 615.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 12: 705.0 W/m\'b2 (cloud_cover=8%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 13: 739.0 W/m\'b2 (cloud_cover=11%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 14: 709.0 W/m\'b2 (cloud_cover=14%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 15: 623.0 W/m\'b2 (cloud_cover=22%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 16: 508.0 W/m\'b2 (cloud_cover=34%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 17: 379.0 W/m\'b2 (cloud_cover=44%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 18: 251.0 W/m\'b2 (cloud_cover=43%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 19: 143.0 W/m\'b2 (cloud_cover=43%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 20: 61.0 W/m\'b2 (cloud_cover=43%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 21: 7.0 W/m\'b2 (cloud_cover=43%) 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_corrector - INFO - Created corrected forecast: 72 hours written to weather_forecast 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Corrected forecast updated 2026-04-25 12:00:21 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Weather update SUCCESS 2026-04-25 12:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Executing hourly update 2026-04-25 12:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Panel group actuals for hour 11: \'Gruppe 1': 4.12\ 2026-04-25 12:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Panel group actuals updated for 2026-04-25_11: 1 groups 2026-04-25 12:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Shadow detection for 2026-04-25_11: none (0.0%) 2026-04-25 12:16:30 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.25s: database is locked 2026-04-25 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - === Adaptive Forecast Check === 2026-04-25 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - Time: 12:30:00 2026-04-25 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - Collecting analysis data... 2026-04-25 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - Morning analysis (06:00-12:30): Actual=11.89 kWh, Predicted=11.50 kWh, Deviation=+3% (+0.39 kWh) 2026-04-25 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - Criterion 1: Daily forecast=27.94 kWh, Dynamic threshold=2.79 kWh, Deviation=0.39 kWh 2026-04-25 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - == Result: NO CORRECTION == 2026-04-25 12:30:00 - custom_components.solar_forecast_ml.production.production_adaptive_forecast - INFO - Reason: Deviation below threshold (0.39 kWh < 2.79 kWh) 2026-04-25 12:30:17 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 12:30:17 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 13.4, 'humidity': 34.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.3, 'solar_radiation': None, 'lux': 10823.0\ 2026-04-25 12:30:17 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 12:30:17 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 12:30:17 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 12:30:18 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 12:30:18 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=27.94 kWh, Tomorrow=42.97 kWh, Day After=38.61 kWh, Method=AI + Physics 2026-04-25 12:30:18 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 12:30:18 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 12:30:18 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 12:30:18 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=27.94 kWh, tomorrow=42.97 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 12:30:18 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 12:30:18 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 12:30:18 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 12:30:18 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 12:30:18 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 12:30:18 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 12:30:18 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.765 seconds (success: True) 2026-04-25 12:33:10 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background forecast update starting... 2026-04-25 12:33:10 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update - fetching from Open-Meteo API... 2026-04-25 12:33:11 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 12:33:11 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 794 W/m2) 2026-04-25 12:33:11 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update successful: 72 hours 2026-04-25 12:33:11 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background update complete: 72 hours 2026-04-25 12:38:00 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.25s: database is locked 2026-04-25 12:57:30 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.22s: database is locked 2026-04-25 13:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Tracked actual weather - temp=14.2C, clouds=24% 2026-04-25 13:00:18 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 13:00:18 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 14.3, 'humidity': 32.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.0, 'solar_radiation': None, 'lux': 12323.0\ 2026-04-25 13:00:18 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 13:00:18 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 13:00:18 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 13:00:19 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 13:00:19 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=27.94 kWh, Tomorrow=42.97 kWh, Day After=38.61 kWh, Method=AI + Physics 2026-04-25 13:00:19 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 13:00:19 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 13:00:19 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 13:00:19 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=27.94 kWh, tomorrow=42.97 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 13:00:19 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 13:00:19 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 13:00:19 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 13:00:19 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 13:00:19 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 13:00:19 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 13:00:19 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.723 seconds (success: True) 2026-04-25 13:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Executing hourly update 2026-04-25 13:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Panel group actuals for hour 12: \'Gruppe 1': 4.38\ 2026-04-25 13:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Panel group actuals updated for 2026-04-25_12: 1 groups 2026-04-25 13:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Shadow detection for 2026-04-25_12: none (0.2%) 2026-04-25 13:17:00 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.25s: database is locked 2026-04-25 13:30:00 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.26s: database is locked 2026-04-25 13:30:19 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 13:30:19 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 15.2, 'humidity': 32.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1017.0, 'solar_radiation': None, 'lux': 13271.0\ 2026-04-25 13:30:19 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 13:30:19 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 13:30:19 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 13:30:20 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 13:30:20 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=27.94 kWh, Tomorrow=42.97 kWh, Day After=38.61 kWh, Method=AI + Physics 2026-04-25 13:30:20 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 13:30:20 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 13:30:20 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 13:30:20 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=27.94 kWh, tomorrow=42.97 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 13:30:20 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 13:30:20 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 13:30:20 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 13:30:20 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 13:30:20 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 13:30:20 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 13:30:20 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.720 seconds (success: True) 2026-04-25 13:31:00 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.29s: database is locked 2026-04-25 13:33:11 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background forecast update starting... 2026-04-25 13:33:11 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update - fetching from Open-Meteo API... 2026-04-25 13:33:11 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 13:33:11 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 794 W/m2) 2026-04-25 13:33:11 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update successful: 72 hours 2026-04-25 13:33:11 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background update complete: 72 hours 2026-04-25 14:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Tracked actual weather - temp=16.0C, clouds=23% 2026-04-25 14:00:20 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 14:00:20 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 16.0, 'humidity': 33.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1016.5, 'solar_radiation': None, 'lux': 14489.0\ 2026-04-25 14:00:20 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 14:00:20 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 14:00:20 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 14:00:21 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 14:00:21 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=27.94 kWh, Tomorrow=42.97 kWh, Day After=38.61 kWh, Method=AI + Physics 2026-04-25 14:00:21 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 14:00:21 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 14:00:21 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 14:00:21 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=27.94 kWh, tomorrow=42.97 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 14:00:21 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 14:00:21 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 14:00:21 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 14:00:21 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 14:00:21 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 14:00:21 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 14:00:21 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.692 seconds (success: True) 2026-04-25 14:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Executing hourly update 2026-04-25 14:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Panel group actuals for hour 13: \'Gruppe 1': 4.13\ 2026-04-25 14:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Panel group actuals updated for 2026-04-25_13: 1 groups 2026-04-25 14:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Shadow detection for 2026-04-25_13: none (4.7%) 2026-04-25 14:30:21 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 14:30:21 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 16.5, 'humidity': 33.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1016.3, 'solar_radiation': None, 'lux': 14673.0\ 2026-04-25 14:30:21 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 14:30:21 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 14:30:21 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 14:30:22 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 14:30:22 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=27.94 kWh, Tomorrow=42.97 kWh, Day After=38.61 kWh, Method=AI + Physics 2026-04-25 14:30:22 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 14:30:22 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 14:30:22 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 14:30:22 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=27.94 kWh, tomorrow=42.97 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 14:30:22 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 14:30:22 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 14:30:22 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 14:30:22 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 14:30:22 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 14:30:22 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 14:30:22 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.758 seconds (success: True) 2026-04-25 14:33:11 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background forecast update starting... 2026-04-25 14:33:11 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update - fetching from Open-Meteo API... 2026-04-25 14:33:12 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 14:33:12 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 794 W/m2) 2026-04-25 14:33:12 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update successful: 72 hours 2026-04-25 14:33:12 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background update complete: 72 hours 2026-04-25 14:55:30 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.26s: database is locked 2026-04-25 15:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Tracked actual weather - temp=17.1C, clouds=26% 2026-04-25 15:00:22 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 15:00:22 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 17.1, 'humidity': 33.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1015.9, 'solar_radiation': None, 'lux': 22780.0\ 2026-04-25 15:00:22 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 15:00:22 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 15:00:22 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 15:00:23 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 15:00:23 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=27.94 kWh, Tomorrow=42.97 kWh, Day After=38.61 kWh, Method=AI + Physics 2026-04-25 15:00:23 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 15:00:23 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 15:00:23 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 15:00:23 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=27.94 kWh, tomorrow=42.97 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 15:00:23 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 15:00:23 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 15:00:23 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 15:00:23 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 15:00:23 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 15:00:23 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 15:00:23 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.732 seconds (success: True) 2026-04-25 15:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Executing hourly update 2026-04-25 15:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Panel group actuals for hour 14: \'Gruppe 1': 3.54\ 2026-04-25 15:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Panel group actuals updated for 2026-04-25_14: 1 groups 2026-04-25 15:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Shadow detection for 2026-04-25_14: light (10.0%) 2026-04-25 15:21:30 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.26s: database is locked 2026-04-25 15:30:23 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 15:30:23 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 17.0, 'humidity': 33.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1015.9, 'solar_radiation': None, 'lux': 72990.0\ 2026-04-25 15:30:23 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 15:30:23 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 15:30:23 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 15:30:24 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 15:30:24 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=27.94 kWh, Tomorrow=42.97 kWh, Day After=38.61 kWh, Method=AI + Physics 2026-04-25 15:30:24 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 15:30:24 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 15:30:24 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 15:30:24 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=27.94 kWh, tomorrow=42.97 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 15:30:24 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 15:30:24 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 15:30:24 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 15:30:24 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 15:30:24 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 15:30:24 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 15:30:24 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.734 seconds (success: True) 2026-04-25 15:33:12 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background forecast update starting... 2026-04-25 15:33:12 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update - fetching from Open-Meteo API... 2026-04-25 15:33:12 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 15:33:12 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 790 W/m2) 2026-04-25 15:33:12 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update successful: 72 hours 2026-04-25 15:33:12 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background update complete: 72 hours 2026-04-25 15:33:30 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.29s: database is locked 2026-04-25 15:34:00 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.27s: database is locked 2026-04-25 16:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Tracked actual weather - temp=17.5C, clouds=28% 2026-04-25 16:00:24 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 16:00:24 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 17.5, 'humidity': 31.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1015.4, 'solar_radiation': None, 'lux': 75750.0\ 2026-04-25 16:00:24 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 16:00:24 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 16:00:24 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 16:00:25 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 16:00:25 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=27.94 kWh, Tomorrow=42.97 kWh, Day After=38.61 kWh, Method=AI + Physics 2026-04-25 16:00:25 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 16:00:25 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 16:00:25 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 16:00:25 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=27.94 kWh, tomorrow=42.97 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 16:00:25 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 16:00:25 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 16:00:25 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 16:00:25 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 16:00:25 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 16:00:25 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 16:00:25 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.685 seconds (success: True) 2026-04-25 16:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Executing hourly update 2026-04-25 16:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Panel group actuals for hour 15: \'Gruppe 1': 1.99\ 2026-04-25 16:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Panel group actuals updated for 2026-04-25_15: 1 groups 2026-04-25 16:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Shadow detection for 2026-04-25_15: moderate (27.8%) 2026-04-25 16:30:25 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 16:30:25 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 17.8, 'humidity': 33.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1015.5, 'solar_radiation': None, 'lux': 69750.0\ 2026-04-25 16:30:25 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 16:30:25 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 16:30:25 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 16:30:26 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 16:30:26 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=27.94 kWh, Tomorrow=42.97 kWh, Day After=38.61 kWh, Method=AI + Physics 2026-04-25 16:30:26 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 16:30:26 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 16:30:26 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 16:30:26 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=27.94 kWh, tomorrow=42.97 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 16:30:26 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 16:30:26 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 16:30:26 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 16:30:26 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 16:30:26 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 16:30:26 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 16:30:26 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.702 seconds (success: True) 2026-04-25 16:33:12 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background forecast update starting... 2026-04-25 16:33:12 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update - fetching from Open-Meteo API... 2026-04-25 16:33:12 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 16:33:12 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 790 W/m2) 2026-04-25 16:33:12 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update successful: 72 hours 2026-04-25 16:33:12 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background update complete: 72 hours 2026-04-25 16:43:30 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.30s: database is locked 2026-04-25 16:47:30 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.20s: database is locked 2026-04-25 16:55:00 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.27s: database is locked 2026-04-25 17:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Tracked actual weather - temp=17.7C, clouds=27% 2026-04-25 17:00:26 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 17:00:26 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 17.7, 'humidity': 31.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1015.4, 'solar_radiation': None, 'lux': 77760.0\ 2026-04-25 17:00:26 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 17:00:26 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 17:00:26 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 17:00:27 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 17:00:27 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=27.94 kWh, Tomorrow=42.97 kWh, Day After=38.61 kWh, Method=AI + Physics 2026-04-25 17:00:27 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 17:00:27 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 17:00:27 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 17:00:27 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=27.94 kWh, tomorrow=42.97 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 17:00:27 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 17:00:27 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 17:00:27 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 17:00:27 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 17:00:27 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 17:00:27 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 17:00:27 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.739 seconds (success: True) 2026-04-25 17:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Executing hourly update 2026-04-25 17:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Panel group actuals for hour 16: \'Gruppe 1': 0.63\ 2026-04-25 17:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Panel group actuals updated for 2026-04-25_16: 1 groups 2026-04-25 17:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Shadow detection for 2026-04-25_16: heavy (47.1%) 2026-04-25 17:13:00 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.23s: database is locked 2026-04-25 17:30:27 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 17:30:27 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 17.8, 'humidity': 31.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1015.4, 'solar_radiation': None, 'lux': 10188.0\ 2026-04-25 17:30:27 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 17:30:27 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 17:30:27 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 17:30:28 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 17:30:28 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=27.94 kWh, Tomorrow=42.97 kWh, Day After=38.61 kWh, Method=AI + Physics 2026-04-25 17:30:28 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 17:30:28 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 17:30:28 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 17:30:28 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=27.94 kWh, tomorrow=42.97 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 17:30:28 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 17:30:28 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 17:30:28 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 17:30:28 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 17:30:28 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 17:30:28 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 17:30:28 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.713 seconds (success: True) 2026-04-25 17:33:12 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background forecast update starting... 2026-04-25 17:33:12 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update - fetching from Open-Meteo API... 2026-04-25 17:33:13 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 17:33:13 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 790 W/m2) 2026-04-25 17:33:13 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update successful: 72 hours 2026-04-25 17:33:13 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background update complete: 72 hours 2026-04-25 18:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Scheduled weather update triggered 2026-04-25 18:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Refreshing all weather sources... 2026-04-25 18:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Tracked actual weather - temp=17.5C, clouds=28% 2026-04-25 18:00:10 - custom_components.solar_forecast_ml.data.data_open_meteo_client - WARNING - Open-Meteo API request timed out 2026-04-25 18:00:10 - custom_components.solar_forecast_ml.data.data_open_meteo_client - WARNING - Open-Meteo API unavailable, using stale cache (age: 12.8h) 2026-04-25 18:00:10 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Open-Meteo fetch SUCCESS 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_expert_blender - WARNING - WttrIn fetch error: 200, message='Attempt to decode JSON with unexpected mimetype: application/text', url='https://wttr.in/52.XXXXX,10.XXXXX?format=j1' 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_expert_blender - DEBUG - BrightSky: Using existing DB data (still fresh) 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Expert sources: wttr.in: FAILED, Bright Sky: OK, Pirate Weather: disabled 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - INFO - Loaded 3 dates from weather_cache_open_meteo (RAW) 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 6: 11.6 * 0.225 = 2.6 W/m\'b2 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 7: 28.0 W/m\'b2 (cloud_cover=42%) 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 8: 119.0 W/m\'b2 (cloud_cover=48%) 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 9: 258.0 W/m\'b2 (cloud_cover=16%) 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 10: 420.0 W/m\'b2 (cloud_cover=34%) 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 11: 564.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 12: 678.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 13: 749.0 W/m\'b2 (cloud_cover=28%) 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 14: 769.0 W/m\'b2 (cloud_cover=28%) 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 15: 734.0 W/m\'b2 (cloud_cover=30%) 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 16: 651.0 W/m\'b2 (cloud_cover=30%) 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 17: 531.0 W/m\'b2 (cloud_cover=28%) 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 18: 388.0 W/m\'b2 (cloud_cover=29%) 2026-04-25 18:00:11 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 19: 236.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 20: 95.0 W/m\'b2 (cloud_cover=27%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-25 hour 21: 8.0 W/m\'b2 (cloud_cover=30%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-25 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 6: 12.7 * 0.851 = 10.8 W/m\'b2 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 7: 48.0 W/m\'b2 (cloud_cover=8%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 8: 171.0 W/m\'b2 (cloud_cover=7%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 9: 324.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 10: 485.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 11: 621.0 W/m\'b2 (cloud_cover=4%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 12: 723.0 W/m\'b2 (cloud_cover=4%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 13: 780.0 W/m\'b2 (cloud_cover=4%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 14: 790.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 15: 749.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 16: 653.0 W/m\'b2 (cloud_cover=9%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 17: 507.0 W/m\'b2 (cloud_cover=10%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 18: 346.0 W/m\'b2 (cloud_cover=15%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 19: 205.0 W/m\'b2 (cloud_cover=21%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 20: 90.0 W/m\'b2 (cloud_cover=24%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-26 hour 21: 10.0 W/m\'b2 (cloud_cover=18%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-26 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 0: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 1: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 2: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 3: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 4: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 5: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 6: 14.1 * 0.893 = 12.6 W/m\'b2 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 7: 51.0 W/m\'b2 (cloud_cover=6%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 8: 175.0 W/m\'b2 (cloud_cover=5%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 9: 329.0 W/m\'b2 (cloud_cover=9%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 10: 490.0 W/m\'b2 (cloud_cover=11%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 11: 626.0 W/m\'b2 (cloud_cover=14%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 12: 726.0 W/m\'b2 (cloud_cover=13%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 13: 779.0 W/m\'b2 (cloud_cover=11%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 14: 781.0 W/m\'b2 (cloud_cover=13%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 15: 730.0 W/m\'b2 (cloud_cover=21%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 16: 625.0 W/m\'b2 (cloud_cover=35%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 17: 473.0 W/m\'b2 (cloud_cover=46%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 18: 310.0 W/m\'b2 (cloud_cover=46%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 19: 173.0 W/m\'b2 (cloud_cover=45%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 20: 71.0 W/m\'b2 (cloud_cover=45%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Using Open-Meteo GHI for 2026-04-27 hour 21: 7.0 W/m\'b2 (cloud_cover=45%) 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 22: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - DEBUG - Fallback calculation for 2026-04-27 hour 23: 0.0 * 0.050 = 0.0 W/m\'b2 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_corrector - INFO - Created corrected forecast: 72 hours written to weather_forecast 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Corrected forecast updated 2026-04-25 18:00:12 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - INFO - Pipeline: Weather update SUCCESS 2026-04-25 18:00:28 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 18:00:28 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 17.5, 'humidity': 37.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1015.2, 'solar_radiation': None, 'lux': 7723.0\ 2026-04-25 18:00:28 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 18:00:28 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 18:00:28 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 18:00:29 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 18:00:29 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.96 kWh, Tomorrow=42.45 kWh, Day After=39.54 kWh, Method=AI + Physics 2026-04-25 18:00:29 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 18:00:29 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 18:00:29 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 18:00:29 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.96 kWh, tomorrow=42.45 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 18:00:29 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 18:00:29 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 18:00:29 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 18:00:29 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 18:00:29 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 18:00:29 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 18:00:29 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.710 seconds (success: True) 2026-04-25 18:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Executing hourly update 2026-04-25 18:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Panel group actuals for hour 17: \'Gruppe 1': 0.39\ 2026-04-25 18:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Panel group actuals updated for 2026-04-25_17: 1 groups 2026-04-25 18:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Shadow detection for 2026-04-25_17: heavy (48.8%) 2026-04-25 18:27:00 - custom_components.solar_forecast_ml.data.db_manager - WARNING - DB locked (attempt 1/5), retrying in 0.23s: database is locked 2026-04-25 18:30:29 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 18:30:29 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 17.1, 'humidity': 39.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1015.2, 'solar_radiation': None, 'lux': 5227.0\ 2026-04-25 18:30:29 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 18:30:29 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 18:30:29 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 18:30:30 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 18:30:30 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.96 kWh, Tomorrow=42.45 kWh, Day After=39.54 kWh, Method=AI + Physics 2026-04-25 18:30:30 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 18:30:30 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 18:30:30 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 18:30:30 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.96 kWh, tomorrow=42.45 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 18:30:30 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 18:30:30 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 18:30:30 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 18:30:30 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 18:30:30 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 18:30:30 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 18:30:30 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.693 seconds (success: True) 2026-04-25 18:33:13 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background forecast update starting... 2026-04-25 18:33:13 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update - fetching from Open-Meteo API... 2026-04-25 18:33:13 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Saved 72 hours to weather_cache_open_meteo table (RAW) 2026-04-25 18:33:13 - custom_components.solar_forecast_ml.data.data_open_meteo_client - INFO - Fetched 72 hours from Open-Meteo (GHI: 0 - 790 W/m2) 2026-04-25 18:33:13 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Force update successful: 72 hours 2026-04-25 18:33:13 - custom_components.solar_forecast_ml.forecast.forecast_weather - DEBUG - Background update complete: 72 hours 2026-04-25 19:00:00 - custom_components.solar_forecast_ml.data.data_weather_pipeline_manager - DEBUG - Pipeline: Tracked actual weather - temp=16.7C, clouds=27% 2026-04-25 19:00:30 - custom_components.solar_forecast_ml.forecast.forecast_weather - INFO - Forecast using database: 72 hours across 3 days 2026-04-25 19:00:30 - custom_components.solar_forecast_ml.sensors.sensor_data_collector - DEBUG - Collected external sensor data: \'temperature': 16.6, 'humidity': 41.0, 'wind_speed': None, 'rain': 0.0, 'pressure': 1015.0, 'solar_radiation': None, 'lux': 3750.0\ 2026-04-25 19:00:30 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Creating forecast (AI + Physics)... 2026-04-25 19:00:30 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Lag-Feature 'production_yesterday' = 14.63 kWh (from DB: 2026-04-24) 2026-04-25 19:00:30 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Physics+LSTM blend active 2026-04-25 19:00:31 - custom_components.solar_forecast_ml.forecast.forecast_rule_based_strategy - DEBUG - Skipping hourly predictions for locked dates: 2026-04-25, 2026-04-26, 2026-04-27 2026-04-25 19:00:31 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - INFO - Forecast complete: Today=28.96 kWh, Tomorrow=42.45 kWh, Day After=39.54 kWh, Method=AI + Physics 2026-04-25 19:00:31 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping today forecast storage - locked by morning routine 2026-04-25 19:00:31 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping tomorrow forecast storage - locked by morning routine 2026-04-25 19:00:31 - custom_components.solar_forecast_ml.forecast.forecast_orchestrator - DEBUG - Skipping day_after_tomorrow forecast storage - locked by morning routine 2026-04-25 19:00:31 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecast generated: today=28.96 kWh, tomorrow=42.45 kWh, method=AI + Physics, hourly_entries=72 2026-04-25 19:00:31 - custom_components.solar_forecast_ml.production.production_history - DEBUG - Peak time calculation: Using stored hourly production data 2026-04-25 19:00:31 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping today forecast update - locked by morning routine 2026-04-25 19:00:31 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping tomorrow forecast update - locked by morning routine 2026-04-25 19:00:31 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Skipping day_after_tomorrow forecast update - locked by morning routine 2026-04-25 19:00:31 - custom_components.solar_forecast_ml.core.core_coordinator_update_helpers - DEBUG - Forecasts saved to database (respecting locks) 2026-04-25 19:00:31 - custom_components.solar_forecast_ml.coordinator - DEBUG - Hourly predictions cache refreshed: 24 today, 24 tomorrow, 24 day_after 2026-04-25 19:00:31 - custom_components.solar_forecast_ml.coordinator - DEBUG - Finished fetching solar_forecast_ml data in 0.691 seconds (success: True) 2026-04-25 19:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Executing hourly update 2026-04-25 19:05:00 - custom_components.solar_forecast_ml.production.production_scheduled_tasks - DEBUG - Panel group actuals for hour 18: \'Gruppe 1': 0.24\ 2026-04-25 19:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Panel group actuals updated for 2026-04-25_18: 1 groups 2026-04-25 19:05:00 - custom_components.solar_forecast_ml.production.production_morning_routine - DEBUG - Shadow detection for 2026-04-25_18: heavy (46.9%)