To-do lists unavailable

2 of 3 To-do lists have become unavailable upon Home Assistant Restart.

It’s happened twice over the past 3 days. Two of the three to-do lists have become unavailable. I recreated the lists manually, and again two of three became unavailable again. One of the to-do lists seems to be persistent and it was the first list I’d created. Also noticed that the to-do list entity seems to still exist when I try to recreate with the same name e.g. “Smart home ideas”. I’m using 2024.3, HASSOS on RPi4. See dashboard photo showing unavailable to-do lists.
HA to-do

Settings → System → Logs. Look for related errors.

Hi Tom. Here’s a snippet from the logs. I’m not exactly sure what the error is. Any ideas?

^^^^^^^^^^^^^
UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xd3 in position 0: invalid continuation byte
2024-03-11 11:29:42.409 ERROR (MainThread) [homeassistant.components.todo] Error while setting up local_todo platform for todo
Traceback (most recent call last):
File “/usr/local/lib/python3.12/site-packages/ical/component.py”, line 139, in init
super().init(**data)
File “/usr/local/lib/python3.12/site-packages/pydantic/main.py”, line 341, in init
raise validation_error
pydantic.error_wrappers.ValidationError: 1 validation error for Todo
root
Failed to validate: 20240309T041627, errors: ([“Expected DATE-TIME TZID value ‘AEST’ to be valid timezone”, “Expected value to match DATE pattern: ‘20240309T041627’”]) (type=value_error)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/helpers/entity_platform.py”, line 350, in _async_setup_platform
await asyncio.shield(awaitable)
File “/usr/src/homeassistant/homeassistant/components/local_todo/todo.py”, line 71, in async_setup_entry
calendar = IcsCalendarStream.calendar_from_ics(ics)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Looks like it does not like the character Ó

Though as you are from Australia,

And not some European country that uses it, it is more likely to be storage corruption.

Do you use an SD card to run HA?

No SD Card but a 256 GB SSD.

Tom, seems to remove all To-do Lists except for the first one I’ve created, every time I restart Home Assistant.

The title of the to-do lists can still be seen in the Devices with an invalid icon next to them, as per this diagram. Any ideas?

HA to-do list

I faced the same, ToDo list unavailable issue today one only one of my six lists. The logs point to an inability to parse a timestamp, and since I don’t use due dates on this particular list, the error would have been in the creation of a line item.

Error while setting up local_todo platform for todo
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/ical/component.py", line 139, in __init__
    super().__init__(**data)
  File "/usr/local/lib/python3.12/site-packages/pydantic/main.py", line 341, in __init__
    raise validation_error
pydantic.error_wrappers.ValidationError: 1 validation error for Todo
__root__
  Failed to validate: 20240311T235415, errors: (["Expected DATE-TIME TZID value 'PDT' to be valid timezone", "Expected value to match DATE pattern: '20240311T235415'"]) (type=value_error)

The above exception was the direct cause of the following exception:

This could be database corruption. There is a fix coming for a specific case coming soon. Did you rename your todo lists?

I’ve lost my “local” ToDo list as well.
Sort of looks like a TimeZone problem (we shifted from CST to CDT on 3/10/2024.

Error while setting up local_todo platform for todo
Traceback (most recent call last):
File “/usr/local/lib/python3.12/site-packages/ical/component.py”, line 139, in init
super().init(**data)
File “/usr/local/lib/python3.12/site-packages/pydantic/main.py”, line 341, in init
raise validation_error
pydantic.error_wrappers.ValidationError: 1 validation error for Todo
root
Failed to validate: 20240313T085927, errors: ([“Expected DATE-TIME TZID value ‘CDT’ to be valid timezone”, “Expected value to match DATE pattern: ‘20240313T085927’”]) (type=value_error)

File a bug?