ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Home Assistant vacuum.stop 动作详解:在自动化中即时停止扫地机器人的完整指南

Home Assistant vacuum.stop 动作详解:在自动化中即时停止扫地机器人的完整指南 Home Assistant vacuum.stop 动作详解在自动化中即时停止扫地机器人的完整指南【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io本文围绕 Home Assistant 的vacuum.stop动作展开讲清楚它的作用边界、UI 与 YAML 两种配置方式、目标target机制和 YAML 选项表并给出一个完整的检测到漏水立即停扫自动化实战示例。读完本文你可以将该动作直接用于日常自动化、脚本和故障排除并知道它与vacuum.pause、vacuum.return_to_base等相邻动作的差异与选型依据。动作定位立即停止 vs 暂停 vs 回充vacuum.stop在界面中显示为Stop vacuum cleaner会立即停止扫地机器人当前的活动——无论是正在清扫cleaning、正在返回充电桩returning to dock、还是局部清扫spot clean等状态都会当场中断。它的典型使用场景是必须马上让机器人离开现场的紧急情况例如地面出现意外洒液体unexpected spill宠物弄脏了地面pet accident其他需要机器人立刻退出该区域的状况。这里有一个容易被忽视的语义区别vacuum.stop是停下来而不是暂停后继续或回家充电。Home Assistant 的 vacuum 域提供了一组分工明确的动作仓库中均可查到各自文档vacuum.stop立即停止当前活动本文主题vacuum.pause暂停当前清扫任务Pause cleaning任务保留、稍后可恢复适合电话、门铃、有人睡觉等临时中断场景vacuum.start_pause启动/暂停/恢复Start or pause用一个动作覆盖多种状态切换vacuum.return_to_base让机器人有序返回充电桩Return to dock适合睡前、客人到来前腾出地面其余如 vacuum.turn_on、vacuum.turn_off、vacuum.toggle、vacuum.start、vacuum.clean_area、vacuum.clean_spot、vacuum.set_fan_speed、vacuum.locate、vacuum.send_command 等覆盖了清扫、局部清扫、风速、定位和厂商自定义指令。选择动作时可按我想要的最终状态来决策想原地停下用vacuum.stop想稍后继续用vacuum.pause想回充电桩用vacuum.return_to_base。从用户界面UI使用如果偏好可视化搭建自动化与脚本Home Assistant 会以向导形式带你逐步配置这个动作选择目标、调整少量选项、保存即可全程不需要写 YAML。在自动化或脚本中使用该动作的步骤进入SettingsAutomations scenes设置 自动化与场景创建或编辑一个自动化添加一个动作Action在搜索框中查找Stop vacuum cleaner选择要操作的目标具体扫地机实体、区域area或群组group保存自动化。在 YAML 中使用如果你直接编写 YAML或者想确切知道 Home Assistant 底层如何调用该动作以下是技术参考字段名、类型与必填项都列在后面的选项表中。最小示例停止指定实体action: action: vacuum.stop target: entity_id: vacuum.upstairs上面的示例会停止vacuum.upstairs这个扫地机实体。entity_id是可选的。省略target时该动作会停止所有已连接的扫地机——这一行为在多机家庭例如楼上、楼下各一台中尤其值得注意无目标写法是全量操作而不是无操作。YAML 选项表YAML 有时提供 UI 中没有的额外选项用于覆盖更复杂的用例。vacuum.stop的完整选项如下选项说明必填类型target要停止的扫地机、区域或实体The vacuum, area, or entity to stop否map动作的目标Targets of the action该动作需要指定目标target目标是动作的作用对象。你可以把动作指向单个实体、设备device、区域area、楼层floor或标签labelHome Assistant 会在该目标背后匹配的每一个 vacuum 域实体上执行此动作。支持的目标类型Entity某一个具体的 vacuum 实体例如vacuum.living_roomDevice属于某个设备的所有 vacuum 实体Area某个房间或区域内的所有 vacuum 实体Floor某个楼层上的所有 vacuum 实体Label共享同一个标签的所有 vacuum 实体。还可以在一个动作中混合多种目标类型。例如同时添加一个具体实体和一个区域作为目标动作会一次性作用于二者。自己动手试一试Try it yourself不想先写 YAML打开SettingsToolsActions设置 工具 动作搜索vacuum.stop填入字段后选择Perform action。你可以在不写任何代码的情况下直接在真实实体上观察该动作的效果。注意事项Good to know该动作只对当前处于 active工作中或 returning回充途中状态的扫地机有效。如果机器人本就处于 idle/docked 状态调用vacuum.stop不会有实际效果。编写先确认状态再停止的逻辑时可以结合vacuum域实体的状态state来判断。实战示例检测到漏水立即停止扫地机这是一个典型的联动场景当厨房的漏水传感器leak sensor触发时自动化会立即停止扫地机避免它驶过积水区域。Trigger触发器检测到漏水Leak detectedAction动作停止扫地机Stop vacuumTarget目标楼下的扫地机Downstairs vacuumautomation: alias: Stop vacuum on leak triggers: - trigger: state entity_id: binary_sensor.kitchen_leak to: on actions: - action: vacuum.stop target: entity_id: vacuum.downstairs几点实现说明触发器使用state触发器监听binary_sensor.kitchen_leak当其状态变为on时触发。如果你的漏水传感器语义不同例如以fault属性表达需相应调整条件写法示例中触发器与动作放在同一个自动化里动作只针对vacuum.downstairs一个实体。若希望漏水即停所有扫地机可以按前文省略entity_id的规则去掉target注意示例使用的是triggers/actions顶层键的写法与文档中的示例保持一致如果你的 Home Assistant 版本较旧可能仍使用trigger:/action:单数形式请以你环境中自动化的实际格式为准。遇到问题的排查思路先确认目标实体确实处于active或returning状态见上文注意事项不在这些状态下调用该动作不会生效通过Settings Tools Actions手动执行一次vacuum.stop验证动作调用链路本身是否正常再把同样的调用搬进自动化可快速区分动作没配好和自动化逻辑没触发两类问题如果你的集成integration本身对 vacuum 域的支持有限并非所有扫地机集成都实现全部 vacuum 服务可在source/_integrations/目录下查阅对应集成的文档确认其支持范围例如 roborock、roomba、neato、ecovacs、sharkiq、matter 等集成文档中均包含 vacuum 相关说明仍无法解决时可借助社区支持渠道官方 Discord、社区论坛、/r/homeassistant描述你调用的动作、期望行为与实际行为来提问也可以用 AI 助手用自然语言描述需求获得动作选型与配置建议。小结vacuum.stop是 Home Assistant vacuum 域中负责立即停止的原子动作UI 向导下五步完成配置YAML 下仅action 可选target两个字段即可工作target支持实体、设备、区域、楼层、标签五种目标并可混合使用省略目标等于停止所有扫地机它只对 active/returning 状态的机器人有效。配合vacuum.pause暂停续扫与vacuum.return_to_base回充的语义差异你可以为漏水即停、临时让路、睡前收队等不同场景选出正确的动作。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表