🧹 Smart Vacuum & Light Sync

:broom: Smart Vacuum & Light Sync :bulb:

:open_book: Overview

This Home Assistant automation synchronizes your home lights with the movements of your robot vacuum.
It automatically turns on the light in the room where the vacuum is cleaning or entering, and switches it off when the vacuum leaves or stops.

:sparkles: Features

  • :flashlight: Lights turn on when the vacuum starts cleaning.
  • :door: Lights turn on when the vacuum enters a room.
  • :door: Lights turn off when the vacuum leaves a room.
  • :pause_button: Lights turn off when the vacuum is paused, docked, idle, or in an error state.
  • :sun_with_face: Optional ambient light sensor with lux threshold.
  • :busts_in_silhouette: Optional presence detection (prevents lights from switching when someone is home).
  • :bulb: Optional adjustable brightness level for lights.

:gear: Requirements

Mandatory

  • A working Home Assistant setup.
  • A robot vacuum that exposes a current room sensor (e.g., Dreame L40s Pro Ultra with sensor.current_room).
  • Light entities (light.xxx) mapped to your rooms.

Optional

  • Presence entities (person.xxx) to prevent lights from switching if someone is home.
  • An ambient light sensor (sensor.xxx) with a lux threshold to avoid turning lights on when it’s already bright.
  • Adjustable brightness level for lights when turning them on.

:inbox_tray: Import Blueprint

Import blueprint

:hammer_and_wrench: Setup

  1. Copy the blueprint YAML file into your blueprints/automation/ folder. (Only needed if the import button above cannot be used.)
  2. Restart Home Assistant or reload automations. (Only needed if the import button above cannot be used.)
  3. Create a new automation using this blueprint.
  4. Fill in the inputs:
    • Vacuum entity.
    • Room sensor.
    • JSON mapping of rooms → lights.
    • (Optional) Presence entities, light sensor, brightness level.

:clipboard: Example JSON mapping of rooms → lights

  {
    "Bathroom": "light.lumieres_sdb",
    "Dining Hall": "light.lumieres_sam",
    "Living Room": "light.lumieres_salon",
    "Kitchen": "light.lumieres_cuisine"
  }

:link: Links

GitHub

Hi everyone, I had some time to kill and noticed that:

  • :broom: My vacuum has a sensor that reports the name of the room it’s currently working in.
  • :camera: Its camera doesn’t see very far when the brightness is low, so it has to rely on its own flash.

That gave me an idea! And since I’m not a developer, with the help of GPT‑5 and a lot of trial and error, I came up with this little project.

I can’t wait to show it to my family and friends. It’s mostly useless, I spent hours on it… and that’s exactly what makes it essential to me :sweat_smile:.