Files
klangkiste/docs/gui-control-panel.md
2026-01-14 13:11:07 +00:00

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 dev oder ./dev.sh)
  • Box laeuft und meldet sich per Announce beim Backend

Schritt-fuer-Schritt

  1. GUI oeffnen:
http://127.0.0.1:5174
  1. In "Neue Boxen" die Box auswaehlen und "Pairen" klicken.
  2. In der Sidebar unter "Aktive Sessions" eine Box aktiv setzen (gilt fuer alle Seiten).
  3. 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.
  • Buttons ohne Wirkung:
    • Box gepairt?
    • Backend-Logs pruefen.