{"fsi":{"score":9.9,"band":"Excellent","band_key":"excellent","color":"#40ad3e","advice":"Perfect suiting conditions. Touch grass and enjoy the festival!","easter_egg":null,"wetbulb_c":11.0,"effective_wetbulb_c":11.1,"dewpoint_c":9.2,"observed_at":"2026-09-21T08:00:00+02:00","subscores":[{"key":"thermal_humidity","label":"Temperature","score":10.0,"weight":0.5,"reason":"Heat: effective wet-bulb 11.1 °C"},{"key":"precipitation","label":"Rain","score":10.0,"weight":0.3,"reason":"Rain: 0.0 mm/h, 0% chance"},{"key":"wind","label":"Wind","score":9.5,"weight":0.12,"reason":"Wind: 5.3 m/s"},{"key":"stickiness","label":"Humidity","score":10.0,"weight":0.08,"reason":"Humidity: dew point 9.2 °C"}],"meta":{"event":"EF30","location":"Hamburg","latitude":53.561337,"longitude":9.98631,"timezone":"Europe/Berlin","station_id":"10147","generated_at":"2026-09-21T07:11:16.918537+00:00","language":"en","attribution":"Data: Deutscher Wetterdienst (DWD) OpenData","degraded":[]}},"current":{"observed_at":"2026-09-21T08:00:00+02:00","temperature_c":14.0,"dewpoint_c":9.2,"humidity_percent":73.0,"wind_speed_kmh":19.0,"wind_gust_kmh":34.0,"wind_direction_deg":280.0,"wind_direction":"W","beaufort":3,"pressure_hpa":1024.0,"cloud_cover_percent":88.0,"precipitation_mm":0.0,"visibility_m":32100.0,"weather":{"code":4,"text":"Cloudy","icon":"☁️"},"meta":{"event":"EF30","location":"Hamburg","latitude":53.561337,"longitude":9.98631,"timezone":"Europe/Berlin","station_id":"10147","generated_at":"2026-09-21T07:11:16.918537+00:00","language":"en","attribution":"Data: Deutscher Wetterdienst (DWD) OpenData","degraded":[]}},"forecast":{"hours":[{"time":"2026-09-21T09:00:00+02:00","score":5.5,"band":"Fair","color":"#ffd633","temperature_c":13.6,"humidity_percent":81.5,"wind_speed_kmh":18.5,"wind_gust_kmh":31.5,"precipitation_mm":0.2,"precipitation_probability":48.0,"weather":{"code":61,"text":"Light rain","icon":"🌦️"}},{"time":"2026-09-21T10:00:00+02:00","score":5.8,"band":"Fair","color":"#ffd633","temperature_c":14.3,"humidity_percent":78.9,"wind_speed_kmh":20.4,"wind_gust_kmh":35.2,"precipitation_mm":0.2,"precipitation_probability":42.0,"weather":{"code":61,"text":"Light rain","icon":"🌦️"}},{"time":"2026-09-21T11:00:00+02:00","score":6.2,"band":"Fair","color":"#ffd633","temperature_c":15.0,"humidity_percent":75.5,"wind_speed_kmh":22.2,"wind_gust_kmh":40.8,"precipitation_mm":0.2,"precipitation_probability":35.0,"weather":{"code":80,"text":"Light rain showers","icon":"🌦️"}},{"time":"2026-09-21T12:00:00+02:00","score":6.6,"band":"Fair","color":"#ffd633","temperature_c":15.6,"humidity_percent":72.1,"wind_speed_kmh":25.9,"wind_gust_kmh":44.5,"precipitation_mm":0.2,"precipitation_probability":27.0,"weather":{"code":80,"text":"Light rain showers","icon":"🌦️"}},{"time":"2026-09-21T13:00:00+02:00","score":7.6,"band":"Good","color":"#7cc243","temperature_c":16.0,"humidity_percent":68.9,"wind_speed_kmh":27.8,"wind_gust_kmh":48.2,"precipitation_mm":0.1,"precipitation_probability":24.0,"weather":{"code":80,"text":"Light rain showers","icon":"🌦️"}},{"time":"2026-09-21T14:00:00+02:00","score":8.4,"band":"Good","color":"#7cc243","temperature_c":16.2,"humidity_percent":66.2,"wind_speed_kmh":27.8,"wind_gust_kmh":50.0,"precipitation_mm":0.0,"precipitation_probability":16.0,"weather":{"code":2,"text":"Partly cloudy","icon":"⛅"}},{"time":"2026-09-21T15:00:00+02:00","score":8.7,"band":"Excellent","color":"#40ad3e","temperature_c":16.1,"humidity_percent":66.2,"wind_speed_kmh":29.6,"wind_gust_kmh":51.8,"precipitation_mm":0.0,"precipitation_probability":11.0,"weather":{"code":2,"text":"Partly cloudy","icon":"⛅"}},{"time":"2026-09-21T16:00:00+02:00","score":8.8,"band":"Excellent","color":"#40ad3e","temperature_c":16.0,"humidity_percent":65.3,"wind_speed_kmh":27.8,"wind_gust_kmh":50.0,"precipitation_mm":0.0,"precipitation_probability":9.0,"weather":{"code":2,"text":"Partly cloudy","icon":"⛅"}},{"time":"2026-09-21T17:00:00+02:00","score":9.0,"band":"Excellent","color":"#40ad3e","temperature_c":15.7,"humidity_percent":65.2,"wind_speed_kmh":25.9,"wind_gust_kmh":46.3,"precipitation_mm":0.0,"precipitation_probability":6.0,"weather":{"code":2,"text":"Partly cloudy","icon":"⛅"}},{"time":"2026-09-21T18:00:00+02:00","score":9.2,"band":"Excellent","color":"#40ad3e","temperature_c":15.0,"humidity_percent":67.3,"wind_speed_kmh":22.2,"wind_gust_kmh":42.6,"precipitation_mm":0.0,"precipitation_probability":4.0,"weather":{"code":2,"text":"Partly cloudy","icon":"⛅"}},{"time":"2026-09-21T19:00:00+02:00","score":9.3,"band":"Excellent","color":"#40ad3e","temperature_c":14.2,"humidity_percent":71.9,"wind_speed_kmh":18.5,"wind_gust_kmh":37.0,"precipitation_mm":0.0,"precipitation_probability":3.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌤️"}},{"time":"2026-09-21T20:00:00+02:00","score":9.3,"band":"Excellent","color":"#40ad3e","temperature_c":13.1,"humidity_percent":76.7,"wind_speed_kmh":14.8,"wind_gust_kmh":31.5,"precipitation_mm":0.0,"precipitation_probability":3.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌤️"}},{"time":"2026-09-21T21:00:00+02:00","score":9.3,"band":"Excellent","color":"#40ad3e","temperature_c":12.2,"humidity_percent":80.3,"wind_speed_kmh":13.0,"wind_gust_kmh":25.9,"precipitation_mm":0.0,"precipitation_probability":3.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌙"}},{"time":"2026-09-21T22:00:00+02:00","score":9.4,"band":"Excellent","color":"#40ad3e","temperature_c":11.3,"humidity_percent":84.6,"wind_speed_kmh":11.1,"wind_gust_kmh":22.2,"precipitation_mm":0.0,"precipitation_probability":2.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌙"}},{"time":"2026-09-21T23:00:00+02:00","score":9.6,"band":"Excellent","color":"#40ad3e","temperature_c":10.6,"humidity_percent":86.8,"wind_speed_kmh":11.1,"wind_gust_kmh":20.4,"precipitation_mm":0.0,"precipitation_probability":1.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌙"}},{"time":"2026-09-22T00:00:00+02:00","score":9.4,"band":"Excellent","color":"#40ad3e","temperature_c":10.0,"humidity_percent":88.6,"wind_speed_kmh":9.3,"wind_gust_kmh":16.7,"precipitation_mm":0.0,"precipitation_probability":2.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌙"}},{"time":"2026-09-22T01:00:00+02:00","score":9.3,"band":"Excellent","color":"#40ad3e","temperature_c":9.4,"humidity_percent":90.3,"wind_speed_kmh":7.4,"wind_gust_kmh":14.8,"precipitation_mm":0.0,"precipitation_probability":3.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌙"}},{"time":"2026-09-22T02:00:00+02:00","score":9.6,"band":"Excellent","color":"#40ad3e","temperature_c":8.8,"humidity_percent":92.2,"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-09-22T03:00:00+02:00","score":9.6,"band":"Excellent","color":"#40ad3e","temperature_c":8.4,"humidity_percent":93.4,"wind_speed_kmh":5.5,"wind_gust_kmh":11.1,"precipitation_mm":0.0,"precipitation_probability":1.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌙"}},{"time":"2026-09-22T04:00:00+02:00","score":9.4,"band":"Excellent","color":"#40ad3e","temperature_c":7.9,"humidity_percent":94.7,"wind_speed_kmh":3.7,"wind_gust_kmh":9.3,"precipitation_mm":0.0,"precipitation_probability":2.0,"weather":{"code":0,"text":"Clear sky","icon":"🌙"}},{"time":"2026-09-22T05:00:00+02:00","score":9.5,"band":"Excellent","color":"#40ad3e","temperature_c":7.5,"humidity_percent":96.6,"wind_speed_kmh":3.7,"wind_gust_kmh":7.4,"precipitation_mm":0.0,"precipitation_probability":1.0,"weather":{"code":0,"text":"Clear sky","icon":"🌙"}},{"time":"2026-09-22T06:00:00+02:00","score":9.5,"band":"Excellent","color":"#40ad3e","temperature_c":7.3,"humidity_percent":96.6,"wind_speed_kmh":3.7,"wind_gust_kmh":7.4,"precipitation_mm":0.0,"precipitation_probability":1.0,"weather":{"code":0,"text":"Clear sky","icon":"☀️"}},{"time":"2026-09-22T07:00:00+02:00","score":9.4,"band":"Excellent","color":"#40ad3e","temperature_c":7.5,"humidity_percent":96.0,"wind_speed_kmh":3.7,"wind_gust_kmh":7.4,"precipitation_mm":0.0,"precipitation_probability":2.0,"weather":{"code":0,"text":"Clear sky","icon":"☀️"}},{"time":"2026-09-22T08:00:00+02:00","score":9.6,"band":"Excellent","color":"#40ad3e","temperature_c":8.5,"humidity_percent":93.4,"wind_speed_kmh":5.5,"wind_gust_kmh":7.4,"precipitation_mm":0.0,"precipitation_probability":1.0,"weather":{"code":1,"text":"Mainly clear","icon":"🌤️"}}],"issued_at":"2026-09-21T03:00:00+00:00","meta":{"event":"EF30","location":"Hamburg","latitude":53.561337,"longitude":9.98631,"timezone":"Europe/Berlin","station_id":"10147","generated_at":"2026-09-21T07:11:16.918537+00:00","language":"en","attribution":"Data: Deutscher Wetterdienst (DWD) OpenData","degraded":[]}},"daily":{"days":[{"date":"2026-09-21","weekday":"Monday","partial":false,"hour_count":24,"temperature_max_c":17.2,"temperature_min_c":12.3,"precipitation_mm":3.8,"precipitation_probability":62.0,"wind_speed_kmh":19.3,"wind_gust_kmh":51.8,"wind_direction_deg":293.7,"wind_direction":"NW","humidity_percent":78.4,"sunshine_hours":5.5,"weather":{"code":80,"text":"Light rain showers","icon":"🌦️"},"fsi_max":9.4,"fsi_min":5.5,"fsi_avg":8.1,"best_hour":"22:00","worst_hour":"09:00","best_window":{"start":"2026-09-21T17:00:00+02:00","end":"2026-09-21T23:00:00+02:00","hours":6,"score":9.4},"worst_window":{"start":"2026-09-21T09:00:00+02:00","end":"2026-09-21T11:00:00+02:00","hours":2,"score":5.5}},{"date":"2026-09-22","weekday":"Tuesday","partial":false,"hour_count":24,"temperature_max_c":18.5,"temperature_min_c":7.7,"precipitation_mm":0.0,"precipitation_probability":3.0,"wind_speed_kmh":7.4,"wind_gust_kmh":22.2,"wind_direction_deg":308.9,"wind_direction":"NW","humidity_percent":80.4,"sunshine_hours":9.8,"weather":{"code":1,"text":"Mainly clear","icon":"🌤️"},"fsi_max":10.0,"fsi_min":9.4,"fsi_avg":9.6,"best_hour":"12:00","worst_hour":"07:00","best_window":{"start":"2026-09-22T10:00:00+02:00","end":"2026-09-22T23:00:00+02:00","hours":13,"score":10.0},"worst_window":{"start":"2026-09-22T07:00:00+02:00","end":"2026-09-22T12:00:00+02:00","hours":5,"score":9.4}},{"date":"2026-09-23","weekday":"Wednesday","partial":false,"hour_count":24,"temperature_max_c":19.0,"temperature_min_c":9.8,"precipitation_mm":2.5,"precipitation_probability":42.0,"wind_speed_kmh":6.6,"wind_gust_kmh":18.5,"wind_direction_deg":236.8,"wind_direction":"SW","humidity_percent":86.8,"sunshine_hours":4.2,"weather":{"code":61,"text":"Light rain","icon":"🌦️"},"fsi_max":9.3,"fsi_min":5.3,"fsi_avg":8.0,"best_hour":"07:00","worst_hour":"20:00","best_window":{"start":"2026-09-23T07:00:00+02:00","end":"2026-09-23T13:00:00+02:00","hours":6,"score":9.3},"worst_window":{"start":"2026-09-23T19:00:00+02:00","end":"2026-09-23T21:00:00+02:00","hours":2,"score":5.3}},{"date":"2026-09-24","weekday":"Thursday","partial":false,"hour_count":24,"temperature_max_c":16.9,"temperature_min_c":11.7,"precipitation_mm":4.4,"precipitation_probability":43.0,"wind_speed_kmh":12.7,"wind_gust_kmh":31.5,"wind_direction_deg":278.1,"wind_direction":"W","humidity_percent":86.5,"sunshine_hours":3.3,"weather":{"code":61,"text":"Light rain","icon":"🌦️"},"fsi_max":9.0,"fsi_min":4.6,"fsi_avg":7.5,"best_hour":"22:00","worst_hour":"08:00","best_window":{"start":"2026-09-24T18:00:00+02:00","end":"2026-09-24T23:00:00+02:00","hours":5,"score":9.0},"worst_window":{"start":"2026-09-24T07:00:00+02:00","end":"2026-09-24T09:00:00+02:00","hours":2,"score":4.6}},{"date":"2026-09-25","weekday":"Friday","partial":false,"hour_count":24,"temperature_max_c":18.3,"temperature_min_c":11.3,"precipitation_mm":0.0,"precipitation_probability":13.0,"wind_speed_kmh":11.0,"wind_gust_kmh":27.8,"wind_direction_deg":251.3,"wind_direction":"W","humidity_percent":84.7,"sunshine_hours":3.7,"weather":{"code":3,"text":"Overcast","icon":"☁️"},"fsi_max":9.2,"fsi_min":8.6,"fsi_avg":9.0,"best_hour":"15:00","worst_hour":"07:00","best_window":{"start":"2026-09-25T08:00:00+02:00","end":"2026-09-25T23:00:00+02:00","hours":15,"score":9.2},"worst_window":{"start":"2026-09-25T07:00:00+02:00","end":"2026-09-25T15:00:00+02:00","hours":8,"score":8.6}},{"date":"2026-09-26","weekday":"Saturday","partial":true,"hour_count":10,"temperature_max_c":15.2,"temperature_min_c":10.6,"precipitation_mm":0.0,"precipitation_probability":16.0,"wind_speed_kmh":10.0,"wind_gust_kmh":20.4,"wind_direction_deg":210.5,"wind_direction":"SW","humidity_percent":93.0,"sunshine_hours":0.4,"weather":{"code":3,"text":"Overcast","icon":"☁️"},"fsi_max":8.8,"fsi_min":8.4,"fsi_avg":8.6,"best_hour":"09:00","worst_hour":"07:00","best_window":{"start":"2026-09-26T07:00:00+02:00","end":"2026-09-26T10:00:00+02:00","hours":3,"score":8.8},"worst_window":{"start":"2026-09-26T07:00:00+02:00","end":"2026-09-26T10:00:00+02:00","hours":3,"score":8.4}}],"meta":{"event":"EF30","location":"Hamburg","latitude":53.561337,"longitude":9.98631,"timezone":"Europe/Berlin","station_id":"10147","generated_at":"2026-09-21T07:11:16.918537+00:00","language":"en","attribution":"Data: Deutscher Wetterdienst (DWD) OpenData","degraded":[]}},"warnings":{"warnings":[{"event":"Windböen","label":"Wind and storm warning (minor)","kind":"wind","severity":"minor","advance":false,"level":2,"color":"#ffeb3b","region":"Hansestadt Hamburg","start":"2026-09-21T06:00:00+00:00","end":"2026-09-21T16:00:00+00:00","headline":"Amtliche WARNUNG vor WINDBÖEN","description":"Es treten Windböen mit Geschwindigkeiten um 55 km/h (15 m/s, 30 kn, Bft 7) aus nordwestlicher Richtung auf.","instruction":"Hinweis auf: umherfliegende leichte Gegenstände. Handlungsempfehlungen: lose Gegenstände sichern; z.B. Zelte und Abdeckungen befestigen"}],"count":1,"meta":{"event":"EF30","location":"Hamburg","latitude":53.561337,"longitude":9.98631,"timezone":"Europe/Berlin","station_id":"10147","generated_at":"2026-09-21T07:11:16.918537+00:00","language":"en","attribution":"Data: Deutscher Wetterdienst (DWD) OpenData","degraded":[]}},"best_window":{"start":"2026-09-21T09:00:00+02:00","end":"2026-09-22T10:00:00+02:00","hours":25,"score":9.6},"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":"EF30","location":"Hamburg","latitude":53.561337,"longitude":9.98631,"timezone":"Europe/Berlin","station_id":"10147","generated_at":"2026-09-21T07:11:16.918537+00:00","language":"en","attribution":"Data: Deutscher Wetterdienst (DWD) OpenData","degraded":[]}},"meta":{"event":"EF30","location":"Hamburg","latitude":53.561337,"longitude":9.98631,"timezone":"Europe/Berlin","station_id":"10147","generated_at":"2026-09-21T07:11:16.918537+00:00","language":"en","attribution":"Data: Deutscher Wetterdienst (DWD) OpenData","degraded":[]}}