Sonos CLI
sonos を使用して、ローカルネットワーク上のSonosスピーカーを制御します。
クイックスタート
sonos discoversonos 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を実行し、エスカレーション要求を承認しないことで再現できます)。