ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Home Assistant remote.toggle 动作完全指南:通过远程实体一键切换设备开关状态

2026/9/17 6:47:42 拓冰建站 浏览量
Home Assistant remote.toggle 动作完全指南:通过远程实体一键切换设备开关状态 Home Assistant remote.toggle 动作完全指南通过远程实体一键切换设备开关状态【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.ioremote.toggle是 Home Assistant 中面向remote远程遥控域的开关切换动作它把开与关合并成一条指令发送给负责控制电视、投影仪、功放等影音设备的远程实体。当被控设备本身用同一条命令即可完成开与关例如许多红外/蓝牙遥控协议采用单键切换时用它可以让自动化脚本更简洁。读完本文你将掌握如何在自动化与脚本中通过 UI 或 YAML 调用remote.toggle、如何用实体/设备/区域/楼层/标签指定目标以及两个可直接落地的完整自动化示例。remote.toggle 动作是什么Toggle via remote动作会通过一个 remote 域实体发送切换toggle命令。它适用于以下场景被控设备使用同一条命令即可在开与关之间切换单键电源协议你只关心状态翻转不要求结果必须是确定的开或关希望用最少的动作数量完成媒体系统、投影仪、电视等设备的电源切换。动作的行为由目标 remote 实体当前的状态决定设备处于开状态则切换为关处于关状态则切换为开。因此如果自动化的业务逻辑要求可预测的开或关结果官方建议改用 Turn on via remote 或 Turn off via remote在目标远程实体支持的前提下。从 UI 创建 Toggle via remote 动作如果更习惯使用可视化编辑器Home Assistant 会引导你逐步完成动作配置选择目标、微调选项并保存全程无需接触 YAML。在自动化或脚本中添加该动作的步骤如下进入SettingsAutomations scenes通过{% my automations %}快捷入口。打开现有的自动化或脚本或选择Create新建一个。如果是新建自动化在When部分添加触发条件脚本则无需触发器——它由其他对象调用时才会运行。在Then do部分选择Add action。选择要控制的对象在By target目标方式见下文 动作目标下选择负责发送命令的远程实体、设备、区域、楼层或标签。从该目标可用的动作列表中选择Toggle via remote。选择Save保存。UI 选项该动作在 UI 中没有额外的选项与remote.turn_on支持可选activity参数不同remote.toggle只负责状态翻转不涉及活动activity选择。在 YAML 中使用 remote.toggle对于直接编写 YAML 的用户本动作的技术参考如下YAML 中调用该动作的名称为remote.toggle。基础示例如下action: remote.toggle target: entity_id: remote.living_room该示例通过remote.living_room实体发送切换命令。YAML 选项remote.toggle没有额外的 YAML 选项动作所需的全部信息就是target。动作目标Targets of the actionremote.toggle必须指定目标target。目标是动作的作用对象你可以把动作指向单个实体、设备、区域、楼层或标签Home Assistant 会对目标背后所有匹配的 remote 域实体执行动作Entity实体单个具体的 remote 实体例如remote.living_roomDevice设备属于某设备的所有 remote 实体Area区域某个房间或区域内的所有 remote 实体Floor楼层某一楼层上的所有 remote 实体Label标签共享某个标签的所有 remote 实体。你还可以在一次动作中混合不同目标类型例如同时添加一个具体实体和一个区域作为目标让动作对两者一并执行。从源码结构看这一目标解析机制由 source/_includes/actions/targets.md 统一注入到所有动作页面中是整个动作系统共用的目标处理逻辑。实战示例 1用仪表盘按钮一键切换媒体系统场景当用户创建的 helper 按钮此处为input_button.media_toggle被按下时切换客厅遥控器remote.living_room的开关状态。Trigger触发器State状态EntityMedia toggleinput_button.media_toggleAction动作Toggle via remoteTargetLiving room remoteremote.living_room对应 YAML 完整自动化automation: alias: Toggle living room remote from helper button triggers: - trigger: state entity_id: input_button.media_toggle actions: - action: remote.toggle target: entity_id: remote.living_room实战示例 2有人进入区域时切换投影仪场景当 Paulusperson.paulus进入影院区域zone.cinema时切换投影仪遥控器remote.projector的开关状态。Trigger触发器Zone区域EntityPaulusperson.paulusZoneCinemazone.cinemaEventEnter进入Action动作Toggle via remoteTargetProjector remoteremote.projector对应 YAML 完整自动化automation: alias: Toggle projector remote when Paulus enters cinema zone triggers: - trigger: zone entity_id: person.paulus zone: zone.cinema event: enter actions: - action: remote.toggle target: entity_id: remote.projector与其他 remote 动作的配合使用remote.toggle属于 remote 域动作家族官方在同一文档体系中维护着它的三个相关动作Turn on via remote发送开命令部分支持活动activity的远程实体还可以通过可选参数activityYAML 中类型为 string非必填启动已保存的活动例如日落时用data: { activity: Evening TV }启动晚间电视活动Turn off via remote发送关命令例如在 23:00 定时关闭客厅媒体系统或在某人离开家时关闭遥控器remote.send_command发送自定义命令在相关文档的related_actions中列出。在实际集成中可以看到这些动作的组合用法。以 Logitech Harmony 集成 为例其文档展示了remote.turn_on、remote.turn_off和remote.send_command的调用方式其中remote.turn_on的目标同样通过entity_id: remote.bed_room_hub这类实体指定并可通过current_activity状态属性获取当前活动。Xbox 集成 则在自动化示例中直接使用了remote.toggle动作印证了该动作在真实集成中的可组合性。选择哪个动作取决于业务语义需要确定性开关用turn_on/turn_off只需翻转状态用toggle。注意事项Good to knowremote.toggle的动作目标是remote 域实体切换命令的结果取决于设备当前状态设备处于开则切为关处于关则切为开。如果需要可预测的开或关结果请改用 Turn on via remote 或 Turn off via remote在远程设备支持的前提下如果远程设备不可用unavailableHome Assistant 将无法发送该命令——在编写自动化时建议结合设备状态条件如device_off状态判断做好前置检查。小结remote.toggle是 remote 域中最精简的开关动作零附加选项、目标机制完善、UI 与 YAML 双通道可用非常适合一键翻转类影音控制场景。将其与remote.turn_on支持活动启动、remote.turn_off确定性关闭按业务语义搭配使用即可覆盖绝大多数远程遥控设备的自动化需求。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考