Pult-Steuerung & API
Steuere den Live-Ablauf von einem Stream Deck, Bitfocus Companion oder jedem Gerät, das eine Web-Adresse aufrufen kann. Ein Knopfdruck wirkt sofort auf allen verbundenen Geräten und Screens – gleiche Live-Schiene wie die App.
So funktioniert es
Jede Aktion ist eine einfache Web-Adresse nach diesem Muster:
https://stagebeat.app/api/control/<DEIN-ZUGANG>/<aktion>
<DEIN-ZUGANG> ist der Code aus deinem Veranstalter-Link (alles hinter
?t=). Am einfachsten: In der App unter
Verwaltung → 🎛️ Pult-Steuerung stehen alle Adressen fertig
zum Kopieren – ohne Tipparbeit.
Aufruf per GET oder POST – beides funktioniert, weil manche Geräte nur eines von beidem können.
Alle Aktionen
| Aktion | Was passiert | Parameter |
|---|---|---|
next | Beendet den laufenden Programmpunkt – der nächste startet sofort. | – |
setupdone | Beendet die laufende Umbau-Phase – der Act startet sofort, seine Spielzeit bleibt unangetastet. | – |
back | Nimmt den letzten Sprung zurück – der vorige Punkt ist wieder dran. | – |
plus | Verlängert den laufenden Punkt. | ?min=1 … 30 (Standard 1) |
minus | Kürzt den laufenden Punkt. | ?min=1 … 30 (Standard 1) |
pause | Schiebt nach dem laufenden Punkt eine Pause ein. | ?min=1 … 60 (Standard 5) |
start | Startet die Veranstaltung bzw. Bühne (falls noch nicht gestartet). | – |
msg | Zeigt eine Ansage groß auf dem Bühnen-Screen (verschwindet nach 5 Minuten von selbst). Perfekt als Knopf: „Letztes Lied“, „Bitte Ruhe“, „Noch 5 Minuten“. | ?text=Letztes%20Lied (max. 80 Zeichen) |
msgoff | Blendet die Ansage sofort wieder aus. | – |
status | Liefert den Live-Zustand als JSON – ändert nichts. Ideal für Anzeigen. | – |
timetable | Der komplette Zeitplan der Bühne als JSON (jeder Punkt mit Start, Ende, Status „vorbei / läuft / geplant“) – für OBS-Overlays und eigene Anzeigen. Nur lesend. | – |
Mehrere Bühnen? Hänge ?stage=Bühnenname an (bei Aktionen mit
?min=… stattdessen &stage=…). Ohne Angabe wird die
gerade laufende Bühne gesteuert.
Stream Deck einrichten (2 Minuten)
- In der STAGEBEAT-App: Verwaltung → 🎛️ Pult-Steuerung öffnen und z. B. die Adresse für „▶ Nächster Programmpunkt“ kopieren.
- In der Stream-Deck-Software aus der Liste rechts System → Website auf eine Taste ziehen.
- Die kopierte Adresse ins Feld URL einfügen.
- Häkchen „Im Hintergrund öffnen“ setzen – sonst geht bei jedem Druck ein Browser-Fenster auf.
- Fertig. Für ±1 min, Pause und Zurück je eine weitere Taste anlegen.
Bitfocus Companion
- Verbindung Generic: HTTP Requests hinzufügen, Base-URL
https://stagebeat.app. - Pro Taste eine Aktion HTTP GET mit dem Pfad, z. B.
/api/control/<DEIN-ZUGANG>/next. - Für Restzeit auf dem Tastendisplay:
…/statusregelmäßig abfragen undcurrent.remainingSecals Variable aufs Button-Feedback legen.
Antworten der API
Jede Aktion antwortet mit JSON. Erfolgreich:
{ "ok": true, "aktion": "next", "stage": "Hauptbühne" }
status liefert den Live-Zustand:
{
"ok": true,
"stage": "Hauptbühne",
"started": true,
"ended": false,
"current": {
"name": "DJ Mo",
"type": "dj",
"phase": "live",
"remainingSec": 743,
"endsAt": 1786477617254
},
"next": { "name": "Feuershow", "startsAt": 1786477617254 },
"canBack": true
}
Fehler kommen als { "ok": false, "error": "…" } mit passendem HTTP-Status:
| Status | Bedeutung |
|---|---|
403 | Zugang unbekannt oder darf nicht steuern. |
409 | Aktion passt gerade nicht (z. B. „next“ vor dem Start, „back“ ohne Sprung). |
429 | Zu viele Aufrufe – kurz warten (mehr als 30 in 10 Sekunden). |
Wer darf steuern?
- Veranstalter-Zugang: immer.
- Technik-Zugang: nur wenn in der App „Technik darf den Ablauf steuern“ eingeschaltet ist.
- Crew, Fotograf, Künstler: nie – solche Aufrufe werden abgewiesen.
Jeder Pult-Aufruf wird im Protokoll der Veranstaltung festgehalten („Pult (Veranstalter)“ bzw. „Pult (Technik)“).
Zum Ausprobieren
Im Terminal (Mac/Linux/Windows) oder aus jedem eigenen Tool:
curl "https://stagebeat.app/api/control/<DEIN-ZUGANG>/status"
Damit lässt sich STAGEBEAT auch an eigene Systeme anbinden – Hausautomation, Show-Steuerung, Skripte. Alles, was HTTP spricht, kann den Ablauf schalten.