Custom Component: Dreame Vacuum

have you managed to get it working with the Mova M1? Im looking to buy an ultra-thin robovac, and the M1 seems like a good choice but I do need it to work with HA.

Those TOF laser vacuums are piece of crap with the result of lazy engineering and zero production testing!
I wouldn’t recommend buying the cheap stuff from Dreame but there is the issue that you can follow.

Also newer Second Gen vacuums have exactly the same issue because Dreame decided to ship them with the latest version of the firmware they have developed and without testing anything. As a result those devices are too full of bugs and not performing correctly until Dreame realizes and fixes it.

I flashed it with Valetudo. I don’t need to bother with the Dreame servers anymore :smiley:

You have basically lost the ability control two thirds of the settings/features that your device have. You could have just bought an L10s for much cheaper because you no longer have the advanced features of a X40 by installing Valetudo.
Customized room cleaning, customized carpet cleaning and a bunch of detailed mopping/washing settings are lost to you forever and that is not something that you should proud of and recommend to the others.

1 Like

I have no idea what you’re talking about - literally ALL of those settings are still available to me inside Valetudo.

The only “feature” I’ve lost is the ability to remotely access the bot’s camera (something that I genuinely never cared about using to begin with).

It’s been a HUGE quality of life improvement for me - not only do I have complete local control of the bot without needing Dreame’s cloud servers, but I can also control everything with my desktop. I never need to use an app which is absolutely HUGE for me. I hate having to rely on 28562 apps for every tiny thing.

I’ve just started playing both: with the integration [latest beta, because of the vacuum model] and the vacuum [just upgraded from Xiaomi Mijia MiRobot Gen1 to Dreame x40 Ultra] and I’ve got kinda silly question :wink:

how to refresh room entities?

I mean - I prefer my bathroom door closed, so during quite a few cleanups, vacuum was mapping everything but the bathroom. in the meantime I played a bit with the integration, so it downloaded all the entities for known rooms etc.
then, I made a “total cleanup run”, with bathroom door opened - vacuum correctly identified this as an additional room, even named it correctly - as bathroom; but I can’t get it into the integration. tried resetting HA, host, tried reloading integration, turning it off and on again; I made sure that adding of new entities is checked on in the system settings of the integration - all with no luck. is there any way to achieve the refresh, or I need to uninstall the integration and start from scratch?

seeing how often my new dreame is “calling home”, I am thinking about valetudo [I’ve rooted my last vacuum and it was great, so naturally I’m considering it now] - did you noticed ANY problems after rooting? the camera is not remotely accessed but can be used locally or it is disabled for good?

And you loose multi levels support as well as auto empty kit and ramp management. I would have love to install Valetudo but for those reasons I gave it up.

Was anyone able to create scripts to add on the HA UI to vacuum or vacuum + mop some rooms only? Would love to see an example. All the scripts I do give me these kinds of errors (might be doing it wrong though, it’s my first time with scripts!)

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.