Loading...
Stagetimer API
This module lets you remotely control Stagetimer using Companion.
It connects using the Stagetimer HTTP RPC API and Stagetimer Socket.io endpoint.
For a comprehensive guide with video tutorials, see the full documentation: Controlling Stagetimer via Companion for Stream Deck
To use this module you need:
There are multiple presets available for the most common actions, ready to drop into your button layout.
The presets are organized into categories:
Find a complete reference with button images in the Stagetimer docs: Controlling Stagetimer via Companion for Stream Deck
The following Actions are available:
Message actions:
Timer actions:
The Timer: * and Message: * actions target either an index (position in the list, starting at 1) or an ID. Use one or the other — if both fields are filled, the ID wins. Both fields accept variables, so setting Timer ID to $(stagetimer:currentTimerId) and clearing Timer index targets the currently highlighted timer.
Transport actions:
Viewer actions:
Utility actions:
Variables let you display live data from Stagetimer on your Stream Deck buttons.
Room
$(stagetimer:roomId) - Room ID$(stagetimer:roomName) - Room name$(stagetimer:roomTimezone) - Room timezone (Docs)Playback Snapshot
The time display is equal to the Stagetimer output, taking timer appearance into account (Docs). The current time remaining is always strictly a countdown.
$(stagetimer:timeDisplay) - Time Display$(stagetimer:timeDisplayHours) - Time Display (hours)$(stagetimer:timeDisplayMinutes) - Time Display (minutes)$(stagetimer:timeDisplaySeconds) - Time Display (seconds)$(stagetimer:currentTimerRemaining) - Timer remaining time$(stagetimer:currentTimerRemainingAsMs) - Timer remaining time (ms)$(stagetimer:currentTimerRemainingHours) - Timer remaining time (hours)$(stagetimer:currentTimerRemainingMinutes) - Timer remaining time (minutes)$(stagetimer:currentTimerRemainingSeconds) - Timer remaining time (seconds)Current Timer
The timer currently selected in the room. These variables are empty while no timer is selected.
$(stagetimer:currentTimerId) - Timer ID$(stagetimer:currentTimerName) - Timer name$(stagetimer:currentTimerSpeaker) - Timer speaker$(stagetimer:currentTimerNotes) - Timer notes$(stagetimer:currentTimerAppearance) – Timer appearance (Docs)$(stagetimer:currentTimerStartTime12h) - Hard start time (12h format, Docs)$(stagetimer:currentTimerStartTime24h)- Hard start time (24h format, Docs)$(stagetimer:currentTimerDuration) - Timer duration$(stagetimer:currentTimerDurationAsMs) - Timer duration (ms)$(stagetimer:currentTimerLabels) - Timer labels (comma-separated)$(stagetimer:currentTimerLabel1) - Timer label 1$(stagetimer:currentTimerLabel2) - Timer label 2$(stagetimer:currentTimerLabel3) - Timer label 3Next Timer
The timer that follows the current one. These variables are empty when the last timer is selected, so $(stagetimer:nextTimerId) can be used to detect the end of the rundown.
$(stagetimer:nextTimerId) - Timer ID$(stagetimer:nextTimerName) - Timer name$(stagetimer:nextTimerSpeaker) - Timer speaker$(stagetimer:nextTimerNotes) - Timer notes$(stagetimer:nextTimerAppearance) – Timer appearance (Docs)$(stagetimer:nextTimerStartTime12h) - Hard start time (12h format, Docs)$(stagetimer:nextTimerStartTime24h)- Hard start time (24h format, Docs)$(stagetimer:nextTimerDuration) - Timer duration$(stagetimer:nextTimerDurationAsMs) - Timer duration (ms)$(stagetimer:nextTimerLabels) - Timer labels (comma-separated)$(stagetimer:nextTimerLabel1) - Timer label 1$(stagetimer:nextTimerLabel2) - Timer label 2$(stagetimer:nextTimerLabel3) - Timer label 3Current Message
The message currently showing on the viewer. These variables are empty while no message is showing.
$(stagetimer:currentMessageId) - Message ID$(stagetimer:currentMessageText) - Message text$(stagetimer:currentMessageColor) - Message colorThis module also works with the Stagetimer desktop app for offline use.
http://127.0.0.1:3000).Use the Room: Switch room action to change the active room on-the-fly with a single connection. This requires a team API key (generated from the dashboard), which has access to all rooms in your team.
The Room ID field supports variables, so you can wire it to other inputs or triggers.
The current room is available via $(stagetimer:roomId).
Alternatively, you can control multiple rooms simultaneously by adding multiple connections:
stagetimer-1).stagetimer-2) and the second room's credentials.Reference variables by connection label:
$(stagetimer-1:currentTimerName)$(stagetimer-2:currentTimerName)Connection fails:
Variables not updating:
Need more help? Visit the Stagetimer documentation or contact support at support@stagetimer.io