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.