refactor(version): Versionsformat auf 2-stellige Minor- und Patch-Level umgestellt
Alle eigenen Projektversionsnummern wurden auf das neue Format umgeschrieben: 0.X.Y → 0.XX.YY (z.B. 0.8.11 → 0.08.11, 0.6.7 → 0.06.07) Betrifft 130 Zeilen in 9 Dateien; externe Bibliotheksversionen unverändert. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
a6988fbb1f
commit
087cccd35c
138
CHANGELOG.md
138
CHANGELOG.md
|
|
@ -1,6 +1,6 @@
|
|||
# Changelog
|
||||
|
||||
## [0.8.11] - 2026-02-20
|
||||
## [0.08.11] - 2026-02-20
|
||||
|
||||
### Fixed
|
||||
- **Pakettypen-Diagramm: eigene Telemetrie ausgeschlossen**: `get_stats()` akzeptiert
|
||||
|
|
@ -9,7 +9,7 @@
|
|||
`isSuppressed()`-Logik im Paket-Log-Frontend). Alle Aufrufer (`bot.py`, `webserver.py`)
|
||||
übergeben `get_my_node_id()`.
|
||||
|
||||
## [0.8.10] - 2026-02-19
|
||||
## [0.08.10] - 2026-02-19
|
||||
|
||||
### Added
|
||||
- **Neue Nachrichten-Seite** (`/messages`, User-only): Komplett eigenständige Seite für
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
wurden nicht zuverlässig aufgelöst. Fix: explizite Hintergrundfarben für Light- und
|
||||
Dark-Mode per `[data-bs-theme]`-Selektor statt CSS-Variablen.
|
||||
|
||||
## [0.8.9] - 2026-02-19
|
||||
## [0.08.09] - 2026-02-19
|
||||
|
||||
### Added
|
||||
- **NINA aktive Warnmeldungen beim Seitenaufruf laden**: Neuer Endpunkt
|
||||
|
|
@ -44,14 +44,14 @@
|
|||
Warnungen die bereits vor dem Seitenaufruf ins Mesh gesendet wurden.
|
||||
Neu eintreffende WS-Events (`nina_alert`) werden per ID dedupliziert.
|
||||
|
||||
## [0.8.8] - 2026-02-19
|
||||
## [0.08.08] - 2026-02-19
|
||||
|
||||
### Changed
|
||||
- **Kartenlegende neu gestaltet**: Theme-aware (CSS-Variablen für Light/Dark-Mode),
|
||||
kompaktes Design mit kleinen Uppercase-Abschnittsköpfen statt `<strong>` + `<hr>`,
|
||||
weicherer Schatten, angepasste Altersdots für beide Themes.
|
||||
|
||||
## [0.8.7] - 2026-02-19
|
||||
## [0.08.07] - 2026-02-19
|
||||
|
||||
### Fixed
|
||||
- **Startup-Warning "connection.established missed"** (fixes #2): Der Fallback-Check
|
||||
|
|
@ -60,7 +60,7 @@
|
|||
Fix: `threading.Event` wartet jetzt bis zu 10 Sekunden auf das Event; der Fallback
|
||||
greift nur noch bei echtem Ausbleiben des Events.
|
||||
|
||||
## [0.8.6] - 2026-02-19
|
||||
## [0.08.06] - 2026-02-19
|
||||
|
||||
### Added
|
||||
- **Paket-Log informativer Payload** (fixes #3): `bot.py` speichert nun vollständige
|
||||
|
|
@ -76,13 +76,13 @@
|
|||
Node (per `my_node_id` oder short_name `FTLW`) werden im Paket-Log nicht angezeigt
|
||||
und gehen nicht in die Zählung ein.
|
||||
|
||||
## [0.8.5] - 2026-02-19
|
||||
## [0.08.05] - 2026-02-19
|
||||
|
||||
### Fixed
|
||||
- **Kartenlegende Position**: Legende von `bottomright` nach `topleft` verschoben,
|
||||
neben die Zoom-Steuerung (fixes Issue #5).
|
||||
|
||||
## [0.8.4] - 2026-02-19
|
||||
## [0.08.04] - 2026-02-19
|
||||
|
||||
### Added
|
||||
- **NINA Sofortabfrage nach Speichern**: Nach dem Speichern der Konfiguration wird
|
||||
|
|
@ -92,7 +92,7 @@
|
|||
- **Letzte Abfrage anzeigen**: Unterhalb des Abfrageintervall-Felds wird Datum und Uhrzeit
|
||||
der letzten erfolgreichen NINA-Abfrage angezeigt (`last_poll`-Feld im Config-Response).
|
||||
|
||||
## [0.8.3] - 2026-02-19
|
||||
## [0.08.03] - 2026-02-19
|
||||
|
||||
### Added
|
||||
- **NINA Gebietsanzeige**: Warnmeldungen zeigen jetzt das Herkunftsgebiet (AGS-Regionsname)
|
||||
|
|
@ -106,7 +106,7 @@
|
|||
### Fixed
|
||||
- **colspan**: Leere Zeile in der Alerts-Tabelle auf 6 Spalten aktualisiert.
|
||||
|
||||
## [0.8.2] - 2026-02-19
|
||||
## [0.08.02] - 2026-02-19
|
||||
|
||||
### Fixed
|
||||
- **NINA mapData geografische Filterung**: mapData-Endpunkte werden nur noch abgefragt,
|
||||
|
|
@ -114,7 +114,7 @@
|
|||
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
|
||||
## [0.08.01] - 2026-02-19
|
||||
|
||||
### Added
|
||||
- **NINA Wiederholungsintervall** (`resend_interval`): Zweiter konfigurierbarer Intervall,
|
||||
|
|
@ -129,7 +129,7 @@
|
|||
Hintergründen und in beiden Themes lesbar bleibt.
|
||||
- **colspan**: Leere Zeile in der Alerts-Tabelle korrekt auf 5 Spalten gesetzt.
|
||||
|
||||
## [0.8.0] - 2026-02-19
|
||||
## [0.08.00] - 2026-02-19
|
||||
|
||||
### Added
|
||||
- **NINA-Integration**: Anbindung an die NINA Warn-App des BBK (Bundesamt für Bevölkerungsschutz
|
||||
|
|
@ -159,22 +159,22 @@
|
|||
- **NINA-Sidebar-Eintrag** in allen Seiten (Admin-only, Icon: `bi-shield-exclamation`).
|
||||
- **`nina.yaml`** als Hot-reload-fähige Konfigurationsdatei (analog zu `scheduler.yaml`).
|
||||
|
||||
## [0.7.1] - 2026-02-18
|
||||
## [0.07.01] - 2026-02-18
|
||||
|
||||
### Changed
|
||||
- **Standard-Theme**: Hell-Theme (Light) ist jetzt der Default für neue Besucher
|
||||
(bisher: Dark). Gespeicherte Benutzereinstellung bleibt erhalten.
|
||||
|
||||
## [0.7.0] - 2026-02-18
|
||||
## [0.07.00] - 2026-02-18
|
||||
|
||||
### Changed
|
||||
- **Dockerfile**: `EXPOSE` von 8080 auf 8081 korrigiert (entspricht Web-Port in config.yaml).
|
||||
- **Dockerfile**: `HEALTHCHECK` hinzugefügt – prüft `/api/stats` alle 30s,
|
||||
Timeout 5s, Start-Wartezeit 20s, max. 3 Versuche.
|
||||
- **docker-compose.yml**: `healthcheck` und `logging` (json-file, 10 MB / 3 Dateien) ergänzt.
|
||||
- **conf/config.yaml**: Version auf 0.7.0 und Verbindungsdaten aktualisiert.
|
||||
- **conf/config.yaml**: Version auf 0.07.00 und Verbindungsdaten aktualisiert.
|
||||
|
||||
## [0.6.15] - 2026-02-18
|
||||
## [0.06.15] - 2026-02-18
|
||||
|
||||
### Added
|
||||
- **Scheduler Template-Variablen**: Nachrichten-Jobs können Platzhalter nutzen:
|
||||
|
|
@ -190,13 +190,13 @@
|
|||
explizit geschlossen (`ws_manager.close_all()`), so dass der Prozess nicht
|
||||
mehr auf hängende WS-Loops wartet.
|
||||
|
||||
## [0.6.14] - 2026-02-18
|
||||
## [0.06.14] - 2026-02-18
|
||||
|
||||
### Added
|
||||
- **Dashboard**: Viertes Diagramm "Pakettypen (24h)" – Doughnut-Chart mit Pakettyp-Verteilung
|
||||
der letzten 24h aus der `packets`-Tabelle, farblich nach Typ kodiert.
|
||||
|
||||
## [0.6.13] - 2026-02-18
|
||||
## [0.06.13] - 2026-02-18
|
||||
|
||||
### Added
|
||||
- **Version in Navbar** aller Seiten sichtbar (via `app.js initPage()` + `/api/stats`).
|
||||
|
|
@ -208,21 +208,21 @@
|
|||
- **Statistiken Rolling Window**: Anfragen-Zähler und Kanal-Breakdown nutzen jetzt
|
||||
rollendes 24h-Fenster (jetzt minus 24h) statt Mitternacht-Reset.
|
||||
|
||||
## [0.6.12] - 2026-02-18
|
||||
## [0.06.12] - 2026-02-18
|
||||
|
||||
### Fixed
|
||||
- **Paket-Log**: Typ-Badges nutzen jetzt solide `bg-{color}`-Hintergründe mit `text-white`
|
||||
(bei Warning: `text-dark`) statt `bg-opacity-20 text-{color}` – garantiert lesbaren
|
||||
Typ-Label-Text in jedem Theme.
|
||||
|
||||
## [0.6.11] - 2026-02-18
|
||||
## [0.06.11] - 2026-02-18
|
||||
|
||||
### Changed
|
||||
- **Paket-Log**: Badges gleich breit (CSS `min-width:5.5rem`, zentriert), Typ-Filter-Pills in
|
||||
Typ-Farbe eingefärbt (aktiv: gefüllt, inaktiv: Outline), unbekannte/undekodierbare Pakete
|
||||
(leerer Portnum) als Typ „?" im Filter sichtbar, Kanal-Spalte zeigt Kanalname wenn verfügbar.
|
||||
|
||||
## [0.6.10] - 2026-02-18
|
||||
## [0.06.10] - 2026-02-18
|
||||
|
||||
### Added
|
||||
- **Paket-Log** (`/packets`): neue öffentliche Seite zeigt alle empfangenen Meshtastic-Pakete
|
||||
|
|
@ -238,14 +238,14 @@
|
|||
- **Node-Modal**: von `modal-lg` auf `modal-xl` + `modal-dialog-scrollable` vergrößert,
|
||||
Karten-Höhe von 250 px auf 300 px erhöht.
|
||||
|
||||
## [0.6.9] - 2026-02-18
|
||||
## [0.06.09] - 2026-02-18
|
||||
|
||||
### Fixed
|
||||
- **bot.py**: `_on_node_updated` Signatur um `interface=None` ergänzt –
|
||||
`meshtastic.node.updated` sendet `(node, interface)`, fehlender Parameter
|
||||
führte zu `SenderUnknownMsgDataError` und Absturz des Node-Handlers.
|
||||
|
||||
## [0.6.8] - 2026-02-18
|
||||
## [0.06.08] - 2026-02-18
|
||||
|
||||
### Fixed
|
||||
- **bot.py**: `pub.subscribe()` wurde nach `TCPInterface()` aufgerufen → `connection.established`
|
||||
|
|
@ -256,21 +256,21 @@
|
|||
- **dashboard.js**: Bootstrap-4-Klasse `badge-pill` durch `rounded-pill` (Bootstrap 5) ersetzt.
|
||||
- **style.css**: CSS-Variablen-Typo `--tblr-bg-body` → `--tblr-body-bg`.
|
||||
|
||||
## [0.6.7] - 2026-02-17
|
||||
## [0.06.07] - 2026-02-17
|
||||
|
||||
### Changed
|
||||
- **Tabler 1.4.0** als Admin-Theme eingebunden: ersetzt Bootstrap CSS/JS in allen 6 HTML-Seiten
|
||||
- `style.css` komplett überarbeitet mit Tabler-Variablen: Inter-Font, subtile Karten-Schatten, verfeinerte Sidebar (Rounded Active-Links), Hover-Animation auf Info-Boxen, pulsierender Status-Dot
|
||||
- Navbar-Höhe 46px → 48px, Sidebar-Breite auf 210px, Karten-Header-Schrift verfeinert
|
||||
|
||||
## [0.6.6] - 2026-02-17
|
||||
## [0.06.06] - 2026-02-17
|
||||
|
||||
### Added
|
||||
- Nachrichten-Kanalfilter: Filter-Buttons im Nachrichten-Card-Header ("Alle" + ein Button pro Kanal)
|
||||
- Neue Nachrichten werden sofort gefiltert; `data-channel`-Attribut auf jedem `.msg-item`
|
||||
- `renderMsgFilterBar()` und `applyMsgFilter()` in `dashboard.js`
|
||||
|
||||
## [0.6.5] - 2026-02-17
|
||||
## [0.06.05] - 2026-02-17
|
||||
|
||||
### Added
|
||||
- Dark Mode Kartentiles: CartoDB Dark Matter bei dunklem Theme, OpenStreetMap bei hellem (Karte + Node-Modal)
|
||||
|
|
@ -278,32 +278,32 @@
|
|||
- 3 Charts im Dashboard: Kanal-Anfragen (Doughnut), Hop-Verteilung (Bar), Hardware Top 5 (Bar)
|
||||
- Charts passen sich automatisch dem Dark/Light Mode an
|
||||
- Nodes-Tabelle: Suchfeld + Online-Filter + Sortierung per Klick auf Spaltenköpfe
|
||||
## [0.6.4] - 2026-02-17
|
||||
## [0.06.04] - 2026-02-17
|
||||
|
||||
### Added
|
||||
- Bot-Uptime als 4. Info-Box im Dashboard (live via WebSocket)
|
||||
- Meshtastic-Verbindungsstatus als zweiter Status-Dot in der Navbar
|
||||
- `bot_status` WebSocket-Event bei Connect/Disconnect des Meshtastic-Nodes
|
||||
- `uptime` und `bot_connected` in `stats_update` und `/api/stats`
|
||||
## [0.6.3] - 2026-02-17
|
||||
## [0.06.03] - 2026-02-17
|
||||
|
||||
### Fixed
|
||||
- WebSocket sendet `initial_messages` und `new_message` nur noch an authentifizierte Clients
|
||||
- `WebSocketManager` unterscheidet jetzt `clients` (alle) und `auth_clients` (eingeloggt)
|
||||
## [0.6.2] - 2026-02-17
|
||||
## [0.06.02] - 2026-02-17
|
||||
|
||||
### Changed
|
||||
- Refactor: Gemeinsames `static/js/app.js` Modul extrahiert
|
||||
- Eliminiert ~360 Zeilen doppelten Code aus allen 5 Seiten (Navbar, Sidebar, Theme, escapeHtml)
|
||||
- Sidebar-HTML wird jetzt dynamisch per `initPage()` injiziert mit automatischer Active-Link-Erkennung
|
||||
## [0.6.1] - 2026-02-17
|
||||
## [0.06.01] - 2026-02-17
|
||||
### Added
|
||||
- Dockerfile fuer Container-Betrieb (python:3.12-slim)
|
||||
- docker-compose.yml mit Host-Netzwerk und Named Volume fuer SQLite
|
||||
- conf/ Verzeichnis mit Beispiel-Konfigurationsdateien fuer Docker
|
||||
- .dockerignore fuer saubere Docker-Builds
|
||||
|
||||
## [0.6.0] - 2026-02-17
|
||||
## [0.06.00] - 2026-02-17
|
||||
### Summary
|
||||
- Node-Detail-Modal mit Minikarte im Dashboard
|
||||
- Anfragen-Tracking pro Kanal mit taeglichem Reset
|
||||
|
|
@ -319,38 +319,38 @@
|
|||
- Kanal-Badges zeigen immer alle Kanaele aufsteigend sortiert (auch bei 0 Anfragen)
|
||||
- Kanal-Badge in Nachrichten im Light-Mode besser lesbar
|
||||
|
||||
## [0.5.10] - 2026-02-17
|
||||
## [0.05.10] - 2026-02-17
|
||||
### Fixed
|
||||
- Kanal-Badge in Nachrichten im hellen Modus besser lesbar (bg-secondary statt bg-body-secondary)
|
||||
|
||||
## [0.5.9] - 2026-02-17
|
||||
## [0.05.09] - 2026-02-17
|
||||
### Changed
|
||||
- Kanal-Badges zeigen immer alle Kanaele aufsteigend sortiert mit Kanalnamen (auch bei 0 Anfragen)
|
||||
- Label-Zeile "Anfragen/Kanal" entfernt
|
||||
|
||||
## [0.5.8] - 2026-02-17
|
||||
## [0.05.08] - 2026-02-17
|
||||
### Changed
|
||||
- Anfragen-Zaehler zeigt nur noch Anfragen von heute (Reset um Mitternacht)
|
||||
- Kommando-Badges entfernt, nur noch Kanal-Aufschluesselung angezeigt
|
||||
|
||||
## [0.5.7] - 2026-02-17
|
||||
## [0.05.07] - 2026-02-17
|
||||
### Added
|
||||
- Anfragen-Aufschluesselung pro Kanal mit Kanalnamen im Dashboard
|
||||
- Channel-Spalte in der commands-Tabelle (mit DB-Migration fuer bestehende DBs)
|
||||
|
||||
## [0.5.6] - 2026-02-17
|
||||
## [0.05.06] - 2026-02-17
|
||||
### Added
|
||||
- Node-Detail-Modal im Dashboard: Klick auf Node-Zeile oeffnet Modal mit allen Node-Daten
|
||||
- Leaflet-Minikarte im Modal zeigt Node-Position (oder "Keine Position" Hinweis)
|
||||
- Zwei-Spalten-Layout: Datentabelle links, Karte rechts (responsive)
|
||||
|
||||
## [0.5.5] - 2026-02-17
|
||||
## [0.05.05] - 2026-02-17
|
||||
### Changed
|
||||
- SMTP-Versand auf EmailMessage + aiosmtplib.SMTP (async context manager) umgestellt
|
||||
- Plaintext-Fallback fuer nicht-HTML-faehige E-Mail-Clients
|
||||
- SMTP-Host zurueck auf ssl0.ovh.net
|
||||
|
||||
## [0.5.4] - 2026-02-16
|
||||
## [0.05.04] - 2026-02-16
|
||||
### Added
|
||||
- Admin: Benutzer direkt anlegen mit Passwort und Rollenwahl
|
||||
- Admin: Benutzer bearbeiten (Name, E-Mail, Rolle) per Modal
|
||||
|
|
@ -363,22 +363,22 @@
|
|||
- Admin-Seite komplett ueberarbeitet mit Modals fuer alle Aktionen
|
||||
- E-Mail-Funktionen um `send_user_info_email` erweitert
|
||||
|
||||
## [0.5.3] - 2026-02-16
|
||||
## [0.05.03] - 2026-02-16
|
||||
### Changed
|
||||
- Zugangsdaten (AUTH_SECRET_KEY, SMTP-*) aus config.yaml in .env-Datei ausgelagert
|
||||
- Neuer `config.env()` Helper fuer Umgebungsvariablen
|
||||
- `.env.example` als Vorlage hinzugefuegt
|
||||
- E-Mail-Versand in gemeinsame `_send_email()` Hilfsfunktion refaktoriert
|
||||
|
||||
## [0.5.2] - 2026-02-16
|
||||
## [0.05.02] - 2026-02-16
|
||||
### Fixed
|
||||
- SMTP-Versand: TLS (Port 465) und STARTTLS (Port 587) automatisch anhand des Ports
|
||||
|
||||
## [0.5.1] - 2026-02-16
|
||||
## [0.05.01] - 2026-02-16
|
||||
### Fixed
|
||||
- Fernet key setup fuer EncryptedCookieStorage korrigiert (doppelte Base64-Kodierung)
|
||||
|
||||
## [0.5.0] - 2026-02-16
|
||||
## [0.05.00] - 2026-02-16
|
||||
### Added
|
||||
- Benutzerverwaltung mit Session-basierter Authentifizierung
|
||||
- Registrierung mit E-Mail-Verifikation (OTP-Token via aiosmtplib)
|
||||
|
|
@ -402,7 +402,7 @@
|
|||
- config.yaml: auth + smtp Sektionen hinzugefuegt
|
||||
- requirements.txt: bcrypt, aiohttp-session, cryptography, aiosmtplib
|
||||
|
||||
## [0.4.0] - 2026-02-16
|
||||
## [0.04.00] - 2026-02-16
|
||||
### Summary
|
||||
- Node-Einstellungen Seite, Karte im Sidebar-Layout
|
||||
- Wetter mit Ortsnamen, PLZ-Support, Luftdruck und Taupunkt
|
||||
|
|
@ -410,47 +410,47 @@
|
|||
- Gesendete Nachrichten im Dashboard mit gruener Bubble
|
||||
- Sende-Card als eigene Komponente, Command-Prefix "?"
|
||||
|
||||
## [0.3.15] - 2026-02-16
|
||||
## [0.03.15] - 2026-02-16
|
||||
### Changed
|
||||
- Debug-Logging aus _send_text entfernt
|
||||
|
||||
## [0.3.14] - 2026-02-16
|
||||
## [0.03.14] - 2026-02-16
|
||||
### Changed
|
||||
- Command-Prefix von "/" auf "?" geaendert
|
||||
- Channel-Combobox in Sende-Card breiter (180px) fuer vollstaendige Channelnamen
|
||||
- Debug-Logging in _send_text fuer Diagnose der Nachrichtenspeicherung
|
||||
|
||||
## [0.3.13] - 2026-02-16
|
||||
## [0.03.13] - 2026-02-16
|
||||
### Fixed
|
||||
- Gesendete Nachrichten werden jetzt vor dem Radio-Send gespeichert und broadcastet
|
||||
- Getrenntes Exception-Handling fuer DB-Store und Radio-Send
|
||||
|
||||
## [0.3.12] - 2026-02-16
|
||||
## [0.03.12] - 2026-02-16
|
||||
### Fixed
|
||||
- Eigene Nachrichten-Echos werden in _handle_packet gefiltert (keine Doppelspeicherung)
|
||||
- Bot-Nachrichten erscheinen korrekt im Dashboard-Nachrichtenfenster
|
||||
|
||||
## [0.3.11] - 2026-02-16
|
||||
## [0.03.11] - 2026-02-16
|
||||
### Changed
|
||||
- Sende-Zeile als eigene Card mit gruener Oberkante oberhalb der Nodes/Nachrichten-Cards
|
||||
- Nachrichten-Card ohne Footer (schlanker)
|
||||
|
||||
## [0.3.10] - 2026-02-16
|
||||
## [0.03.10] - 2026-02-16
|
||||
### Added
|
||||
- Gesendete Bot-Nachrichten werden im Nachrichtenfenster angezeigt
|
||||
- Eigene Nachrichten mit gruener Bubble und rechtsbuendiger Ausrichtung
|
||||
- Bot-Nachrichten werden in DB gespeichert und via WebSocket broadcastet
|
||||
|
||||
## [0.3.9] - 2026-02-16
|
||||
## [0.03.09] - 2026-02-16
|
||||
### Added
|
||||
- Neuer Befehl `/me` zeigt eigene Node-Infos (Name, HW, Hops, SNR, RSSI, Batterie, Position)
|
||||
- Wetter zeigt Luftdruck NN (hPa) und Taupunkt (°C)
|
||||
|
||||
## [0.3.8] - 2026-02-16
|
||||
## [0.03.08] - 2026-02-16
|
||||
### Changed
|
||||
- Ping-Antwort zeigt Hop-Anzahl des anfragenden Nodes (z.B. "Pong ueber 2 Hops!")
|
||||
|
||||
## [0.3.7] - 2026-02-16
|
||||
## [0.03.07] - 2026-02-16
|
||||
### Added
|
||||
- Weather-Befehl zeigt Ortsnamen via Reverse-Geocoding (Nominatim)
|
||||
- Optionales Argument `plz:XXXXX` fuer Wetter nach deutscher Postleitzahl
|
||||
|
|
@ -459,7 +459,7 @@
|
|||
### Changed
|
||||
- Help-Text zeigt `plz:XXXXX` Option beim Weather-Befehl
|
||||
|
||||
## [0.3.6] - 2026-02-15
|
||||
## [0.03.06] - 2026-02-15
|
||||
### Added
|
||||
- Node-Einstellungen Seite (`/settings`) zeigt Geraet, LoRa, Channels, Position, Power, Bluetooth/Netzwerk
|
||||
- Neuer API-Endpoint `GET /api/node/config` liest Config vom lokalen Meshtastic-Node
|
||||
|
|
@ -473,7 +473,7 @@
|
|||
- Map-Styles (Tooltip, Legende) in zentrale `style.css` verschoben
|
||||
- Sidebar-Navigation auf allen 4 Seiten konsistent (Dashboard, Scheduler, Karte, Einstellungen)
|
||||
|
||||
## [0.3.5] - 2026-02-15
|
||||
## [0.03.05] - 2026-02-15
|
||||
### Changed
|
||||
- Dashboard und Scheduler auf AdminLTE-Style umgestellt
|
||||
- Feste Sidebar-Navigation (Dashboard, Scheduler, Karte) mit Active-State
|
||||
|
|
@ -485,7 +485,7 @@
|
|||
- Sidebar responsive: auf Mobile als Overlay mit Backdrop
|
||||
- Einheitliches Layout auf Dashboard und Scheduler
|
||||
|
||||
## [0.3.4] - 2026-02-15
|
||||
## [0.03.04] - 2026-02-15
|
||||
### Fixed
|
||||
- Kanalnamen in Nachrichten fehlten beim Laden (Channels werden jetzt vor Messages gesendet)
|
||||
|
||||
|
|
@ -494,7 +494,7 @@
|
|||
- Stat-Cards, Navbar, Panels und Nachrichten platzsparender
|
||||
- Hover-Animationen und Pulse-Effekt entfernt (schlichter)
|
||||
|
||||
## [0.3.3] - 2026-02-15
|
||||
## [0.03.03] - 2026-02-15
|
||||
### Changed
|
||||
- Dashboard-Layout modernisiert: Glassmorphism-Navbar (sticky, blur-Effekt)
|
||||
- Stat-Cards mit Gradient-Akzentlinie, dezenten Hintergrund-Icons und Hover-Lift
|
||||
|
|
@ -506,7 +506,7 @@
|
|||
- Status-Dot mit sanfter Pulse-Animation bei Verbindung
|
||||
- Breakdowns-Leiste mit subtilerem Hintergrund
|
||||
|
||||
## [0.3.2] - 2026-02-15
|
||||
## [0.03.02] - 2026-02-15
|
||||
### Added
|
||||
- Nachrichten senden direkt aus dem Dashboard (Channel-Dropdown + Textfeld)
|
||||
- Neuer API-Endpoint `POST /api/send` zum Senden von Textnachrichten
|
||||
|
|
@ -515,7 +515,7 @@
|
|||
- Typ-Auswahl (Kommando/Nachricht) im Scheduler-Modal mit dynamischem Label
|
||||
- Typ-Spalte in der Scheduler-Tabelle
|
||||
|
||||
## [0.3.1] - 2026-02-15
|
||||
## [0.03.01] - 2026-02-15
|
||||
### Added
|
||||
- Scheduler-Feature: zeitgesteuerte Bot-Kommandos via Cron-Ausdruecke
|
||||
- Neue Datei `scheduler.yaml` fuer Job-Konfiguration mit File-Watcher (Live-Reload)
|
||||
|
|
@ -526,11 +526,11 @@
|
|||
- `execute_command()` Methode im Bot fuer programmatische Kommando-Ausfuehrung
|
||||
- Scheduler-Link in der Dashboard-Navbar
|
||||
|
||||
## [0.3.0] - 2026-02-15
|
||||
## [0.03.00] - 2026-02-15
|
||||
### Added
|
||||
- Produktiver Betrieb als Systemd-Service
|
||||
|
||||
## [0.2.6] - 2026-02-15
|
||||
## [0.02.06] - 2026-02-15
|
||||
### Added
|
||||
- WordPress-Beitrag unter docs/wordpress-beitrag.html
|
||||
- Systemd Service-File meshdd-bot.service
|
||||
|
|
@ -539,7 +539,7 @@
|
|||
### Changed
|
||||
- Pause zwischen gesplitteten Nachrichten auf 3 Sekunden erhöht
|
||||
|
||||
## [0.2.5] - 2026-02-15
|
||||
## [0.02.05] - 2026-02-15
|
||||
### Added
|
||||
- Automatisches Aufteilen langer Nachrichten (max 170 Zeichen) mit 1,5s Pause
|
||||
|
||||
|
|
@ -547,11 +547,11 @@
|
|||
- /mesh Befehl: bessere Lesbarkeit mit Absätzen und Einrückungen
|
||||
- Hop-Verteilung: "Direkt", "1 Hop", "2 Hops" statt "0h", "1h", "2h"
|
||||
|
||||
## [0.2.4] - 2026-02-15
|
||||
## [0.02.04] - 2026-02-15
|
||||
### Added
|
||||
- Neuer Befehl /mesh - zeigt Mesh-Netzwerk-Infos (Nodes online/gesamt, aktiv 24h, Positionen, Hop-Verteilung, Top-Hardware)
|
||||
|
||||
## [0.2.3] - 2026-02-15
|
||||
## [0.02.03] - 2026-02-15
|
||||
### Added
|
||||
- Kommando-Tracking in der Datenbank (neue Tabelle `commands`)
|
||||
- Stats Card "Aktiv (24h)" zeigt Nodes der letzten 24 Stunden
|
||||
|
|
@ -562,20 +562,20 @@
|
|||
- Stats Cards von 4er auf 3er Grid umgestellt plus Breakdown-Zeile
|
||||
- Bot /stats Kommando zeigt aktualisierte Statistiken
|
||||
|
||||
## [0.2.2] - 2026-02-15
|
||||
## [0.02.02] - 2026-02-15
|
||||
### Changed
|
||||
- SNR-Spalte rechtsbündig, Batterie-Spalte linksbündig
|
||||
- Spaltenabstände in der Nodesliste reduziert (kompakteres Layout)
|
||||
- Spaltenüberschrift "Zuletzt gesehen" zu "Zuletzt" gekürzt
|
||||
|
||||
## [0.2.1] - 2026-02-15
|
||||
## [0.02.01] - 2026-02-15
|
||||
### Changed
|
||||
- Stats Cards kompakter (kleinerer Padding und Schrift)
|
||||
- Batteriestatus mit Bootstrap Icons und Farbcodierung (grün/gelb/rot)
|
||||
- Version wird in der Navbar angezeigt
|
||||
- Karte fittet beim Öffnen auf alle Nodes
|
||||
|
||||
## [0.2.0] - 2026-02-15
|
||||
## [0.02.00] - 2026-02-15
|
||||
### Added
|
||||
- Zentrale config.yaml mit Live-Reload (File-Watcher)
|
||||
- Konfigurierbarer Command-Prefix (Standard: /)
|
||||
|
|
@ -596,18 +596,18 @@
|
|||
- Git pre-commit Hook (manuelle Versionierung)
|
||||
- version.py (ersetzt durch config.yaml)
|
||||
|
||||
## [0.1.2] - 2026-02-15
|
||||
## [0.01.02] - 2026-02-15
|
||||
### Changed
|
||||
- Auto-commit update
|
||||
|
||||
## [0.1.1] - 2026-02-15
|
||||
## [0.01.01] - 2026-02-15
|
||||
### Changed
|
||||
- Dashboard auf Bootstrap 5.3 Dark Theme umgestellt
|
||||
- Bootstrap Icons hinzugefügt
|
||||
- Responsive Stat-Cards, verbessertes Node-Table-Layout
|
||||
- Online-Nodes werden grün hervorgehoben
|
||||
|
||||
## [0.1.0] - 2026-02-15
|
||||
## [0.01.00] - 2026-02-15
|
||||
### Added
|
||||
- Initial release
|
||||
- Meshtastic Bot mit TCP-Verbindung
|
||||
|
|
|
|||
|
|
@ -80,4 +80,4 @@ anderem weitere Befehle, erweiterte Statistiken und zusätzliche
|
|||
Visualisierungen auf der Karte. Der Quellcode ist auf unserem
|
||||
Forgejo-Server verfügbar.
|
||||
|
||||
*Aktueller Stand: Version 0.2.5*
|
||||
*Aktueller Stand: Version 0.02.05*
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
version: "0.8.11"
|
||||
version: "0.08.11"
|
||||
|
||||
bot:
|
||||
name: "MeshDD-Bot"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# MeshDD-Bot — Vollständige Beschreibung
|
||||
|
||||
> Aktueller Stand: **v0.8.9** · Letztes Update: 2026-02-19
|
||||
> Aktueller Stand: **v0.08.09** · Letztes Update: 2026-02-19
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -390,7 +390,7 @@ Alle Seiten verwenden ein einheitliches Layout: Tabler 1.4.0 (Bootstrap 5.3), fi
|
|||
### `config.yaml` — Hauptkonfiguration
|
||||
|
||||
```yaml
|
||||
version: "0.8.9"
|
||||
version: "0.08.09"
|
||||
|
||||
bot:
|
||||
name: "MeshDD-Bot"
|
||||
|
|
@ -559,38 +559,38 @@ Die folgende Tabelle zeigt die wichtigsten Entwicklungsmeilensteine von der erst
|
|||
|
||||
| Version | Datum | Erweiterungsschritt |
|
||||
|---|---|---|
|
||||
| **0.1.0** | 2026-02-15 | **Grundgerüst:** Meshtastic TCP-Bot, SQLite-DB, Web-Dashboard mit WebSocket, Leaflet-Karte, Bot-Kommandos (ping, nodes, info, help, weather, stats, uptime) |
|
||||
| **0.2.0** | 2026-02-15 | **Konfiguration & Karte:** Zentrale `config.yaml` mit Live-Reload, Hop-Farbcodierung auf der Karte, Theme-Toggle (Hell/Dunkel), Kanalnamen in Nachrichten |
|
||||
| **0.2.5** | 2026-02-15 | **Nachrichten-Splitting:** Automatisches Aufteilen langer Nachrichten mit `[x/y]`-Nummerierung und Pause |
|
||||
| **0.3.1** | 2026-02-15 | **Scheduler:** Zeitgesteuerte Bot-Kommandos via Cron-Ausdrücke, `scheduler.yaml` mit File-Watcher, REST-CRUD-API, Live-Updates via WebSocket |
|
||||
| **0.3.2** | 2026-02-15 | **Nachrichten senden:** Direktes Senden aus dem Dashboard (`POST /api/send`); Scheduler-Typ „Nachricht" |
|
||||
| **0.3.5** | 2026-02-15 | **AdminLTE-Layout:** Einheitliches Sidebar-Layout für alle Seiten mit Active-State |
|
||||
| **0.3.6** | 2026-02-15 | **Node-Einstellungen:** `/settings`-Seite liest Gerät, LoRa, Kanäle, Position, Power, Bluetooth via Protobuf vom Node |
|
||||
| **0.4.0** | 2026-02-16 | **UX-Verbesserungen:** `?me`-Kommando, Ping mit Hop-Anzahl, PLZ-Support fürs Wetter, Luftdruck & Taupunkt, gesendete Nachrichten im Dashboard |
|
||||
| **0.5.0** | 2026-02-16 | **Benutzerverwaltung:** Session-Auth mit bcrypt, E-Mail-Verifikation, Rollen (public/user/admin), Admin-Panel, Passwort-Reset |
|
||||
| **0.5.3** | 2026-02-16 | **Secrets in .env:** AUTH_SECRET_KEY und SMTP-Einstellungen aus config.yaml in Umgebungsvariablen ausgelagert |
|
||||
| **0.5.4** | 2026-02-16 | **Admin erweitert:** Benutzer direkt anlegen mit Passwort, Bearbeiten-Modal, Passwort-Reset, Passwort-Generator |
|
||||
| **0.6.0** | 2026-02-17 | **Node-Detail-Modal:** Klick auf Node → Modal mit allen Feldern + Leaflet-Minikarte |
|
||||
| **0.6.1** | 2026-02-17 | **Docker-Support:** Dockerfile, docker-compose.yml, .dockerignore |
|
||||
| **0.6.2** | 2026-02-17 | **Geteiltes app.js:** ~360 Zeilen duplizierten Frontend-Code in gemeinsames Modul extrahiert |
|
||||
| **0.6.3** | 2026-02-17 | **WebSocket-Sicherheit:** `auth_clients` vs. `clients` — Nachrichten nur an authentifizierte WS-Clients |
|
||||
| **0.6.5** | 2026-02-17 | **Dark-Mode-Karte + Charts:** CartoDB Dark Matter, 3 Charts (Kanal, Hops, Hardware) |
|
||||
| **0.6.7** | 2026-02-17 | **Tabler 1.4.0:** Professionelleres CSS-Framework, überarbeitetes style.css |
|
||||
| **0.6.10** | 2026-02-18 | **Paket-Log:** Neue `/packets`-Seite, `packets`-Tabelle in DB, Typ-Filter, Echtzeit via WebSocket |
|
||||
| **0.6.13** | 2026-02-18 | **Karten-Alter-Transparenz:** Nodes >72h werden ausgeblendet; Legende mit Alter-Sektion |
|
||||
| **0.6.14** | 2026-02-18 | **Pakettypen-Chart:** Viertes Doughnut-Chart mit Pakettyp-Verteilung 24h |
|
||||
| **0.6.15** | 2026-02-18 | **Scheduler Template-Variablen:** `{time}`, `{date}`, `{weekday}`, `{nodes}` etc.; Footer auf allen Seiten |
|
||||
| **0.7.0** | 2026-02-18 | **Docker-Verbesserungen:** HEALTHCHECK, Logging-Config, korrigierter Port |
|
||||
| **0.8.0** | 2026-02-19 | **NINA-Integration:** BBK Warn-App angebunden; duales Polling (Dashboard + mapData); Konfigurationsseite; Monitor-Modus; Live-Tabelle via WebSocket |
|
||||
| **0.8.1** | 2026-02-19 | **NINA Resend-Loop:** Aktive Warnungen werden zyklisch wiederholt; AGS-Code-Tabelle statt Badges |
|
||||
| **0.8.2** | 2026-02-19 | **NINA geografische Filterung:** mapData nur noch ohne AGS-Codes aktiv (verhindert bundesweite Meldungen) |
|
||||
| **0.8.3** | 2026-02-19 | **NINA Gebietsanzeige:** Regionsname aus AGS-Labels in Meldung und Mesh-Text; Sachsen-Combobox |
|
||||
| **0.8.4** | 2026-02-19 | **NINA Sofortabfrage:** Nach Speichern der Config sofort pollen; `last_poll`-Zeitstempel anzeigen |
|
||||
| **0.8.5** | 2026-02-19 | **Kartenlegende Position:** von bottomright nach topleft verschoben |
|
||||
| **0.8.6** | 2026-02-19 | **Paket-Log informativer:** Erweiterte Payload-Zusammenfassung; eigene Telemetrie unterdrückt |
|
||||
| **0.8.7** | 2026-02-19 | **Race-Condition-Fix:** `threading.Event` verhindert falsche Startup-Warning „connection.established missed" |
|
||||
| **0.8.8** | 2026-02-19 | **Kartenlegende neu gestaltet:** Theme-aware CSS-Variablen, kompaktes Design |
|
||||
| **0.8.9** | 2026-02-19 | **NINA aktive Warnungen:** `GET /api/nina/alerts` gibt beim Seitenaufruf alle aktiven Warnungen zurück |
|
||||
| **0.01.00** | 2026-02-15 | **Grundgerüst:** Meshtastic TCP-Bot, SQLite-DB, Web-Dashboard mit WebSocket, Leaflet-Karte, Bot-Kommandos (ping, nodes, info, help, weather, stats, uptime) |
|
||||
| **0.02.00** | 2026-02-15 | **Konfiguration & Karte:** Zentrale `config.yaml` mit Live-Reload, Hop-Farbcodierung auf der Karte, Theme-Toggle (Hell/Dunkel), Kanalnamen in Nachrichten |
|
||||
| **0.02.05** | 2026-02-15 | **Nachrichten-Splitting:** Automatisches Aufteilen langer Nachrichten mit `[x/y]`-Nummerierung und Pause |
|
||||
| **0.03.01** | 2026-02-15 | **Scheduler:** Zeitgesteuerte Bot-Kommandos via Cron-Ausdrücke, `scheduler.yaml` mit File-Watcher, REST-CRUD-API, Live-Updates via WebSocket |
|
||||
| **0.03.02** | 2026-02-15 | **Nachrichten senden:** Direktes Senden aus dem Dashboard (`POST /api/send`); Scheduler-Typ „Nachricht" |
|
||||
| **0.03.05** | 2026-02-15 | **AdminLTE-Layout:** Einheitliches Sidebar-Layout für alle Seiten mit Active-State |
|
||||
| **0.03.06** | 2026-02-15 | **Node-Einstellungen:** `/settings`-Seite liest Gerät, LoRa, Kanäle, Position, Power, Bluetooth via Protobuf vom Node |
|
||||
| **0.04.00** | 2026-02-16 | **UX-Verbesserungen:** `?me`-Kommando, Ping mit Hop-Anzahl, PLZ-Support fürs Wetter, Luftdruck & Taupunkt, gesendete Nachrichten im Dashboard |
|
||||
| **0.05.00** | 2026-02-16 | **Benutzerverwaltung:** Session-Auth mit bcrypt, E-Mail-Verifikation, Rollen (public/user/admin), Admin-Panel, Passwort-Reset |
|
||||
| **0.05.03** | 2026-02-16 | **Secrets in .env:** AUTH_SECRET_KEY und SMTP-Einstellungen aus config.yaml in Umgebungsvariablen ausgelagert |
|
||||
| **0.05.04** | 2026-02-16 | **Admin erweitert:** Benutzer direkt anlegen mit Passwort, Bearbeiten-Modal, Passwort-Reset, Passwort-Generator |
|
||||
| **0.06.00** | 2026-02-17 | **Node-Detail-Modal:** Klick auf Node → Modal mit allen Feldern + Leaflet-Minikarte |
|
||||
| **0.06.01** | 2026-02-17 | **Docker-Support:** Dockerfile, docker-compose.yml, .dockerignore |
|
||||
| **0.06.02** | 2026-02-17 | **Geteiltes app.js:** ~360 Zeilen duplizierten Frontend-Code in gemeinsames Modul extrahiert |
|
||||
| **0.06.03** | 2026-02-17 | **WebSocket-Sicherheit:** `auth_clients` vs. `clients` — Nachrichten nur an authentifizierte WS-Clients |
|
||||
| **0.06.05** | 2026-02-17 | **Dark-Mode-Karte + Charts:** CartoDB Dark Matter, 3 Charts (Kanal, Hops, Hardware) |
|
||||
| **0.06.07** | 2026-02-17 | **Tabler 1.4.0:** Professionelleres CSS-Framework, überarbeitetes style.css |
|
||||
| **0.06.10** | 2026-02-18 | **Paket-Log:** Neue `/packets`-Seite, `packets`-Tabelle in DB, Typ-Filter, Echtzeit via WebSocket |
|
||||
| **0.06.13** | 2026-02-18 | **Karten-Alter-Transparenz:** Nodes >72h werden ausgeblendet; Legende mit Alter-Sektion |
|
||||
| **0.06.14** | 2026-02-18 | **Pakettypen-Chart:** Viertes Doughnut-Chart mit Pakettyp-Verteilung 24h |
|
||||
| **0.06.15** | 2026-02-18 | **Scheduler Template-Variablen:** `{time}`, `{date}`, `{weekday}`, `{nodes}` etc.; Footer auf allen Seiten |
|
||||
| **0.07.00** | 2026-02-18 | **Docker-Verbesserungen:** HEALTHCHECK, Logging-Config, korrigierter Port |
|
||||
| **0.08.00** | 2026-02-19 | **NINA-Integration:** BBK Warn-App angebunden; duales Polling (Dashboard + mapData); Konfigurationsseite; Monitor-Modus; Live-Tabelle via WebSocket |
|
||||
| **0.08.01** | 2026-02-19 | **NINA Resend-Loop:** Aktive Warnungen werden zyklisch wiederholt; AGS-Code-Tabelle statt Badges |
|
||||
| **0.08.02** | 2026-02-19 | **NINA geografische Filterung:** mapData nur noch ohne AGS-Codes aktiv (verhindert bundesweite Meldungen) |
|
||||
| **0.08.03** | 2026-02-19 | **NINA Gebietsanzeige:** Regionsname aus AGS-Labels in Meldung und Mesh-Text; Sachsen-Combobox |
|
||||
| **0.08.04** | 2026-02-19 | **NINA Sofortabfrage:** Nach Speichern der Config sofort pollen; `last_poll`-Zeitstempel anzeigen |
|
||||
| **0.08.05** | 2026-02-19 | **Kartenlegende Position:** von bottomright nach topleft verschoben |
|
||||
| **0.08.06** | 2026-02-19 | **Paket-Log informativer:** Erweiterte Payload-Zusammenfassung; eigene Telemetrie unterdrückt |
|
||||
| **0.08.07** | 2026-02-19 | **Race-Condition-Fix:** `threading.Event` verhindert falsche Startup-Warning „connection.established missed" |
|
||||
| **0.08.08** | 2026-02-19 | **Kartenlegende neu gestaltet:** Theme-aware CSS-Variablen, kompaktes Design |
|
||||
| **0.08.09** | 2026-02-19 | **NINA aktive Warnungen:** `GET /api/nina/alerts` gibt beim Seitenaufruf alle aktiven Warnungen zurück |
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
# Dashboard-Verbesserungen – Übersicht (v0.6.2 – v0.6.7)
|
||||
# Dashboard-Verbesserungen – Übersicht (v0.06.02 – v0.06.07)
|
||||
|
||||
Alle Änderungen wurden in der Session vom 2026-02-17 durchgeführt.
|
||||
|
||||
---
|
||||
|
||||
## Prio 1 – Shared `app.js` Modul (v0.6.2)
|
||||
## Prio 1 – Shared `app.js` Modul (v0.06.02)
|
||||
|
||||
**Problem:** ~360 doppelte Zeilen identischer Boilerplate-Code in allen 6 JS-Dateien (`applyTheme`, `updateNavbar`, `updateSidebar`, `escapeHtml`, Sidebar-HTML).
|
||||
|
||||
|
|
@ -18,7 +18,7 @@ Alle Änderungen wurden in der Session vom 2026-02-17 durchgeführt.
|
|||
|
||||
---
|
||||
|
||||
## Prio 2 – WebSocket Auth-Fix (v0.6.2)
|
||||
## Prio 2 – WebSocket Auth-Fix (v0.06.02)
|
||||
|
||||
**Problem:** `initial_messages` und `new_message` WS-Events wurden an alle Clients gesendet, auch nicht eingeloggte.
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ Alle Änderungen wurden in der Session vom 2026-02-17 durchgeführt.
|
|||
|
||||
---
|
||||
|
||||
## Prio 3 – Bot-Uptime & Meshtastic-Status (v0.6.4)
|
||||
## Prio 3 – Bot-Uptime & Meshtastic-Status (v0.06.04)
|
||||
|
||||
**Problem:** Uptime nur per `?uptime`-Kommando abrufbar; kein Indikator ob Bot mit Meshtastic verbunden.
|
||||
|
||||
|
|
@ -41,7 +41,7 @@ Alle Änderungen wurden in der Session vom 2026-02-17 durchgeführt.
|
|||
|
||||
---
|
||||
|
||||
## Prio 4 – Dark Mode Kartentiles (v0.6.5)
|
||||
## Prio 4 – Dark Mode Kartentiles (v0.06.05)
|
||||
|
||||
**Problem:** OpenStreetMap-Kacheln sind immer hell – passt nicht zum Dark Theme.
|
||||
|
||||
|
|
@ -54,7 +54,7 @@ Alle Änderungen wurden in der Session vom 2026-02-17 durchgeführt.
|
|||
|
||||
---
|
||||
|
||||
## Prio 5 – Charts (v0.6.5)
|
||||
## Prio 5 – Charts (v0.06.05)
|
||||
|
||||
**Bibliothek:** Chart.js 4.4.4 (CDN in `index.html`)
|
||||
|
||||
|
|
@ -72,7 +72,7 @@ Alle Änderungen wurden in der Session vom 2026-02-17 durchgeführt.
|
|||
|
||||
---
|
||||
|
||||
## Prio 6 – Nodes-Tabelle Interaktivität (v0.6.5)
|
||||
## Prio 6 – Nodes-Tabelle Interaktivität (v0.06.05)
|
||||
|
||||
**Neue Features in `dashboard.js` + `index.html`:**
|
||||
- **Suchfeld** `#nodeSearch`: filtert `long_name`, `short_name`, `hw_model`, `node_id`
|
||||
|
|
@ -82,7 +82,7 @@ Alle Änderungen wurden in der Session vom 2026-02-17 durchgeführt.
|
|||
|
||||
---
|
||||
|
||||
## Prio 7 – Nachrichten Kanalfilter (v0.6.6)
|
||||
## Prio 7 – Nachrichten Kanalfilter (v0.06.06)
|
||||
|
||||
**Neue Features in `dashboard.js` + `index.html`:**
|
||||
- Filter-Buttons im Nachrichten-Card-Header: „Alle" + ein Button pro Kanal
|
||||
|
|
@ -94,7 +94,7 @@ Alle Änderungen wurden in der Session vom 2026-02-17 durchgeführt.
|
|||
|
||||
---
|
||||
|
||||
## Extra – Tabler 1.4.0 Admin-Theme (v0.6.7)
|
||||
## Extra – Tabler 1.4.0 Admin-Theme (v0.06.07)
|
||||
|
||||
**Motivation:** Eleganteres, professionelleres Erscheinungsbild.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Was ist neu in MeshDD-Bot 0.8.x
|
||||
|
||||
> Aktueller Stand: **v0.8.9** · Release-Datum: 2026-02-19
|
||||
> Aktueller Stand: **v0.08.09** · Release-Datum: 2026-02-19
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -193,13 +193,13 @@ sources:
|
|||
|
||||
| Version | Datum | Schwerpunkt |
|
||||
|---|---|---|
|
||||
| 0.8.0 | 2026-02-19 | NINA-Integration (Grundfunktion) |
|
||||
| 0.8.1 | 2026-02-19 | Wiederholungsintervall, AGS-Tabelle, Badge-Fixes |
|
||||
| 0.8.2 | 2026-02-19 | mapData nur ohne AGS-Codes (geografische Filterung) |
|
||||
| 0.8.3 | 2026-02-19 | Gebietsanzeige, AGS-Ortsname, Sachsen-Combobox |
|
||||
| 0.8.4 | 2026-02-19 | Sofortabfrage nach Speichern, Zeitstempel letzte Abfrage |
|
||||
| 0.8.5 | 2026-02-19 | Kartenlegende nach topleft verschoben (fixes #5) |
|
||||
| 0.8.6 | 2026-02-19 | Informativer Paket-Payload, FTLW-Telemetrie unterdrückt (fixes #3) |
|
||||
| 0.8.7 | 2026-02-19 | threading.Event-Fix für Startup-Warning (fixes #2) |
|
||||
| 0.8.8 | 2026-02-19 | Kartenlegende neu gestaltet (theme-aware) |
|
||||
| 0.8.9 | 2026-02-19 | Aktive NINA-Warnungen beim Seitenaufruf laden |
|
||||
| 0.08.00 | 2026-02-19 | NINA-Integration (Grundfunktion) |
|
||||
| 0.08.01 | 2026-02-19 | Wiederholungsintervall, AGS-Tabelle, Badge-Fixes |
|
||||
| 0.08.02 | 2026-02-19 | mapData nur ohne AGS-Codes (geografische Filterung) |
|
||||
| 0.08.03 | 2026-02-19 | Gebietsanzeige, AGS-Ortsname, Sachsen-Combobox |
|
||||
| 0.08.04 | 2026-02-19 | Sofortabfrage nach Speichern, Zeitstempel letzte Abfrage |
|
||||
| 0.08.05 | 2026-02-19 | Kartenlegende nach topleft verschoben (fixes #5) |
|
||||
| 0.08.06 | 2026-02-19 | Informativer Paket-Payload, FTLW-Telemetrie unterdrückt (fixes #3) |
|
||||
| 0.08.07 | 2026-02-19 | threading.Event-Fix für Startup-Warning (fixes #2) |
|
||||
| 0.08.08 | 2026-02-19 | Kartenlegende neu gestaltet (theme-aware) |
|
||||
| 0.08.09 | 2026-02-19 | Aktive NINA-Warnungen beim Seitenaufruf laden |
|
||||
|
|
|
|||
|
|
@ -388,7 +388,7 @@ class MeshBot:
|
|||
|
||||
elif cmd == f"{prefix}info":
|
||||
uptime = self._format_uptime()
|
||||
response = f"ℹ️ {config.get('bot.name', 'MeshDD-Bot')} v{config.get('version', '0.0.0')}\nUptime: {uptime}"
|
||||
response = f"ℹ️ {config.get('bot.name', 'MeshDD-Bot')} v{config.get('version', '0.00.00')}\nUptime: {uptime}"
|
||||
|
||||
elif cmd == f"{prefix}help":
|
||||
response = (
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ class WebServer:
|
|||
|
||||
my_id = self.bot.get_my_node_id() if self.bot else None
|
||||
stats = await self.db.get_stats(my_node_id=my_id)
|
||||
stats["version"] = config.get("version", "0.0.0")
|
||||
stats["version"] = config.get("version", "0.00.00")
|
||||
if self.bot:
|
||||
stats["uptime"] = self.bot.get_uptime()
|
||||
stats["bot_connected"] = self.bot.is_connected()
|
||||
|
|
@ -158,7 +158,7 @@ class WebServer:
|
|||
async def _api_stats(self, request: web.Request) -> web.Response:
|
||||
my_id = self.bot.get_my_node_id() if self.bot else None
|
||||
stats = await self.db.get_stats(my_node_id=my_id)
|
||||
stats["version"] = config.get("version", "0.0.0")
|
||||
stats["version"] = config.get("version", "0.00.00")
|
||||
if self.bot:
|
||||
stats["uptime"] = self.bot.get_uptime()
|
||||
stats["bot_connected"] = self.bot.is_connected()
|
||||
|
|
|
|||
|
|
@ -2,12 +2,30 @@ jobs:
|
|||
- name: Wetterbericht
|
||||
enabled: true
|
||||
cron: 0 7 * * *
|
||||
command: /weather
|
||||
command: ?weather
|
||||
channel: 0
|
||||
description: Taeglicher Wetterbericht
|
||||
type: command
|
||||
- name: Mesh-Status
|
||||
enabled: true
|
||||
cron: 0 18 * * *
|
||||
command: /mesh
|
||||
channel: 0
|
||||
command: ?mesh
|
||||
channel: 1
|
||||
description: Mesh-Netzwerk Uebersicht
|
||||
type: command
|
||||
- name: Bot-Bake
|
||||
description: Bot-Bake LongFast
|
||||
type: message
|
||||
command: '{datetime} MeshDD-Bot Version v0.08.11 aktiv, {nodes_24h} Nodes aktiv,
|
||||
Hilfe mit "?help"'
|
||||
cron: 0 */6 * * *
|
||||
channel: 0
|
||||
enabled: false
|
||||
- name: Bot-Bake Mei
|
||||
description: Bot-Bake INFO MEI O
|
||||
type: message
|
||||
command: '{datetime} MeshDD-Bot Version v0.08.11 aktiv, {nodes_24h} Nodes aktiv,
|
||||
Hilfe mit "?help"'
|
||||
cron: 1 */6 * * *
|
||||
channel: 4
|
||||
enabled: true
|
||||
|
|
|
|||
Loading…
Reference in a new issue