whatisgithub

What is dreame-scheduler?

botts7/dreame-scheduler — explained in plain English

Analysis updated 2026-05-18

10PythonAudience · generalComplexity · 2/5Setup · moderate

In one sentence

A Home Assistant integration that schedules Dreame robot vacuum cleaning per room and only while nobody is home.

Mindmap

mindmap
  root((Dreame Scheduler))
    What it does
      Presence aware cleaning
      Per room schedule
      Weekly guarantee
    Tech stack
      Python
      Home Assistant
      HACS
    Use cases
      Room by room cleaning
      Catch up cleaning
      Stuck robot recovery
    Audience
      Smart home users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Schedule a Dreame robot vacuum to clean specific rooms on specific weekdays only while the house is empty.

USE CASE 2

Guarantee every room gets cleaned at least once a week even if daily schedules get interrupted.

USE CASE 3

Automatically pause and resume cleaning when someone comes home mid-run.

USE CASE 4

Diagnose why a room keeps getting marked as blocked using the built-in troubleshooting guidance.

What is it built with?

PythonHome AssistantHACS

How does it compare?

botts7/dreame-scheduleraarav90-cpu/fetchitadammartinez271828/x4-analysis
Stars101010
LanguagePythonPythonPython
Setup difficultymoderateeasyeasy
Complexity2/52/52/5
Audiencegeneraldevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Home Assistant 2025.12 or newer and the separate dreame_vacuum integration already installed.

So what is it?

Dreame Scheduler is a Home Assistant integration that adds a smarter cleaning schedule for Dreame robot vacuums. It builds on top of an existing integration that already exposes the vacuum's entities to Home Assistant, and works with any Dreame model without needing to root the device. Rather than just running the vacuum on a timer, it schedules cleaning per room and per weekday, and only runs while nobody is home, using your existing presence sensors like person trackers or device trackers with a short delay before it starts. If someone arrives home while the robot is mid-clean, it returns to its dock and later resumes the rooms it had not finished once the house is empty again, and this state survives a restart of Home Assistant. The scheduler also guarantees that every room gets cleaned at least once a week by tracking what has been done since the start of the week and catching up on anything still pending on a designated day. It can be limited to run only within a set time window, and it defers cleaning if the dust bag is full or the robot has a real fault, while ignoring harmless maintenance reminders. If the robot gets physically stuck while cleaning, the scheduler blocks off that spot and lets it continue with the rest of the run instead of leaving the job half done. The integration exposes several entities and buttons in Home Assistant, such as a master enable switch, a status sensor, and buttons to run pending rooms immediately or reset the week's tracking, along with services for automations to call directly. There is an optional companion add-on that provides a visual configuration panel, a weekly report, and a beta floor plan editor for drawing no-go zones, though the base integration works fully without installing it. It requires Home Assistant version 2025.12 or newer and the existing dreame_vacuum integration, and is installed through HACS as a custom repository. The README also includes troubleshooting notes for common issues, such as rooms that get marked as blocked because the robot's lidar mistakenly mapped floor space it saw through a window.

Copy-paste prompts

Prompt 1
Walk me through installing Dreame Scheduler through HACS and connecting it to my Dreame vacuum.
Prompt 2
Show me how to set up a per-room weekly cleaning schedule using this integration's configure flow.
Prompt 3
Explain how Dreame Scheduler decides a room is cleaned versus blocked.
Prompt 4
Help me write a Home Assistant automation that calls the dreame_scheduler.run_catchup_now service.

Frequently asked questions

What is dreame-scheduler?

A Home Assistant integration that schedules Dreame robot vacuum cleaning per room and only while nobody is home.

What language is dreame-scheduler written in?

Mainly Python. The stack also includes Python, Home Assistant, HACS.

How hard is dreame-scheduler to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is dreame-scheduler for?

Mainly general.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.