ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Home Assistant 中使用 kodi.add_to_playlist 动作向 Kodi 播放列表添加音乐

Home Assistant 中使用 kodi.add_to_playlist 动作向 Kodi 播放列表添加音乐 Home Assistant 中使用 kodi.add_to_playlist 动作向 Kodi 播放列表添加音乐【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io本指南讲解 Home Assistant 中kodi.add_to_playlist动作的完整用法它用于把音乐添加到 Kodi 的默认播放列表例如排队播放整张专辑或某位艺术家的全部歌曲。读完本文你将掌握如何在自动化与脚本中通过 UI 或 YAML 调用该动作、正确设置media_type、media_id、media_name与artist_name参数并了解其目标Targets选择机制及相关动作的配合方式。动作概述kodi.add_to_playlist是 Home Assistant 针对 Kodi 媒体播放器提供的专用动作其作用正如动作文档开头所述Adds music to the default Kodi playlist, for example to queue an album or all songs by an artist. You can add a specific entry by its ID, or let Kodi search its music library by name.即向 Kodi 的默认播放列表追加音乐。它支持两种指定方式——按媒体条目 ID 精确定位或按名称媒体名 艺术家名让 Kodi 在音乐库中搜索。从该动作在仓库中的定义看source/_actions/kodi.add_to_playlist.markdown 的 frontmatter--- title: Add music to the Kodi playlist action: kodi.add_to_playlist domain: kodi description: Adds music to the default Kodi playlist. related_actions: - kodi.call_method ---domain: kodi表明该动作绑定在 Kodi 集成integration之下related_actions声明了与它配合良好的兄弟动作kodi.call_method可在需要调用 Kodi JSON-RPC API 时组合使用。前置条件配置 Kodi 集成在使用该动作之前需要先通过 Kodi 集成把 Kodi 播放器接入 Home Assistant。按Kodi 集成文档的说明推荐通过发现discovery自动配置这要求 Kodi 已启用Web interface优先使用 UI 配置流程Config Flow完成集成如果此前在configuration.yaml中配置过 Kodi建议删除旧配置并改用 UI 配置否则可能面临开关机动作无法导入、实体重复等限制集成完成后会生成media_player平台的实体如media_player.kodi并额外支持通知notify等能力。kodi.add_to_playlist就是作用于这些media_player实体的动作之一目标target默认即指向 Kodi 媒体播放器实体。在 UI 中使用如果你习惯用可视化界面构建自动化或脚本可以按以下步骤操作对应动作文档的 UI 使用章节进入Settings Automations scenes打开一个现有的自动化或脚本新建则选择Create automation Create new automation如果是新建自动化在When触发区域添加一个触发器脚本不需要触发器它们在被其他自动化调用时运行在Then do执行区域选择Add action在By target按目标见下文动作的目标中选择你的 Kodi 媒体播放器在该目标可用的动作列表中选择Kodi: Add to playlist填写Media type媒体类型与要添加的音乐详情选择Save保存。UI 中的选项选项说明Media type媒体类型要添加的媒体类型必须为SONG或ALBUM。Media ID媒体 ID媒体条目的唯一 IDsongid或albumid。可选留空时将使用媒体名称与艺术家名称在 Kodi 音乐库中搜索。Media name媒体名称用于过滤的媒体名称。可选当媒体类型为ALBUM且给定了艺术家名称时可填ALL表示添加该艺术家的全部歌曲。Artist name艺术家名称用于过滤的艺术家名称。可选。在 YAML 中使用如果直接编写 YAML或想了解 Home Assistant 底层究竟做了什么可以参考YAML 使用章节提供的技术参考。在 YAML 中该动作的名称为kodi.add_to_playlist基础示例如下action: | action: kodi.add_to_playlist target: entity_id: media_player.kodi data: media_type: ALBUM media_name: Highway to Hell artist_name: AC/DCYAML 参数说明参数必填类型说明media_type是string要添加的媒体类型必须为SONG或ALBUM。media_id否string媒体条目的唯一 IDsongid或albumid。留空时使用媒体名称与艺术家名称在 Kodi 音乐库中搜索。media_name否string用于过滤的媒体名称。当媒体类型为ALBUM且给定了艺术家名称时可设为ALL以添加该艺术家的全部歌曲。artist_name否string用于过滤的艺术家名称。更多实战示例按 ID 精确添加单曲适用于你已经通过其他途径拿到songid的场景action: kodi.add_to_playlist target: entity_id: media_player.kodi data: media_type: SONG media_id: 1234添加某位艺术家的全部歌曲利用media_name: ALL的搜索特性action: kodi.add_to_playlist target: entity_id: media_player.kodi data: media_type: ALBUM media_name: ALL artist_name: Queen在脚本中排队播放后继续执行其他操作把动作放进脚本的 sequence 中可与media_player系列动作自由编排script: queue_music: alias: Queue AC/DC and start playback sequence: - action: kodi.add_to_playlist target: entity_id: media_player.kodi data: media_type: ALBUM media_name: Highway to Hell artist_name: AC/DC - action: media_player.media_play target: entity_id: media_player.kodi参数选用原则优先用 ID其次用名称media_id是精确匹配不存在歧义不提供media_id时动作会退化为按media_nameartist_name搜索音乐库的模糊匹配搜索结果取决于 Kodi 音乐库中的元数据是否规范ALL只在专辑场景配合艺术家使用当media_type为ALBUM且已给出artist_name时media_name可写ALL表示该艺术家的全部歌曲这是批量排队的一个简洁技巧media_type必须二选一仅支持SONG与ALBUM填其他值会直接导致动作执行失败。动作的目标Targetskodi.add_to_playlist是一个必须指定目标的动作。根据仓库中的目标说明目标决定了动作作用于哪些对象你可以指向单个实体、设备、区域area、楼层floor或标签labelHome Assistant 会对目标背后所有匹配的media_player实体执行该动作实体Entity某一个具体的media_player实体例如media_player.kodi设备Device属于某设备的所有media_player实体区域Area某个房间/区域内的所有media_player实体楼层Floor某一楼层上的所有media_player实体标签Label共享某标签的所有media_player实体。同一个动作还可以混合多种目标类型例如同时指定一个具体实体和一个区域动作会对两者一并执行便于在多房间 Kodi 场景下批量排队。与相关动作的配合kodi.call_method该动作的 frontmatter 中声明了相关动作 kodi.call_method它用于调用 Kodi 的 JSON-RPC API 方法例如VideoLibrary.Scan触发媒体库扫描或运行某个插件并支持传递该方法接受的任意参数。典型配合方式是——先用kodi.call_method触发音乐库更新再通过kodi.add_to_playlist按名称搜索并排队新入库的音乐sequence: - action: kodi.call_method target: entity_id: media_player.kodi data: method: VideoLibrary.Scan - action: kodi.add_to_playlist target: entity_id: media_player.kodi data: media_type: ALBUM media_name: ALL artist_name: AC/DC从Kodi 集成文档可以看到集成对 Kodi 的控制建立在 JSON-RPC / Web interface 之上因此上述两个动作都属于由 Home Assistant 向 Kodi 播放器发起指令的同一类机制kodi.call_method是通用 JSON-RPC 入口kodi.add_to_playlist则是面向默认播放列表这一高频需求的封装动作。快速验证与排查Try it yourself在动手写自动化之前可以打开Settings Tools Actions开发者工具中的动作服务搜索kodi.add_to_playlist填入各字段后点击Perform action即可在真实实体上立即看到效果无需编写任何 YAML——这也是验证参数写法是否正确的快捷方式。常见排查思路目标实体是否为有效的 Kodimedia_player实体可在实体列表中确认media_type是否为SONG或ALBUM未提供media_id时Kodi 音乐库中是否存在与media_name/artist_name匹配的条目Kodi 的 Web interface 是否可用集成正常工作的前提参见集成配置说明。如果动作仍未按预期工作可以在社区渠道中带着你调用的动作、目标实体、传入参数与期望结果提问社区通常能快速给出定位建议。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表