Skip to content

Vacuum Services ​

The integration exposes various custom services for advanced actions and features that are not directly controllable via standard entities. These custom services utilize the vacuum domain and provide granular control over device-specific functionalities.

Clean Room ​

dreame_vacuum.vacuum_clean_segment

Start selected room cleaning with optional customized cleaning parameters.

NOTE

  • If you are using integration with map feature, you can acquire segment ids from vacuum entity attributes.
  • Cleaning parameters and cleaning sequence are ignored by the device when customized_cleaning or cleaning_sequence is enabled.

Setting the Cleaning Mode

This service does not accept a cleaning_mode parameter. To set the mode dynamically before starting a clean, see the FAQ.

Examples
  • Clean room 3

    yaml
    service: dreame_vacuum.vacuum_clean_segment
    data:
      segments: 3
    target:
      entity_id: vacuum.vacuum
  • Clean room 3 and 5

    yaml
    service: dreame_vacuum.vacuum_clean_segment
    data:
      segments:
        - 3
        - 5
    target:
      entity_id: vacuum.vacuum
  • Clean room 3 and 5 two times

    yaml
    service: dreame_vacuum.vacuum_clean_segment
    data:
      segments:
        - 3
        - 5
      repeats: 2
    target:
      entity_id: vacuum.vacuum
  • Clean room 2 two times and 5 one time

    yaml
    service: dreame_vacuum.vacuum_clean_segment
    data:
      segments:
        - 3
        - 5
      repeats: 
        - 2
        - 1
    target:
      entity_id: vacuum.vacuum
  • Clean room 3 and 5 with high fan speed

    yaml
    service: dreame_vacuum.vacuum_clean_segment
    data:
      segments:
        - 3
        - 5
      suction_level: "high"
    target:
      entity_id: vacuum.vacuum
  • Clean room 3 with high fan speed and 5 with quiet fan speed

    yaml
    service: dreame_vacuum.vacuum_clean_segment
    data:
      segments:
        - 3
        - 5
      suction_level: 
        - "high"
        - "quiet"
    target:
      entity_id: vacuum.vacuum

Clean Zone ​

dreame_vacuum.vacuum_clean_zone

Start selected zone cleaning with optional customized cleaning parameters.

TIP

You can acquire zone coordinates with Xiaomi Vacuum Map Card.

Setting the Cleaning Mode: This service does not accept a cleaning_mode parameter. To set the mode dynamically before starting a clean, see the FAQ.

Examples
  • Clean selected zone

    yaml
    service: dreame_vacuum.vacuum_clean_zone
    data:
      zone: 
        - 819
        - -263
        - 4424
        - 2105
    target:
      entity_id: vacuum.vacuum
  • Clean multiple zones

    yaml
    service: dreame_vacuum.vacuum_clean_zone
    data:
      zone: 
        - - 819
          - -263
          - 4424
          - 2105
        - - 2001
          - -3050
          - 542
          - 515
    target:
      entity_id: vacuum.vacuum
  • Clean selected zone two times

    yaml
    service: dreame_vacuum.vacuum_clean_zone
    data:
      zone: 
        - 819
        - -263
        - 4424
        - 2105
      repeats: 2
    target:
      entity_id: vacuum.vacuum
  • Clean first zone two times second zone three times

    yaml
    service: dreame_vacuum.vacuum_clean_zone
    data:
      zone: 
        - - 819
          - -263
          - 4424
          - 2105
        - - 2001
          - -3050
          - 542
          - 515
      repeats: 
        - 2
        - 3
    target:
      entity_id: vacuum.vacuum

Clean Spot ​

dreame_vacuum.vacuum_clean_spot

Start selected spot cleaning with optional customized cleaning parameters.

NOTE

Spot cleaning feature is only available for Xiaomi/Mijia branded robots but it works with the Dreame devices too.

TIP

You can acquire point coordinates with Xiaomi Vacuum Map Card.

Setting the Cleaning Mode: This service does not accept a cleaning_mode parameter. To set the mode dynamically before starting a clean, see the FAQ.

Examples
  • Clean selected spot

    yaml
    service: dreame_vacuum.vacuum_clean_spot
    data:
      points: 
        - 819
        - -263
    target:
      entity_id: vacuum.vacuum
  • Clean multiple spots

    yaml
    service: dreame_vacuum.vacuum_clean_spot
    data:
      points: 
        - - 819
          - -263
        - - 2001
          - -3050
    target:
      entity_id: vacuum.vacuum
  • Clean selected spot two times

    yaml
    service: dreame_vacuum.vacuum_clean_spot
    data:
      points: 
        - 819
        - -263
      repeats: 2
    target:
      entity_id: vacuum.vacuum
  • Clean first spot two times second spot three times

    yaml
    service: dreame_vacuum.vacuum_clean_spot
    data:
      points: 
        - - 819
          - -263
        - - 2001
          - -3050
      repeats: 
        - 2
        - 3
    target:
      entity_id: vacuum.vacuum

Go To Point ​

dreame_vacuum.vacuum_goto

Send the robot to a single coordinate on the map and stop it there.

NOTE

  • On devices with the cruising feature (vacuums with lidar navigation and camera streaming) this starts a cruise to point job and the robot takes photos around the target point when it arrives. The job is stored in the cruising history. (More about cruising history maps)
  • On other devices the same behavior is emulated with a small zone cleaning job around the given point. Suction level is set to quiet and mopping is disabled for that job, and the robot is stopped and previous cleaning settings are restored by the integration as soon as it reaches the point.
  • Battery level must be at least 15% and the coordinate must be inside the current map.
  • Device does not responds to this action when the robot is already standing on the selected coordinate, the station is draining or the station is self repairing/testing.

TIP

You can acquire point coordinates with Xiaomi Vacuum Map Card.

Example
  • Go to at [819, -2235] and stop
    yaml
    service: dreame_vacuum.vacuum_goto
    data:
      x: 819
      y: -2235
    target:
      entity_id: vacuum.vacuum

Follow Path Experimental ​

dreame_vacuum.vacuum_follow_path

Start a cruising path job that visits the given coordinates one by one and returns to the dock.

WARNING

The device is restricted to perform follow path tasks only while live camera streaming is active. Unlike Go To Point, this service is tied to the camera and you must open the camera from the official App before calling it. Otherwise the robot completely ignores the request and does nothing at all.

NOTE

  • This service is only available on devices with the cruising feature (vacuums with lidar navigation and camera streaming).
  • Only the first 20 points are sent to the device and every coordinate must be inside the current map.
  • When points is omitted, saved cruise points of the current map are used instead. At least one valid or saved coordinate is required for starting the job.
  • Battery level must be at least 15% and device does not responds to this action while the station is draining or self repairing/testing.
  • You can acquire point coordinates with Xiaomi Vacuum Map Card.
Examples
  • Follow a path of three points

    yaml
    service: dreame_vacuum.vacuum_follow_path
    data:
      points:
        - - 819
          - -263
        - - 2001
          - -3050
        - - 542
          - 515
    target:
      entity_id: vacuum.vacuum
  • Follow the saved cruise points of the current map

    yaml
    service: dreame_vacuum.vacuum_follow_path
    target:
      entity_id: vacuum.vacuum

Start Shortcut ​

dreame_vacuum.vacuum_start_shortcut

Start a shortcut task that is created on the official App.

NOTE

  • Shortcuts are only available on supported devices and you can acquire shortcut ids from the shortcuts attribute of the vacuum entity.
  • Valid shortcut ids are between 25 and 128.
  • Integration also creates a button entity for every shortcut of the device as button.{vacuum_name}_shortcut_{shortcut_id} therefore using this service is usually not necessary.
  • Device does not responds to this action while the station is draining or self repairing/testing.
Example
  • Start shortcut with id 32
    yaml
    service: dreame_vacuum.vacuum_start_shortcut
    data:
      shortcut_id: 32
    target:
      entity_id: vacuum.vacuum

Rename Shortcut ​

dreame_vacuum.vacuum_rename_shortcut

Set custom name for a shortcut.

NOTE

  • You can acquire shortcut ids from the shortcuts attribute of the vacuum entity.
  • Shortcut names must be unique. When the new name is already used by another shortcut, a counter is appended to it as the official App does. (For example: Mopping after sweeping becomes Mopping after sweeping2)
  • Name of the generated shortcut button entity follows the shortcut name.
  • Shortcuts cannot be renamed while the robot is running.
Example
  • Rename shortcut with id 32 to "Mopping after sweeping"
    yaml
    service: dreame_vacuum.vacuum_rename_shortcut
    data:
      shortcut_id: 32
      shortcut_name: "Mopping after sweeping"
    target:
      entity_id: vacuum.vacuum

Delete Shortcut ​

dreame_vacuum.vacuum_delete_shortcut

Delete a shortcut.

NOTE

  • You can acquire shortcut ids from the shortcuts attribute of the vacuum entity.
  • Button entity of the deleted shortcut is removed automatically.
  • A shortcut cannot be deleted while its own task is running.
  • Deleted shortcuts cannot be restored and can only be recreated from the official App.
Example
  • Delete shortcut with id 34
    yaml
    service: dreame_vacuum.vacuum_delete_shortcut
    data:
      shortcut_id: 34
    target:
      entity_id: vacuum.vacuum

Install Voice Pack ​

dreame_vacuum.vacuum_install_voice_pack

Install an official voice pack.

Set Cleaning Sequence Map Support ​

dreame_vacuum.vacuum_set_cleaning_sequence

Set room cleaning sequence on current map.

NOTE

Exact number of room ids must be passed as sequence list

Example
  • Set room cleaning sequence on current map to 3, 5, 4, 2, 1

    yaml
    service: dreame_vacuum.vacuum_set_cleaning_sequence
    data:
        cleaning_sequence: 
          - 3
          - 5
          - 4
          - 2
          - 1
    target:
        entity_id: vacuum.vacuum
  • Disable custom cleaning sequence on current map

    yaml
    service: dreame_vacuum.vacuum_set_cleaning_sequence
    data:
        cleaning_sequence: []
    target:
        entity_id: vacuum.vacuum

Set Custom Cleaning Map Support ​

dreame_vacuum.vacuum_set_custom_cleaning

Set customized room cleaning parameters on current map.

NOTE

Settings for all rooms must be passed as list

Examples
  • Set room 1 fan speed to quiet, water level to low, cleaning times to 2 and room 5 fan speed to turbo, water level to medium, repeats to 1

    yaml
    service: dreame_vacuum.vacuum_set_custom_cleaning
    data:
        segment_id: 
          - 1
          - 5
        suction_level: 
          - 0
          - 3
        water_volume: 
          - 1
          - 2
        repeats: 
          - 2
          - 1
    target:
        entity_id: vacuum.vacuum
  • Set room 3 wetness level to 16

    yaml
    service: dreame_vacuum.vacuum_set_custom_cleaning
    data:
        segment_id: 
          - 3
        wetness_level: 
          - 16
    target:
        entity_id: vacuum.vacuum

Reset Consumable ​

dreame_vacuum.vacuum_reset_consumable

Reset a consumable life by type.

Possible values for consumable
  • main_brush
  • side_brush
  • filter
  • tank_filter
  • sensor
  • mop_pad
  • silver_ion
  • detergent
  • squeege
  • dirty_water_channel
  • onboard_dirty_water_tank
  • deodorizer
  • wheel
  • scale_inhibitor
  • fluffing_roller
  • rollermop_filter
  • water_outlet_filter
Examples
  • Reset Main Brush Life

    yaml
    service: dreame_vacuum.vacuum_reset_consumable
    data:
        consumable: "main_brush"
    target:
        entity_id: vacuum.vacuum
  • Reset Mop Pad Life

    yaml
    service: dreame_vacuum.vacuum_reset_consumable
    data:
        consumable: "mop_pad"
    target:
        entity_id: vacuum.vacuum

Remote Control Not Recommended ​

dreame_vacuum.vacuum_remote_control_move_step

Send remote control command to vacuum.

Send Command Not Recommended ​

vacuum.send_command

Send command service can be used to send raw api requests that are not available with this integration.

Experimental Use Only

It is not recommended for end users to use this service directly. If there is an action that requires using this service because it is not yet implemented in the integration, please open a feature request instead.

Examples
  • Start auto emptying

    yaml
    service: vacuum.send_command
    data:
        entity_id: vacuum.vacuum
        command: action
        params: 
            did: "15.1"
            siid: 15
            aiid: 1
            in: []
  • Enable tight mopping pattern and disable carpet boost

    yaml
    service: vacuum.send_command
    data:
        entity_id: vacuum.vacuum
        command: set_properties
        params: 
          - did: "4.29"
            siid: 4
            piid: 29
            value: 1
          - did: "4.12"
            siid: 4
            piid: 12
            value: 0