Commit graph

7 commits

Author SHA1 Message Date
ppfeiffer 57182c5412 fix(db): Datenbank nach data/ verschoben, WAL-Checkpoint + robuster Shutdown
- database.path in config.yaml: meshdd.db → data/meshdd.db
- data/.gitkeep: Verzeichnis in Git verankert, *.db-wal/shm gitignored
- database.py: PRAGMA wal_checkpoint(FULL) vor db.close() für sauberes Schließen
- main.py: Shutdown-Schritte einzeln mit try/except gekapselt;
  db.close() wird jetzt auch bei Fehlern in vorherigen Schritten ausgeführt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 21:59:40 +01:00
ppfeiffer 0ca0ffb0d1 feat: NINA BBK Warn-App Integration (v0.8.0)
Neue NINA-Integration: Automatisches Polling der BBK-Warn-API
(warnung.bund.de/api31) und Weiterleitung von Warnmeldungen ins
Meshtastic-Netz. Separate Admin-Konfigurationsseite (/nina) analog
zum Scheduler.

- meshbot/nina.py: NinaBot – Polling, De-Duplikation, Schweregrad-
  und Quellen-Filterung, WebSocket-Broadcast (nina_alert)
- nina.yaml + conf/nina.yaml: Hot-reload-faehige Konfiguration
- static/nina.html + static/js/nina.js: Konfigurationsseite mit
  AGS-Code-Verwaltung, Quellen-Auswahl und Live-Alerts-Tabelle
- webserver.py: GET/PUT /api/nina/config + GET /nina (Admin-only)
- main.py: NinaBot initialisieren, watch/start/stop im Lifecycle
- app.js: NINA-Sidebar-Eintrag (Admin-only, shield-exclamation)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-19 11:21:01 +01:00
ppfeiffer 997a29842f feat: v0.6.15 - Scheduler-Variablen, Footer, sauberer WS-Shutdown
- Scheduler Nachrichten: Template-Variablen {time}, {date}, {datetime},
  {weekday}, {nodes}, {nodes_24h} serverseitig aufgelöst
- Scheduler UI: klickbare Variablen-Badges beim Nachrichtenfeld-Modus
- Footer auf allen Seiten: © MeshDD / PPfeiffer · vX.Y.Z · MM/YYYY
- Fix: WS-Verbindungen vor runner.cleanup() explizit geschlossen

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-18 18:13:15 +01:00
ppfeiffer 6bfb1595e4 feat: v0.3.3 - Send messages from dashboard, scheduler message type, modern UI
Add message sending from web dashboard with channel selector, new POST /api/send
endpoint, scheduler support for free-text messages (type field), and modernized
dashboard layout with glassmorphism navbar, gradient stat cards, chat bubbles.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 17:40:00 +01:00
ppfeiffer 9e880a1f36 feat: v0.2.0 - Config YAML, theme toggle, hop map, channel names
- Central config.yaml with live-reload file watcher
- Configurable command prefix (default: /)
- Light/dark theme toggle with localStorage persistence
- Map: hop-based node coloring with legend, hover tooltips
- Dashboard: node long names, hop column, channel names in messages
- Load existing messages on WebSocket connect
- Weather fallback to Dresden center
- Remove version.py and pre-commit hook

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 14:07:51 +01:00
ppfeiffer a6c09b19eb refactor: Replace env-based config and version.py with config.yaml
Move all configuration to config.yaml with live-reload (file watcher).
Version is now managed in config.yaml instead of version.py.
Remove pre-commit hook for automatic version bumping.
Pin meshtastic dependency to >=2.7.7.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 13:11:09 +01:00
ppfeiffer 15955cf8d7 feat: Add Meshtastic bot with web dashboard and live map
Implements full MeshDD-Bot with TCP connection to Meshtastic devices,
SQLite storage for nodes/messages, aiohttp web dashboard with WebSocket
live updates, and Leaflet.js map view with color-coded node markers.
Includes bot commands (!ping, !nodes, !info, !help, !weather, !stats,
!uptime) and automatic version bumping via pre-commit hook.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 12:46:32 +01:00