sonoscli

sonoscli

熱門

控制 Sonos 喇叭(探索/狀態/播放/音量/群組)。

38萬星標
8.1萬分支
更新於 2026/7/25
SKILL.md
readonlyread-only
name
sonoscli
description

控制 Sonos 喇叭(探索/狀態/播放/音量/群組)。

Sonos CLI

使用 sonos 控制區域網路上的 Sonos 喇叭。

快速開始

  • sonos discover
  • sonos status --name "Kitchen"
  • sonos play|pause|stop --name "Kitchen"
  • sonos volume set 15 --name "Kitchen"

常見任務

  • 群組:sonos group status|join|unjoin|party|solo
  • 我的最愛:sonos favorites list|open
  • 播放佇列:sonos queue list|play|clear
  • Spotify 搜尋(透過 SMAPI):sonos smapi search --service "Spotify" --category tracks "query"

備註

  • 如果 SSDP 失敗,請指定 --ip <speaker-ip>
  • Spotify Web API 搜尋為選用功能,需要 SPOTIFY_CLIENT_ID/SECRET
  • 如果發生錯誤,請檢查疑難排解章節,並在符合條件時提供建議。

疑難排解

sonos discover - no route to host

  • 錯誤訊息:Error: write udp4 0.0.0.0:64326->239.255.255.250:1900: sendto: no route to host (Command exited with code 1)
    • 請注意,0.0.0.0: 後的連接埠號碼是臨時的,會變動,且子網路遮罩可能不完全相符
    • sendto: no route to host 應保持不變
  • 建議使用者在 Mac OS 的 direct(無 Docker 沙箱)模式下,需在「設定」->「隱私權與安全性」->「區域網路」中啟用 Gateway 的上層主程序權限
    • 若透過 launchd 執行,則為 node
    • 若直接在終端機中執行 Gateway,則為 Terminal
    • 若在 VS Code 的終端機中執行,則為 Visual Studio Code
  • 另一種選擇是使用 sandbox(Docker 容器),並允許該沙箱的網路存取權

sonos discover - bind: operation not permitted

  • 錯誤訊息:Error: listen udp4 0.0.0.0:0: bind: operation not permitted
  • 建議使用者可能正在透過 Codex 或其他不允許網路存取的沙箱執行(可在啟用沙箱的 Codex CLI 工作階段中執行 sonos discover 且不批准升級請求來重現此問題)