From 31d58800f0931284dc35080fdb3f26d818c41ec0 Mon Sep 17 00:00:00 2001 From: simon Date: Fri, 24 Apr 2026 12:01:34 +0200 Subject: [PATCH] modified: app.py modified: static/css/style.css new file: static/icons/nebel_nacht.png --- app.py | 13 ++++++++++--- static/css/style.css | 1 + static/icons/nebel_nacht.png | Bin 0 -> 33990 bytes 3 files changed, 11 insertions(+), 3 deletions(-) create mode 100644 static/icons/nebel_nacht.png diff --git a/app.py b/app.py index 7ac8bcc..456a2c5 100644 --- a/app.py +++ b/app.py @@ -342,7 +342,8 @@ def _parse_warning_datetime(value): # schneebedeckt hail + snow (hagel WW + temp ≤ 2°C) # sturmundhagel thunderstorm + rain + hail (WW 96, 99) # schneebedecktsonne snow + sunshine (temp ≤ 2°C, cloud < 60 %) -# nebel dense fog (visibility < 1000 m) +# nebel dense fog (visibility < 1000 m, day) +# nebel_nacht dense fog (visibility < 1000 m, night) # nebel_wolkig foggy + overcast (1000-5000 m, cloud > 60 %) # wolkig_nebel_sonne patchy fog / haze (1000-5000 m, less cloud) # nacht clear night (moon) @@ -351,6 +352,7 @@ def _parse_warning_datetime(value): # nacht(3) moon+cloud+snow _WW_HAIL = {27, 89, 90, 93, 94} # hail showers (no thunder) +_WW_GRAUPEL = {87, 88} # graupel → schneebedeckt _WW_THUNDER_HAIL = {96, 99} # thunderstorm + hail → sturmundhagel _WW_THUNDER_RAIN = {91, 92, 95, 97, 98} # thunderstorm + precipitation _WW_THUNDER_DRY = {17} # dry thunderstorm @@ -360,18 +362,20 @@ def weather_icon(cloud_pct, precip_mm, rain_prob, temp_c, is_night=False, visibi # Fog (takes priority; fog unlikely when precipitating heavily) if visibility_m is not None and visibility_m < 5000 and not (precip_mm and precip_mm > 0.5): if visibility_m < 1000: - return "nebel" + return "nebel_nacht" if is_night else "nebel" if cloud_pct is not None and cloud_pct > 60: return "nebel_wolkig" return "wolkig_nebel_sonne" - # ── WW-code based icons (thunderstorm / hail) ───────────────────── + # ── WW-code based icons (thunderstorm / hail / graupel) ────────── if weather_code is not None: ww = int(weather_code) if ww in _WW_THUNDER_HAIL: return "sturmundhagel" if ww in _WW_HAIL: return "schneebedeckt" if (temp_c is not None and temp_c <= 2) else "hagel" + if ww in _WW_GRAUPEL: + return "schneebedeckt" if ww in _WW_THUNDER_RAIN: return "sturm" if ww in _WW_THUNDER_DRY: @@ -416,6 +420,7 @@ def pick_daily_icon(hours): if ww_codes: has_t_hail = any(w in _WW_THUNDER_HAIL for w in ww_codes) has_hail = any(w in _WW_HAIL for w in ww_codes) + has_graupel = any(w in _WW_GRAUPEL for w in ww_codes) has_t_rain = any(w in _WW_THUNDER_RAIN for w in ww_codes) has_t_dry = any(w in _WW_THUNDER_DRY for w in ww_codes) avg_temp = sum(h["temp_c"] for h in hours if h.get("temp_c") is not None) @@ -425,6 +430,8 @@ def pick_daily_icon(hours): return "sturmundhagel" if has_hail: return "schneebedeckt" if mean_temp <= 2 else "hagel" + if has_graupel: + return "schneebedeckt" if has_t_rain: return "sturm" if has_t_dry: diff --git a/static/css/style.css b/static/css/style.css index 0e833be..1e5aaee 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -447,6 +447,7 @@ main { flex: 1; } .wx-icon-wrap[data-icon="schneebedecktsonne"] { background: linear-gradient(135deg, #4080a8 0%, #a8d0e8 60%, #e0c060 100%); } .wx-icon-wrap[data-icon="wolkig_nebel_sonne"] { background: linear-gradient(135deg, #706858 0%, #a09880 100%); } .wx-icon-wrap[data-icon="nebel"] { background: linear-gradient(135deg, #7a8a96 0%, #b0c0cc 100%); } +.wx-icon-wrap[data-icon="nebel_nacht"] { background: linear-gradient(135deg, #2a3040 0%, #485868 100%); } .wx-icon-wrap[data-icon="nebel_wolkig"] { background: linear-gradient(135deg, #505a64 0%, #8898a8 100%); } /* Night icons */ .wx-icon-wrap[data-icon="nacht"] { background: linear-gradient(135deg, #080c20 0%, #141c40 100%); } diff --git a/static/icons/nebel_nacht.png b/static/icons/nebel_nacht.png new file mode 100644 index 0000000000000000000000000000000000000000..37b64173e2ea26eabb8593fc1bd601f6ffc4e19e GIT binary patch literal 33990 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