Roborock + Home Assistant
Complete setup guide for smart vacuum control
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
- Go to Settings → Devices & Services
- Click + Add Integration
- Search for Roborock
- 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:
- Go to Developer Tools → Services
- Call
roborock.get_mapsfor your vacuum - 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:
- Home Assistant Roborock Integration (official docs)
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.