Warning
You MUST use HA 2025.4 or later for this to work.
This platform can be used to control vacuums connected to Home Assistant using the core Roborock integration
This works by using the core integration to send any needed commands, and a custom integration for passing information to the card.
If you need to setup this card using the custom component, you should use The "humbertogontijo/homeassistant-roborock" platform instead
- Install the Roborock Core Integration and set it up
- It is recommended that you first disable the Image entities within the core integration. Open each image entity, hit the gear icon, then trigger the toggle by enabled.
- Install the Roborock Custom Map Integration
- This integration works by piggybacking off of the Core integration, so the Core integration will do all the data updating to help prevent rate-limits. But that means that the core integration must be setup and loaded first. If you run into any issues, make sure the Roborock integration is loaded first, and then reload this one.
- Setup this card like normal! You should select a image with the suffix _custom. An example configuration would look like
type: custom:xiaomi-vacuum-map-card
vacuum_platform: Roborock
entity: vacuum.s7
map_source:
camera: image.s7_downstairs_full_custom
calibration_source:
camera: true
- You can hit Generate Room Configs to allow for cleaning of rooms. It might generate extra keys, so check the yaml and make sure there are no extra 'predefined_sections'
- There might be problems with instance that you have multiple maps. Calibration points may be missing for non-selected maps. Once you change to that map being the one selected, it should fix the calibration problems.
If you would like, you can hit generate static config. Then, you can set the map_source to the core roborock image instead. Note: If your map changes significantly or if your rooms change, it will not updated, so this really shouldn't be needed.
-
Uses IDs to clean specific rooms. Requires
predefined_selections
to be provided.Used service:
vacuum.send_command
Example configuration
map_modes: - template: vacuum_clean_segment predefined_selections: - id: 14 outline: [[ 21458, 32131 ], [ 24235, 32152 ], [ 24194, 27409 ], [ 23181, 27409 ]] label: text: "Bedroom" x: 22932 y: 30339 offset_y: 35 icon: name: "mdi:bed" x: 22932 y: 30339 - id: 19 outline: [[ 21478, 27237 ], [ 23048, 27250 ], [ 23061, 25655 ], [ 21478, 25680 ]] label: text: "Bathroom" x: 22282 y: 26496 offset_y: 35 icon: name: "mdi:shower" x: 22282 y: 26496
Example video
ROOM.mp4
-
Uses 4 coordinates to clean rectangular zones.
Used service:
vacuum.send_command
Example configuration
map_modes: - template: vacuum_clean_zone
Example video
MANUAL_RECTANGLE.mp4
-
Uses 4 coordinates to clean rectangular zones that have been defined in the configuration. Requires
predefined_selections
to be provided.Used service:
roborock.send_command
Example configuration
map_modes: - template: vacuum_clean_zone_predefined predefined_selections: - zones: [[ 21485, 28767, 24236, 32131 ], [ 23217, 27379, 24216, 28737 ]] label: text: "Bedroom" x: 22932 y: 30339 offset_y: 35 icon: name: "mdi:bed" x: 22932 y: 30339 - zones: [[ 27782, 27563, 29678, 29369 ]] label: text: "Kitchen" x: 28760 y: 28403 offset_y: 35 icon: name: "mdi:pot-mix" x: 28760 y: 28403
Example video
PREDEFINED_RECTANGLE.mp4
-
Uses a pair of coordinates for vacuum to get to a user-specified point.
Used service:
roborock.roborock.set_vacuum_goto_position
Example configuration
map_modes: - template: vacuum_goto
Example video
MANUAL_POINT.mp4
-
Uses a pair of coordinates for vacuum to go to a point that has been defined in the configuration. Requires
predefined_selections
to be provided.Used service:
roborock.set_vacuum_goto_position
Example configuration
map_modes: - template: vacuum_goto_predefined predefined_selections: - position: [ 28006, 28036 ] label: text: "Emptying" x: 28006 y: 28036 offset_y: 35 icon: name: "mdi:broom" x: 28006 y: 28036 - position: [ 32143, 26284 ] label: text: "Sofa" x: 32143 y: 26284 offset_y: 35 icon: name: "mdi:sofa" x: 32143 y: 26284
Example video
PREDEFINED_POINT.mp4
-
Uses a list of points to make a vacuum follow a user-defined path. Requires
follow_path
script to be installed.Used service:
script.vacuum_follow_path
Example configuration
map_modes: - template: vacuum_follow_path
Example video
MANUAL_PATH.mp4