2.4 KiB
2.4 KiB
GUI Control Panel
Zweck
Nutzung des Frontend Control Panels zur Steuerung und Beobachtung der Boxen ueber das Backend.
Voraussetzungen
- Backend laeuft auf
http://127.0.0.1:5001 - Frontend gestartet (
cd gui/frontend && npm run devoder./dev.sh) - Box laeuft und meldet sich per Announce beim Backend
Schritt-fuer-Schritt
- GUI oeffnen:
http://127.0.0.1:5174
- In "Neue Boxen" die Box auswaehlen und "Pairen" klicken.
- In der Sidebar unter "Aktive Sessions" eine Box aktiv setzen (gilt fuer alle Seiten).
- Status und Commands nutzen.
Controls (im GUI vorhanden)
- Pairen (Button in "Neue Boxen")
- Statusanzeige (automatisch, Polling)
- Play/Pause, Next, Prev, Vol +/-, Stop
- NFC on/off (UID manuell eingeben; kein Auto-Fill)
- Unpair (Button in "Gepairte Boxen")
- Medien-Explorer (Ordner/Dateien, Upload, Rename, Move, Delete)
- Neuer/Leerer Tag erkannt (Panel)
- Wenn keine UID erkannt: ID zuweisen & schreiben
- Wenn UID erkannt,
known=false: nur Medienordnerwahl + "Nur in die DB uebernehmen" - Medienordner zuordnen
- Importierte Tag-IDs wiederverwenden
- Tags (Datenbank)
- Alias setzen, Medium zuweisen, Tag loeschen
- Tag-Matrix (Sperren)
- Tags pro Box sperren/entsperren
- Tags nur auf dieser Box
- Lokale Tags ohne DB-Eintrag
- Dateien anzeigen
- Auf Server uebertragen (mit neuem Ordnernamen)
- Mobile: Aktive Sessions als Bottom-Sheet (Topbar-Icon)
- Hardware-UID (simuliert) wird im Tag-Panel und Live-Status angezeigt, wenn NFC on ohne UID genutzt wird
Controls (nur Backend/API)
- WiFi add/reset
- Spotify set/clear
Beispiel via Backend-API (weitergeleitet an die Box):
curl -X POST http://127.0.0.1:5001/api/boxes/<box_id>/command \
-H "Content-Type: application/json" \
-d '{"command":"wifi_add_profile","payload":{"ssid":"HomeWiFi","password":"secret","priority":10}}'
Erwartete Ergebnisse
- Nach jedem Klick wird der Status innerhalb von 1s aktualisiert.
- Fehler werden im GUI angezeigt.
Checkliste
- ✅ GUI laedt und zeigt Backend-URL
- ✅ Neue Boxen erscheinen unter "Neue Boxen"
- ✅ Pairing verschiebt die Box in die gepaarte Liste
- ✅ Aktive Box ist global gesetzt (Sidebar "Aktive Sessions")
- ✅ Buttons aendern den
/status
Troubleshooting
- GUI zeigt "Failed to fetch":
- Backend erreichbar?
http://127.0.0.1:5001/api/boxes - Browser-Konsole pruefen.
- Backend erreichbar?
- Buttons ohne Wirkung:
- Box gepairt?
- Backend-Logs pruefen.