From smart-home
Define or change the audio sink (speaker) bound to a snapclient
npx claudepluginhub danielrosehill/claude-code-plugins --plugin smart-home# /set-speaker Bind a snapclient to a specific audio sink. Use when adding a new DAC/speaker, swapping outputs, or fixing a stale binding. ## Inputs - Client host. - Target sink (or "list and let me pick"). ## Procedure 1. Look up the client in `network/topology.yaml`. Confirm the current `audio_sinks` entry with the user. 2. SSH in. List available sinks: - ALSA: `snapclient -l` and `aplay -L` - PipeWire/Pulse: `pactl list sinks short` 3. Confirm the target sink with the user (full identifier — not just an index, since indices reshuffle). 4. Edit `/etc/default/snapclient`, replac...
Share bugs, ideas, or general feedback.
Bind a snapclient to a specific audio sink. Use when adding a new DAC/speaker, swapping outputs, or fixing a stale binding.
network/topology.yaml. Confirm the current audio_sinks entry with the user.snapclient -l and aplay -Lpactl list sinks short/etc/default/snapclient, replacing --soundcard <old> with --soundcard <new>. Back up the file first (.bak.YYYYMMDD-HHMM).sudo systemctl restart snapclient. Verify with systemctl status and speaker-test -c2 -twav -D <sink>.network/topology.yaml: replace the audio_sinks entry. Set primary: true on the active one. Update speaker: label to a human-readable name (model + room).card numbers across reboots — prefer the by-id name (alsa_output.usb-Vendor_Model-...) over hw:1,0.