Automatically-resetting tasks: To-Do List Chore Scheduler

Automatically-resetting tasks for regular chores that use only the task's description for configuration.

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

This automation is a fantastic complement to @birdwing's to-do list chore notifications blueprint!

Writing Recurring Tasks

The examples below show the title & description of to-do items that'll be managed by this automation.
Any items in your list without recurrence config are ignored!


# Clean The Cat's Litter Tray

Frequency: 2 days

This task resets every other day - complete it any time on Monday, and it'll reset on Tuesday with a due date of Wednesday


# Check the car's oil levels

Frequency: 1 month
Only: weekend

Once per month, on Saturday or Sunday. If completed on a weekday, it will become due again the first Saturday after ~30 days have passed


# Vacuum Upstairs

Frequency: 1 week
Only: weekend
Cycle:
- Vacuum Upstairs
- Vacuum Downstairs

Once every 7 days, and only on Saturday or Sunday. Every time it resets, the title swaps between "Upstairs" and "Downstairs"

Dogma

I find reoccurring calendar-driven tasks too rigid; If I miss a weekly chore by 3 days, I won't do it again 4 days later - it should be a full 7 days before it's due again!

Task reminders should tell me what to do, when to do it. Tasks that fit better on weekends should only show up on weekends.

Task setup / organisation should feel comfortable. I should be able to understand how often a task happens just by reading the task's description. I want home approval.

"Cycles" is the name of the concept of recurring tasks that also have a "sub-pattern". These should also fit into the solution neatly.

Examples of cycling tasks:

  • "every 4th time I do laundry, I'll add a de-scaling tablet"
  • "on week A I vacuum upstairs, on week B, downstairs"

The overarching goal is to make doing chores, and managing chores, as "human" as possible.

That's achieved by:

  • Accepting that delays happen
  • Reducing the "pressure" of "keeping up" with a rigid schedule
  • Gentle reminders before something is due
  • Setup/maintenance mustn't involve coding nor "excessively custom stuff"
  • Hidden/transparent handling of constraints like "only on weekends"

As such this is an opinionated automation, but it'll probably integrate into your setup without conflicting with much.

Compatibility:

  • The stock Local To-Do integration is what this was built for; mileage may vary
  • todo.update_item must support: due_date, rename
  • todo.get_items must return items specifying a completed date for items with status = completed

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.