ppfeiffer
511ff20842
feat(ui): Sidebar-Gruppe Konfigurationen, /config-Seite, MeshDD-Dashboard ( closes #4 )
...
- app.js: Sidebar um Gruppen-Support erweitert; Konfigurationen-Gruppe
mit Scheduler, NINA, Einstellungen (/config) als Untereinträge
- style.css: .sidebar-group-label + .sidebar-link-sub
- config.py: save()-Funktion für persistentes Schreiben in config.yaml
- webserver.py: GET/PUT /api/config + GET /config Route (Admin)
- static/config.html + static/js/config.js: neue Konfigurationsseite
(Bot, Meshtastic, Web, Links editierbar)
- Alle HTML-Dateien: MeshDD-Bot → MeshDD-Dashboard
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 22:33:18 +01:00
ppfeiffer
cbe934ef6e
fix(map): Kartenlegende theme-aware ( closes #5 )
...
- style.css: .legend nutzt CSS-Variablen (--tblr-bg-surface, --tblr-border-color,
--tblr-body-color) statt hardcodierter Hex-Farben
- map.js: legendDiv-Referenz, updateLegendTheme() setzt Inline-Styles;
wird beim onAdd (Init) und im themechange-Listener aufgerufen
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 22:26:53 +01:00
ppfeiffer
76f04105b7
fix(ui): channelBreakdown entfernt + Nachrichten-Trenner stärker ( closes #1 )
...
- index.html: channelBreakdown-Card entfernt
- dashboard.js: chBreakdown-Befüllungsblock entfernt
- style.css: .msg-full-item padding .6→.75rem, border 1px→2px
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 22:13:24 +01:00
ppfeiffer
a5ab4550f2
feat(messages/dashboard): Nachrichten öffentlich, Links-Card, Trenner, Badge-Fix
...
- Nachrichten-Seite /messages ohne Login zugänglich (closes #11 )
- new_message/initial_messages an alle WS-Clients (broadcast statt broadcast_auth)
- Dashboard: Nachrichten-Card entfernt, Links-Card (config.yaml) eingefügt
- GET /api/links gibt konfigurierte Links aus config.yaml zurück
- Nachrichten-Trenner: var(--bs-border-color) statt translucent
- msgCount-Badge: bg-secondary-subtle/text-secondary-emphasis (theme-aware)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 14:41:17 +01:00
ppfeiffer
d6631c1554
feat: Dashboard-Charts-Fix, Nachrichten-Seite, Legende-Hintergrund ( fixes #10 )
...
- Fix: Dashboard-Charts (Kanal-Anfragen + Pakettypen) erscheinen nun initial
korrekt: lastStats gecacht, updateChannelChart nach channels-Event aufgerufen;
packet_type_breakdown in get_stats() ergänzt (SQL über packets-Tabelle, 24h)
- Fix: Kartenlegende hat jetzt explizite Hintergrundfarben per [data-bs-theme]-
Selektor (light=#fff, dark=#1e2128) – keine transparente Legende mehr
- Feat: Neue Nachrichten-Seite /messages (User-only) mit Kanal-Farbcodierung
und Richtungs-Kennzeichnung (empfangen=links/kanalfarbe, gesendet=rechts/grün),
Channel-Filter-Tabs, Absender-Node-ID, Löschen-Button
- Feat: Dashboard Nodes-Tabelle: neue Spalten RSSI und GPS-Positions-Indikator
- Feat: app.js sidebar-user Klasse für eingeloggte Benutzer (non-admin)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 06:24:33 +01:00
ppfeiffer
6adc3cedcf
style(map): Kartenlegende neu gestaltet (theme-aware, kompakt)
...
CSS-Variablen für Light/Dark-Mode, Uppercase-Sektionsköpfe,
kein <strong>+<hr> mehr, weicherer Schatten.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-19 17:35:04 +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
ed3757199e
fix: v0.6.11 - Paket-Log Badge/Filter-Verbesserungen
...
- Badges gleich breit via CSS min-width:5.5rem
- Typ-Filter-Pills in Typ-Farbe (aktiv gefüllt, inaktiv Outline)
- Undekodierbare Pakete (leerer Portnum) als "?" im Filter
- Kanal-Spalte zeigt Kanalname statt Nummer wenn verfügbar
- Statusdot nutzt classList.add/remove('connected') konsistent
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-18 17:33:45 +01:00
ppfeiffer
0b68c0417d
fix: v0.6.8 - Bugfixes: Node-Sync, Modal, Badge, CSS
...
- bot.py: pub.subscribe vor TCPInterface verschoben; Nodes beim Start
wurden nicht geladen da connection.established/node.updated Events
verpasst wurden. Fallback-Sync nach Konstruktor ergaenzt.
- HTML: tabler.min.js -> bootstrap.bundle.min.js; Tabler exportiert
bootstrap nicht global, new bootstrap.Modal() schlug fehl.
- dashboard.js: badge-pill -> rounded-pill (Bootstrap 4 -> 5)
- style.css: --tblr-bg-body Typo -> --tblr-body-bg
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-18 16:01:49 +01:00
ppfeiffer
f2c6ba8e62
feat: v0.6.7 - Dashboard-Upgrade: Tabler-Theme, Charts, Kanalfilter, Node-Suche
...
- Tabler 1.4.0 als Admin-Theme: Bootstrap CSS/JS in allen 6 HTML-Seiten ersetzt
- style.css komplett ueberarbeitet: Inter-Font, Tabler CSS-Variablen, Schatten,
verfeinerte Sidebar (Rounded Active-Links), Hover-Animation auf Info-Boxen,
pulsierender Status-Dot
- app.js als shared Modul: Duplikation in allen JS-Dateien eliminiert (initPage,
applyTheme, escapeHtml, Sidebar-Injektion)
- WebSocket Auth-Fix: Nachrichten nur noch an eingeloggte Clients (auth_clients)
- Bot-Uptime + Meshtastic-Verbindungsstatus in Dashboard und Stats-API
- Dark Mode Kartentiles: CartoDB Dark Matter fuer Karte + Node-Modal
- 3 Charts: Kanal-Anfragen (Doughnut), Hop-Verteilung (Bar), Hardware Top 5
- Nodes-Tabelle: Suchfeld, Online-Filter, sortierbare Spalten
- Nachrichten Kanalfilter: Filter-Buttons im Nachrichten-Card-Header
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-17 22:43:35 +01:00
ppfeiffer
16465eb8f6
feat: v0.3.10 - Show sent messages in dashboard with distinct styling
...
Store bot-sent messages in DB and broadcast via WebSocket. Sent messages
appear right-aligned with green bubble in the messages panel.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 17:46:08 +01:00
ppfeiffer
d3c3806ed5
feat: v0.3.6 - Node settings page, map in sidebar layout
...
Add /settings page showing device, LoRa, channels, position, power and
bluetooth/network config read from the Meshtastic node. Rebuild map page
with consistent sidebar layout instead of standalone fullscreen view.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 18:06:32 +01:00
ppfeiffer
65703b6389
feat: v0.3.5 - AdminLTE-style layout, fix channel names in messages
...
Redesign dashboard and scheduler with AdminLTE-inspired layout: fixed sidebar
navigation, top navbar, info-boxes, card-outline styling, table-striped.
Fix channel names missing on initial load by sending channels before messages.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 17:54:12 +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
0dbb1e0184
feat: Smaller stat cards, battery icons, version in navbar, map fit
...
- Stats cards compacter with smaller font and padding
- Battery status with Bootstrap Icons and color coding
- Version displayed in navbar from config
- Map fits all nodes on open with invalidateSize
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 14:17:15 +01:00
ppfeiffer
d5ea4eee4a
feat: Redesign dashboard with Bootstrap 5.3 dark theme
...
Replace custom CSS layout with Bootstrap 5.3, add Bootstrap Icons,
responsive card grid for stats, improved nodes table with hardware
column, and styled message list. Online nodes highlighted in green.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 13:02:34 +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