{"fsi":{"score":6.5,"band":"Fair","band_key":"fair","color":"#ffd633","advice":"Suitable. Plan breaks and stay hydrated.","easter_egg":null,"wetbulb_c":16.7,"effective_wetbulb_c":20.2,"dewpoint_c":12.1,"observed_at":"2026-08-20T14:00:00+02:00","subscores":[{"key":"thermal_humidity","label":"Temperature","score":6.5,"weight":0.5,"reason":"Heat: effective wet-bulb 20.2 °C, +3.5 °C sun load"},{"key":"precipitation","label":"Rain","score":10.0,"weight":0.3,"reason":"Rain: 0.0 mm/h, 0% chance"},{"key":"wind","label":"Wind","score":10.0,"weight":0.12,"reason":"Wind: 2.5 m/s"},{"key":"stickiness","label":"Humidity","score":8.5,"weight":0.08,"reason":"Humidity: dew point 12.1 °C"}],"meta":{"event":"Magdeburg Wetter","location":"Magdeburg","latitude":52.120533,"longitude":11.627624,"timezone":"Europe/Berlin","station_id":"10361","generated_at":"2026-08-20T13:09:29.091145+00:00","language":"en","attribution":"Data: Deutscher Wetterdienst (DWD) OpenData","degraded":[]}},"current":{"observed_at":"2026-08-20T14:00:00+02:00","temperature_c":24.0,"dewpoint_c":12.1,"humidity_percent":47.0,"wind_speed_kmh":9.0,"wind_gust_kmh":25.0,"wind_direction_deg":230.0,"wind_direction":"SW","beaufort":2,"pressure_hpa":1007.3,"cloud_cover_percent":13.0,"precipitation_mm":0.0,"visibility_m":67300.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌤️"},"meta":{"event":"Magdeburg Wetter","location":"Magdeburg","latitude":52.120533,"longitude":11.627624,"timezone":"Europe/Berlin","station_id":"10361","generated_at":"2026-08-20T13:09:29.091145+00:00","language":"en","attribution":"Data: Deutscher Wetterdienst (DWD) OpenData","degraded":[]}},"forecast":{"hours":[{"time":"2026-08-20T15:00:00+02:00","score":6.5,"band":"Fair","color":"#ffd633","temperature_c":23.7,"humidity_percent":50.1,"wind_speed_kmh":13.0,"wind_gust_kmh":29.6,"precipitation_mm":0.0,"precipitation_probability":4.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌤️"}},{"time":"2026-08-20T16:00:00+02:00","score":6.5,"band":"Fair","color":"#ffd633","temperature_c":24.0,"humidity_percent":48.2,"wind_speed_kmh":13.0,"wind_gust_kmh":29.6,"precipitation_mm":0.0,"precipitation_probability":5.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌤️"}},{"time":"2026-08-20T17:00:00+02:00","score":6.5,"band":"Fair","color":"#ffd633","temperature_c":24.1,"humidity_percent":47.9,"wind_speed_kmh":13.0,"wind_gust_kmh":27.8,"precipitation_mm":0.0,"precipitation_probability":4.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌤️"}},{"time":"2026-08-20T18:00:00+02:00","score":6.5,"band":"Fair","color":"#ffd633","temperature_c":23.8,"humidity_percent":48.5,"wind_speed_kmh":11.1,"wind_gust_kmh":27.8,"precipitation_mm":0.0,"precipitation_probability":5.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌤️"}},{"time":"2026-08-20T19:00:00+02:00","score":8.5,"band":"Excellent","color":"#40ad3e","temperature_c":22.9,"humidity_percent":51.5,"wind_speed_kmh":9.3,"wind_gust_kmh":24.1,"precipitation_mm":0.0,"precipitation_probability":4.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌤️"}},{"time":"2026-08-20T20:00:00+02:00","score":8.5,"band":"Excellent","color":"#40ad3e","temperature_c":21.5,"humidity_percent":56.9,"wind_speed_kmh":7.4,"wind_gust_kmh":20.4,"precipitation_mm":0.0,"precipitation_probability":3.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌤️"}},{"time":"2026-08-20T21:00:00+02:00","score":9.4,"band":"Excellent","color":"#40ad3e","temperature_c":19.9,"humidity_percent":64.0,"wind_speed_kmh":7.4,"wind_gust_kmh":16.7,"precipitation_mm":0.0,"precipitation_probability":2.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌙"}},{"time":"2026-08-20T22:00:00+02:00","score":9.4,"band":"Excellent","color":"#40ad3e","temperature_c":18.4,"humidity_percent":70.3,"wind_speed_kmh":5.5,"wind_gust_kmh":14.8,"precipitation_mm":0.0,"precipitation_probability":2.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌙"}},{"time":"2026-08-20T23:00:00+02:00","score":9.6,"band":"Excellent","color":"#40ad3e","temperature_c":17.2,"humidity_percent":75.8,"wind_speed_kmh":5.5,"wind_gust_kmh":13.0,"precipitation_mm":0.0,"precipitation_probability":1.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌙"}},{"time":"2026-08-21T00:00:00+02:00","score":9.6,"band":"Excellent","color":"#40ad3e","temperature_c":16.7,"humidity_percent":77.8,"wind_speed_kmh":5.5,"wind_gust_kmh":13.0,"precipitation_mm":0.0,"precipitation_probability":1.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌙"}},{"time":"2026-08-21T01:00:00+02:00","score":9.9,"band":"Excellent","color":"#40ad3e","temperature_c":16.2,"humidity_percent":79.2,"wind_speed_kmh":5.5,"wind_gust_kmh":13.0,"precipitation_mm":0.0,"precipitation_probability":0.0,"weather":{"code":0,"text":"Clear sky","icon":"🌙"}},{"time":"2026-08-21T02:00:00+02:00","score":9.9,"band":"Excellent","color":"#40ad3e","temperature_c":15.6,"humidity_percent":81.2,"wind_speed_kmh":5.5,"wind_gust_kmh":11.1,"precipitation_mm":0.0,"precipitation_probability":0.0,"weather":{"code":0,"text":"Clear sky","icon":"🌙"}},{"time":"2026-08-21T03:00:00+02:00","score":9.9,"band":"Excellent","color":"#40ad3e","temperature_c":15.2,"humidity_percent":82.3,"wind_speed_kmh":5.5,"wind_gust_kmh":13.0,"precipitation_mm":0.0,"precipitation_probability":0.0,"weather":{"code":0,"text":"Clear sky","icon":"🌙"}},{"time":"2026-08-21T04:00:00+02:00","score":10.0,"band":"Excellent","color":"#40ad3e","temperature_c":14.6,"humidity_percent":84.4,"wind_speed_kmh":5.5,"wind_gust_kmh":11.1,"precipitation_mm":0.0,"precipitation_probability":0.0,"weather":{"code":0,"text":"Clear sky","icon":"🌙"}},{"time":"2026-08-21T05:00:00+02:00","score":10.0,"band":"Excellent","color":"#40ad3e","temperature_c":14.4,"humidity_percent":84.9,"wind_speed_kmh":5.5,"wind_gust_kmh":11.1,"precipitation_mm":0.0,"precipitation_probability":0.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌙"}},{"time":"2026-08-21T06:00:00+02:00","score":10.0,"band":"Excellent","color":"#40ad3e","temperature_c":14.3,"humidity_percent":84.4,"wind_speed_kmh":5.5,"wind_gust_kmh":11.1,"precipitation_mm":0.0,"precipitation_probability":0.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌤️"}},{"time":"2026-08-21T07:00:00+02:00","score":10.0,"band":"Excellent","color":"#40ad3e","temperature_c":15.0,"humidity_percent":81.2,"wind_speed_kmh":5.5,"wind_gust_kmh":11.1,"precipitation_mm":0.0,"precipitation_probability":0.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌤️"}},{"time":"2026-08-21T08:00:00+02:00","score":9.9,"band":"Excellent","color":"#40ad3e","temperature_c":16.1,"humidity_percent":77.2,"wind_speed_kmh":5.5,"wind_gust_kmh":13.0,"precipitation_mm":0.0,"precipitation_probability":0.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌤️"}},{"time":"2026-08-21T09:00:00+02:00","score":9.9,"band":"Excellent","color":"#40ad3e","temperature_c":17.8,"humidity_percent":70.2,"wind_speed_kmh":7.4,"wind_gust_kmh":14.8,"precipitation_mm":0.0,"precipitation_probability":0.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌤️"}},{"time":"2026-08-21T10:00:00+02:00","score":8.5,"band":"Excellent","color":"#40ad3e","temperature_c":19.7,"humidity_percent":62.3,"wind_speed_kmh":9.3,"wind_gust_kmh":16.7,"precipitation_mm":0.0,"precipitation_probability":1.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌤️"}},{"time":"2026-08-21T11:00:00+02:00","score":8.5,"band":"Excellent","color":"#40ad3e","temperature_c":21.2,"humidity_percent":55.7,"wind_speed_kmh":9.3,"wind_gust_kmh":20.4,"precipitation_mm":0.0,"precipitation_probability":1.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌤️"}},{"time":"2026-08-21T12:00:00+02:00","score":6.5,"band":"Fair","color":"#ffd633","temperature_c":22.2,"humidity_percent":51.0,"wind_speed_kmh":9.3,"wind_gust_kmh":20.4,"precipitation_mm":0.0,"precipitation_probability":1.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌤️"}},{"time":"2026-08-21T13:00:00+02:00","score":6.5,"band":"Fair","color":"#ffd633","temperature_c":22.8,"humidity_percent":48.5,"wind_speed_kmh":11.1,"wind_gust_kmh":22.2,"precipitation_mm":0.0,"precipitation_probability":1.0,"weather":{"code":2,"text":"Partly cloudy","icon":"⛅"}},{"time":"2026-08-21T14:00:00+02:00","score":6.5,"band":"Fair","color":"#ffd633","temperature_c":23.2,"humidity_percent":47.1,"wind_speed_kmh":9.3,"wind_gust_kmh":22.2,"precipitation_mm":0.0,"precipitation_probability":1.0,"weather":{"code":2,"text":"Partly cloudy","icon":"⛅"}}],"issued_at":"2026-08-20T09:00:00+00:00","meta":{"event":"Magdeburg Wetter","location":"Magdeburg","latitude":52.120533,"longitude":11.627624,"timezone":"Europe/Berlin","station_id":"10361","generated_at":"2026-08-20T13:09:29.091145+00:00","language":"en","attribution":"Data: Deutscher Wetterdienst (DWD) OpenData","degraded":[]}},"daily":{"days":[{"date":"2026-08-20","weekday":"Thursday","partial":false,"hour_count":24,"temperature_max_c":25.2,"temperature_min_c":15.5,"precipitation_mm":2.3,"precipitation_probability":5.0,"wind_speed_kmh":8.6,"wind_gust_kmh":29.6,"wind_direction_deg":246.3,"wind_direction":"SW","humidity_percent":73.4,"sunshine_hours":5.5,"weather":{"code":1,"text":"Mainly clear","icon":"🌤️"},"fsi_max":9.4,"fsi_min":6.5,"fsi_avg":7.7,"best_hour":"21:00","worst_hour":"15:00","best_window":{"start":"2026-08-20T21:00:00+02:00","end":"2026-08-20T23:00:00+02:00","hours":2,"score":9.4},"worst_window":{"start":"2026-08-20T15:00:00+02:00","end":"2026-08-20T19:00:00+02:00","hours":4,"score":6.5}},{"date":"2026-08-21","weekday":"Friday","partial":false,"hour_count":24,"temperature_max_c":24.8,"temperature_min_c":15.9,"precipitation_mm":0.0,"precipitation_probability":11.0,"wind_speed_kmh":7.1,"wind_gust_kmh":24.1,"wind_direction_deg":245.7,"wind_direction":"SW","humidity_percent":68.0,"sunshine_hours":5.9,"weather":{"code":3,"text":"Overcast","icon":"☁️"},"fsi_max":10.0,"fsi_min":6.5,"fsi_avg":8.2,"best_hour":"07:00","worst_hour":"12:00","best_window":{"start":"2026-08-21T07:00:00+02:00","end":"2026-08-21T10:00:00+02:00","hours":3,"score":10.0},"worst_window":{"start":"2026-08-21T12:00:00+02:00","end":"2026-08-21T17:00:00+02:00","hours":5,"score":6.5}},{"date":"2026-08-22","weekday":"Saturday","partial":false,"hour_count":24,"temperature_max_c":19.9,"temperature_min_c":13.5,"precipitation_mm":5.4,"precipitation_probability":42.0,"wind_speed_kmh":8.7,"wind_gust_kmh":31.5,"wind_direction_deg":278.7,"wind_direction":"W","humidity_percent":78.2,"sunshine_hours":2.4,"weather":{"code":61,"text":"Light rain","icon":"🌦️"},"fsi_max":9.2,"fsi_min":5.1,"fsi_avg":7.0,"best_hour":"22:00","worst_hour":"07:00","best_window":{"start":"2026-08-22T21:00:00+02:00","end":"2026-08-22T23:00:00+02:00","hours":2,"score":9.2},"worst_window":{"start":"2026-08-22T07:00:00+02:00","end":"2026-08-22T12:00:00+02:00","hours":5,"score":5.1}},{"date":"2026-08-23","weekday":"Sunday","partial":false,"hour_count":24,"temperature_max_c":20.8,"temperature_min_c":12.8,"precipitation_mm":0.0,"precipitation_probability":3.0,"wind_speed_kmh":11.7,"wind_gust_kmh":37.0,"wind_direction_deg":267.8,"wind_direction":"W","humidity_percent":69.0,"sunshine_hours":6.2,"weather":{"code":2,"text":"Partly cloudy","icon":"⛅"},"fsi_max":9.6,"fsi_min":8.5,"fsi_avg":9.2,"best_hour":"13:00","worst_hour":"14:00","best_window":{"start":"2026-08-23T07:00:00+02:00","end":"2026-08-23T14:00:00+02:00","hours":7,"score":9.6},"worst_window":{"start":"2026-08-23T14:00:00+02:00","end":"2026-08-23T17:00:00+02:00","hours":3,"score":8.5}},{"date":"2026-08-24","weekday":"Monday","partial":false,"hour_count":24,"temperature_max_c":23.2,"temperature_min_c":12.9,"precipitation_mm":0.0,"precipitation_probability":4.0,"wind_speed_kmh":5.9,"wind_gust_kmh":18.5,"wind_direction_deg":281.8,"wind_direction":"W","humidity_percent":65.3,"sunshine_hours":8.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌤️"},"fsi_max":10.0,"fsi_min":8.5,"fsi_avg":9.1,"best_hour":"07:00","worst_hour":"12:00","best_window":{"start":"2026-08-24T07:00:00+02:00","end":"2026-08-24T10:00:00+02:00","hours":3,"score":10.0},"worst_window":{"start":"2026-08-24T12:00:00+02:00","end":"2026-08-24T19:00:00+02:00","hours":7,"score":8.5}},{"date":"2026-08-25","weekday":"Tuesday","partial":false,"hour_count":15,"temperature_max_c":20.2,"temperature_min_c":11.1,"precipitation_mm":0.0,"precipitation_probability":7.0,"wind_speed_kmh":6.0,"wind_gust_kmh":24.1,"wind_direction_deg":81.0,"wind_direction":"E","humidity_percent":67.8,"sunshine_hours":6.0,"weather":{"code":0,"text":"Clear sky","icon":"☀️"},"fsi_max":9.6,"fsi_min":6.5,"fsi_avg":8.1,"best_hour":"08:00","worst_hour":"12:00","best_window":{"start":"2026-08-25T07:00:00+02:00","end":"2026-08-25T10:00:00+02:00","hours":3,"score":9.6},"worst_window":{"start":"2026-08-25T12:00:00+02:00","end":"2026-08-25T15:00:00+02:00","hours":3,"score":6.5}}],"meta":{"event":"Magdeburg Wetter","location":"Magdeburg","latitude":52.120533,"longitude":11.627624,"timezone":"Europe/Berlin","station_id":"10361","generated_at":"2026-08-20T13:09:29.091145+00:00","language":"en","attribution":"Data: Deutscher Wetterdienst (DWD) OpenData","degraded":[]}},"warnings":{"warnings":[],"count":0,"meta":{"event":"Magdeburg Wetter","location":"Magdeburg","latitude":52.120533,"longitude":11.627624,"timezone":"Europe/Berlin","station_id":"10361","generated_at":"2026-08-20T13:09:29.091145+00:00","language":"en","attribution":"Data: Deutscher Wetterdienst (DWD) OpenData","degraded":[]}},"best_window":{"start":"2026-08-20T15:00:00+02:00","end":"2026-08-21T16:00:00+02:00","hours":25,"score":10.0},"worst_window":null,"scale":{"bands":[{"min":8.5,"key":"excellent","label":"Excellent","color":"#40ad3e"},{"min":7.0,"key":"good","label":"Good","color":"#7cc243"},{"min":5.0,"key":"fair","label":"Fair","color":"#ffd633"},{"min":3.0,"key":"poor","label":"Poor","color":"#ff8a3d"},{"min":0.0,"key":"bad","label":"Bad","color":"#f13ca3"}],"suitable_from":5.0,"meta":{"event":"Magdeburg Wetter","location":"Magdeburg","latitude":52.120533,"longitude":11.627624,"timezone":"Europe/Berlin","station_id":"10361","generated_at":"2026-08-20T13:09:29.091145+00:00","language":"en","attribution":"Data: Deutscher Wetterdienst (DWD) OpenData","degraded":[]}},"meta":{"event":"Magdeburg Wetter","location":"Magdeburg","latitude":52.120533,"longitude":11.627624,"timezone":"Europe/Berlin","station_id":"10361","generated_at":"2026-08-20T13:09:29.091145+00:00","language":"en","attribution":"Data: Deutscher Wetterdienst (DWD) OpenData","degraded":[]}}