PUSHROD
Stream Deck Plugin

Installing the Pushrod Stream Deck plugin

Control the Pushrod Overlay for iRacing from an Elgato Stream Deck — toggle overlay windows, switch display modes, and fire radio macros without leaving the wheel.

Free for everyone — all tiers

There is no paid unlock: the Stream Deck plugin is included at every licence level.


Prerequisites

RequirementVersion / detail
Pushrod Overlayv1.20 or newer — i.e. the version that ships the Control API.
Stream Deck app6.5 or newer (Elgato / Corsair).
Operating systemWindows 10 or 11 (64-bit).
iRacingInstalled and run at least once (so app.ini exists).

The Control API is embedded in Pushrod Overlay and binds loopback only (127.0.0.1). Nothing is exposed to your network and the plugin never phones home.


Install steps

1.Install and launch Pushrod Overlay

Install (or update to) Pushrod Overlay v1.20+ and start it once. On first launch the overlay:

%APPDATA%\Pushrod\control-token

(JSON: { "version": 1, "token": "…", "port": 8721 }.) Leave the overlay running whenever you want to use the deck.

2.Install the plugin

Download pushrod-deck-control.streamDeckPlugin from the latest release and double-click it. The Stream Deck app installs it automatically and the Pushrod actions appear in your action list.

3.Import a profile

The plugin ships ready-made profiles under its /profiles folder:

In the Stream Deck app: Profiles ▾ → Import…, then pick the profile that matches your hardware. You can also build your own from the individual actions.

4.Verify the token is auto-detected

Open any Pushrod key's inspector. It should read Connected. The plugin has already read the token and port from %APPDATA%\Pushrod\control-token — no copy-paste needed. If it shows greyed keys, see Troubleshooting below.

5.Run the radio macro setup once (for the Radio page)

Radio keys fire iRacing's built-in chat macros (app.ini[Chat], Macro0..Macro14). Run the one-time setup so the 12 Pushrod macros carry their messages (3 of iRacing's 15 slots stay free):

The setup backs up your existing app.ini first (app.ini.pushrod-backup-<n>) and only rewrites the 12 [Chat] macro lines it owns — everything else is preserved. Restart iRacing so it re-reads app.ini.

Note: 12 macros are mapped, leaving 3 of iRacing's 15 slots free. A slow-car message is intentionally not shipped — simulating chat via keyboard injection is non-deterministic, so it is out of scope for v1.

6.Race

Start iRacing and get in the car. When telemetry is live the deck's Connected indicator is green and the LEDs mirror the overlay in real time (key-press → overlay change is < 100 ms on localhost).


Troubleshooting

Keys are greyed out (with an orange dot)

The plugin can't reach the Control API.

Port conflict

The default port is 8721. If it's busy, the overlay automatically scans 8721 → 8729 and writes the chosen port into control-token. The plugin reads the port from that file, so no manual change is needed. You can also pin a port via the overlay config key controlApi.port.

Radio keys do nothing

The chat macros aren't written to app.ini.


Uninstall

Right-click any Pushrod action in the Stream Deck app and choose Uninstall, or remove it from Stream Deck ▸ Preferences ▸ Plugins. Your app.ini backups (app.ini.pushrod-backup-<n>) are left in place if you want to restore the original chat macros.