Support for (Xiaomi) Dream F9 Mop Vacuum

Hello everyone !

I just bought the (Xiaomi) Dream F9 Vaccum, and integrated it in the Mi Home App, but I can’t add it to my Home Assistant.(Unable to discover the device error)
I tried the Xiaomi_miio integration, thinking the API may be the same than the supported vacuums, but impossible to get it working.
Have someone successfully integrated this device ?

I’ve the same issue.

Any luck mate? i recently got this vacuum and could not add it into HA. Cheers!

Hi guys!
I found this

leave me comments if it worked for you.
Today I am going to try it and I will comment here.

1 Like

it worked for me.
What gave me the most work was finding the token.
I used the IOS backup option since the rest did not work for me. instructions

Thanks for the feedback @arvivares !!! Following the link you gave,

  1. I installed the custom vacuum plugin
  2. I replaced the by the file shared here,
  3. I added the code in my configuration.yaml, retrieving the token with an old version of Mihome

But no luck. Did I miss something ?

Do you have homeassistant logs?
Did you install vacuum-card? (It is necessary since, because xiaomi_vacuum is only for backend.)

All good, I made a mistake rewriting the token in my configuration.yaml.
Many thanks for the help !!!

Guys is this dreame f9 a clone of the xiaomi mi essential? Any difference?

Also, does it support no-go zones? I really need that feature? I read it still experimental with the xiaomi mi essential

Ok, ordered an Dreame F9…

What component do I need to load as custom to make it work?


You can add my repo to hacs.

All credit goes to the comments above however I added zone support to it.

1 Like

Yeah, using that one, I was discussing it with you on github :wink:

Guys, I am so happy - thank you!

I have now registered here specifically to help other beginners, like me.

  1. How to get Xiaomi Token: Xiaomi-cloud-tokens-extractor

I’m new to Homeassistant so:

  1. Install HACS
    Version 1.9.0 released 9 hours ago
    The manual installation doesn’t work’s for me.

  2. Install xiaomi_vacuum via HACS
    also the manual installation doesn’t work for me.

  3. Install vacuum-card via HACS

  4. find under “/custom_components/xiaomi_vacuum/miio/” and replace it with the file here.

  5. Add following code (see Step 1) to the configfile configuration.yaml:

#Dreame F9 Vaccum Robot
  - platform: xiaomi_vacuum #no need to change this
    host: <IP>
    token: "<Token>"
    name: <Name>
  1. Restart Homeassistant
    Configuration > General > Server Management > Restart

  2. Add the Vaccuum Card
    Home Assistant Overview page, click the three dots at the top right of the screen and select ‘Edit Dashboard’. Then click the blue ‘+ Add Card’ and scroll down to “custom: Vaccum Card”

  3. Be very happy!



Hi @chris6

can we also do zone cleaning. or even better room cleaning? is that possible with your custom for dreame f9 ?

1 Like

Hi everyone,

First of all, thank you very much for your work. I manage to fully add my Drame f9 to HA. However, I tried to use the service vacuum.send_command to tell the robot to go to spot. But it didn’t work for me. Did you guys manage to have it work?

Thank’s for the reply.


I didn’t look into extending the send_command service. I did spend sometime looking to support spot cleaning but the miot spec didn’t suggest it and I haven’t seen the option in the Xiaomi app to sniff the commands.

Potentially we could find a way to simulate with a small zone based around the spot coords.

I have an error in the integration after these steps. Any idea on it? Thanks!
xiaomi_vacuum: Error on device update!

Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/helpers/”, line 407, in _async_add_entity
await entity.async_device_update(warning=False)
File “/usr/src/homeassistant/homeassistant/helpers/”, line 516, in async_device_update
await task
File “/usr/local/lib/python3.8/concurrent/futures/”, line 57, in run
result = self.fn(*self.args, **self.kwargs)
File “/config/custom_components/xiaomi_vacuum/”, line 405, in update
self._current_water_level = state.water_level
AttributeError: ‘DreameStatus’ object has no attribute ‘water_level’

Unfortunatly, it seems that @Hyyd1e 's tips is no longer working : the he gave is out of date, but even if you take all the folder on github, it doesnt work for dreame D9.
GitHub - Concentricc/xiaomi_vacuum (by the way there is another bug on the master repo, ou just have to add a version in manifest.json, but still doesn’t work for D9)

So there is no known way to integrate D9 into HA?

Have you tried my repo for the F9/D9?