
Home Assistant 米家扫地机分区清扫xiaomi_miio.vacuum_clean_zone 动作完全指南【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io导读本文围绕 Home Assistant 文档库中xiaomi_miio.vacuum_clean_zone动作Vacuum clean zone展开讲解如何通过 UI 与 YAML 两种方式让小米扫地机器人清扫一个或多个矩形区域并深入说明坐标体系、repeats重复次数限制与参数校验规则。读完本文你将能在自动化、脚本与操作面板中熟练调用分区清扫并结合配套的vacuum_clean_segment按房间清扫与vacuum_goto定点前往动作构建完整的清扫策略。动作概览什么是 Vacuum clean zoneVacuum clean zone是 xiaomi_miio 集成为小米扫地机器人提供的一项专属动作。与普通的vacuum.start全屋清扫不同它允许你在地图上框出一个或多个矩形区域并指定每个区域清扫的次数。其核心特性见动作定义文档分区清扫每个区域由一组坐标定义的矩形表示可同时提交多个区域可设重复次数通过repeats指定每个区域清扫 13 遍有目标实体动作必须指定一个目标如vacuum.xiaomi_vacuumHome Assistant 会将该动作下发到该扫地机实体。从 xiaomi_miio 集成的底层来看该动作对应机器人的xiaomi_clean_zone服务能力见集成文档 Actions 一节。在更底层的 miio 协议层面分区清扫本质上通过app_zoned_clean命令实现见集成文档 Zoned Cleaning 示例该命令的参数即为矩形坐标 清扫次数。从界面使用该动作无需写 YAML在自动化或脚本中使用分区清扫的完整步骤摘自动作文档进入设置 自动化与场景{% my automations %}快捷入口打开现有自动化或脚本或选择创建自动化 创建新自动化若新建自动化先在When触发条件一节添加触发器脚本无需触发器由其他流程调用时执行在Then do执行动作一节选择添加动作在按目标By target下选择要控制的小米扫地机器人目标概念详见下文动作的目标一节在该目标对应的动作列表中选择Vacuum clean zone填写Zone区域坐标与Repeats重复次数点击保存。界面中的两个选项定义如下选项说明是否必填Zone一个区域列表每个区域是一个由四个整数组成的列表用于描述一个矩形的起点与终点坐标是Repeats每个区域清扫的次数取值范围 13是如需在不写 YAML 的情况下快速验证可打开设置 工具 操作Actions{% my developer_services %}搜索该动作、填写字段并点击执行动作即可在真实实体上观察效果。在 YAML 中使用该动作如果你直接编写 YAML 自动化或脚本动作名为xiaomi_miio.vacuum_clean_zone。基础示例如下摘自动作文档action: xiaomi_miio.vacuum_clean_zone target: entity_id: vacuum.xiaomi_vacuum data: repeats: 1 zone: - [30914, 26007, 35514, 28807] - [20232, 22496, 26032, 26496]该示例会让vacuum.xiaomi_vacuum依次清扫两个区域各一次先清扫第一个矩形区域再清扫第二个矩形区域。YAML 字段参考字段说明必填类型zone区域列表每个区域是一个由四个整数组成的列表描述矩形起点与终点坐标是listrepeats每个区域清扫次数13 的整数是integer一个典型的自动化集成示例alias: 每天上午清扫餐桌区域 triggers: - trigger: time at: 09:00:00 actions: - action: xiaomi_miio.vacuum_clean_zone target: entity_id: vacuum.xiaomi_vacuum data: repeats: 2 zone: - [23510, 25311, 25110, 26361]坐标格式详解[x1, y1, x2, y2]分区清扫的坐标体系是该动作的关键。每个区域是一个四个整数的列表格式为[x1, y1, x2, y2]见动作文档 Good to know 一节第一对坐标(x1, y1)是矩形的一个角第二对坐标(x2, y2)是对角方向的另一个角。例如[23510, 25311, 25110, 26361]表示以(23510, 25311)为起点、沿对角线扩展到(25110, 26361)的矩形区域。几个要点坐标是地图像素坐标该坐标系由扫地机器人自身建立原点与充电座位置相关。与之对应定点前往动作xiaomi_miio.vacuum_goto的文档明确指出充电座位于(25500, 25500)见定点前往动作文档可据此估算其他坐标的相对位置两个区域可共用一个repeatsrepeats对所有区域统一生效无法为不同区域单独设置不同次数坐标必须取自真实地图从源码结构看坐标值来源于机器人地图数据随意填写无法对应实际清扫位置需要通过地图工具获取。如何获取分区坐标xiaomi_miio 集成文档Retrieving Zoned Cleaning Coordinates 一节给出了两种主流获取方式FloleVacAndroid用小米账号登录在同一局域网下打开地图选择 Zone cleanup 并框选要清扫的区域长按 Cleanup区域坐标即被复制到剪贴板RoboRock Control CenterRRCC需 Valetudo 固件使用地图编辑器框选区域可获取分区清扫所需坐标。其底层命令示例为action: vacuum.send_command target: entity_id: vacuum.xiaomi_vacuum_cleaner data: command: app_zoned_clean params: [[23084, 26282, 27628, 29727, 1]]可以看到app_zoned_clean的参数是矩形四坐标 清扫次数这与vacuum_clean_zone的zonerepeats语义一一对应——这也印证了该动作在底层实现上对app_zoned_clean的封装关系。动作的目标Targets该动作必须指定目标目标即动作的作用对象。你可以将动作指向单个实体、设备、区域、楼层或标签Home Assistant 会针对目标背后的每一个匹配的vacuum实体执行动作见targets 模板实体Entity单个 vacuum 实体如vacuum.living_room设备Device属于某台设备的所有 vacuum 实体区域Area某个房间/区域内的所有 vacuum 实体楼层Floor某一楼层的所有 vacuum 实体标签Label共享同一标签的所有 vacuum 实体。同一个动作还可以混用多种目标类型例如同时指定一个具体实体和一个区域让动作对两者同时生效。与相邻动作的配合构建完整清扫策略vacuum_clean_zone并非孤立存在官方将其与另外两个 xiaomi_miio 专属动作列为相关动作见动作文档 front matterxiaomi_miio.vacuum_clean_segmentVacuum clean segment按房间编号清扫。segment 是扫地机已建图的房间用数字标识如segments: [1, 2]清扫 1、2 号房间将同一编号重复列出即可多次清扫同一房间如segments: [1, 1]清扫 1 号房间两遍。房间编号可通过miiocli roborockvacuum --ip ip --token token get_room_mapping获取映射见segment 动作文档与集成文档 Retrieving Room numbers 一节;xiaomi_miio.vacuum_gotoVacuum go to将扫地机送往地图上的指定坐标点参数为x_coord与y_coord。若机器人移动中不响应需先调用vacuum.pause或vacuum.stop再重试见goto 动作文档。三个动作的适用场景对比如下动作作用典型参数适用场景vacuum_clean_zone清扫自定义矩形区域zone矩形坐标列表、repeats13精确清扫桌下、地毯、角落等任意矩形区域vacuum_clean_segment按已建图的房间清扫segments房间编号或编号列表按房间粒度调度如只扫厨房vacuum_goto前往指定坐标x_coord、y_coord定点巡查、清理污渍前的移动在实际使用中这些动作均与 xiaomi_miio 集成提供的基础 vacuum 动作start、pause、stop、return_to_base、locate、set_fan_speed、send_command协同工作见集成文档 Actions 一节例如清扫前先return_to_base回充、清扫中按需pause。常见问题排查重复次数上限repeats仅在 13 之间有效。若需要更多遍清扫可在一个脚本中多次调用本动作或改用vacuum_clean_segment在编号列表中重复房间号机器人无响应参考vacuum_goto的动作说明goto 动作文档若机器人正在移动且不响应指令先调用vacuum.pause或vacuum.stop再重新下发动作坐标不准确确认坐标来自真实地图FloleVac 或 RRCC 地图编辑器并保证手机与扫地机处于同一网络坐标是地图像素值而非真实米制距离区域过大单个矩形区域建议控制在合理范围内超大区域可能导致机器人路径规划异常可拆分为多个小区域一次性提交。小结xiaomi_miio.vacuum_clean_zone是 Home Assistant 中实现小米扫地机指哪扫哪的核心动作通过zone传入矩形坐标、repeats控制清扫遍数即可在自动化与脚本中精确调度局部清扫。结合vacuum_clean_segment的房间级清扫与vacuum_goto的定点移动你可以覆盖从全屋到单房间再到任意矩形区域的完整清扫粒度。深入阅读 xiaomi_miio 集成文档 还可进一步掌握坐标获取、房间编号查询与send_command底层命令等进阶技巧。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考