Dreame Robotic Mower Binding [5.2.0.0;5.3.0.0)

Native openHAB integration for Dreame and MOVA robotic lawn mowers. The binding connects directly to the Dreamehome or MOVAhome cloud without requiring Home Assistant, Valetudo or a separate MQTT bridge.

The binding has been tested with physical devices:

  • Dreame A1 Pro 2000 (dreame.mower.g2540d)
  • MOVA 1000 (mova.mower.g2405c)

Other Dreame and MOVA mower models using the same protocol family are detected automatically. Test reports from their owners are welcome. Dreame and MOVA robot vacuums are not supported by this beta.

Features

  • Dreamehome and MOVAhome account support
  • Automatic mower discovery
  • HTTPS status polling and MQTT real-time updates
  • Start, pause, resume, stop and return-to-dock commands
  • Selective mowing of one or multiple zones
  • Battery, operating state, charging state and error information
  • Current position, heading, mowing progress and mower statistics
  • Task, docking and signal-strength information
  • Available maps and mowing zones
  • SVG and PNG map rendering, including mower position and mowing path
  • PNG maps for Basic UI and mobile clients
  • Electronic cutting-height control on supported models
  • Safe diagnostic logging that redacts credentials, tokens and device identifiers
  • English and German descriptions

Installation

Install the Dreame binding from the openHAB Community Marketplace. Alternatively, download the JAR from the Resources section and place it in the openHAB addons directory.

Create a Dreame Account Thing, select Dreamehome or MOVAhome, and enter the same credentials and two-letter country code used by the respective app. After the account becomes online, associated mower Things should appear in the Inbox automatically. A manual Inbox scan can be used to repeat discovery.

This beta supports openHAB 5.2 and has also been built against the current openHAB 5.3 development branch.

Updating a manually installed JAR

Only one Dreame binding JAR may exist in the openHAB addons directory. If the binding was installed through the Community Marketplace, uninstall that version before adding a manually downloaded JAR.

Remove the previous JAR and add the new JAR while openHAB is running. A restart of openHAB is normally not required.

Feedback and diagnostics

When reporting a problem, please include:

  • openHAB version
  • mower model and firmware version
  • selected cloud service
  • operation that triggered the problem
  • relevant sanitized TRACE messages for org.openhab.binding.dreame

Enable TRACE temporarily with:

log:set TRACE org.openhab.binding.dreame

Restore the default level afterward:

log:set INFO org.openhab.binding.dreame

Do not publish account credentials, access tokens, refresh tokens, serial numbers, MAC addresses or complete device IDs.

Known limitations

  • Models other than the Dreame A1 Pro 2000 and MOVA 1000 still require physical-device testing.
  • The active map ID is read-only; selecting another stored map is not yet implemented.
  • Lifetime statistics and do-not-disturb settings are not exposed by every mower firmware.
  • Electronic cutting-height control is model-dependent. The MOVA 1000 uses mechanical height adjustment.
  • Map details depend on the geometry supplied by the mower firmware.
  • The binding uses private Dreamehome and MOVAhome cloud APIs and may require updates if those APIs change.

Changelog

5.3.0 Beta 2

  • Added MOVAhome cloud support
  • Added and physically tested MOVA 1000 support
  • Added selective zone mowing
  • Added automatic map refresh after MQTT map-change notifications
  • Added available-map and mowing-zone metadata
  • Added SVG and PNG map rendering
  • Added Basic UI-compatible PNG maps
  • Added mower position, heading and mowing-path rendering
  • Added task, docking and signal-strength channels
  • Added model-dependent electronic cutting-height control
  • Improved MQTT and HTTPS synchronization
  • Improved lifecycle handling and sanitized diagnostic logging
  • Expanded documentation and automated tests
  • 55 automated tests plus Checkstyle, PMD, SpotBugs and Karaf verification

5.2.2 Beta 1

  • Initial public beta
  • Native Dreamehome authentication and mower discovery
  • Cloud and MQTT communication
  • Mower controls, channels, statistics and map support
  • 45 automated tests plus Checkstyle, PMD, SpotBugs and Karaf verification

Resources

Download org.openhab.binding.dreame-5.3.0.202608282213.jar

Release notes

Source code

Nice. I used a “Mova 1000” and I think this is also Dreame based. If there are more supported devices in the binding, feel free to send me a node and I will test the integration… Thank you!

Hi Tim,

thank you for offering to test the integration.

I checked the MOVA 1000 more closely. It is indeed based on Dreame technology and uses a very similar cloud backend and device protocol. Other smart-home integrations already support the MOVA 600 and MOVA 1000 successfully.

However, MOVA devices use the separate MOVAhome app, different cloud domains and a slightly different authentication flow. Therefore, the current openHAB binding - which currently supports Dreamehome accounts only - will probably not discover your mower yet.

I think MOVA support belongs in the same binding, and your MOVA 1000 would be an excellent first test device. My next step would be to add MOVAhome as an alternative cloud service and then verify discovery, properties, MQTT updates and commands with your help.

No physical access to the mower should be necessary. Testing would involve installing a test build and sharing sanitized diagnostic logs. Credentials, access tokens, serial numbers, MAC addresses and complete device IDs must not be posted.

I will let you know here when the first MOVA-enabled test version is ready.

Thank you!

Sounds cool… If you need more details HTTP Log - tracked with HTTP Toolkit - in front of the integration by using the App, to get details related Endpoint, Auth flow insights etc. feel free to send me a PM. I can send this technical information. Otherwise… if there is a first testable jar, just drop a line and I will send feedback (functional, OpenHab logs etc.). Thank you.


Hello,
I have just received my Lidax 1600 AWD Ultra robot; I would be happy to participate if needed.
++

Version 5.3.0 Beta 2 is now available.

This release adds MOVAhome support, physically tested MOVA 1000 support, zone mowing, MQTT-triggered map updates, SVG and PNG map rendering, additional task and docking information, and model-dependent cutting-height control.

The initial post has been updated with the complete changelog, installation instructions and current download links.

Download Dreame Binding 5.3.0 Beta 2

Feedback from owners of other Dreame and MOVA mower models is very welcome.

Hi @Fejitatete

thank you for offering to help. I checked the LiDAX Ultra 1600 AWD: it is a MOVA mower and uses the MOVAhome app, so it is a very relevant test device for this binding.

Version 5.3.0 Beta 2 now includes MOVAhome support. Could you please install the current Marketplace version, create a Dreame Account Thing with MOVAhome selected, and check whether the mower is discovered and comes online?

Download Dreame Binding 5.3.0 Beta 2

If discovery or initialization fails, please enable TRACE logging for org.openhab.binding.dreame temporarily and share the sanitized relevant section. Please do not post credentials, tokens, serial numbers, MAC addresses or complete device IDs.

Once discovery works, we can verify status updates, commands, map data, zone mowing and cutting-height control step by step.

Thank you!

Hi @rogrun,

After updating binding with the link you provide (thx), Bridge creation with mova home account is OK, Discovery ran smoothly, Thing and Items creation is OK.

On the other hand, many items remains NULL or UNDEF. I’ll send you log in MP.

Keep up the good work :slight_smile:

Hey @rogrun

thanks a lot for the MOVA integration. Found out one little thing… The Thing discovery does not drop the already created mower. There is always a “new” Thing after I created the bridge and the “only” mower. In other bindings the already created Things disappear in the discovery, after the Thing is created (shelly/hue/etc.)

Regards,
Tim

Thanks a lot for your binding :heart:

Your release was just in time for my project - so I didn’t need to work around with synchronised schedules for the roller shutter in OpenHAB and for the mower in the MovaHome app. Your binding is doing great so far, of course there are some channels undefined, but at the moment I am totally fine using the channels command, docking state and task state. I’m am using it with a Mova LiDAX 1200 by the way.

DIY garage with roller shutter and WLED animations:

Kind regards

Thomas