返回顶部
r

roon-controllerRoon控制器

Control Roon music player through Roon API with automatic Core discovery and zone filtering. Supports play/pause, next/previous track, and current track query. Automatically finds Muspi zones. Supports Chinese commands.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.3
安全检测
已通过
2,214
下载量
免费
免费
3
收藏
概述
安装方式
版本历史

roon-controller

Roon 控制技能

支持中文命令的Roon音乐播放器控制技能。

快速开始

安装依赖

bash
pip install roonapi

使用示例

python
from roon_controller import RoonController

创建控制器(令牌将自动保存)

controller = RoonController(verbose=True)

播放/暂停

result = controller.play_pause()

下一曲

result = controller.next()

获取当前曲目

trackinfo = controller.getcurrent_track() print(f正在播放: {track_info[track]})

核心功能

1. 自动发现与连接

  • - 自动发现Roon Core
  • 令牌自动保存至 ~/clawd/roon_config.json
  • 重启后自动重连,无需重新授权

2. 区域选择与切换

  • - 支持切换任意可用区域
  • 所选区域保存至配置,重启后持久化
  • 未选择区域时,默认选择以[roon]结尾的区域
  • 使用 set_zone() 方法编程切换区域

切换区域
python
result = controller.set_zone(Living Room)

{success: True, message: 已切换到区域: Living Room, zone: Living Room}

获取当前区域
python
zone = controller.getcurrentzone()

返回包含zoneid和zonedata的区域信息字典

3. 播放控制

播放
python
result = controller.play()

{success: True, message: 播放已开始, zone: Living Room Muspi}

暂停
python
result = controller.pause()

{success: True, message: 已暂停, zone: Living Room Muspi}

播放/暂停切换
python
result = controller.play_pause()

上一曲
python
result = controller.previous()

下一曲
python
result = controller.next()

4. 获取当前曲目

python
trackinfo = controller.getcurrent_track()

返回:


{


success: True,


is_playing: True,


zone: Living Room Muspi,


track: Bohemian Rhapsody,


artist: Queen,


album: A Night at the Opera,


seek_position: 12345, # 毫秒


length: 354000 # 毫秒


}

5. 列出所有区域

python
zones = controller.list_zones()

[Living Room Muspi, Kitchen, Bedroom]

命令行工具

该脚本可作为命令行工具使用:

bash

播放


python roon_controller.py play

暂停

python roon_controller.py pause

上一曲

python roon_controller.py prev

下一曲

python roon_controller.py next

查看当前曲目

python roon_controller.py status

列出所有区域

python roon_controller.py zones -v

切换区域

python roon_controller.py switch zonename

中文命令支持

该技能支持以下中文触发词:

命令含义示例
音乐播放 / 播放音乐开始播放音乐播放
暂停 / 暂停播放
暂停播放 | 暂停一下 |
| 下一曲 / 切歌 | 下一曲 | 下一曲 |
| 上一曲 | 上一曲 | 上一曲 |
| 当前曲目 / 正在放什么 | 查看当前曲目 | 当前曲目 |

错误处理

所有方法返回统一的字典结构:

python
{
success: True/False,
message: 操作结果描述,
zone: 区域名称(可选)
}

常见错误

  • - 未找到Muspi区域:检查Roon区域名称是否以muspi结尾
  • 连接Roon失败:确保Roon Core正在运行且网络可达
  • 令牌加载失败:首次运行需要授权,确保授权完成

注意事项

  1. 1. 首次运行:需要在Roon中授权扩展,检查Roon界面中的扩展授权提示
  2. 区域命名:Muspi区域名称必须以muspi结尾(不区分大小写)
  3. 令牌存储:令牌保存在 ~/clawd/roon_config.json,确保文件权限安全
  4. 网络要求:运行脚本的设备必须与Roon Core在同一网络

技术细节

依赖项

  • - roonapi>=0.1.6:Roon官方API Python库

令牌管理

  • - 令牌存储路径:~/clawd/roon_config.json
  • 自动加载:每次启动时自动加载
  • 自动保存:首次授权或更新时自动保存

区域查找算法

python

查找所有区域

zones = roon.zones

过滤带有muspi后缀的区域

muspi_zones = [ (zoneid, zonedata) for zoneid, zonedata in zones.items() if zonedata[displayname].lower().endswith(muspi) ]

使用第一个匹配的区域

zoneid, zonedata = muspi_zones[0]

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 roon-controller-1776379141 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 roon-controller-1776379141 技能

通过命令行安装

skillhub install roon-controller-1776379141

下载

⬇ 下载 roon-controller v1.0.3(免费)

文件大小: 7.44 KB | 发布时间: 2026-4-17 16:18

v1.0.3 最新 2026-4-17 16:18
- Initial release of roon-controller skill, enabling control of the Roon music player via Roon API.
- Supports automatic discovery of Roon Core with persistent token management (no reauthorization required after first use).
- Zone management includes auto-selection of Muspi zones, zone listing, and persistent zone switching.
- Playback controls: play, pause, play/pause toggle, next/previous track, and current track details.
- Command line interface for basic operations and zone management.
- Supports Chinese voice commands for playback control.
- Standardized error handling and clear troubleshooting guidance.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部