[APP][Pro][TEST] Dreame Rooms: clean the rooms you choose, with the suction you choose! NOW with Multi Floor & 9 Languages

Hi all,

I built this for our Dreame L40s Pro Ultra (“Bernard”) because I wanted one simple thing the existing options couldn’t do: send the vacuum to a few chosen rooms, by name, on the right suction, from one card or one tap. Our cat’s litter area needs Turbo; the rest of the house doesn’t.

It talks to Dreame’s cloud through your Dreame Home account, using the protocol from Tasshack’s Home Assistant integration.

One-touch control, no flows needed

The Vacuum rooms widget puts the whole thing on your dashboard. Choose Vacuum or Vacuum & mop, tap the rooms you want (as many as you like), and press the big button: it reads “Vacuum Kitchen” or “Vacuum 3 rooms”, or “Vacuum the whole home” if nothing is selected. Each room is cleaned with its own default settings from the app settings, so the litter area gets Turbo while the lounge stays on Standard, without building a single flow card. The widget shows live status and battery with a little animated robot, and while it’s cleaning the buttons switch to Pause/Resume and Dock. A second widget shows each consumable’s time left with a reset button.

What it does

  • Room cleaning by name. Type “Kitchen, Lounge” on the card and pick the combination. Vacuum, vacuum and mop, or mop, with suction (Quiet to Turbo), water and passes on the same card. One command goes to the vacuum.
  • Your room names. Rename rooms in the app settings (Dreame’s “Corridor” becomes “Hallway”), hide rooms you never clean, and give each room its usual settings, so “each room’s default” does the right thing.
  • No surprises. Vacuum-only keeps the mop pads up. CleanGenius is switched off automatically so your settings are used.
  • Two dashboard widgets. Room buttons with a little animated robot, and consumables with time left and a reset button.
  • Triggers that say what happened. Cleaning finished (with the rooms cleaned), finished in a particular room (once, not every time it passes through), needs attention, clean water low, dirty water full, dust bag full, detergent low, a consumable running low.
  • Extras. Run Dreame app shortcuts, wash or dry the mop pads, turn automatic drying on or off, clean the base station, empty the dust bin, off-peak charging on/off and hours.
  • Several vacuums on one account share one sign-in, so they don’t sign each other out.
  • Gentle status checks. While cleaning, status comes from Dreame’s cloud rather than asking the vacuum directly every few seconds.

Getting started

  1. Add a device and sign in with your Dreame Home e-mail and password. If you normally sign in with Google or Apple, set a password in the Dreame app first (Profile, Settings, Account and Security).
  2. Open the app settings and press Read rooms from map, then rename, hide and set defaults for your rooms.
  3. Add the widget to a dashboard, or build flows with the room cards.

Not included (yet)

  • Live map, zones and camera: use the Dreame app for these.
  • Multi-floor maps: the app uses the vacuum’s current map. I’d like to add this, so if you have a multi-floor home and are happy to test, please say so.

Tested on a Dreame L40s Pro Ultra. Most recent Dreame vacuums use the same commands, so it should work widely, but I’d love reports from other models. If something doesn’t work, please post your model and what happened.

Test version: Dreame Rooms | Homey

This is a community app and isn’t made or supported by Dreame.

Thanks to Tasshack for the Home Assistant integration that made this possible.

Update: Dreame Rooms 0.3.6 is in test

Hi all, a new test version is up with a few fixes. Thanks to everyone who’s been trying it.

What’s new

  • Correct error messages. The fault codes were using an old, wrong table, so some errors showed the wrong message. For example, a missing dust bin showed as “Robot stuck”. Every code now matches Dreame’s own numbering, including the different “stuck” messages (on a threshold, on a carpet, under low furniture and so on). If your flows use the error text from Error occurred, it should now make sense.
  • Room finished works for every clean. Before, the room triggers only fired for cleans started from Homey. Now they also fire when you start a room clean from the Dreame app, or when a Dreame schedule runs it: the app reads which rooms the robot is cleaning from its live map. A whole-home clean counts as every room.
  • Accounts outside Europe. Adding a vacuum used to sign in to Dreame’s European server only, so accounts in the US, Australia, Asia and elsewhere might not have found their vacuum. The app now finds the right server for your account automatically. The “Singapore” region is now labelled “Asia-Pacific, incl. Australia”, as that’s the server Australian accounts use.
  • Widgets stay put. Swiping on the widgets now scrolls your dashboard rather than the widget itself, and the widgets size themselves properly on smaller tablets.
  • Help for new models. If your vacuum reports a state or error code the app doesn’t know yet, it’s written to the app log. If something looks odd on your model, please mention any “Unknown … code” lines when you post.
  • CleanGenius, explained. The room settings page now says that CleanGenius is switched off when Homey starts a clean, so your room settings are used. That was already the case; it just wasn’t said there.

Please test

If you have a vacuum other than the L40s Pro Ultra, I’d especially like to hear:

  1. whether Room finished fires after a room clean started in the Dreame app, and
  2. whether adding the vacuum worked first time if your account isn’t in Europe.

Post your model and what happened, good or bad.

Multi-floor homes: still on the list, and the offer stands. If you have more than one floor and are happy to test, please say so.

Test version: Dreame Rooms | Homey

Dreame Rooms 0.4.0 is in test, and it speaks your language!

So, a confession to start with. Whilst building this app around our own vacuum, Bernard, a couple of messages ended up with his name baked right into them. If you’ve had the widget tell you “Bernard is on his way” when your robot is called something else entirely, that’s why, and I apologise to your vacuum :man_facepalming:t2: That’s fixed now, every message uses whatever name your vacuum has in Homey, and you can rename it there like any other device.

The big one in this update is languages. Dreame Rooms is now in nine of them: English, Dutch, German, French, Spanish, Italian, Swedish, Norwegian and Danish. That covers everything you’ll see, the store page, every Flow card, the device and its settings, adding the vacuum, the room settings page, both widgets, and all of the vacuum’s status & error messages. So if your vacuum gets stuck under the sofa, it’ll now tell you about it in your own language!

There are also two new readings on the vacuum, the area and the time of the last clean. Homey keeps them in Insights, so over a few weeks you can see how much your robot is actually doing, and you can use them in flows too.

Of course, I’m not a native speaker of most of these languages, so if a translation reads a bit oddly or a word isn’t what you’d say at home, please tell me in this thread and I’ll put it right. Would anyone be happy to give their language a once over?

And the usual ask, if you’re running a Dreame other than our L40s Pro Ultra, let me know how you get on, good or bad, with your model.

0.4.0 is in the test channel now: Dreame Rooms | Homey

Multi-floor homes are still on the list, so if you’ve got more than one floor and fancy testing when it’s ready, shout!

Dreame Rooms 0.5.0: multi-floor homes, and I need your help testing it!

A while back a few of you asked about homes with more than one floor, and I said it was on the list. Well, it’s done, or at least done as far as I can take it on my own, because here’s the catch. Bernard, our L40s Pro Ultra, lives on one floor, so I’ve built the whole thing without a second floor to try it on :see_no_evil_monkey:

So what does it do? If your vacuum has more than one saved floor, the app now reads the rooms from every floor, not just the one it’s currently on. In the app settings your rooms are grouped under each floor, the Vacuum rooms widget gets a row of floor buttons so you can pick Upstairs or Downstairs and see just those rooms, and the device shows which floor the vacuum is on right now.

The bit I’m most keen for you to test is cleaning. If you ask for rooms on a different floor, the app tells the vacuum to switch floor first, waits until it has actually loaded that map, and only then sends it off to clean. There’s also a new Switch to floor card, for when you want to clean the whole of a floor from a flow. Ask for rooms on two different floors in one go and it’ll politely tell you to do one floor at a time, as the robot can’t fly up the stairs, yet!

And in case you missed 0.4.0, the app is now in nine languages: English, Dutch, German, French, Spanish, Italian, Swedish, Norwegian & Danish. If anything reads oddly in yours, please tell me and I’ll put it right.

So, is anyone out there with a two (or three) floor home who fancies giving it a go? I’d love to know three things:

  1. Did Read rooms from map find all of your floors, with the right names?
  2. Did a room clean on the other floor switch floor and start properly?
  3. What’s your model?

Good or bad, every report helps. Once a few of you have confirmed it works, my plan is to submit Dreame Rooms for certification, so it shows up properly in the Homey App Store.

0.5.0 is in the test channel now: Dreame Rooms | Homey

Thanks in advance, and happy (multi-level) cleaning!

And a little look at what’s next. If you’re lucky enough to have more than one Dreame, say one upstairs and one downstairs, I’d like the app to treat them as a team. You’d pick the rooms you want cleaned from one card or one widget, and each vacuum would get its own floor’s rooms without you having to think about which robot lives where. It’s early days and nothing’s built yet, so if you’ve got a two-vacuum, two-floor home and fancy helping shape it, please shout!