Automation
sonoscli avatar

sonoscli

Control and manage Sonos multi-room audio systems directly via CLI, including playback, volume, grouping, and queue management.

Introduction

The Sonos CLI skill enables seamless control of your local Sonos network audio environment through a straightforward command-line interface. Designed for power users and developers, this tool allows you to perform common audio management tasks without needing the native Sonos application. It handles network discovery via SSDP and communicates directly with speaker nodes, offering granular control over individual devices or synchronized speaker groups. Whether you want to automate your morning playlist, sync rooms for a house party, or perform quick status checks, this skill provides the necessary primitives to integrate audio control into your automated workflows or personal AI assistant routines.

  • Full playback control including play, pause, and stop commands for specific rooms or zones.

  • Intelligent speaker grouping functionality, supporting join, unjoin, party mode, and solo configurations.

  • Advanced queue management to list, play, or clear tracks directly from your command line.

  • Built-in favorite management to quickly access and play your saved Sonos presets.

  • Spotify integration via SMAPI for advanced search capabilities across tracks and categories.

  • Status monitoring for real-time visibility into current track metadata and speaker volume levels.

  • Flexible volume control allowing precise adjustments to specific speakers or groups.

  • The tool uses SSDP for network discovery; ensure your local network permits UDP traffic on standard SSDP ports.

  • If discovery fails, you can manually specify the speaker's IP address using the --ip flag to bypass network routing issues.

  • When running in a sandboxed environment like Docker or certain IDE terminals, ensure the network stack is configured to allow local network access to avoid permission errors.

  • Optional Spotify Web API integration is supported; provide your SPOTIFY_CLIENT_ID and SPOTIFY_CLIENT_SECRET to enable advanced SMAPI search features.

  • Troubleshooting guides are provided for common network issues like no route to host or bind permission errors, especially relevant for macOS users managing local network privacy settings.

Repository Stats

Stars
366,656
Forks
75,275
Open Issues
6,931
Language
TypeScript
Default Branch
main
Sync Status
Idle
Last Synced
Apr 30, 2026, 01:01 PM
View on GitHub