Roon Controller

🎵 智能声控Roon音乐管家

通过Roon API控制Roon音乐播放器,支持自动发现Core、分区切换、中英文播放控制及曲目查询,适合智能家居音乐管理

收藏
7.5k
安装
2.7k
版本
1.0.3
CLS 安全扫描中
预计需要 3 分钟...

使用说明

功能概述

roon-controller 是一个基于Roon官方API的Python控制器技能,专为Roon音乐播放器的远程控制设计。该技能支持自动发现Roon Core、多分区管理、中英文双语的播放控制指令,以及完整的曲目信息查询功能。

核心功能评估

自动发现与连接:技能采用零配置设计,可自动发现局域网内的Roon Core,并通过令牌持久化机制(保存至~/clawd/roon_config.json)实现一次授权、长期免登入的流畅体验。自动重连机制确保服务重启后无需重新授权。

智能分区管理:支持动态切换任意可用播放分区,配置持久化存储。特别针对Muspi设备优化,默认自动识别以"[roon]"或"muspi"结尾的分区名称,降低用户配置负担。

完整的播放控制:涵盖播放/暂停、上一曲/下一曲、播放状态切换等核心功能,返回统一的结构化响应(success/message/zone字段),便于上层应用集成。

曲目信息查询:提供丰富的元数据返回,包括曲名、艺人、专辑、播放进度(毫秒级)和总时长,支持构建精准的播放状态展示。

显著优点

1. 本地化支持:完整的中文命令触发词支持("播放音乐"、"下一曲"、"正在放什么"等),对中文用户极为友好
2. 官方API基础:基于roonapi>=0.1.6官方库开发,协议兼容性和长期维护有保障

3. CLI与SDK双模式:既可作为命令行工具独立使用,也可作为Python模块集成到更大系统中

4. 状态持久化:分区选择和授权令牌均自动保存,用户体验连贯

局限性与注意事项

1. 网络依赖:必须与Roon Core处于同一局域网,无法跨网络控制
2. 首次授权必需:初次使用需在Roon界面手动授权扩展,流程不可跳过

3. 分区命名约束:Muspi自动识别依赖特定命名后缀("muspi"),非标准命名需手动指定

4. 令牌安全风险:授权令牌以明文JSON存储于用户目录,多用户共享设备存在潜在泄露风险

5. 功能边界:仅支持基础播放控制,不涉及音量调节、播放队列管理、搜索等进阶功能

适合人群

  • Roon + Muspi生态用户,追求语音/自动化控制的发烧友
  • 智能家居集成开发者,需将Roon接入Home Assistant等平台的用户
  • 需要为中文用户环境构建音乐控制界面的开发者

常规风险提示

  • 令牌文件建议设置严格权限(600),避免敏感信息泄露
  • 局域网内Roon Core的防火墙配置可能影响自动发现
  • 分区切换后若原分区正在播放,需由Roon自行处理输出切换逻辑,本技能不负责音频路由

Roon Controller 内容

手动下载zip · 8.3 kB
requirements.txttext/plain
请选择文件