The official Tommy's Radio Stream Deck plugin turns an Elgato Stream Deck into a live radio panel: it mirrors your radio's state and lets you drive it — change channels, transmit, scan, and adjust volume — without touching the keyboard. It works with the in-game radio and the web dispatch panel, and unlike other integrations it needs no separate desktop app.
Don't have a physical Stream Deck? The free Stream Deck Mobile app works too, as does the open-source OpenDeck.
Download
Works with Elgato Stream Deck and OpenDeck
The same .streamDeckPlugin file installs on both — double-click it in Elgato's Stream Deck
software, or use install from file in OpenDeck. (OpenDeck also needs its Node.js plugin runtime
available.)
How it works
Everything runs locally on your PC. The plugin opens a small WebSocket server on 127.0.0.1:21398; the tRadio in-game NUI and the dispatch panel connect out to it and stream their state, and the plugin sends commands back the same way.
FiveM in-game radio ─┐ ws://127.0.0.1:21398
├───────────────────────────► Stream Deck plugin
Dispatch panel ───────┘ state + commands (local) (keys render live)
Because the game and the panel connect directly, there's no middleman desktop app to keep running — just the plugin and whichever tRadio surface you're using.
Keys show “offline” until tRadio is running
A key only lights up once its source is connected. The radio keys need the in-game radio (you must be in-game with tRadio loaded); the dispatch keys need the dispatch panel open and connected to your radio server. This is expected — start tRadio and they come to life.
Setup
Install the plugin
Download it above, then install it in your Stream Deck software:
- Elgato Stream Deck: double-click
com.timmyg-studios.tradio.streamDeckPlugin. - OpenDeck: open the plugin menu → install from file → pick the
.streamDeckPlugin.
Add actions to keys
In the Stream Deck app, find tRadio in the actions list and drag the actions you want onto keys (and dials, on a Stream Deck +).
Pick a target
Each control action has a Target: Radio (in-game), Dispatch (panel), or Auto (whichever is connected). Set it in the action's settings. Channel actions let you pick a specific channel from a live list.
Go
Start the in-game radio and/or open the dispatch panel — the keys populate and become interactive.
Actions
Status keys
| Key | Shows |
|---|---|
| Radio Status | Zone + connected channel, talk/scan status, signal bars, and indicators for scan / trunk / patch / GPS / secure. Turns red on panic; shows active alerts (e.g. Signal 100). |
| Talk Indicator | A big light: amber when you transmit, green when someone on your channel talks, cyan on a scanned-channel hit — with the talker's name. |
| Scan Indicator | Lit while scanning; flags scanned-channel hits. |
| Dispatch Activity | The dispatcher's channel + zone, how many units are keyed up, and TX/RX — including cross-channel transmits (TX ▸ Statewide). |
| 911 Queue | How many 911 calls are waiting — goes red with the count. |
Control keys
| Key | Does |
|---|---|
| Radio Control | One flexible key (choose the action in its settings): Push-to-Talk, next/previous channel or group, power, toggle/focus the radio overlay, emergency/panic, master/SFX/3D volume up-down-mute, and dispatch accept/end 911. |
| Channel | Act on a specific channel: Connect, Toggle Transmit, Talk on Channel (hold — cross-PTT, great for Chan 1 / Chan 2 buttons), or Toggle Scan. The key lights when that channel is your active/scanned/keyed channel. |
Dials (Stream Deck +)
| Dial | Rotate / Press |
|---|---|
| Volume | Rotate to adjust Master / SFX / 3D volume; press to mute. Live level on the touchscreen. |
| Channel Dial | Rotate to step channels or groups; press & hold to transmit. Shows the current channel. |
Your selections are remembered
A channel button keeps its selection through disconnects, plugin reloads, and deck restarts — the choice is stored on the key itself. It even keeps showing the channel name while offline, and reconnects to it automatically when tRadio comes back.
Notes
- Cross-channel dispatch PTT — set a Channel key to Talk on Channel, target Dispatch, and pick a channel. Hold it to transmit on that channel without leaving your current one. Add one per channel for instant multi-channel dispatch.
- Panic is loud — the Radio/Dispatch status keys go fully red on a panic so it's impossible to miss at a glance.
- All local, read-and-write — the deck both reflects tRadio and controls it; no cloud, no accounts, nothing leaves your PC.
