# Changelog ## [0.3.15] - 2026-02-16 ### Changed - Debug-Logging aus _send_text entfernt ## [0.3.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 ### 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 ### Fixed - Eigene Nachrichten-Echos werden in _handle_packet gefiltert (keine Doppelspeicherung) - Bot-Nachrichten erscheinen korrekt im Dashboard-Nachrichtenfenster ## [0.3.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 ### 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 ### 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 ### Changed - Ping-Antwort zeigt Hop-Anzahl des anfragenden Nodes (z.B. "Pong ueber 2 Hops!") ## [0.3.7] - 2026-02-16 ### Added - Weather-Befehl zeigt Ortsnamen via Reverse-Geocoding (Nominatim) - Optionales Argument `plz:XXXXX` fuer Wetter nach deutscher Postleitzahl - Geocoding-Methoden `_geocode_plz()` und `_reverse_geocode()` im Bot ### Changed - Help-Text zeigt `plz:XXXXX` Option beim Weather-Befehl ## [0.3.6] - 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 - `get_node_config()` Methode im Bot (liest localConfig, myInfo, metadata via Protobuf) - Sidebar-Eintrag "Einstellungen" mit Gear-Icon auf allen Seiten ### Changed - Karte (`/map`) im Sidebar-Layout statt Vollbild (Top-Navbar, Sidebar, Content-Wrapper) - Karte oeffnet im selben Tab statt `target="_blank"` - Status-Info und Node-Count in Karten-Navbar integriert - 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 ### Changed - Dashboard und Scheduler auf AdminLTE-Style umgestellt - Feste Sidebar-Navigation (Dashboard, Scheduler, Karte) mit Active-State - Fixed Top-Navbar mit Branding, Status-Dot und Theme-Toggle - Content-Wrapper mit leicht abgesetztem Hintergrund - Info-Boxes im AdminLTE-Stil (Icon-Spalte + Inhalt) statt Cards - Card-Outline mit farbiger Oberkante (info/warning) statt Borders - Table-Striped fuer bessere Lesbarkeit - Sidebar responsive: auf Mobile als Overlay mit Backdrop - Einheitliches Layout auf Dashboard und Scheduler ## [0.3.4] - 2026-02-15 ### Fixed - Kanalnamen in Nachrichten fehlten beim Laden (Channels werden jetzt vor Messages gesendet) ### Changed - Dashboard deutlich kompakter: weniger Padding, kleinere Schriftgroessen - Stat-Cards, Navbar, Panels und Nachrichten platzsparender - Hover-Animationen und Pulse-Effekt entfernt (schlichter) ## [0.3.3] - 2026-02-15 ### Changed - Dashboard-Layout modernisiert: Glassmorphism-Navbar (sticky, blur-Effekt) - Stat-Cards mit Gradient-Akzentlinie, dezenten Hintergrund-Icons und Hover-Lift - Nachrichten als Chat-Bubbles statt flache Listeneintraege - Buttons und Badges als Rounded-Pills fuer moderneren Look - Sende-Leiste mit eigenem abgesetztem Styling - Panel-Cards borderless mit Soft-Shadow - Node-Count-Badge als Pill mit halbtransparentem Hintergrund - Status-Dot mit sanfter Pulse-Animation bei Verbindung - Breakdowns-Leiste mit subtilerem Hintergrund ## [0.3.2] - 2026-02-15 ### Added - Nachrichten senden direkt aus dem Dashboard (Channel-Dropdown + Textfeld) - Neuer API-Endpoint `POST /api/send` zum Senden von Textnachrichten - `send_message()` Methode im Bot fuer freie Textnachrichten - Scheduler unterstuetzt neuen Typ "Nachricht" neben "Kommando" - Typ-Auswahl (Kommando/Nachricht) im Scheduler-Modal mit dynamischem Label - Typ-Spalte in der Scheduler-Tabelle ## [0.3.1] - 2026-02-15 ### Added - Scheduler-Feature: zeitgesteuerte Bot-Kommandos via Cron-Ausdruecke - Neue Datei `scheduler.yaml` fuer Job-Konfiguration mit File-Watcher (Live-Reload) - Eigener minimaler Cron-Parser (Minute, Stunde, Tag, Monat, Wochentag) - Scheduler-Webseite unter `/scheduler` zum Verwalten der Jobs (CRUD) - REST API: GET/POST/PUT/DELETE `/api/scheduler/jobs` - Live-Updates der Scheduler-Seite via WebSocket - `execute_command()` Methode im Bot fuer programmatische Kommando-Ausfuehrung - Scheduler-Link in der Dashboard-Navbar ## [0.3.0] - 2026-02-15 ### Added - Produktiver Betrieb als Systemd-Service ## [0.2.6] - 2026-02-15 ### Added - WordPress-Beitrag unter docs/wordpress-beitrag.html - Systemd Service-File meshdd-bot.service - Nachrichten-Splitting mit [x/y] Nummerierung ### Changed - Pause zwischen gesplitteten Nachrichten auf 3 Sekunden erhöht ## [0.2.5] - 2026-02-15 ### Added - Automatisches Aufteilen langer Nachrichten (max 170 Zeichen) mit 1,5s Pause ### Changed - /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 ### Added - Neuer Befehl /mesh - zeigt Mesh-Netzwerk-Infos (Nodes online/gesamt, aktiv 24h, Positionen, Hop-Verteilung, Top-Hardware) ## [0.2.3] - 2026-02-15 ### Added - Kommando-Tracking in der Datenbank (neue Tabelle `commands`) - Stats Card "Aktiv (24h)" zeigt Nodes der letzten 24 Stunden - Stats Card "Anfragen" zeigt beantwortete Bot-Kommandos - Kommando-Aufschlüsselung als Badges in voller Breite (z.B. /help 5, /ping 3) ### Changed - Stats Cards von 4er auf 3er Grid umgestellt plus Breakdown-Zeile - Bot /stats Kommando zeigt aktualisierte Statistiken ## [0.2.2] - 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 ### 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 ### Added - Zentrale config.yaml mit Live-Reload (File-Watcher) - Konfigurierbarer Command-Prefix (Standard: /) - Kanalnamen in der Nachrichtenliste - Hops-Spalte in der Nodes-Tabelle - Karte: Farbcodierung der Nodes nach Hop-Anzahl mit Legende - Karte: Tooltip mit Node-Infos beim Hover - Hell/Dunkel Theme-Umschalter im Dashboard - Node-Namen (LongName/ShortName) werden korrekt angezeigt - Nachrichten werden beim Connect aus der DB geladen - Wetter-Fallback auf Dresden Zentrum bei fehlender Position ### Changed - Konfiguration von Environment-Variablen auf config.yaml umgestellt - Version wird in config.yaml statt version.py verwaltet ### Removed - Git pre-commit Hook (manuelle Versionierung) - version.py (ersetzt durch config.yaml) ## [0.1.2] - 2026-02-15 ### Changed - Auto-commit update ## [0.1.1] - 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 ### Added - Initial release - Meshtastic Bot mit TCP-Verbindung - Bot-Kommandos: !ping, !nodes, !info, !help, !weather, !stats, !uptime - SQLite-Datenbank für Nodes und Nachrichten - Web-Dashboard mit Live-Updates via WebSocket - Leaflet-Karte mit Node-Positionen - Automatische Versionierung via Git pre-commit Hook