https://github.com/Tasshack/dreame-vacuum
Home Assistant integration for Dreame robot vacuums with map support
https://github.com/Tasshack/dreame-vacuum
app automation cloud dreame dreamehome dreametech hacs home-assistant homeassistant integration map mi-home miio robot vacuum vacuum-map xiaomi
Last synced: 10 days ago
JSON representation
Home Assistant integration for Dreame robot vacuums with map support
- Host: GitHub
- URL: https://github.com/Tasshack/dreame-vacuum
- Owner: Tasshack
- License: mit
- Created: 2022-10-02T12:59:19.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-03-09T03:47:01.000Z (about 2 months ago)
- Last Synced: 2025-04-13T13:56:49.111Z (11 days ago)
- Topics: app, automation, cloud, dreame, dreamehome, dreametech, hacs, home-assistant, homeassistant, integration, map, mi-home, miio, robot, vacuum, vacuum-map, xiaomi
- Language: Python
- Homepage: https://community.home-assistant.io/t/custom-component-dreame-vacuum
- Size: 51.7 MB
- Stars: 1,151
- Watchers: 37
- Forks: 160
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
[](https://github.com/Tasshack/dreame-vacuum/releases/latest)

[](https://github.com/hacs/integration)
[](https://community.home-assistant.io/t/custom-component-dreame-vacuum/473026)
[](https://www.ko-fi.com/Tasshack)
[](https://paypal.me/Tasshackk)
# Dreame vacuum integration for Home Assistant
Complete app replacement with Home Assistant for Dreame robot vacuums.
## Features
- [Auto generated device entities](https://github.com/Tasshack/dreame-vacuum/blob/master/docs/entities.md)
- [Live and multi floor map support](https://github.com/Tasshack/dreame-vacuum/blob/master/docs/map.md)
- [Customized room cleaning entities](https://github.com/Tasshack/dreame-vacuum/blob/master/docs/room_entities.md)
- [Services for device and map with examples](https://github.com/Tasshack/dreame-vacuum/blob/master/docs/services.md)
- [Persistent notifications and error reporting](https://github.com/Tasshack/dreame-vacuum/blob/master/docs/notifications.md)
- [Events for automations](https://github.com/Tasshack/dreame-vacuum/blob/master/docs/events.md)
- [Valetudo map card support](#with-valetudo-map-card)## Supported Devices
- **Dreame**
- `dreame.vacuum.p2008` *(F9)*
- `dreame.vacuum.p2009` *(D9)*
- `dreame.vacuum.p2259` *(D9 Max)*
- `dreame.vacuum.p2187` *(D9 Pro)*
- `dreame.vacuum.r2205` *(D10 Plus)*
- `dreame.vacuum.p2029` *(L10 Pro)*
- `dreame.vacuum.p2028a` *(L10 Plus)*
- `dreame.vacuum.r2228o` *(L10s Ultra)*
- `dreame.vacuum.r2215o` *(L10s Pro)*
- `dreame.vacuum.r2216o` *(L10s Pro)*
- `dreame.vacuum.p2028` *(Z10 Pro)*
- `dreame.vacuum.p2027` *(W10)*
- `dreame.vacuum.r2104` *(W10 Pro)*
- `dreame.vacuum.r2251o` *(W10s)*
- `dreame.vacuum.r2232a` *(W10s Pro)*
- `dreame.vacuum.r2228` *(S10)*
- `dreame.vacuum.r2211o` *(S10+)*
- `dreame.vacuum.r2233` *(S10 Pro)*
- `dreame.vacuum.r2247` *(S10 Pro Plus)*
- `dreame.vacuum.r2246` *(S10 Plus)*
- `dreame.vacuum.r2215` *(X10)*
- `dreame.vacuum.r2235` *(X10 Ultra)*
- **Mijia**
- `dreame.vacuum.p2036` *(Trouver LDS Finder)*
- `dreame.vacuum.p2150o` *(Vacuum-Mop)*
- `dreame.vacuum.p2150a` *(Vacuum-Mop 2 Ultra)*
- `dreame.vacuum.p2150b` *(Vacuum-Mop 2 Ultra Set)*
- `dreame.vacuum.p2114o` *(Self-Cleaning Robot Vacuum-Mop)*
- `dreame.vacuum.p2149o` *(Self-Cleaning Robot Vacuum-Mop Pro)*
- `dreame.vacuum.r2254` *(1S)*
- `dreame.vacuum.r2209` *(X10)*
- `dreame.vacuum.p2114a` *(X10+)*
- `dreame.vacuum.p2041` *(1T)*
- `dreame.vacuum.p2140a` *(2C)*
- `dreame.vacuum.p2140` *(2C)*
- `dreame.vacuum.p2140q` *(Mi Robot Vacuum-Mop 2)*
- `dreame.vacuum.p2140p` *(Mi Robot Vacuum-Mop 2)*
- `dreame.vacuum.p2140o` *(Mi Robot Vacuum-Mop 2)*
- `dreame.vacuum.p2148o` *(Mi Robot Vacuum Mop Ultra Slim)*
- `dreame.vacuum.p2041o` *(Mi Robot Vacuum-Mop 2 Pro+)*
- **MOVA**
- `dreame.vacuum.p2157` *(L600)*
- `dreame.vacuum.p2156o` *(MOVA Z500)*## Installation
### Manually
```sh
wget -O - https://raw.githubusercontent.com/Tasshack/dreame-vacuum/master/install | bash -
```### Via [HACS](https://hacs.xyz/)
## Configuration
![]()
- Select configuration type:
- Enter required credentials according to the selected configuration type.
> Please make sure that the devices are at same subnet for both configuration types. python-miio article about this issue.
- Set your device name and integration settings:
About notifications feature
About map color schemes
- Navigate to device page for disabling or enabling entities that you want to use.About entities
## How to UseIntegration is compatible with all available Lovelace vacuum cards but if you want to use zone cleaning feature you can prefer the Xiaomi Vacuum Card.
#### With [Xiaomi Vacuum Map Card](https://github.com/PiotrMachowski/lovelace-xiaomi-vacuum-map-card)
```yaml
type: custom:xiaomi-vacuum-map-card
entity: # Your vacuum entity
map_source:
camera: # Map Entity
calibration_source:
camera: true
vacuum_platform: Tasshack/dreame-vacuum
```> Open card editor, click "Generate rooms config" button, check (adjust if needed) your config using yaml editor and save changes.
#### With [Vacuum Card](https://github.com/denysdovhan/vacuum-card)
```yaml
type: custom:vacuum-card
entity: # Your vacuum entity
map: # Map Entity
map_refresh: 1
stats:
default:
- attribute: filter_left
unit: '%'
subtitle: Filter
- attribute: side_brush_left
unit: '%'
subtitle: Side brush
- attribute: main_brush_left
unit: '%'
subtitle: Main brush
- attribute: sensor_dirty_left
unit: '%'
subtitle: Sensors
cleaning:
- attribute: cleaned_area
unit: m²
subtitle: Cleaned area
- attribute: cleaning_time
unit: min
subtitle: Cleaning time
shortcuts:
- name: Clean Room 1
service: dreame_vacuum.vacuum_clean_segment
service_data:
entity_id: # Your vacuum entity
segments: 1
icon: mdi:sofa
- name: Clean Room 2
service: dreame_vacuum.vacuum_clean_segment
service_data:
entity_id: # Your vacuum entity
segments: 2
icon: mdi:bed-empty
- name: Clean Room 3
service: dreame_vacuum.vacuum_clean_segment
service_data:
entity_id: # Your vacuum entity
segments: 3
icon: mdi:silverware-fork-knife
```#### With Valetudo Map Card
> Enable **Map Data** camera entity.```yaml
type: custom:valetudo-map-card
vacuum: # Your vacuum name not the entity id
rotate: 0 # Map rotation entity does not work on valetudo map card
dock_icon: mdi:lightning-bolt-circle
dock_color: rgb(105 178 141)
vacuum_color: rgb(110, 110, 110)
wall_color: rgb(159, 159, 159)
floor_color: rgb(221, 221, 221)
no_go_area_color: rgb(177, 0, 0)
no_mop_area_color: rgb(170, 47, 255)
virtual_wall_color: rgb(199, 0, 0)
virtual_wall_width: 1.5
currently_cleaned_zone_color: rgb(221, 221, 221)
path_color: rgb(255, 255, 255)
path_width: 1.5
segment_opacity: 1
segment_colors:
- rgb(171, 199, 248)
- rgb(249, 224, 125)
- rgb(184, 227, 255)
- rgb(184, 217, 141)
```#### With Xiaomi Vacuum Card and Picture Entity Card
```yaml
type: picture-entity
entity: # Your vacuum entity
camera_image: # Your camera entity
show_state: false
show_name: false
camera_view: live
tap_action:
action: none
hold_action:
action: none
``````yaml
type: custom:xiaomi-vacuum-card
entity: # Your vacuum entity
vendor: xiaomi
attributes:
main_brush_life:
label: 'Main Brush: '
key: main_brush_left
unit: '%'
icon: mdi:car-turbocharger
side_brush_life:
label: 'Side Brush: '
key: side_brush_left
unit: '%'
icon: mdi:pinwheel-outline
filter_life:
label: 'Filter: '
key: filter_left
unit: '%'
icon: mdi:air-filter
sensor_life:
label: 'Sensor: '
key: sensor_dirty_left
unit: '%'
icon: mdi:radar
main_brush: false
side_brush: false
filter: false
sensor: false```
#### With Dreame Vacuum Card
*Coming Soon*
## To Do
- Cleaning history map support
- Map recovery support
- Schedule editing
- AI Obstacle image support
- Custom lovelace card for map editing## Contributing
Integrations is currently only available on English language and if want you use it on our language it would be very helpful to you to translate files on *translations* folder and share with us.To submit your changes please fork this repository and open a pull request.
## Thanks To
- [xiaomi_vacuum](https://github.com/pooyashahidi/xiaomi_vacuum) by [@pooyashahidi](https://github.com/pooyashahidi)
- [Xiaomi MIoT for Home Assistant](https://github.com/ha0y/xiaomi_miot_raw) by [@ha0y](https://github.com/ha0y)
- [Xiaomi Cloud Map Extractor](https://github.com/PiotrMachowski/Home-Assistant-custom-components-Xiaomi-Cloud-Map-Extractor) by [@PiotrMachowski](https://github.com/PiotrMachowski)
- [Valetudo](https://github.com/Hypfer/Valetudo) by [@Hypfer](https://github.com/Hypfer)