A side-by-side look at native and custom Roborock integrations with Home Assistant

Disclosure: This post contains affiliate links. If you click through and make a purchase, I will earn a commission, at no additional cost to you. Read my full disclosure here.

A robot vacuum cleaner in a messy room

If you are a Home Assistant user and owner of one of the many Roborock robot vacuum cleaners, you have multiple options when it comes to integrating the two. Until a couple of months ago, connecting the robot vacuum cleaner to Xiaomi's Mi Home app and using the Miio integration was your only option. Today, you can add your robot vacuum cleaner to the Roborock app, and integrate it with Home Assistant using either the native integration or the custom integration available in the Home Assistant Community Store (HACS). There is still some confusion over how the latter two options compare, and in this guide I will be answering all the questions you might have on the subject.

My Roborock and Home Assistant setup

Let's delve into an exploration of the native Roborock integration with Home Assistant, version 2023.07, and juxtapose it with the newest custom component fetched from the Home Assistant Community Store (HACS). Here, I'll be using my trusty Roborock S7 MaxV robot vacuum cleaner and the companion auto-emptying base for this comparative analysis.

The native Roborock integration offers fewer entities

The native Roborock integration introduces a modest 15 entities, which pales slightly in comparison to the bountiful 41 entities presented by the custom integration. The basic control panel, however, levels the playing field, with both options allowing you to set fan strength, initiate cleaning, guide your Roborock robot vacuum cleaner back to the charger, and locate the device.

The custom Roborock integration showing 41 entities in Home Assistant
The native Roborock integration showing 41 entities in Home Assistant

Both integrations also allow you to dabble in Roborock's mop mode (standard, deep, deep+, and custom) and intensity configurations, giving you control over the amount of water used for mopping. The first significant deviation lies within the camera feature, not the device's physical camera, but the map currently loaded on your Roborock robot vacuum cleaner. Using the custom integration, your floor map can be used in Home Assistant Dashboard cards, such as Piotr Machowski's Vacuum Map Card.

A screenshot of the Roborock controls when using the native integration
Roborock sensors displayed by the native integration in Home Assistant

The custom integration deviates further in its entity organization. Unlike the official integration, which groups entities such as the cleaning area, cleaning time, total cleaning area, and total cleaning time as sensors, the custom integration assigns them as diagnostic entities. Personally, I find little difference between the two, as there are compelling arguments for both organizational structures.

Commonalities between the native and custom Roborock integration

Both options also share some common switches such as child lock, do not disturb, and status indicator light. However, the official integration lacks one switch and two additional entities – the option to enable charging from valley electricity. Accompanying this switch are two entities that permit you to set the start and end time of valley electricity. This is particularly handy if you reside in an area with fluctuating electricity prices depending on the time of day, or if you're looking to capitalize on solar energy during daylight hours.

The configuration when using the custom Roborock integration with Home Assistant
Information on the Roborock displayed when using the custom integration
Information on the Roborock displayed when using the custom integration

Only the custom Roborock integration reports on the dock

The official integration further lacks information about the dock. This is especially useful for those who own the RoboDock Ultra, the all-in-one docking system that refills the water tank and cleans the mop. Some sensors the custom integration provides will keep you posted on the dock: Dock dust collection mode, dock mop wash mode interval, dock status, dock washing mode. However, as I only possess the auto-emptying dock, I cannot provide further insights into any additional switches or sensors that may appear with the premium option.

Lastly, the custom integration liberates you from the need to use the app to reset any sensors after cleaning or switching them. These include the filter, main brush, cliff and visual sensor, and side brush.

A portrait photo oif Liam Alexander Colman, the author, creator, and owner of Home Assistant Guide wearing a suit.

About Liam Alexander Colman

is an experienced Home Assistant user who has been utilizing the platform for a variety of projects over an extended period. His journey began with a Raspberry Pi, which quickly grew to three Raspberry Pis and eventually a full-fledged server. Liam's current operating system of choice is Unraid, with Home Assistant comfortably running in a Docker container.
With a deep understanding of the intricacies of Home Assistant, Liam has an impressive setup, consisting of various Zigbee devices, and seamless integrations with existing products such as his Android TV box. For those interested in learning more about Liam's experience with Home Assistant, he shares his insights on how he first started using the platform and his subsequent journey.

Leave a comment

Share to...