A Stream Deck plugin that provides network control of Denon/Marantz receivers with HEOS support.
-
Volume Control: Display and adjust volume levels, with mute/unmute functionality
- Works with both standard Stream Deck buttons and Stream Deck+ dials
- Shows real-time volume level on dials
- Visual feedback for mute state
-
Power Control: Turn your receiver on/off with visual power state feedback
-
Input Source Selection: Quick access to switch between input sources
- Supports all standard Denon/Marantz input sources
Zone 2 can mirror Main Zone source(Coming soon)
-
Multi-Zone Support: Control Main Zone and Zone 2 independently
- Stream Deck Software 6.4 or later
- macOS 10.15 or later
- Windows 10 or later
- Denon or Marantz receiver with HEOS support
- Receiver must be on the same network as your computer
TBD: Currently only installable by building from source.
TBD: Currently only installable by building from source.
- Add any of the receiver control actions to your Stream Deck
- When first configuring an action:
- The plugin will automatically search for compatible receivers on your network
- Select your receiver from the dropdown list
- Choose the zone you want to control
- Configure action-specific settings
- Use as a button to toggle mute or set specific volume levels
- On Stream Deck+:
- Turn dial to adjust volume
- Push/touch to toggle mute
- Shows current volume level on dial display
- Toggle power state
- Explicitly set power on or off
- Visual feedback shows current power state
- Quick selection of input sources
Option to mirror Main Zone source in Zone 2(Coming soon)
This plugin is built using:
- Node.js 20
- Stream Deck SDK v2
- @elgato/streamdeck SDK
- Process currently only tested on MacOS 15
To build from source:
npm install
npm run build
npm run pack
For development with auto-reload:
npm install
npm run watch
If your receiver isn't detected:
- Ensure your receiver has HEOS support and is enabled
- Verify your receiver is on the same network as your computer
- Check that no firewall is blocking network discovery
- Try refreshing the receiver list in the action settings