Table of Contents
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
NINA Warnungs-Service
Der NINA-Service pollt die offizielle Bundeswarn-API (warnung.bund.de) auf neue Katastrophenschutzmeldungen und sendet diese automatisch in konfigurierbare Mesh-Kanäle.
Unterstützte Quellen
| Quelle | Beschreibung |
|---|---|
| MOWAS | Modulares Warnsystem (BBK) – Behördenmeldungen |
| BIWAPP | Bürger-Info- und Warn-App – kommunale Warnungen |
| KATWARN | Katastrophenwarnungen |
| DWD | Deutscher Wetterdienst – Unwetterwarnungen |
| LHP | Länderübergreifendes Hochwasserportal |
Konfiguration
[Nina_Service]
enabled = true
# AGS-Codes der zu überwachenden Gebiete (kommagetrennt, 12-stellig)
# Dresden: 146120000000 | Berlin: 110000000000 | Hamburg: 020000000000
# Den AGS für deinen Ort findest du unter https://warnung.bund.de
ags_codes = 146120000000
# Kanal in dem Warnungen gesendet werden
channel = general
# Schweregrade (Minor, Moderate, Severe, Extreme) – leer = alle
min_severities = Minor,Moderate,Severe,Extreme
# Abfrageintervall in Sekunden (empfohlen: 60-300)
poll_interval_seconds = 120
# Einzelne Quellen aktivieren/deaktivieren
source_mowas = true
source_biwapp = true
source_katwarn = true
source_dwd = true
source_lhp = true
AGS-Code ermitteln
Der AGS (Amtlicher Gemeindeschlüssel) ist ein 12-stelliger Code, der einen Landkreis oder eine kreisfreie Stadt identifiziert.
- Öffne warnung.bund.de im Browser
- Gib deinen Ort in die Suche ein
- Der AGS erscheint in der URL:
.../146120000000/...
Häufige Beispiele:
| Ort | AGS |
|---|---|
| Dresden | 146120000000 |
| Leipzig | 147130000000 |
| Berlin | 110000000000 |
| Hamburg | 020000000000 |
| München | 091620000000 |
| Köln | 053150000000 |
| Frankfurt/Main | 064120000000 |
Schweregrade
| Wert | Bedeutung | Emoji |
|---|---|---|
Minor |
Gering | ℹ️ |
Moderate |
Mittel | 🔶 |
Severe |
Schwer | ⚠️ |
Extreme |
Extrem | 🚨 |
Beispiel-Nachrichten im Mesh
Neue Warnung:
🔶 NINA-WARNUNG: Hochwasserwarnung – Elbe – Dresden
Typ: Hochwasser
Gebiet: Dresden-Neustadt; Dresden-Pieschen
Stand: 11.03.2026 14:30
Erhöhte Wasserführung. Pegelstand am Pegel Dresden: 5,8 m.
Bitte Uferbereich meiden.
Entwarnung:
✅ ENTWARNUNG: Hochwasserwarnung – Elbe – Dresden
Gebiet: Dresden-Neustadt; Dresden-Pieschen
Aufgehoben: 11.03.2026 18:00
Technische Details
- Beim Start werden bekannte IDs aus der DB geladen — kein Spam nach Neustart
- Jede Warn-ID wird nur einmal gesendet (auch über Intervallgrenzen hinweg)
- Bei mehreren neuen Warnungen werden diese mit 2 Sekunden Abstand gesendet (Mesh-Rate-Limit)
- Beschreibungen werden auf 280 Zeichen gekürzt
- HTTP-Session mit automatischem Retry (3 Versuche) bei Server-Fehlern
Entwarnungen
Der Service erkennt aufgehobene Warnungen auf zwei Wegen:
- Dashboard-Diff — nach jedem Poll wird der aktuelle Stand mit dem vorherigen verglichen. Verschwindet eine Warn-ID aus dem Dashboard, gilt sie als aufgehoben.
msgType = Cancel— der NINA-Detail-Endpoint liefert das CAP-FeldmsgType. Explizite Cancel-Nachrichten werden sofort als Entwarnung behandelt.
Bei einer Aufhebung:
is_activewird aufFALSEgesetzt,lifted_atauf den aktuellen Zeitstempel- Eine Entwarnung-Nachricht wird ins Mesh gesendet (sofern
broadcast_enabledglobal aktiv)
Versand steuern
Globaler Schalter
broadcast_enabled = false # Polling und DB-Speicherung aktiv, kein Mesh-Versand
Mit broadcast_enabled = false werden Warnungen weiterhin abgefragt und in der Datenbank gespeichert, aber weder Warnungen noch Entwarnungen ins Mesh gesendet.
Per-Warnung im Web Viewer
Neue Warnungen haben Versand standardmäßig deaktiviert. Unter Einstellungen → NINA-Warnungen (/settings/nina) können Admins den Versand pro Warnung über den 🔔-Toggle aktivieren — unabhängig vom globalen Schalter.
Mehrere Gebiete überwachen
ags_codes = 146120000000,147130000000,110000000000
Jedes Gebiet wird separat abgefragt. Doppelte Warn-IDs werden automatisch dedupliziert.
Nur kritische Warnungen
min_severities = Severe,Extreme
Datenbank
Alle Warnungen werden dauerhaft in der Tabelle nina_warnings gespeichert:
| Spalte | Bedeutung |
|---|---|
id |
NINA-Warn-ID (eindeutig) |
headline |
Überschrift der Meldung |
severity |
Schweregrad (minor/moderate/severe/extreme) |
source |
Quelle (mowas/biwapp/katwarn/dwd/lhp) |
area_desc |
Betroffene Gebiete |
first_seen / last_seen |
Unix-Timestamp des ersten/letzten Auftretens |
broadcast_enabled |
Ob diese Warnung ins Mesh gesendet werden darf (default: FALSE) |
sent_to_mesh |
Ob die Warnung bereits gesendet wurde |
is_active |
Ob die Warnung noch aktiv ist (FALSE = aufgehoben) |
lifted_at |
Unix-Timestamp der Aufhebung |
Beim Neustart des Bots werden bekannte IDs aus der DB geladen — kein Spam nach Neustart.
Dienststatus im Web Viewer
Der NINA-Service erscheint unter Einstellungen → NINA-Warnungen (/settings/nina) mit:
- Aktivierungsstatus und globalem Versand-Schalter
- Liste aller gespeicherten Warnungen mit Status (Aktiv/Aufgehoben), Schweregrad, Quelle und Toggle pro Eintrag
- AGS-Codes, Kanal und Quellen-Konfiguration
- Vorschau der letzten gespeicherten Warnung als Mesh-Nachricht
Navigation
Einstieg
Konfiguration
Web Viewer
Bot-Befehle
Service Plugins
Weitere