{"id":15646370,"url":"https://github.com/alexxit/vacuumzones","last_synced_at":"2025-04-09T18:18:37.662Z","repository":{"id":49799635,"uuid":"351519214","full_name":"AlexxIT/VacuumZones","owner":"AlexxIT","description":"Control zone cleaning for Xiaomi vacuum cleaners from voice assistants and Home Assistant","archived":false,"fork":false,"pushed_at":"2024-12-07T18:39:59.000Z","size":14,"stargazers_count":80,"open_issues_count":5,"forks_count":5,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-09T18:18:34.702Z","etag":null,"topics":["home-assistant","vacuum-cleaner","xiaomi"],"latest_commit_sha":null,"homepage":"https://github.com/AlexxIT/Blog","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlexxIT.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-25T17:22:50.000Z","updated_at":"2025-04-01T04:13:56.000Z","dependencies_parsed_at":"2024-12-20T07:06:55.602Z","dependency_job_id":"682c2fd2-d40e-4620-9ec6-f84f0f73dd81","html_url":"https://github.com/AlexxIT/VacuumZones","commit_stats":{"total_commits":15,"total_committers":1,"mean_commits":15.0,"dds":0.0,"last_synced_commit":"61a57148f5d8dc04417ef2c4a053720366ae2302"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexxIT%2FVacuumZones","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexxIT%2FVacuumZones/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexxIT%2FVacuumZones/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlexxIT%2FVacuumZones/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlexxIT","download_url":"https://codeload.github.com/AlexxIT/VacuumZones/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248085326,"owners_count":21045139,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["home-assistant","vacuum-cleaner","xiaomi"],"created_at":"2024-10-03T12:12:36.579Z","updated_at":"2025-04-09T18:18:37.641Z","avatar_url":"https://github.com/AlexxIT.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VacuumZones\n\n[![hacs_badge](https://img.shields.io/badge/HACS-Custom-orange.svg)](https://github.com/custom-components/hacs)\n\n[Home Assistant](https://www.home-assistant.io/) custom component that helps control zone cleaning for some vacuum cleaners with the help of voice assistants - Apple Siri, Google Assistant, Yandex Alice.\n\nSupported vacuums:\n\n- [Xiaomi Vacuum](https://www.home-assistant.io/integrations/xiaomi_miio/#xiaomi-mi-robot-vacuum)\n- [Dreame Vacuum](https://github.com/Tasshack/dreame-vacuum)\n- [Roborock Vacuum](https://github.com/humbertogontijo/homeassistant-roborock)\n\nThis component creates a virtual vacuum cleaner for each of your zone or room.\n\nBy adding these vacuums to your voice assistant, you can give voice commands, like \"clean bedroom\". If your voice assistant supports multiple device commands - you can say \"clean up the hall and under the table\".\n\nAll cleaning commands are **added to the queue**. The vacuum cleaner will start a new room only after it has finished the previous. Cleaning the next room starts when the vacuum goes into `returning` or `docked` state.\n\nCurrent zone will be in `cleaning` state, next zones will be in `paused` state, other zones will be in `idle` state.\n\nYou can pause main vacuum entity, it won't reset the queue. You can stop any of the virtual vacuum cleaners - this will reset the queue, but will not stop cleaning in the current room. You can skip the current room by sending the main vacuum cleaner to the dock, the integration will automatically start the next element of the queue.\n\n## Installation\n\n**Method 1.** [HACS](https://hacs.xyz/) custom repo:\n\n\u003e HACS \u003e Integrations \u003e 3 dots (upper top corner) \u003e Custom repositories \u003e URL: `AlexxIT/VacuumZones`, Category: Integration \u003e Add \u003e wait \u003e VacuumZones \u003e Install\n\n**Method 2.** Manually copy `vacuum_zones` folder from [latest release](https://github.com/AlexxIT/VacuumZones/releases/latest) to `/config/custom_components` folder.\n\n## Configuration\n\nYou can config each room/zone with a [room number](https://www.home-assistant.io/integrations/xiaomi_miio/#service-xiaomi_miiovacuum_clean_segment) or with a [zone coordinates](https://www.home-assistant.io/integrations/xiaomi_miio/#service-xiaomi_miiovacuum_clean_zone).\n\nCheck [this integration](https://github.com/PiotrMachowski/Home-Assistant-custom-components-Xiaomi-Cloud-Map-Extractor) and [this app](https://xiaomi.flole.de/) for coordinates extraction.\n\nYou can use [this integration](https://github.com/AlexxIT/XiaomiGateway3#obtain-mi-home-device-token) for extract rooms with names if your vacuum support it. **S5 Max** - support rooms with names, **S5** - don't support names for rooms.\n\nYou can use multiple rooms/zones in one zone item.\n\n`configuration.yaml` example:\n\n```yaml\nvacuum_zones:\n  entity_id: vacuum.roborock_vacuum_s5e  # change to your vacuum\n  zones:\n    Hall:                                # room name on your language\n      room: 20                           # one or more rooms\n\n    Under the table:                     # zone name on your language\n      zone: [[23510,25311,25110,26361]]  # one or more zones\n      repeats: 2                         # optional, default 1\n\n    Home:                                # zone name on your language\n      sequence:                          # optional script sequence (run before command to vacuum)\n      - service: persistent_notification.create\n        data:\n          message: Starting a complete house cleaning\n      room: [15,16,17]\n\n    Trash:                               # point name on your language\n      goto: [25500, 25500]               # move to point\n```\n\nIf your vacuum not supported, you can always run raw service call:\n\n```yaml\nvacuum_zones:\n  entity_id: vacuum.dreame_vacuum\n  zones:\n    Main Room:\n      sequence:\n      - service: dreame_vacuum.vacuum_clean_spot\n        data:\n          points: [819,-263]\n```\n\n## Useful links\n\n- [Xiaomi Gateway 3](https://github.com/AlexxIT/XiaomiGateway3#obtain-mi-home-device-token) - extract Mi Home tokens from Home Assistant GUI \n- [Xiaomi Cloud Map Extractor](https://github.com/PiotrMachowski/Home-Assistant-custom-components-Xiaomi-Cloud-Map-Extractor) - life map for your vacuum\n- [Xiaomi Vacuum Map Card](https://github.com/PiotrMachowski/lovelace-xiaomi-vacuum-map-card) - lovelace map card\n- [Vacuum Card](https://github.com/denysdovhan/vacuum-card) - lovelace vacuum card\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexxit%2Fvacuumzones","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexxit%2Fvacuumzones","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexxit%2Fvacuumzones/lists"}