news 2026/9/17 18:35:03

Home Assistant vacuum.locate 动作详解:让机器人吸尘器“现身“的定位信号调用指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Home Assistant vacuum.locate 动作详解:让机器人吸尘器“现身“的定位信号调用指南

Home Assistant vacuum.locate 动作详解:让机器人吸尘器"现身"的定位信号调用指南

【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io

本文围绕 Home Assistant 文档中 Locate vacuum(vacuum.locate) 动作展开,讲清如何让迷失在床底、家具后的扫地机播放声音或闪烁灯光,帮助你在第一时间找到它。读完后你将掌握:如何在自动化 UI 中配置该动作、如何用 YAML 精确指定目标设备、目标(target)的五种类型(实体/设备/区域/楼层/标签),以及如何结合 Roomba 的"尘盒已满"传感器编写一套"需要倒尘盒时自动呼叫吸尘器"的实战自动化。

vacuum.locate 动作是什么

Locate vacuum cleaner(vacuum.locate)动作会让吸尘器播放声音或闪烁灯光,使你更容易找到它。典型使用场景是:机器人跑到了床下、沙发后面,或其他一眼看不到的地方——你不想满屋翻找,只需让它"出声"即可。

需要特别注意的一点(来自原文档Good to know):定位信号的具体效果(是发声、闪灯,还是两者兼有)取决于你的吸尘器型号,由对应集成和设备本身决定,Home Assistant 只负责下发这条指令。

在用户界面中使用该动作

如果你习惯以可视化方式构建自动化和脚本,Home Assistant 会引导你逐步完成配置,全程无需 YAML 知识:

  1. 打开Settings > Automations & scenes
  2. 打开一个已有自动化,或新建一个自动化;
  3. 添加一个动作(Add an action),搜索Locate vacuum cleaner
  4. 选择一台或多台吸尘器,也可以选择某个区域(area)或设备组(group);
  5. 点击Save保存。

UI 表单背后生成的就是下文介绍的 YAML 结构,两者可互相印证。

在 YAML 中调用该动作

如果你直接编写 YAML,或者想搞清楚 Home Assistant 底层到底执行了什么,本节给出完整的技术参考:字段名、字段类型、以及哪些字段必填。

基本示例

action: action: vacuum.locate target: entity_id: vacuum.upstairs

这条动作会让vacuum.upstairs播放它的定位信号。

关于目标省略的默认行为:如果不写entity_id,该动作将作用于系统中所有支持定位的吸尘器。这在"全屋所有机器人都报个到"的场景下很有用。

YAML 可配置选项

YAML 有时会提供 UI 上没有的额外选项,用于覆盖更复杂的用例。vacuum.locate的选项如下:

字段说明是否必填类型
target要定位的吸尘器、区域或设备否(false)map

动作的目标(Targets)

该动作以"目标"为操作对象。你可以把动作指向单个实体、一个设备、一个区域、一个楼层,或一个标签,Home Assistant 会对目标背后的每一个匹配的 vacuum 实体执行该动作。目标类型共五种:

  • 实体(Entity):某一个具体的 vacuum 实体,如vacuum.living_room
  • 设备(Device):属于该设备的所有 vacuum 实体;
  • 区域(Area):某个房间/区域内的所有 vacuum 实体;
  • 楼层(Floor):某一层楼上的所有 vacuum 实体;
  • 标签(Label):共享同一标签的所有 vacuum 实体。

还支持在同一个动作中混合选择不同目标类型。例如同时添加一个具体实体和一个区域作为目标,让动作一次性作用于两者。

实战示例:尘盒已满时自动定位吸尘器

这是原文档给出的完整自动化示例,值得深入拆解:

部分吸尘器集成会暴露一个"尘盒已满"的二元传感器。以 iRobot Roomba and Braava 集成 为例,查阅其集成文档的 "Integration entities" 一节可以确认,该集成提供的传感器列表中包含Bin full(尘盒已满,如果 Roomba 具备该检测能力)这一项(见 roomba 集成文档)。当吸尘器报告尘盒需要处理时,下面的自动化会让它播放定位信号,让你快速找到它并清理。

  • 触发条件(Trigger):Roomba 尘盒已满传感器变为on
  • 执行动作(Action):Locate vacuum(vacuum.locate)
  • 目标(Target):楼上吸尘器vacuum.upstairs
automation: alias: "Locate vacuum when bin is full" triggers: - trigger: state entity_id: binary_sensor.roomba_bin_full to: "on" actions: - action: vacuum.locate target: entity_id: vacuum.upstairs

这个例子体现了 vacuum.locate 与其他状态类传感器配合的通用模式:任何"设备需要人工介入"的状态(尘盒满、滤网脏、电量异常),都可以触发定位信号,把机器人从它藏身的角落"叫"出来。如果你的集成没有暴露尘盒传感器,可以检查该集成文档的实体列表,确认它实际提供哪些传感器后再选用触发源。

自己动手验证(Try it yourself)

想立刻测试该动作而不动 YAML?打开Settings > Tools > Actions(开发者工具的动作页),搜索vacuum.locate,填入字段后选择Perform action——你可以在不写一行 YAML 的情况下,在自己的真实实体上观察效果。

相关动作

以下动作常与vacuum.locate搭配使用,仓库中均有对应的独立动作文档:

  • Pause cleaning(vacuum.pause):暂停当前清扫任务,例如门铃响时让机器人先停一下;
  • Clean area(vacuum.clean_area):让吸尘器只清扫已映射的指定区域;
  • Start cleaning(vacuum.start)、Stop cleaning(vacuum.stop):开始/停止清扫;
  • Return to base(vacuum.return_to_base):让吸尘器回到充电座;
  • Set fan speed(vacuum.set_fan_speed):调整吸力档位;
  • Turn on / Turn off(vacuum.turn_on / vacuum.turn_off):开关机控制。

如果配置过程中遇到问题,Home Assistant 的社区(Discord、社区论坛、subreddit)都欢迎带上你调用的具体动作和预期行为来提问;也可以把需求用自然语言描述给 AI 助手,请它解释或推荐合适的动作。

【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/17 18:34:45

供水管网远程监测系统:NB-IoT+时序数据库落地实践

简介:本资源是一份面向水务信息化建设单位、供水企业技术部门及智慧城市建设从业者的《智慧水务供水管网远程监测系统建设方案》专业文档,聚焦解决供水管网动态监管、智能预警与应急响应等核心管理难题。方案全文80页,以供水地理信息系统&…

作者头像 李华
网站建设 2026/9/17 18:34:03

烽火S4700/S4800交换机命令行配置与运维实战指南

直接进入正题。烽火S4700/S4800这台设备,在园区网和企业分支里其实出场率不低,但网上关于它的命令行资料一直碎得不行,官方文档又写得跟天书似的。我自己前前后后接手过好几批烽火的设备,从最初的对着命令行发懵,到后来…

作者头像 李华
网站建设 2026/9/17 18:33:14

FPGA上的Linux触摸屏驱动:从硬件到校准的完整链路

第一次在FPGA板卡上接7寸触摸屏,我花了一个下午找到的是一根弯折的FPC排线,而不是改设备树。后来我才明白,触摸驱动这件事从来不是"加载一个内核模块"这么简单,它是完整的一条链路:屏幕模组上的触摸控制芯片…

作者头像 李华