SuperAPI AI Directory

sonos

General & other

View repository

Updated 10-15 19:49

About this skill

Sonos Control

Control Sonos speakers on your local network.

Prerequisites

Install sonos CLI:

brew install sonoscli
# GitHub: https://github.com/ryanolf/sonos-cli

Or install the Python soco based tool:

pip install soco-cli
# Provides: sonos command

The speaker must be on the same local network as your machine. No account login required — uses local network discovery.

Commands

Discovery

sonos discover                  # Find all Sonos speakers on network
sonos list                      # List all rooms/groups

Playback

sonos [room] play               # Resume playback
sonos [room] pause
sonos [room] next               # Next track
sonos [room] previous
sonos [room] status             # Current track + state

Volume

sonos [room] volume             # Get current volume
sonos [room] volume 40          # Set volume 0-100
sonos [room] volume +10         # Relative increase
sonos [room] volume -5          # Relative decrease
sonos [room] mute               # Toggle mute

Groups

sonos [room1] join [room2]      # Add room1 to room2's group
sonos [room] unjoin             # Remove from group
sonos [room] group              # Show current group members

Favorites / Playlists

sonos [room] favorites          # List Sonos favorites
sonos [room] play_favorite "Name"  # Play a saved favorite
sonos [room] playlist list      # List playlists

Usage Examples

"Discover Sonos speakers"

sonos discover

"Pause the kitchen"

sonos Kitchen pause

"Set living room volume to 50"

sonos "Living Room" volume 50

"Group all speakers"

# Get rooms from discover, then join all to one coordinator
sonos discover
# Then: sonos Kitchen join "Living Room"

"What's playing everywhere?"

sonos list

Rules

  • Check if CLI is installed first: which sonos
  • If not installed, show brew install command and stop
  • Room names are case-sensitive and may contain spaces — use quotes around multi-word room names
  • If discovery finds no speakers, tell user to check that speakers are on the same WiFi network
  • For relative volume changes, confirm the final value in your response
  • Keep responses concise: room name + state + track info on one line