Skip to content

Map Services ​

Merging roomsMerging roomsMerging rooms
Splitting roomsSplitting roomsSplitting rooms

Map editing services also uses the vacuum domain because all services are available even without cloud connection.

Request Map ​

dreame_vacuum.vacuum_request_map

Request device to upload a new map to the cloud. (This service is useful when cloud connection is not used and another integration used for handing the map rendering)

IMPORTANT

Device does not responds to this action when:

  • Spot cleaning
  • Fast mapping
  • Relocating
  • After a map edit until it moves

Select Map ​

dreame_vacuum.vacuum_select_map

Change currently selected map. (Only possible of multi-floor map is enabled)

NOTE

  • You can acquire map id from saved map camera entity attributes.
  • Robot will end active job when selected map is changed.
Example
  • Set current map as map with id 27
    yaml
    service: dreame_vacuum.vacuum_select_map
    data:
        map_id: 27
    target:
        entity_id: vacuum.vacuum

Delete Map ​

dreame_vacuum.vacuum_delete_map

Delete a map.

NOTE

Example
  • Set delete map with id 48
    yaml
    service: dreame_vacuum.vacuum_delete_map
    data:
        map_id: 48
    target:
        entity_id: vacuum.vacuum

Rename Map ​

dreame_vacuum.vacuum_rename_map

Rename a map.

NOTE

  • You can acquire map id from saved map camera entity attributes.
  • Official App does not allow you to enter special characters in map name but this integration does so use this service carefully.
Example
  • Rename map with id 14 to "Second Floor"
    yaml
    service: dreame_vacuum.vacuum_rename_map
    data:
        map_id: 14
        map_name: "Second Floor"
    target:
        entity_id: vacuum.vacuum

Restore Map Map Support ​

dreame_vacuum.vacuum_restore_map

Restore a map from previous state that are created and uploaded by the device.

NOTE

  • It is not guaranteed that map recovery will be successful. Cloud does not store the files forever and recovery files usually be deleted from the cloud after 365 days from the last access.
Examples
  • Restore selected map to second saved recovery map in the recovery map list

    yaml
    service: dreame_vacuum.vacuum_restore_map
    data:
        recovery_map_index: 2
    target:
        entity_id: vacuum.vacuum
  • Restore saved map with id 14 to original state

    yaml
    service: dreame_vacuum.vacuum_restore_map
    data:
        map_id: 14
        recovery_map_index: 1
    target:
        entity_id: vacuum.vacuum

Restore Map from File ​

dreame_vacuum.vacuum_restore_map_from_file

Restore a map from previously saved recovery map file.

NOTE

  • This service can be used for offline recovery if you download and place the recovery map file to the /www/ folder of Home Assistant (Vacuum and server must be at the same network).
  • Map Id is required if cloud connection is not enabled.
Examples
  • Restore selected map from saved recovery map file

    yaml
    service: dreame_vacuum.vacuum_restore_map_from_file
    data:
        file_url: http://192.168.1.10/local/2023-11-04-1724223415-423528451_284320462.1156.mb.tbz2
    target:
        entity_id: vacuum.vacuum
  • Restore saved map with id 14 saved recovery map file

    yaml
    service: dreame_vacuum.vacuum_restore_map_from_file
    data:
        map_id: 14
        file_url: https://dreame-cn.oss-cn-shanghai.aliyuncs.com/iot/tmp/000000/ali_dreame/YR649291/648921668/101?Expires=1699189998&OSSAccessKeyId=LTAI5t96WkBXXNzQrX4HtQti&Signature=ttRrjg8p7aC650H3DwI3%2F2ngOOE%3D
    target:
        entity_id: vacuum.vacuum

Backup Map ​

dreame_vacuum.vacuum_backup_map

Trigger upload of a saved map as a recovery map to the cloud.

NOTE

  • Cloud can store only one backup map for every saved map. This service will override the previously backup map if you have one.
  • Vacuums without a camera or a lidar sensor does not have this feature, map backup trigger only works on supported devices.
Examples
  • Trigger backup of selected map

    yaml
    service: dreame_vacuum.vacuum_backup_map
    target:
        entity_id: vacuum.vacuum
  • Trigger backup of map with id 15

    yaml
    service: dreame_vacuum.vacuum_backup_map
    data:
        map_id: 15
    target:
        entity_id: vacuum.vacuum

Save Temporary Map ​

dreame_vacuum.vacuum_save_temporary_map

Save newly created map. (Device ask you to do when first map is created after factory reset)

Discard Temporary Map ​

dreame_vacuum.vacuum_discard_temporary_map

Discard newly created map.

Replace Temporary Map ​

dreame_vacuum.vacuum_replace_temporary_map

Replace new map with an old one.

NOTE

  • You can acquire map id from saved map camera entity attributes.
  • When multi-floor map feature is enabled map indexes may change after replacing the map. Replaced new map will always be at last available index event replaced with a lower indexed map. (More about multi-floor map support)
Example
  • Replace new map with map with id 39
    yaml
    service: dreame_vacuum.vacuum_replace_temporary_map
    data:
        map_id: 39
    target:
        entity_id: vacuum.vacuum

Rename Room ​

dreame_vacuum.vacuum_rename_segment

Set custom name for a room in current map.

NOTE

  • You can acquire map and segment ids from saved map camera entity attributes.
  • Official App does not allow you to enter special characters in room name but this integration does so use this service carefully.
Example
  • Rename room 3 to "Dining Room"
    yaml
    service: dreame_vacuum.vacuum_rename_segment
    data:
        segment_id: 3
        segment_name: "Dining Room"
    target:
        entity_id: vacuum.vacuum

Set Obstacle Ignore Map Support ​

dreame_vacuum.vacuum_set_obstacle_ignore

Set ignore status of a detected obstacle on the current map so the robot does not avoid it on the following jobs.

NOTE

  • This service is only available on vacuums with AI obstacle detection feature and requires a cloud connection.
  • You can acquire obstacle coordinates and their current ignore status from the obstacles attribute of the current map camera entity. (More about obstacles)
  • Coordinates must match to an existing obstacle on the current map exactly, otherwise the action is rejected.
  • Obstacles that are automatically ignored by the device cannot be changed with this service.
  • Obstacle ignore status cannot be changed while the robot is running.
Examples
  • Ignore the obstacle at [819, -263]

    yaml
    service: dreame_vacuum.vacuum_set_obstacle_ignore
    data:
        x: 819
        y: -263
        obstacle_ignored: true
    target:
        entity_id: vacuum.vacuum
  • Stop ignoring the obstacle at [819, -263]

    yaml
    service: dreame_vacuum.vacuum_set_obstacle_ignore
    data:
        x: 819
        y: -263
        obstacle_ignored: false
    target:
        entity_id: vacuum.vacuum

Other Services Map Support ​

Additional map management services are exposed by the integration. Several of these parameters (such as floor material, room visibility, and mop type) are already exposed and can be configured directly through Room Entities, making the direct use of these services unnecessary.

Not intended for End Users

These services are strictly exposed for the use of the Dreame Vacuum Card. They do not have parameters that are easily accessible by end-users. If invalid parameters are sent, they may be passed directly to the device, which can result in severe issues such as corrupted maps or the device entering a boot loop. Therefore, these services must not be used unless the exact functionality and parameter structure are fully understood. For safety reasons, these services are explicitly excluded from services.yaml and do not include translation strings.

  • Set Carpet Area: dreame_vacuum.vacuum_set_carpet_area
  • Set Carpet Type: dreame_vacuum.vacuum_set_carpet_type
  • Set Curtain: dreame_vacuum.vacuum_set_curtain
  • Set Custom Carpet Cleaning: dreame_vacuum.vacuum_set_custom_carpet_cleaning
  • Set Floor Material: dreame_vacuum.vacuum_set_floor_material
  • Set Furniture: dreame_vacuum.vacuum_set_furniture
  • Set Hidden Segments: dreame_vacuum.vacuum_set_hidden_segments
  • Set Low-Lying Area: dreame_vacuum.vacuum_set_low_lying_area
  • Set Mop Type: dreame_vacuum.vacuum_set_mop_type
  • Set Predefined Points: dreame_vacuum.vacuum_set_predefined_points
  • Set Restricted Zones: dreame_vacuum.vacuum_set_restricted_zone
  • Set Router Position: dreame_vacuum.vacuum_set_router_position
  • Set Segment Type: dreame_vacuum.vacuum_set_segment_type
  • Set Threshold: dreame_vacuum.vacuum_set_threshold
  • Set Virtual Threshold: dreame_vacuum.vacuum_set_virtual_threshold
  • Set Walls: dreame_vacuum.vacuum_set_walls
  • Merge Rooms: dreame_vacuum.vacuum_merge_segments
  • Split Room: dreame_vacuum.vacuum_split_segments