Install
openclaw skills install @thcjp/sonos-cli-tool-freeopenclaw skills install @thcjp/sonos-cli-tool-freeSonos 控制工具免费版通过命令行控制 Sonos 音箱,支持播放控制、音量调节、多房间分组与定时播放。适合个人家庭 Sonos 系统的日常控制与自动化场景.
播放、暂停、下一曲、上一曲、跳转到指定位置.
处理: 解析播放控制的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回播放控制的响应数据,包含状态码、结果和日志.
input_params参数,支持创建/查询/导出操作音量增减、静音/取消静音、设置绝对音量值.
处理: 解析音量控制的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回音量控制的响应数据,包含状态码、结果和日志.
input_params参数,支持创建/查询/导出操作将多个 Sonos 音箱分组,实现多房间同步播放.
处理: 解析分组管理的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回分组管理的响应数据,包含状态码、结果和日志.
input_params参数,支持创建/查询/导出操作管理和播放收藏的音乐、播放列表与电台.
处理: 解析播放列表的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回播放列表的响应数据,包含状态码、结果和日志.
input_params参数,支持创建/查询/导出操作查询当前播放状态、曲目信息、音箱连接状态.
处理: 解析状态查询的输入参数,完成核心逻辑,返回结构化响应. 输出: 返回状态查询的响应数据,包含状态码、结果和日志.
input_params参数,支持创建/查询/导出操作定时播放指定音乐,定时休眠停止播放.
处理: 解析定时控制的输入参数,完成核心逻辑,返回结构化响应.
输出: 返回定时控制的响应数据,包含状态码、结果和日志.
技术参数:使用input_params和output_format参数控制执行行为,支持json/text/csv输出格式.
能力覆盖范围:本skill的核心能力覆盖以下场景关键词:音箱命令行控制工、支持播放控制、音量调节与分组管、适合个人家庭使用、具免费版、面向个人家庭用户等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.
控制客厅 Sonos 音箱播放音乐. 用户可通过自然语言指令触发此场景,工具将自动执行相应操作并返回结构化结果.
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | Sonos控制工具-免费版处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
# 发现网络中的 Sonos 设备
sonos-cli discover
# ...
# 输出:
# 发现 Sonos 设备:
# 1. 客厅 (192.168.1.100) - Sonos Play:5
# 2. 卧室 (192.168.1.101) - Sonos One
# 3. 厨房 (192.168.1.102) - Sonos Beam
# ...
# 播放音乐
sonos-cli play --room "客厅"
# ...
# 暂停
sonos-cli pause --room "客厅"
# ...
# 下一曲
sonos-cli next --room "客厅"
# ...
# 查看当前播放
sonos-cli status --room "客厅"
# ...
# 输出:
# 客厅 - 正在播放
# 曲目: Bohemian Rhapsody
# 艺术家: Queen
# 专辑: A Night at the Opera
# 进度: 02:15 / 05:55
# 音量: 35
将客厅和厨房音箱分组,同步播放.
# 创建分组
sonos-cli group create \
--name "楼下" \
--members "客厅,厨房"
# ...
# 分组播放
sonos-cli play --room "楼下"
# ...
# 调整分组音量
sonos-cli volume --room "楼下" --set 30
# ...
# 解散分组
sonos-cli group dissolve --name "楼下"
设置闹钟与睡眠定时器.
# 设置早上 7 点播放指定播放列表
sonos-cli alarm create \
--time "07:00" \
--room "卧室" \
--playlist "晨间音乐" \
--volume 20 \
--repeat daily
# ...
# 设置 30 分钟后休眠
sonos-cli sleep-timer --room "卧室" --minutes 30
# ...
# 查看所有定时任务
sonos-cli timer list
# 闹钟: 07:00 卧室 晨间音乐 (每日)
# 休眠: 30分钟后 卧室
以下场景Sonos控制工具-免费版不适合处理:
需要提升效率、自动化流程、批量处理、工作流优化时使用。不适用于非本工具能力范围的需求.
# 依赖说明
npm install -g sonos-cli
# ...
# 或使用 Python 版
pip install soco-cli
# 自动发现网络中的 Sonos 设备
sonos-cli discover
# ...
# 手动指定 IP
sonos-cli --ip 192.168.1.100 status
# 播放
sonos-cli play --room "客厅"
# ...
# 调节音量
sonos-cli volume --room "客厅" --set 30
# ...
# 查看状态
sonos-cli status --room "客厅"
响应解析: 完成完成后,查看输出响应确认任务状态。成功时输出包含解析摘要和响应数据;失败时根据错误信息排查问题,查阅错误解析章节获取恢复步骤.
| 命令 | 说明 | 示例 |
|---|---|---|
discover | 发现设备 | sonos-cli discover |
play | 播放 | sonos-cli play --room 客厅 |
pause | 暂停 | sonos-cli pause --room 客厅 |
next | 下一曲 | sonos-cli next --room 客厅 |
previous | 上一曲 | sonos-cli previous --room 客厅 |
volume | 音量 | sonos-cli volume --room 客厅 --set 30 |
status | 状态 | sonos-cli status --room 客厅 |
group create | 创建分组 | sonos-cli group create --name 楼下 --members 客厅,厨房 |
alarm create | 闹钟 | sonos-cli alarm create --time 07:00 --room 卧室 |
sleep-timer | 休眠 | sonos-cli sleep-timer --room 卧室 --minutes 30 |
// ~/.sonos-cli/config.json
{
"devices": [
{"name": "客厅", "ip": "192.168.1.100", "model": "Play:5"},
{"name": "卧室", "ip": "192.168.1.101", "model": "Sonos One"},
{"name": "厨房", "ip": "192.168.1.102", "model": "Sonos Beam"}
],
"groups": [
{"name": "楼下", "members": ["客厅", "厨房"]},
{"name": "全屋", "members": ["客厅", "卧室", "厨房"]}
],
"defaults": {
"volume": 30,
"alarmVolume": 20
}
}
A: 确保电脑和 Sonos 在同一局域网。检查防火墙是否阻止了 UPnP(端口 1900)。尝试手动指定 IP 地址。Sonos 设备需要已开机并连接到网络.
A: Sonos 原生支持多房间同步,正常情况下延迟小于 1ms。如果出现延迟:1) 检查网络带宽;2) 确保所有设备使用有线连接或强 WiFi 信号;3) 重启 Sonos 设备.
A: 可以。在 Sonos App 中先绑定 Spotify/Apple Music 账号,然后通过 CLI 选择对应音乐源播放。sonos-cli play --room 客厅 --source spotify --playlist "我的收藏".
A: 不冲突。CLI 和 App 都通过 Sonos API 控制,操作会实时同步。CLI 上播放后 App 也会显示播放状态.
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| Node.js | 运行时(Node版) | Node版必需 | 官方网站下载 |
| Python 3 | 运行时(Python版) | Python版必需 | 官方网站下载 |
| soco | Python库 | Python版必需 | pip install soco |
| LLM API | API | 必需 | 由Agent内置LLM提供 |
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |