ARTICLE DETAIL

资讯详情

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

Home Assistant 中 media_player.toggle 动作详解:开关媒体播放器的自动化实战指南

Home Assistant 中 media_player.toggle 动作详解:开关媒体播放器的自动化实战指南 Home Assistant 中 media_player.toggle 动作详解开关媒体播放器的自动化实战指南【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.iomedia_player.toggle是 Home Assistant 中用于翻转toggle媒体播放器开关状态的官方动作action设备当前处于关闭状态就将其打开处于开启状态就将其关闭。它常见于按钮触发、人体感应、离家/回家场景等自动化中是媒体播放器域最基础也最高频的控制动作之一。本文以官方文档 media_player.toggle.markdown 为核心结合同域的turn_on/turn_off文档、目标target机制说明及仓库中的真实集成示例完整讲解该动作的 UI 配置、YAML 语法、目标寻址规则与实战注意事项读完即可在你的自动化与脚本中直接落地使用。动作概述一个动作完成开关翻转media_player.toggle属于media_player媒体播放器域用于切换媒体播放器的电源状态。其官方 frontmatter 定义如下见 media_player.toggle.markdown--- title: Toggle media player action: media_player.toggle domain: media_player description: Toggles a media player on or off. related_actions: - media_player.turn_on - media_player.turn_off ---与该域的两个兄弟动作相比media_player.turn_on只负责打开播放器media_player.turn_off只负责关闭播放器media_player.toggle翻转状态开则关、关则开适合按下同一按钮切换开关这类交互场景。例如一个常见的长按音箱实体按钮切换功放电源自动化出自 wemo.markdown- id: long_press_living_room alias: Toggle amplifier power triggers: - trigger: event event_type: wemo_subscription_event event_data: type: LongPress name: Living Room actions: - action: media_player.toggle target: entity_id: media_player.amplifier在 UI 中配置该动作自动化与脚本如果你偏好可视化编辑Home Assistant 会引导你一步步完成动作配置参见 ui_header.md你只需选择目标、微调选项并保存无需任何 YAML 知识。官方步骤为进入设置 自动化与场景Automations scenes。打开一个已有的自动化或脚本或选择创建自动化创建新自动化。如果是新建自动化在当……时When部分添加一个触发器脚本则不需要触发器它们在别处被调用时运行。在然后执行Then do部分选择添加动作Add action。选择要控制的对象在目标By target下参见下方目标机制一节选择你要切换的媒体播放器。从该目标展示的动作列表中选择切换媒体播放器Toggle media player。点击保存Save。UI 中的选项该动作在 UI 中除目标外没有任何额外选项——它只有对谁执行这一个配置维度非常简洁。在 YAML 中使用该动作官方文档明确在 YAML 中该动作名为media_player.toggle见 yaml_header.md该部分列出 YAML 字段名、类型与必填项。一个基础示例action: | action: media_player.toggle target: entity_id: media_player.living_room这段配置会把media_player.living_room在开与关之间切换。YAML 中的选项与 UI 一致该动作在 YAML 中除 target 外没有其他选项。配置时只需要提供target字段必填。目标机制如何精准寻址media_player.toggle必须指定目标target目标即动作的作用对象参见 targets.md。你可以把动作指向单个实体、设备、区域、楼层或标签Home Assistant 会对该目标背后所有匹配的media_player实体执行动作实体Entity某一个具体的media_player实体例如media_player.living_room。设备Device某个设备下所属的全部media_player实体。区域Area某个房间/区域内的全部media_player实体。楼层Floor某个楼层上的全部media_player实体。标签Label共享同一标签的全部media_player实体。同一个动作还可以混用不同类型的目标例如同时指定一个具体实体和一个区域动作会一次性作用于两者。这意味着你既能精确控制单个音箱也能批量切换整个区域的所有播放器。实战自动化示例用按钮切换音箱官方文档给出了一个可直接套用的完整自动化见 media_player.toggle.markdown触发器Trigger按钮被按下动作Action切换媒体播放器目标Target客厅音箱对应 YAMLautomation: - alias: Toggle the living room speaker with a button triggers: - trigger: state entity_id: input_button.toggle_speaker actions: - action: media_player.toggle target: entity_id: media_player.living_room这里通过监听input_button.toggle_speaker辅助按钮的状态变化作为触发器每次按下按钮即调用一次media_player.toggle从而让同一按钮实现按一下开、再按一下关的交互。这也印证了前面 wemo.markdown 中长按设备实体按钮切换功放的思路——toggle是这类按键类交互的标准答案。动手试试在不写 YAML 的情况下测试想立即验证效果可以打开设置 工具 动作Actions搜索media_player.toggle填入字段后点击执行动作Perform action参见 try_it.md。你会在真实实体上直接看到开关翻转的结果全程无需编写一行 YAML非常适合先验证目标寻址是否正确、再将其固化到自动化中。好要知道的关键点Good to know官方文档特别提醒见 media_player.toggle.markdown该动作只对支持开关机能被打开和关闭的媒体播放器有效。部分媒体播放器实体不具备电源控制能力例如仅支持播放控制的设备此时toggle可能无法生效。这也是它与 turn_on、turn_off 共同的限制——两者同样明确仅适用于支持开/关的播放器。版本演进与行为细节从源码仓库的更新日志看media_player.toggle的行为仍在持续打磨Home Assistant Core 2022.7 版本中有一条改动——让media_player.toggle能够打开处于待机standby状态的设备见 core-2022.7.markdown 第 671 行。这说明该动作在实现层面会尽力与设备的待机/开机状态语义对齐而不仅仅是机械地翻转一个布尔状态。如果你的设备处于待机状态却未被正确唤醒请确认 Home Assistant 版本不低于该变更引入的版本。遇到问题怎么办如果动作没有按预期工作排查时先确认以下几点目标实体是否确实是media_player域、设备是否支持开关机、以及实体 ID 是否拼写正确。也可以在设置 工具 动作中直接对单个实体执行动作进行隔离测试区分是目标寻址问题还是设备本身的能力问题。若仍无法解决可在社区中带着你调用的动作 期望发生的结果提问见 stuck.md并附上触发时的日志通常能快速定位原因。总结media_player.toggle是 Home Assistant 媒体播放器控制中最直观的翻转开关动作UI 与 YAML 配置都只需指定 target配合按钮、传感器、人员离家回家等触发器即可构建大量实用场景。结合 turn_on强制开与 turn_off强制关按需选用你能精确控制每个媒体播放器在任何时刻的状态。官方文档入口见 source/_actions/media_player.toggle.markdown目标机制与动作通用说明可进一步查阅 source/_includes/actions/targets.md。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表