Warm key-light control for Logitech Litra — from an Elgato Stream Deck,
including dials on Stream Deck+.
Not an official Logitech or Elgato product.
Power · Power Multi · Brightness · Temperature · Rear
Power modes (property inspector): Toggle, On, Off, or Multi (same gestures as Power Multi). The on/off icon follows light state after each successful command.
- Works with all connected Litra devices at once (no per-light picker yet)
- Beam LX front brightness uses a corrected lumen read (stock JS only used the low byte)
- Rear broadcasts to every Beam LX; Glow / Beam are skipped. Screen Sampler and G HUB animation files are not included — those are host-side.
- macOS and Windows (USB; Bluetooth control is not supported by the underlying stack)
End users only need Stream Deck software and a USB-connected Litra — nothing else to install (no Node, no litra CLI, no Homebrew). The plugin ships with its USB HID stack baked in.
Under the hood (for developers): it uses the litra Node library in-process over USB HID — no CLI subprocess.
| Light | Front power / brightness / temperature | Rear RGB |
|---|---|---|
| Litra Glow | Yes | — |
| Litra Beam | Yes | — |
| Litra Beam LX | Yes (front key light) | Yes (presets + freestyle + off) |
Rear supports Fixed, Breathing, Color Cycle, Color Wave, Pulsar Point, freestyle zone color, and off. It does not include G HUB Screen Sampler or saved Animations (Contrast, Lightning, and the rest) — those run on the host. Packet notes are in ref/hid-captures/NOTES.md.
To use the plugin (install from Releases)
- Stream Deck software 7.1+
- A Litra connected over USB
- macOS 12+ or Windows 10+
You do not need Node.js, npm, Homebrew, or the litra CLI.
Quit Logitech G HUB if HID access fights the plugin (especially on macOS).
To build from source (contributors only)
- Node.js 20
- npm
- Download the latest
.streamDeckPluginfrom Releases. - Double-click the file (or open it with Stream Deck).
- Drag Power, Power Multi, Brightness, Temperature, or Rear onto your layout.
That’s the full end-user install — the package already includes litra / node-hid.
If you linked a local/dev copy earlier, unlink it first:
streamdeck unlink com.ssheppdev.litragit clone https://github.com/SSheppDev/streamdeck-litra.git
cd streamdeck-litra
npm install
npm run buildnpm run link # streamdeck link ./com.ssheppdev.litra.sdPlugin
npm run watch # rebuild + restart on changenpm run packWrites release/com.ssheppdev.litra.streamDeckPlugin.
Validate without packing:
npm run validate- Brightness / temperature keys show the configured preset as the title.
- Rear keys default to the saved effect name (Fixed, Breathe, Cycle, Wave, Pulsar, Color, or Off). Freestyle defaults to color + zone on the key. You can edit Title in the side panel to override; changing Effect (or Freestyle color/zone/brightness) refreshes the default.
- Dials use Stream Deck’s built-in
$A1layout; rotate adjusts, press toggles front power. - With no lights connected, actions show Stream Deck’s alert indicator.
- Multiple lights are always controlled together (Rear: every Beam LX).
- timrogers/litra — HID protocol / Node library
- Elgato Stream Deck SDK
See SECURITY.md for how to report vulnerabilities and this project’s secrets policy.





