Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Robot Vacuum

Robot vacuums are exposed as Matter Robotic Vacuum Cleaner devices with the following capabilities:

Cleaning Modes

The RVC Clean Mode cluster allows selecting the cleaning type. This is auto-enabled for Dreame and Ecovacs vacuums, and can be manually configured for other brands.

Supported Cleaning Modes

ModeMatter TagDescription
SweepingVacuumDry vacuum only
MoppingMopWet mop only
Sweeping and moppingDeepCleanVacuum and mop simultaneously
Mopping after sweepingVacuumThenMopVacuum first, then mop

Auto-Detection (Dreame)

For Dreame vacuums, the cleaning mode entity is automatically derived from the vacuum entity ID:

No manual configuration is needed unless the entity naming differs (e.g., special characters in the vacuum name).

Manual Configuration (Ecovacs, Others)

For vacuums where the cleaning mode entity can’t be auto-detected (Ecovacs, or Dreame with non-standard naming), you need to configure it manually:

  1. Go to your bridge settingsEntity Mappings

  2. Edit your vacuum entity (e.g., vacuum.t20_omni)

  3. Set Cleaning Mode Entity to the select entity that controls the cleaning mode (e.g., select.t20_omni_betriebsmodus)

  4. Restart the bridge

After configuration, your controller (Apple Home, Alexa) should show the available cleaning mode options.

What is Server Mode?

Server Mode exposes a single device as a standalone Matter device instead of a bridged device. This is required because:

How to Enable Server Mode

  1. Create a new bridge in the Matter Hub web interface

  2. Enable “Server Mode” checkbox in the bridge creation wizard

  3. Add only your vacuum to this bridge (Server Mode supports exactly 1 device)

  4. Pair the new bridge with Apple Home or Alexa

  5. Your other devices stay on your regular bridge(s)

After Enabling Server Mode

Room Selection

Room selection is supported through two mechanisms:

1. RVC Run Mode (Google Home, Alexa, etc.)

Custom cleaning modes are created for each room, e.g., “Clean Kitchen”, “Clean Living Room”. These appear as selectable modes in compatible controllers.

2. Service Area Cluster (Apple Home)

Apple Home uses the Matter 1.4 Service Area cluster for room selection. This is automatically enabled when your vacuum exposes room data.

Room Data Requirements

For room selection to work, your vacuum integration must expose room data as entity attributes. Supported formats:

# Format 1: Direct array
rooms:
  - id: 1
    name: Kitchen
  - id: 2
    name: Living Room

# Format 2: Segments array
segments:
  - id: 1
    name: Kitchen
  - id: 2
    name: Living Room

# Format 3: Dreame nested format
rooms:
  "My Home":
    - id: 1
      name: Kitchen
    - id: 2
      name: Living Room

Apple Home & Alexa Limitations

Apple Home and Alexa have specific limitations with robot vacuums over Matter:

Why Bridged Vacuums Don’t Work

Both Apple Home and Alexa expect robot vacuums to be standalone Matter devices. When exposed through a bridge (with BridgedDeviceBasicInformation cluster), they:

Solution: Use Server Mode

Server Mode is the recommended solution. See Server Mode above for setup instructions.

Supported Integrations

Room selection works with any integration that exposes room data as attributes:

IntegrationRoom AttributeCleaning ModesNotes
Roborock (Official)Button entitiesUse Entity Mapping UI (see below)
Roborock (Xiaomi Miot)rooms or segmentsNative support
DreameroomsAuto-detectedNested format with map name
XiaomiroomsMay require custom integration
EcovacsroomsVia cleaningModeEntitySet cleaning mode entity in Entity Mapping

Roborock (Official Integration)

The official Roborock integration does not expose room data as attributes. Instead, it creates button entities for each room/scene configured in the Roborock app.

Example button entities:

Setting up Room Selection for Roborock

  1. Open the Entity Mapping page in the Matter Hub web UI

  2. Edit your Roborock vacuum entity (e.g., vacuum.roborock_qrevo)

  3. In the “Room Button Entities” field, select the button entities for each room

    • The UI will auto-discover button entities belonging to the same device

    • You can also manually enter entity IDs

  4. Save the mapping

  5. Restart the bridge or re-pair to apply changes

How it works

When you select a room in Apple Home and start cleaning:

  1. HAMH identifies which room was selected

  2. Presses the corresponding button entity in Home Assistant

  3. The Roborock integration triggers the room cleaning via the Roborock cloud

Dreame Integration Note

The Dreame integration exposes room data in a nested format. As of version 1.x-alpha.150+, this format is fully supported.

If your vacuum uses separate select entities for room selection instead of attributes, you may need to use the cleaningModeEntity mapping instead.

Troubleshooting

Rooms not appearing in Apple Home

  1. Re-pair the vacuum: Remove it from Apple Home and add it again after updating

  2. Check room attributes: Verify your vacuum has rooms, segments, or room_list in its attributes

  3. Separate bridge: Try putting the vacuum in its own bridge (see above)

Room selection not working

  1. Check the logs for errors when selecting a room

  2. Verify the vacuum integration supports the vacuum.send_command service with app_segment_clean

Vacuum not showing in Apple Home

This is likely the bridge limitation issue. Create a separate bridge with only the vacuum.