Skip to main content
← All Guides | Full Compatibility
Roborock

Roborock + Home Assistant

Complete setup guide for smart vacuum control

~10 minutes Verified: 2026-01-31 HA 2026.1+

Quick Summary

  • Compatibility: Full control of S-series and most newer models
  • ! Cloud required: Initial auth and maps use cloud; commands prefer local
  • Subscription: None required
  • Not supported: Q-series devices (protocol incompatible)

1. Prerequisites

Before starting, ensure you have:

  • Home Assistant installed and running
  • Roborock robot vacuum (S4, S5, S6, S7, S8 series or similar)
  • Roborock app installed with your vacuum set up and connected
  • Email access for verification code

Supported Models

Most Roborock models work with the native integration:

  • S-Series: S4, S5, S5 Max, S6, S6 Pure, S6 MaxV, S7, S7+, S7 MaxV, S8, S8 Pro
  • E-Series: E4, E5

Not supported: Q-series devices (Q5, Q7, Q Revo) use a different protocol and won't work with the native Roborock integration. Consider using the Xiaomi Miio integration for older S5 models.

2. Integration Setup

Step 1: Ensure Vacuum is Set Up

Your vacuum must be fully set up in the Roborock app first:

  • Connected to WiFi
  • Linked to your Roborock account
  • Able to be controlled from the app

Step 2: Add Integration

  1. Go to Settings → Devices & Services
  2. Click + Add Integration
  3. Search for Roborock
  4. Enter the email address used for your Roborock account

Step 3: Enter Verification Code

Roborock will send a verification code to your email. Enter it in Home Assistant when prompted.

Step 4: Verify Connection

After authentication, your vacuum should appear with all its entities. You'll see controls for vacuum, mop, battery, and various sensors.

3. Available Features

Vacuum Control

  • Start/stop/pause cleaning
  • Return to dock
  • Fan speed selection (quiet, balanced, turbo, max)
  • Locate robot (makes it beep)

Mop Control (S7+ and newer)

  • Mop intensity adjustment
  • Mop mode selection
  • Mop lift for carpets

Status & Sensors

  • Battery level and charging status
  • Cleaning area and time
  • Consumable status (brush, filter, sensors)
  • Error reporting

Additional Controls

  • Do not disturb scheduling
  • Volume control
  • Child lock

4. Room-Specific Cleaning

One of the most useful features is cleaning specific rooms. This requires a few setup steps.

Step 1: Name Rooms in App

Use the Roborock app to name your rooms (Kitchen, Living Room, etc.). The vacuum must have completed at least one full mapping run.

Step 2: Get Room IDs

Room IDs are numeric values the vacuum uses internally. Get them using Developer Tools:

  1. Go to Developer Tools → Services
  2. Call roborock.get_maps for your vacuum
  3. Check the response for room IDs (they'll be in the attributes)

Step 3: Clean Specific Rooms

Use the vacuum.send_command service with segment cleaning:

service: vacuum.send_command
target:
  entity_id: vacuum.roborock_s7
data:
  command: app_segment_clean
  params:
    - segments:
        - 16  # Kitchen room ID
        - 17  # Living room ID
      repeat: 1

Tip: Create input_select helpers for room selection, then build automations that clean selected rooms on demand.

5. Automation Ideas

Clean When Everyone Leaves

automation:
  - alias: "Vacuum when house is empty"
    trigger:
      - platform: state
        entity_id: group.family
        to: "not_home"
        for: "00:10:00"
    condition:
      - condition: time
        after: "09:00:00"
        before: "17:00:00"
    action:
      - service: vacuum.start
        target:
          entity_id: vacuum.roborock_s7

Return to Dock Before Bed

automation:
  - alias: "Dock vacuum at night"
    trigger:
      - platform: time
        at: "22:00:00"
    condition:
      - condition: not
        conditions:
          - condition: state
            entity_id: vacuum.roborock_s7
            state: "docked"
    action:
      - service: vacuum.return_to_base
        target:
          entity_id: vacuum.roborock_s7

Kitchen Clean After Cooking

automation:
  - alias: "Clean kitchen after cooking"
    trigger:
      - platform: state
        entity_id: binary_sensor.stove_power
        to: "off"
        for: "00:30:00"
    action:
      - service: vacuum.send_command
        target:
          entity_id: vacuum.roborock_s7
        data:
          command: app_segment_clean
          params:
            - segments:
                - 16  # Kitchen
              repeat: 1

Low Battery Notification

automation:
  - alias: "Vacuum low battery alert"
    trigger:
      - platform: numeric_state
        entity_id: sensor.roborock_s7_battery
        below: 20
    condition:
      - condition: not
        conditions:
          - condition: state
            entity_id: vacuum.roborock_s7
            state: "docked"
    action:
      - service: notify.mobile_app
        data:
          message: "Vacuum battery low ({{ states('sensor.roborock_s7_battery') }} %)"

6. Troubleshooting

Authentication Failed

  • Verify you're using the correct email for your Roborock account
  • Check spam folder for verification code
  • Try logging out and back into the Roborock app

Vacuum Not Responding

  • Check if vacuum is online in the Roborock app
  • Verify WiFi connection on the vacuum
  • Restart the integration from Settings → Integrations

Room Cleaning Not Working

  • Ensure map is saved in the Roborock app
  • Verify room IDs are correct (use get_maps action)
  • Check that rooms are properly segmented in the app

Entities Missing

  • Some features depend on vacuum model
  • Mop controls only appear on mop-capable models
  • Try reloading the integration

7. Frequently Asked Questions

Does Roborock work offline with Home Assistant?

Partially. The Roborock integration requires cloud authentication initially and for map updates, but once connected, many commands (start, stop, return to dock) can work locally on your network. If the cloud goes down, you'll retain basic control but may lose access to room-specific cleaning until the connection is restored.

Which Roborock models work best with Home Assistant?

The S-series models (S4, S5, S6, S7, S8) offer the best Home Assistant compatibility with full feature support including room cleaning, mop control, and detailed sensors. The E-series has basic support. Avoid Q-series (Q5, Q7, Q Revo) as they use an incompatible protocol and won't work with the native integration.

Can I see the vacuum map in Home Assistant?

Not natively. The official Roborock integration doesn't display the visual map in Home Assistant's dashboard. However, you can access room IDs for automation purposes using the roborock.get_maps service. Some users create custom solutions using third-party HACS integrations like Valetudo (which requires rooting the vacuum) for visual map support.

What happens if Roborock cloud goes down?

If Roborock's cloud servers are unavailable, you'll lose some functionality. Basic start/stop commands may still work locally, but room-specific cleaning, map updates, and consumable tracking require cloud connectivity. The vacuum will continue any scheduled cleanings stored on the device itself, and you can always use the physical buttons on the robot.

Is Roborock better than Roomba for Home Assistant?

For Home Assistant users, Roborock generally offers better integration. The native Roborock integration provides room-specific cleaning, mop control, and detailed sensors without requiring iRobot's subscription services. Roomba integration through Home Assistant is more limited, especially for newer models. Roborock also offers better value with features like LiDAR navigation at lower price points.

8. Sources

This guide was compiled from official documentation:

Last verified: 2026-01-31 against Home Assistant 2026.1. If you find outdated information, let us know.

Need help with your vacuum setup?

We configure Home Assistant systems throughout Oklahoma. Get professional installation with ongoing support.