I prefer planning chores to actually doing chores. So naturally, I created a super simple system for keeping track of repeating household chores. The goal of this article is to show you how you can make your own simple chore tracking system with a few, simple steps.

I see people complicating chores out there. A chore doesn't have to be more than a statement with a due or completed status. And that's an input boolean for you, where "off" is due, and "on" is completed. The input boolean can either be defined as a helper in the Home Assistant GUI, or you can define it in YAML (as I prefer to do it, because it's a lot faster).

chores-updated

Define chores

input_boolean:
    vacuum_household_chore:
      name: Vacuum the house
    bedlinens_household_chore:
      name: Change bed linens
    ventilationfilter_household_chore:
      name: Change the ventilation filters

These three chores obviously won't have to be completed with the same frequency. I'd say vacuuming and changing bedlinens could be weekly tasks, while changing the ventilation filters is something you'd do maybe every 3 months.

Automate recurring chores

So let's create automations to turn the household chores due at different frequencies:

automation:
    - alias: Chores - weekly
      trigger:
      - platform: time
        at: 06:00:00
      condition:
      - condition: time
        weekday:
        - thu
      action:
      - service: input_boolean.turn_off
        data: {}
        target:
          entity_id:
          - input_boolean.vacuum_household_chore
          - input_boolean.bedlinens_household_chore
      mode: single

    - alias: Chores - quarterly
      trigger:
      - platform: time
        at: 06:00:00
      condition:
      - condition: template
        value_template: '{{ now().day == 1 }}'
      - condition: template
        value_template: '{{ now().month in (1,4,7,10) }}'
      action:
      - service: input_boolean.turn_off
        data: {}
        target:
          entity_id:
          - input_boolean.ventilationfilter_household_chore
      mode: single

These first automations will turn the tasks "due" Thursday morning every week. The second automation will turn the task "due" the first day in January, April, July and October.

Notifications

To be notified whenever you have "due" tasks, you can create a binary template sensor like this.

binary_sensor:
  - unique_id: task_due
    attributes:
      friendly_name: Task due
    state: "{{ (states |selectattr('entity_id', 'search', 'input_boolean.*_household_chore') |selectattr('state', 'in', 'off')|list)|length > 0 }}"

This sensor, called _binary_sensor.template_taskdue, will be "on" whenever at least one household chore is due. You can use this for a dashboard notification or a mobile app notification every afternoon like this:

automation:
    - alias: Tasks due notification
      trigger:
      - platform: time
        at: 16:00:00
      condition:
      - condition: state
        entity_id: binary_sensor.template_task_due
        state: on
      action:
      - service: notify.mobile_app_yourmobile
        continue_on_error: true
        data:
          message: 'Hey - complete those due tasks!'
      mode: single

List due chores

To get a list over chores due on your dashboard, use Thomas Lovens brilliant auto-entities card:

    - type: custom:auto-entities
      filter:
        include:
          - entity_id: input_boolean.*_household_chore
            state: "off"
      show_empty: false
      card:
        type: entities
        title: Household chores due
        show_header_toggle: false
        show_state: false

With this simple system, you have recurring tasks with various frequencies, notifications, visualizations and a way of completing the tasks in Home Assistant.

When you have completed all your tasks, the list of due tasks will disappear until you have new due tasks, your binary sensor for tasks du will be turned off and you won't receive daily notifications.

But this is no fun, because you have to do it all yourself...

I also wanted a system to engage the kids in doing their chores. I won't need to do chores I can make somebody else do! Right? In the past, we've been using a whiteboard to keep track of tasks. But it's analogue, got limited space, got no time tracking, can't notify me, it's easy to forget to reset and hard to calculate the weekly allowance based on completed chores. So, why not create a special dashboards for the kids, where they kan keep track of their score and throw in an element of gamification? On top of the simple chore planning system, I've built a "gamified" version that will spur competition in the household to be the one to complete the most chores... while you kick back and relax! That will be discussed in a leter article. But here's a sneak peek!

allowance-example

The dashboard has an achieved star rating for the current week. The points and rating resets automatically at the end of each week. Whenever a task is completed, the points associated to the task are aded to the current points, and the star rating may increase if you reach the next level. The payout is recalculated and converted to e.g. Robux automatically for additional intereset for the kids. This, however requires som additional template sensors and automations... but definitely doable for the next article.

Previous Post Next Post