home / skills / openclaw / skills / blucli

blucli skill

/skills/steipete/blucli

This skill helps you control Bluesound/NAD players via blucli, enabling device selection, playback control, volume, grouping, and TuneIn actions.

npx playbooks add skill openclaw/skills --skill blucli

Review the files below or copy the command above to add this skill to your agents.

Files (2)
SKILL.md
829 B
---
name: blucli
description: BluOS CLI (blu) for discovery, playback, grouping, and volume.
homepage: https://blucli.sh
metadata: {"clawdbot":{"emoji":"🫐","requires":{"bins":["blu"]},"install":[{"id":"go","kind":"go","module":"github.com/steipete/blucli/cmd/blu@latest","bins":["blu"],"label":"Install blucli (go)"}]}}
---

# blucli (blu)

Use `blu` to control Bluesound/NAD players.

Quick start
- `blu devices` (pick target)
- `blu --device <id> status`
- `blu play|pause|stop`
- `blu volume set 15`

Target selection (in priority order)
- `--device <id|name|alias>`
- `BLU_DEVICE`
- config default (if set)

Common tasks
- Grouping: `blu group status|add|remove`
- TuneIn search/play: `blu tunein search "query"`, `blu tunein play "query"`

Prefer `--json` for scripts. Confirm the target device before changing playback.

Overview

This skill provides a command-line interface (blu) to discover and control Bluesound and NAD network players. It enables device discovery, playback control, grouping, and volume management from scripts or an interactive terminal. The tool is designed for automation and quick manual control of multiroom audio setups.

How this skill works

blu scans the network for supported players and selects a target by explicit --device, environment variable BLU_DEVICE, or a configured default. It exposes commands for status, playback (play/pause/stop), volume set/adjust, grouping (group status/add/remove), and TuneIn search/play. Use --json to produce machine-readable output for integration with scripts and automation.

When to use it

  • Automating playback or volume changes from home automation scripts or cron jobs.
  • Quickly checking device status or track information from a terminal.
  • Managing multiroom groups: creating, inspecting, or dissolving groups.
  • Scripting TuneIn searches and direct playback on a selected device.
  • Integrating Bluesound/NAD control into CI/CD or backup/archival workflows that require reproducible commands.

Best practices

  • Always confirm the selected target device before issuing playback or grouping commands.
  • Prefer --json output when calling from scripts to avoid parsing issues.
  • Specify device with --device <id|name|alias> or set BLU_DEVICE for consistent automation.
  • Use explicit volume set values to avoid unexpected loudness; test at low volume first.
  • Keep grouping commands deliberate: check group status after add/remove operations.

Example use cases

  • Querying a player status in a startup script: blu --device Kitchen status --json
  • Changing volume for a party zone: blu --device LivingRoom volume set 60
  • Creating a multiroom playback group: blu --device Main group add LivingRoom
  • Searching and playing a radio station via TuneIn: blu --device Bedroom tunein play "smooth jazz"
  • Pausing all players during an automated system shutdown: loop through discovered devices and run blu --device <id> pause

FAQ

How does blu choose which device to control?

Priority is: explicit --device argument, BLU_DEVICE environment variable, then the configured default if present.

Should I use --json or plain text?

Use --json for scripts and automation to get predictable, parseable output; plain text is fine for interactive use.