Custom Component: Dreame Vacuum

You are right, some of the important settings has been added to the Valetudo about three months ago but most of the features that are exclusive to the X40 are still not available for you.

Here are the list of features that you cannot control from the Valetudo and you don’t even know about.

  • Multifloor map with intelligent switching
  • Cleangenius
  • Automated/Manuel second cleaning and second mopping
  • Cleaning history maps with dirtness map
  • Furnitures
  • Detected/Ignored/Added carpets with custom cleaning settings
  • Round carpets (Exclusive to X40 for now)
  • Rotatable restricted zones (Exclusive to X40 for now)
  • Virtual thresholds
  • Ramps (Exclusive to X40 for now)
  • Curtains (Exclusive to X40 for now)
  • Room visibility
  • Floor material
  • Custom wetness level
  • Custom mopping route
  • Cleaning sequence
  • Cleaning and drying progress
  • Auto water refilling and draining
  • Clean carpets first
  • Floor direction cleaning
  • Voice assistant
  • WiFi coverage map
  • 3D map
  • Base station information (Water tank, dust bag, detergent status)
  • AI-driven SideReach (Exclusive to X40 for now)
  • How washing mode and temperature setting (Exclusive to X40 for now)

Its so sad that you have paid that much amount of money to the most advanced vacuum cleaner in the world just to void its warranty and loose control its sophisticated features. Its like buying a Tesla and declouding it just to loose its autopilot feature which you have paid extra.

Ask your Valetudo related questions to its thread, not here.

sure, forgive me sidetracking the topic :+1:

on the main subject - can you answer to my previous question?

Room entities refreshes automatically. I am not sure why do you think they don’t or what are you doing wrong.

I think what are you trying to say is that rooms in the xiaomi vacuum card does not refresh but this is a limitation of the card not the integration.
You need to remove the card and add it again by pressing generate rooms config button every time your map changes. There is nothing I can do about it because I am not one responsible from the card, that is whole another project.

no no, xiaomi vacuum card has nothing to do here [well, there’s a separate issue with x40 and this card, but I’ll post the problem into corresponding github] - I’m talking straight about the entities, that didn’t refreshed and didn’t show the new room [I design my dashboard manually in yaml, so I keep my eye on the entities directly, not on the stuff that cards are finding by themselves].

I’ll be back home tomorrow and will do a full mapping of the second floor [didn’t do that yet] and will check if along with the new map “something” will unblock and refresh all entities correctly. we’ll see if it’s unrelated network/synchronisation hiccup, Dreame firmware issue or something else then.

that is why I was curious if I should do any manual refresh. anyway, I’ll write a followup after the next mapping.

Hello,

Using the integration with my Dreame L20 Ultra.
How can I start cleaning \ return to base the robot using an automation? In the “action” I can’t find an attribute that is “start” / “stop” the robot.

Thanks.

@gmanor77
jeremy-clarkson-the-grand-tour

@tasshack - as promised, with a little delay, here’s my follow up to the mapping & room refresh :slight_smile:

refreshing works fine :+1:
must have been some glitch in the matrix, or other hiccup. after I did a full mapping of the second floor, everything looks refreshed, and missing room from the first floor appeared on the entity list along with the new rooms from the “new” floor :slight_smile:

I’ve noticed two things, I need to ask you more tho, just to be sure if it’s “by design” or it could be changed:

  1. when I first connected my new vacuum, it was named in the dreame app - “new rosie” [after the famous robot-maid/housekeeper Rosie from the Jetsons ;)] so the entities used the “new rosie” as prefix for entities. after testing and removing my old vacuum, I’ve changed name in the app to “rosie jetson”, and also renamed the entites to match new name. then - when mapping of the second floor was ended and new entities appeared, they are still using old name [meaning: “new rosie”], so it looks like integration/HA is keeping the first name it read when it was configured. was it planned, or I missed something? [cleared caches, did some restarts etc. - standard stuff, but nothing changed]. not a big problem for me to change the names by hand, I’m just curious if it is by the design of integration.
  2. second thing - rooms from the second floor - is there any way to distinguish their entities from the rooms based on first floor? let me explain what I mean:
    my ground floor [“map 1”] has 4 rooms. their entities are built with the key: domain.vacuum-name_room-number_[attribute] like: select.rosie_jetson_room_1_cleaning_route etc.
    when I change map to another floor [“map 2”], which has 5 rooms, of course their entities are named with the same key, but room numbering starts from 1 again, so it’s kinda “overwriting” the entities from “map 1”.
    is it also by design? or the rooms’ numbering should start from 5? [= number of “map 1” rooms +1] and something is messed up on my side? [if so - what can I provide to you to be able to help diagnose that?]

@gmanor77 did you check the HA vacuum integration? all the basic actions are there: Vacuum - Home Assistant

This is correct, renaming the device from HA only happens at the recorder level and there are no way to integration to inform about the change. Only way to fix this is removing the device and adding it again with the name of your liking at the last step.

Room entities are shared across maps to limit the number of generated entities from the integration. In a 4 level house with 5 rooms in each floor means generating about 100 more entities.

Hey there,

sorry if this is unrelated, but I struggle to add my Dreame L10s Pro Ultra Heat to the latest version of the (Xiao)Mi Home App… It won’t discover it automatically (when after holding home and spot cleaning buttons), I can’t manually add it… Even factory resetting didn’t help… Removing it from the Dreamehome app also didn’t help… It never finds it…


Auto discovery doesn’t work…


I then try adding it manually by selecting “Dreame L10s Ultra” from the list and did this step (heard the voice prompt)


Scanning but never finding, so I click “Try to connect manually” which brings me here:


I connect to the robot’s Wi-Fi, it also confirms via voice prompt but after going back to the app it tries to connect but times out…

I could add it to the Dreamehome App, no problem. But I want to use the local only version of the integration, so I do need the Mi Token, which requires me to add the vacuum to the Mi Home app, if I got that correctly.

Did anybody else experience issues adding it to the Mi Home App, or is there a trick to do it?

Thanks for the help already!

I would love some examples as well. I have tried to find some, but I, too, had the same issue, and the ones I did find don’t work. Perhaps it is because I am using the Dream app and auth into HA, etc.

I must say that the Dream app does have a neat feature called shortcuts (not to be confused with the many other apps/OSes using the same name). It allows you to save exactly the rooms you want to clean and what type (Vacuum or Vacuum mop, and what speed, etc.). It’s not bad.

Though I am aware this app means I have to be connected to the internet at all times, we had an internet outage the other night (early morning), and I can see that it wasn’t reporting data back to HA :frowning:

thanks for clarification! I ended up with changeing the name also in the database and HomeAssistant’s registry, so in case of any new entities - they will be populated with actual name. didn’t wanted to remove the device as it leaves some trash in the registry anyway.

understood. I thought so, unfortunately.
so let me ask this - is there any way to translate room names? I’ve checked the translation files of your integration wanting to contribute, but seems like those names are not available for translation [and Polish translation is ready anyway, so no contribution from me right now ;(].
first I bypassed that by giving my customized friendly names for different room entities, but as you probably guessed now - it works only for one floor :wink: the room I’ve named “Kuchnia” [which is PL for: Kitchen] when changing maps to second floor, is now an office, so my dashboard displayed names make no sense :wink:

do you thing there is a way do somehow improve that on the integration side? [the select entities showing room names also still show English names, which I guess is a part of this case]. on the dashboard/my side right now the only way I think is to make more templates and maybe that would “fix” the situation, but if there’s a hope to do it more elegant - on the integration side that would be cool.

Easy linking with dreamehome would be great :pray: I read somewhere that there was a beta for dreamehome linking - is that still going on?

figured it out, great work <3

You are expecting too much from something you have found on the internet for free.
Please enjoy the work, don’t ask any more questions and don’t ask for any changes.

dude, you’ve got to chill. first time I thought it was a reaction for specific subject, but now I see this is deeper.

this forum is made for asking questions - which I did politely, didn’t tried to force anything, just were curious, especially that it was about translating some options (as the rest was already translated).

don’t know where your frustration is coming from, but if you don’t want legitimate questions, maybe don’t post your work on public forums. just sayin…

good job on the integration, I’m sure everyone here is happy you’re doing it for the community, but remember to take a breather from time to time, to calm your nerves.

1 Like

I don’t have to explain to you why the integration works this way and you are the only one keep asking unnecessary questions and wasting my time.

use that time to get a rest and chill.
you obviously didn’t read my last comment.

but if you did and if you don’t know how to get those strings to translation (which I doubt, seeing the other work you’ve done) just say it and move along. the only unnecessary thing I see is your hostile attitude.

Please go away somewhere else and tell anyone else what to do.

1 Like