To-do list - recurring task

Hi,

First of all, thx for the amazing work - that’s well appreciated.

Now - I was very happy that you introduced simple but still usable To-Do list. Quite often I need to have recurring tasks → once per month, quarter or a year.

I kindly ask to consider support for recurring tasks/items in To-Do list.

Thank you.

This is something I’m interested in also!

Being able to create a repeat task that I could tie into other integrations would be a great addition to the feature set.

Thanks!

My “recipe” to solve this use case:

  • Input_datetime helpers for the last time a certain recurring task was accomplished
  • Label the input_datetime with a particularly formatted label (I used “7D” for my weekly recurrences)
  • HA template to find the due items (the syntax of {{==[[ ]]==}} and [['payload.something']] are to make this template populate correctly in node-red and return a json object, but you could substitute jinja syntax replacements for [[payload.something]] if keeping this entirely in HA :
{{=[[ ]]=}}
[
{% for entity in label_entities("[[payload.label]]") %}{% if as_timestamp(states(entity)) < (as_timestamp(now()) - ([[payload.days]]*24*3600)) %}
  {
    "entity_id": "{{ entity }}",
    "entity_name": "{{ state_attr(entity, 'friendly_name') }}",
    "accomplished_date": "{{ states(entity) }}",
    "accomplished_stamp": "{{ as_timestamp(states(entity)) }}",
    "due_stamp": "{{ as_timestamp(states(entity)) + ( [[payload.days]] *24*3600)}}"
 {% if loop.last %} } {% else %} }, {% endif %}{% endif %} {% endfor %}
]
  • Use node-red flow of nodes to add to do list items for the list of items found by the of the above template, but only if there is not one existing already, then fire persistent and mobile app notifications

The above is not exactly elegant, but it has one huge advantage: it will not re-prompt you too soon if you accomplish something late. For example, lets say you have a filter that needs changed every 30 days (and you usually change it on the 1st), but you were on vacation until the 7th, and accomplished the change on the 8th. Now, you will not be reminded to change the filter again until the 8th of the next month.

The system could easily be adapted for things that needed to be on a specific day of the week, or day of the month, or whatever, by adapting your labeling system/syntax and template based query.

HTH.

I would love to see this as well. I am using Nextcloud for CalDAV tasks (don’t think it matters about the backend). I have my tasks sync to my Android phone using DAVx5 and Tasks.org, and it has a great interface; recurring tasks are clearly labelled, and when I mark them completed, the next instance is automatically populated.

I have played the game of using automations to populate recurring tasks and chore lists before, and it just does not scale very well. I would much very much prefer to offload that to a purpose-built capability like CalDAV, and let HA do what it’s best at (displaying my lists, and perhaps running custom automations to help manage specific interactions with my lists).

Even if HA (initially) does not support the UI to make or adjust repeatable tasks initially, I think it would be hugely beneficial to support them under-the-hood for externally-connected tasks lists via CalDAV. I am not sure if the task repeatability is handled on the client or server side, but from the user perspective, plugging in an external list that appears to handle recurrence, and HA being unable to respect that setting, is very confusing.

Here are some other resources I found about this topic/idea:

I also had this question and made an automation for this based on calendar events. It works like this: you create a calender with the (recurring) events, and the automation adds them to the to-do list for you. You can choose to notify specific users this has happened. You can find it here. Hope this helps someone!

1 Like

Hi Marcel, by searching how to manage recurrent (mostly monthly) tasks I v found this post with your solution and it seems to be the right thing for me!

Though, i feel like I’m missing something
Let’s say that my use case is to store tasks ie for kinderparty and additional lessons payment, in November (September payments are done)\i have calendar with tasks, and automation based on your blueprint; what to do next ?how this suppose to work ?
while adding task to calendar it should be picked up by the automation and then based on the number days added to the todo list ?