[APP][Pro] MOVA & Dreame Mower

Thank you - I will update the documentation :handshake:

The mower map works fine btw! Quite a handy feature.

Personally the dark green background isnt my favorite colour. But thats nitpicking.

EDIT: I noticed that the obstacles arent showing on the map. But they do show in Dreame App.

same for the base station, it isnt showed on the map

Thanks, glad you find the map useful!

Base station: Done — v1.1.3 adds a house icon at the charger position, always visible on the map.

Obstacles: Also done in v1.1.3 — detected obstacles from the mower’s sensors (OBS data) are now rendered as orange polygons on the live map.

Obstacles in history map: — I have to check this in detail. Right now the History shows only the images if the mower has a camera.

Background colour: Noted for a future update — might add a theme option at some point.

The update should be available shortly on the test channel. Let me know how it looks!

Great app! Just installed and successfully added my Dreame AWD Pro 3500. From a first glance everything seem to be working - will get back with any issues found (if found)!

Thanks!

Question: what does the tag ”robot maintenance” actually contain? My Dreame A3 AWD reports 10%/4,2 hours remaining to maintenance in the Dreame app, but the Homey tag for robot maintenance gives me the number: 25..

Also; the trigger ”mowing completed” seems to fire every time the mower returns home for charging mid-program, not only at the very end of a mowing program.

Thanks for reporting both!

Robot maintenance percentage: Fixed — the consumable max life values are now configurable in the device settings under “Consumable Max Life”. The defaults are 100h (blade), 500h (brush) and 60h (robot maintenance). Your A3 AWD likely uses a different robot maintenance interval — try adjusting it to around 42–50h in the settings until the percentage matches what the Dreame app shows.

Mowing completed trigger: Also fixed — the trigger now detects mid-program charge breaks and suppresses the “mowing completed” event. If auto-resume is enabled and the battery is below the resume threshold when the mower docks, the app knows it’s just a charging break and waits for the actual completion.

Both fixes are included in the next update on the test channel: MOVA & Dreame Mower | Homey

Great, thanks! I will continue testing and let you know if I find anything else! :two_hearts:

After som additional testing it now appears that all ”mowing completed” events are being suppressed; both mid-session and session competed. Could there be something in the implementation that incorrectly suppresses even the final docking event? :thinking:

Thanks for catching that! The issue was a bad default value in the charge-break detection logic. The resume threshold defaulted to 100%, which meant battery < 100% was virtually always true — so every single “Mowing completed” trigger was being suppressed, not just charge breaks.

Fixed in v1.1.5: the default now falls through correctly, and suppression only kicks in when auto-resume is actually configured and the battery is genuinely below the resume threshold.

Magic :smiling_face_with_three_hearts:
Will test some more and let you know what I find.

Hello! Are you planning adding the support for the MOVA cat litter?

Thanks a lot for your effort and work!

Unfortunately still the same result for me; no triggering of mowing completed. I have tried manually ending an active mowing session from the Dreame app, as well as letting a session run to its conclusion - neither case triggers my simple flow with ”when mowing completed” trigger.

Device advanced config is default values/unchanged by me when it comes to the affected values:

Apologies for the continued trouble — the v1.1.5 fix was on the right track but corrected the wrong variable. The real issue: the charge-break detection was comparing battery against bat_resume_pct (100% in your case), which means battery is always below it, so every trigger was suppressed.

v1.1.6 fixes this properly: it now compares against bat_return_pct (your 15% return threshold) + 5% tolerance. So the trigger is only suppressed when the mower genuinely returned due to low battery (~15%), and fires normally for completed sessions, manual stops, or any other case where battery is well above the return threshold.

No need to apologise; last I checked you are providing us a great app free of charge. I am just happy to use the app and provide any feedback I am able. Will test again and let you know. :saluting_face:

The 5% tolerance, does that in theory mean that (with my config) a finished mowing session on say 17% remaining battery would not trigger the “mowing completed” event, or am I misunderstanding the tolerance?

You’re absolutely right — with a return threshold of 15%, anything at 20% or below (15% + 5% tolerance) would be suppressed, even a genuinely completed session. The tolerance exists purely to compensate for the polling interval: battery readings are sampled every ~30 seconds, so the actual battery when the mower decides to return could read 1–3% higher by the time the next poll captures it.

In practice, a mowing session genuinely finishing with exactly 17% battery is unlikely — the mower would have started heading home at 15% before reaching the end. But you’re correct that it’s theoretically possible, and worth being aware of.
If you’d prefer to tighten it, I can reduce the tolerance from 5% to 2% — that would only suppress at 17% or below, giving a bit more headroom for truly completed sessions with a low-but-not-empty battery.

:see_no_evil_monkey: 1.1.16 still didn’t seem to catch/trigger on my manually ended mowing session. (Dreame app: clicked End, followed by Recharge). Dreame app reported ”mowing completed”. Battery was around 70% at the time of docking.

For my understanding; should the completed event in Homey trigger when the session ”ends” (and reports success) in the Dreame app, or when the mower actually reaches the charging base?

Regarding the threshold; make it as small as you are comfortable with. If polling takes place every 30 seconds, I personally feel that 2% would suffice?

The trigger now fires at the moment the mower starts returning (mowing→returning transition) rather than waiting until it physically docks. This is both simpler and more reliable — it’s the exact point where the mowing session ends, and the battery reading at that moment accurately reflects why the mower decided to head home (low battery charge break vs. completed session).

Give v1.1.8 a try and let me know how it goes.

Hi gautel

It’s not planned - no.

Andi

Some testing results:

The mowing completed trigger now fires correctly when a program naturally ends (all selected zones successfully completed).

The trigger also fires when manually ending a session by clicking ”return to dock” in the Dreame app.

However, if you end a session in the Dreame app by just clicking ”End”, the mower transitions to state ”idle” and the Dreame app reports completion while the Homey app misses this/reports nothing. I assume this has to do with entering the ”idle” state rather than ”returning” when ending the session this way?

If there is an easy fix for the latter, please have at it :slight_smile: but if its very complicated, I dont know how important it really is. After all, you will know that the session completed since you were the one manually ending it in the app..

Great feedback, thanks! That was a straightforward fix — when you tap “End” the mower skips the returning phase and goes directly to idle, so the trigger never saw the transition it was listening for.

v1.1.10 covers both paths now:

  • mowing → returning — natural completion or “Return to Dock” (with charge-break detection)
  • mowing → idle — manual “End” in the app (always fires, no charge-break check needed since a charge break always goes through returning first)