BluCLI
BluOS CLI (blu) for discovery, playback, grouping, and volume control of Bluesound/NAD players.
BluCLI (`blu`) is a Go-based command-line interface for controlling Bluesound and NAD BluOS network audio players. Built by Peter Steinberger (steipete), it lets you discover players on your network, control playback, adjust volume, manage speaker groups, and search/play TuneIn radio — all from your terminal.
The tool uses BluOS's HTTP+XML Custom Integration API with zero-config mDNS discovery, meaning it automatically finds players on your network without any setup. You can target specific devices by ID, name, or alias, and there's support for grouping multiple speakers together for multi-room audio.
For OpenClaw users, this transforms your AI assistant into a voice-controlled music system. "Play some jazz in the living room" or "Set the bedroom speakers to volume 15" become terminal commands that `blu` executes instantly. It's particularly powerful when combined with TuneIn search for internet radio discovery.
BluCLI is niche but deeply useful for the Bluesound/NAD ecosystem. If you have these speakers, this is the best way to automate and script their control. The `--json` flag makes it easy to parse output for more complex automation workflows.
Best suited for: Bluesound/NAD speaker owners who want terminal or AI control, smart home enthusiasts building automation scripts, anyone tired of the BluOS desktop app's clunkiness.
Tags: audio, bluesound, smart-home, music
Category: Smart Home
Use Cases
- Quick volume adjustment without opening an app
- Multi-room audio grouping for parties or whole-home music
- Morning routine automation: play news radio at wake-up time
- Input switching for NAD amplifiers (e.g., switch from Bluetooth to optical)
- TuneIn radio discovery and playback from the terminal
- AI-controlled music: 'Play some jazz in the living room'
Tips
- Always confirm the target device before playback changes — use `blu devices` first
- Use `--json` for scriptable output in automation workflows
- Set `BLU_DEVICE` env var for your default speaker to skip device selection
- Use `blu group add` to create multi-room setups from the terminal
- TuneIn search is great for internet radio: `blu tunein search 'lo-fi'`
- Create a config file with your default device to avoid specifying --device every time
Known Issues & Gotchas
- Players must be on the same network for mDNS discovery to work
- Confirm target device before changing playback — you don't want to blast music in the wrong room
- BluOS API is HTTP+XML, not REST/JSON — the CLI abstracts this but errors can be cryptic
- Some features depend on BluOS firmware version — keep players updated
- No Spotify/Tidal direct integration — use TuneIn or the player's native app for streaming services
- mDNS discovery may not work across VLANs or complex network setups
Alternatives
- SonosCLI
- Home Assistant
- BluOS Desktop App
Community Feedback
I've been working on blucli to provide a simple way to control your Bluesound players directly from your terminal. I mostly use it to adjust volume and switch inputs for my Powernode without needing to load the (very clunky and bloated) MacOS app.
— Reddit r/Bluesound
Blucli is a command-line tool for controlling Bluesound/NAD audio players, enabling device discovery, playback management, volume control, and speaker grouping.
— MCP Hub
Configuration Examples
Discover and control devices
# Find players on your network
blu devices
# Play/pause on a specific device
blu --device "Living Room" play
blu --device "Living Room" pause
# Set volume
blu --device "Bedroom" volume set 20Set default device
# Set default device via env var
export BLU_DEVICE="Living Room"
blu status
blu volume set 15TuneIn radio
blu tunein search "BBC World Service"
blu tunein play "BBC World Service"Installation
go install github.com/steipete/blucli/cmd/blu@latestHomepage: https://blucli.sh
Source: bundled