/homeassistant-roborock

Roborock integration for Home Assistant. This integration uses your devices from the Roborock App

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Roborock integration for HomeAsssistant

IMPORTANT NOTE!!

It is recommended you switch to the core version of this integration. Due to the time that the maintainers have, most time goes into supporting the core version of this integration as there are approximately 5 times as many users using that integration. There are multiple known issues with the custom component version of Roborock that are not planned to be fixed. If a user is so inclined - they can look at the fixes on the core component and carry them over here and we will approve PR. But otherwise, expect updates and fixes to this repository to be very limited at least for the time being.

About this repo

I've bought a Roborock S7 Maxv and hated the fact that I had to use the Roborock App or the previous existing HomeAssistant integration. But not both.

Using the Xiaomi integration there is also a limit to the number of map request which this integration doesn't have

Hope everyone can enjoy this integration along side the Roborock App

Buy me a coffee!


Installation

I recommend installing it through HACS

IMPORTANT

Ensure that your HA instance can listen for device broadcasts on port 58866 Ensure that your HA instance can communicate to device on port 58867

Installing via HACS

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

or

  1. Go to HACS->Integrations
  2. Add this repo into your HACS custom repositories
  3. Search for Roborock and Download it
  4. Restart your HomeAssistant
  5. Go to Settings->Devices & Services
  6. Shift reload your browser

Setup the Integration

Open your Home Assistant instance and start setting up a new integration.

  1. Click Add Integration
  2. Search for Roborock
  3. Type your username used in the Roborock App and hit submit
  4. You will receive an Email with a verification code
  5. Type the verification code and hit submit
  6. You're all set

Functionality

Vacuum

  • Start the vacuum
  • Stop the vacuum
  • Pause the vacuum
  • Dock the vacuum
  • Control vacuum fan speed
  • Vacuum battery
  • Locate vacuum
  • Clean Spot

Additional Vacuum functionality that is supported through services:

  • Remote control
  • Clean zone
  • Go to
  • Clean segment
  • Set mop mode
  • Set mop intensity
  • Reset consumables

Map

There is a map built in to the integration that shows you your most recent/current run of the vacuum.

Sensors

  • DND start
  • DND end
  • Last clean start
  • Last clean end
  • last clean duration
  • last clean area
  • current error
  • current clean duration
  • current clean area
  • total duration
  • total clean area
  • total clean count
  • total dust collection count
  • main brush left
  • side brush left
  • filter left
  • sensor dirty left
  • battery

Binary Sensors

  • Mop attached
  • Water box attached
  • Water shortage

Camera

If your vacuum has a builtin camera, you can use go2rtc made by @AlexxIT. Steps here


Special thanks

Thanks @rovo89 for https://gist.github.com/rovo89/dff47ed19fca0dfdda77503e66c2b7c7 And thanks @PiotrMachowski for https://github.com/PiotrMachowski/Home-Assistant-custom-components-Xiaomi-Cloud-Map-Extractor