Card Vacuum - dckiller51/astrion-custom-dashboard GitHub Wiki

🧹 Vacuum Card (vacuum)

Control a robot vacuum: its live map, start / pause / dock / locate, the cleaning mode, and one button per room.

📸 Preview

✨ Features & Possibilities

  • Live map from the vacuum's map image entity (Roborock / Xiaomi and others), which already draws the robot moving. Rotate it to match your home.
  • Status in the remote's language: docked, cleaning, paused, returning, error…
  • Controls: start, pause, return to dock, locate.
  • Cleaning mode (fan speed): a menu with the modes the vacuum offers. Common names are translated.
  • Room buttons: clean one room (segment).
    • Default call: vacuum.send_command with app_segment_clean (Roborock / Xiaomi).
    • Another integration? Set room_clean_action, e.g. Dreame's dreame_vacuum.vacuum_clean_segment.
  • The same options can sit on a floor plan: the robot is drawn on the plan, and tapping it opens this panel.

⚙️ Options Reference

Parameter Type Default Description
type string — vacuum
entity_id string — The vacuum entity. Required.
name string friendly name Name shown on the card.
map_image string — The map image.* entity. No map without it.
map_rotation int 0 Rotate the map clockwise: 90, 180, 270.
map_height int 200 Map height in dp.
rooms list — { "name", "id" }, id being the room's segment id in your vacuum's map.
room_clean_action object Roborock call { "domain", "service", "parameter" }: the service to call for a room, and the field that receives the room id.

Finding the room ids

The ids are the segment numbers of your vacuum's map, often numbers like 16, 17, 18… Where to find them depends on the integration: usually in the attributes of the vacuum or map entity (Developer tools › States). Try one room with a button before adding them all.

📄 JSON Configuration Example

Roborock:

{
  "type": "vacuum",
  "options": {
    "entity_id": "vacuum.roborock_s7",
    "map_image": "image.roborock_s7_ground_floor",
    "map_rotation": 90,
    "rooms": [
      { "name": "Kitchen", "id": 16 },
      { "name": "Living room", "id": 17 },
      { "name": "Hall", "id": 18 }
    ]
  }
}

Dreame:

{
  "type": "vacuum",
  "options": {
    "entity_id": "vacuum.dreame_l10s",
    "map_image": "image.dreame_l10s_map",
    "rooms": [ { "name": "Kitchen", "id": 1 }, { "name": "Bedroom", "id": 3 } ],
    "room_clean_action": { "domain": "dreame_vacuum", "service": "vacuum_clean_segment", "parameter": "segments" }
  }
}

See also: Card Picture elements