From e788fc72010291c38e7f75a3df40e5d41497d1ce Mon Sep 17 00:00:00 2001 From: ppfeiffer Date: Thu, 19 Feb 2026 13:27:55 +0100 Subject: [PATCH] fix: NINA mapData nur ohne AGS-Codes abfragen (v0.8.2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit mapData liefert bundesweite Meldungen ohne geografische Filterung. Mit konfigurierten AGS-Codes deckt der Dashboard-Endpunkt bereits alle Quellen regional ab – mapData wird dann nicht mehr benötigt und würde Meldungen außerhalb der konfigurierten Regionen zeigen. Co-Authored-By: Claude Sonnet 4.6 --- CHANGELOG.md | 8 ++++++++ config.yaml | 2 +- meshbot/nina.py | 20 ++++++++++++-------- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b062d22..a69ae3d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [0.8.2] - 2026-02-19 + +### Fixed +- **NINA mapData geografische Filterung**: mapData-Endpunkte werden nur noch abgefragt, + wenn **keine** AGS-Codes konfiguriert sind. Sind AGS-Codes gesetzt, filtert der + Dashboard-Endpunkt bereits serverseitig regional (deckt alle Quellen inkl. DWD ab). + Vorher wurden bundesweite Meldungen außerhalb der konfigurierten Regionen angezeigt. + ## [0.8.1] - 2026-02-19 ### Added diff --git a/config.yaml b/config.yaml index b7dfb6b..c328f2c 100644 --- a/config.yaml +++ b/config.yaml @@ -1,4 +1,4 @@ -version: "0.8.1" +version: "0.8.2" bot: name: "MeshDD-Bot" diff --git a/meshbot/nina.py b/meshbot/nina.py index 9fa98b4..9939a4b 100644 --- a/meshbot/nina.py +++ b/meshbot/nina.py @@ -223,14 +223,18 @@ class NinaBot: except Exception: logger.exception("NINA dashboard error for AGS %s", ags) - # 2. mapData: national per-source polling (severity + source filter only) - for source_key, endpoint in SOURCE_MAP_ENDPOINTS.items(): - if not sources.get(source_key, True): - continue - try: - await self._fetch_map_data(session, source_key, endpoint, min_level, channel) - except Exception: - logger.exception("NINA mapData error for source %s", source_key) + # 2. mapData: national per-source polling – nur wenn KEINE AGS-Codes konfiguriert + # sind, da mapData keine geografische Filterung unterstützt und sonst + # bundesweite Meldungen außerhalb der konfigurierten Regionen erscheinen. + # Mit AGS-Codes deckt das Dashboard bereits alle Quellen regional ab. + if not ags_codes: + for source_key, endpoint in SOURCE_MAP_ENDPOINTS.items(): + if not sources.get(source_key, True): + continue + try: + await self._fetch_map_data(session, source_key, endpoint, min_level, channel) + except Exception: + logger.exception("NINA mapData error for source %s", source_key) # ── De-duplication helper ────────────────────────────────────────────────