macOS & Windows · OSC · Bitfocus Companion · LTC · NDI · Web Mirror & Controller
/control panel lets you run the timer from any phone or tablet. Scan QR to connect instantly.Control KUMA Timer from your Elgato Stream Deck or any Companion-compatible controller. Download the module package and install it manually until it appears in the official Companion module library.
.zip above, extract it, and move the kuma-companion/ folder somewhere permanent (e.g. ~/companion-modules/kuma-companion/)kuma-companion/ (e.g. ~/companion-modules/), then toggle Enable Developer Modules onCompanion watches the dev folder live — you can update module files without restarting.
KUMA Timer is available as a Microsoft Store app (Windows), Apple App Store (macOS, coming soon) and as a direct download for both platforms. Store versions install without any security warnings and update automatically.
The easiest way to install KUMA Timer on macOS — no Gatekeeper warnings, no right-click tricks, automatic updates.
Alternative: right-click the app → Open → Open in the dialog that appears.
☕ Why does this warning appear?
Removing it requires an Apple Developer certificate ($99/year) + a notarisation fee.
KUMA Timer is free — every coffee goes directly towards covering these costs so future versions can open without any warnings.
Install directly from the Microsoft Store — no security dialogs, no warnings, automatic updates.
If you see "Windows protected your PC" (SmartScreen) instead — click More info → Run anyway.
You can re-enable Smart App Control after installation.
On first launch KUMA Timer will ask for permission to accept incoming network connections — this is required for OSC, Web Mirror, Web Controller and NDI.
Control KUMA Timer from Bitfocus Companion or any OSC-capable device. Default listen port: 9000
| Address | Argument | Action |
|---|---|---|
/kuma/start | — | Start timer |
/kuma/pause | — | Pause / resume toggle |
/kuma/reset | — | Reset to zero |
/kuma/hide | — | Toggle display visibility |
/kuma/time/add | — | +1 minute |
/kuma/time/sub | — | −1 minute |
/kuma/warp | int seconds | Load duration (e.g. 300 = 5:00) |
/kuma/preset | int 0–5 | Load preset by index |
/kuma/cue | int index | Load cue from runsheet |
/kuma/settime | string HH:MM:SS | Load exact time (e.g. "01:30:00") |
Feedback from KUMA → Companion (default 127.0.0.1:12321):
| Address | Value | Sent when |
|---|---|---|
/kuma/timer | string e.g. "04:32" | Every 500 ms |
/kuma/status | "LIVE" · "PAUSED" · "STANDBY" · "HIDDEN" | On state change |
/kuma/overtime | 1 | On overtime start |