Home Assistant 中的 Bang Olufsen Beolink leave 动作:让单台设备退出多房间音频

发布时间:2026/9/16 20:32:03
Home Assistant 中的 Bang  Olufsen Beolink leave 动作:让单台设备退出多房间音频 Home Assistant 中的 Bang Olufsen Beolink leave 动作让单台设备退出多房间音频【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.iobang_olufsen.beolink_leave是 Home Assistant 的 Bang Olufsen 集成提供的一组专用 Beolink 多房间动作之一其作用是将目标 Bang Olufsen 设备从当前所在的 Beolink 多房间体验multiroom experience中退出。本文以 source/_actions/bang_olufsen.beolink_leave.markdown 为核心讲解该动作的用途、UI 与 YAML 两种调用方式、目标target选择规则并结合仓库中 Bang Olufsen 集成文档 及其余 Beolink 系列动作帮助你准确地把单房间退出、其余房间继续播放这类场景写进自动化与脚本。动作概览把单个设备从多房间组中摘出来Beolink 是 Bang Olufsen 的多房间音频解决方案允许将同一路音频同时推送到多台 BO 设备。而Beolink leave动作的作用正好相反——它让目标设备离开它所参与的 Beolink 体验相当于把某一台设备从当前的多房间组中取出。这在以下场景中尤为有用卧室音箱正跟随客厅的 Beolink 组播放同一首歌你希望只让卧室停止跟随、客厅继续播放某台设备即将被单独使用例如切换到自己房间的音乐源需要先从多房间组中退出通过自动化按时间或按状态如有人进入房间自动把某台设备移出群组。该动作对应集成文档中 Control multiroom audio through Beolink 的能力之一Bang Olufsen 集成文档 中明确列出通过媒体播放器实体可以Connect to, expand to or unexpand devices而 leave 正是与这些能力互补的退出当前体验动作。前置条件已配置 Bang Olufsen 集成要使用bang_olufsen.beolink_leave前提是目标设备已通过 Home Assistant 的Bang Olufsen集成接入。根据 集成文档该集成基于本地 Mozart APIREST WebSocket 推送适用于 2020 年后发布的 Connected Speakers 以及 Beoconnect Core、Beolab 8/28、Beosound Balance、Beosound Theatre 等经测试的设备。接入后每台物理设备对应一个包含media_player实体的 Home Assistant 设备因此本动作的目标域target domain是media_player实体 ID 形如media_player.beosound_balance_12345678。另外你可以在媒体播放器实体的beolink属性中查看当前多房间状态集成文档 给出的结构为beolink: self: The current device leader: Beolink leader (if available) listeners: Beolink listeners (if available) peers: Beolink peers (if available)设备以其友好名称和 JID 表示。了解当前设备是 leader、listener 还是 peer有助于判断 leave 之后多房间组的剩余结构。在 UI 中通过自动化或脚本调用原文档给出了完整的可视化配置步骤适用于在 Home Assistant 的界面中创建自动化或脚本进入设置自动化与场景Settings Automations scenes。打开一个现有的自动化或脚本或选择创建自动化创建新自动化。如果是新建自动化在When何时部分添加一个触发器脚本不需要触发器脚本在被其他东西调用时运行。在Then do然后执行部分选择添加动作Add action。选择要控制的对象。在按目标By target见下文 动作的目标下选择你要控制的 Bang Olufsen 设备也可以选择一个区域、一台设备或一个标签。在该目标可用的动作列表中选择Beolink leave。点击保存。该动作在 UI 中没有额外的选项——选择目标设备即可不需要填写任何参数。在 YAML 中使用原文档同时提供了 YAML 技术参考见 actions/yaml_header.md 的说明该小节列出 YAML 中的字段名、类型与必填性。在 YAML 中动作名为bang_olufsen.beolink_leave基本示例action: bang_olufsen.beolink_leave target: entity_id: media_player.beosound_balance_12345678与 UI 一致该动作没有额外的 YAML 选项除了target之外无需任何data字段。将其放进一个完整的自动化示例automation: - alias: 让书房音箱在 22 点退出 Beolink 多房间 triggers: - trigger: time at: 22:00:00 actions: - action: bang_olufsen.beolink_leave target: entity_id: media_player.beosound_balance_12345678动作的目标Targets该动作必须有目标target。根据 actions/targets.md以media_player为域渲染你可以把动作指向单个实体、设备、区域、楼层或标签Home Assistant 会对目标背后所有匹配的media_player实体执行该动作实体Entity某一个具体的media_player实体例如media_player.beosound_balance_12345678设备Device属于该设备的所有media_player实体区域Area某个房间/区域内的所有media_player实体楼层Floor某一楼层上的所有media_player实体标签Label共享同一标签的所有media_player实体。你也可以在同一个动作中混用不同的目标类型例如同时指定一个具体实体和一个区域让该动作对两者一起生效。等效操作media_player.unjoin原文档在 Good to know 中特别指出对设备调用标准的media_player.unjoin动作效果与本动作相同。这一点在 media_player.unjoin 动作文档 中也有对应说明——unjoin 用于把媒体播放器从播放器分组中移除且仅适用于支持播放器分组的平台。Bang Olufsen 集成同时支持 Home Assistant 原生的媒体播放器分组见 集成文档因此两种写法可达同一目的# 写法一Beolink 专用动作 action: bang_olufsen.beolink_leave target: entity_id: media_player.beosound_balance_12345678 # 写法二标准媒体播放器动作等效 action: media_player.unjoin target: entity_id: media_player.beosound_balance_12345678不过Beolink 专用动作家族的价值在于它还能操作未加入 Home Assistant 的旧设备如 ASE 平台产品以及提供 join/expand/unexpand 等更细粒度的控制这是纯media_player分组所不具备的见 集成文档。与其余 Beolink 动作配合使用bang_olufsen.beolink_leave是 Beolink 动作族的一员原文档 frontmatter 中列出的相关动作如下完整动作族还包括动作作用bang_olufsen.beolink_join让设备加入一个活跃的 Beolink 多房间体验可指定beolink_jid和source_idbang_olufsen.beolink_leave让目标设备退出当前参与的 Beolink 体验本文主题bang_olufsen.beolink_expand向目标设备正在主持的体验中添加设备all_discovered或beolink_jids二选一bang_olufsen.beolink_unexpand从目标设备主持的体验中移除一台或多台设备beolink_jids必填bang_olufsen.beolink_allstandby让所有已连接的 Beolink 设备进入待机可以看到它们的语义差异leave是自己退出别人或自己的体验unexpand是作为主持者把别的设备踢出体验join/expand则是加入/扩展。实际组合时例如先beolink_join让设备加入体验播放一段时间后再用beolink_leave单独退出即可实现定时参与多房间、到点单独播放的完整流程。请注意集成文档 提示尝试运行无效的 Beolink 动作时会得到 Home Assistant 报错或来自设备的可听错误提示。小结bang_olufsen.beolink_leave是一个无参数、以目标为核心的动作用于让指定的 Bang Olufsen 媒体播放器退出其参与的 Beolink 多房间体验。它既可以在自动化/脚本的 UI 编辑器中通过Beolink leave直接添加也可以在 YAML 中以action: bang_olufsen.beolink_leave调用其行为与media_player.unjoin等效。配合beolink_join、beolink_expand、beolink_unexpand、beolink_allstandby以及媒体播放器实体的beolink属性即可在 Home Assistant 中实现完整、细粒度的 Bang Olufsen 多房间音频编排。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询