Open Ionshard opened 2 months ago
Same issue on my side. Seems that it occurred first time just after the HACS 2.0 update.
Same issue on my side. Seems that it occurred first time just after the HACS 2.0 update.
To add to the data pool, I myself have not updated to HACS 2.0 yet.
Thanks for the report. That does look like a problem in recurring_ical_events, but it may be one that I can work around. Note the entry shows it was created on 2023-09-14, but both last modified and dtstamp show 2024-08-26. I suspect the problem has something to do with that, but that’s odd to me. I might be able to remove or update the data since that info isn’t something that HA’s calendar entries know about, and is thus ignored. If you do report a problem upstream, please reply here with a link to the report so I know about it. IIRC, bug entries are best received with a full (but minimal) ics and example code. Mostly that means adding BEGIN:VCALENDAR/END:VCALENDAR to what you posted here. If I get the time to report the problem first, I’ll make note of it here, too.
Adding a datapoint: I had this error but when I reverted back to Home Assistant Core 2024.8.2 it was fixed. I can also confirm that HACS 2.0.0 doesn't break it either.
Sorry I am not well versed enough to be able to provide a useful log, but hoping that this data point might help!
I rolled back to 2024.8.2 with no other changes and the problem was also solved for me.
Logger: custom_components.ics_calendar.calendar
Source: custom_components/ics_calendar/calendar.py:266
integration: ics Calendar ([documentation](https://github.com/franc6/ics_calendar), [issues](https://github.com/franc6/ics_calendar/issues))
First occurred: 15:42:28 (5 occurrences)
Last logged: 15:42:45
async_get_events: Formula Uno: Failed to parse ICS!
Traceback (most recent call last):
File "/config/custom_components/ics_calendar/calendar.py", line 266, in async_get_events
event_list = self.parser.get_event_list(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/ics_calendar/parsers/parser_rie.py", line 67, in get_event_list
for event in rie.of(self._calendar).between(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 1045, in between
return self._between(start, stop)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 1058, in _between
return self._occurrences_to_components(self._occurrences_between(start, end))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 1065, in _occurrences_between
occurrences.extend(series.between(start, end))
File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 545, in between
if occurrence.is_in_span(span_start, span_stop):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 883, in is_in_span
return time_span_contains_event(span_start, span_stop, self.start, self.end)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 161, in time_span_contains_event
raise PeriodEndBeforeStart(
recurring_ical_events.PeriodEndBeforeStart: the event must start before it ends(start: 2024-05-05 22:00:00+02:00 end: 2024-05-05 00:00:00+02:00)
Same here, does not work even with a new created calendar.
It seems that the main issue is probably caused by a dependency of recurring_ical_events, as one of its dependencies is also a dependency of the caldav component of HA. An update to that could easily cause this when using the newer version of HA.
However, the problem that @r0bb10 sees is different. That looks like a direct problem in recurring_ical_events, and is probably unrelated to the other issues. There's no reason an event has to start before it ends, as setting the same time is common for all day events. When I get the chance, I'll report these problems upstream. Does going back to the older version of HA fix your problem, too, @r0bb10 ? If so, that suggests somebody added recurring_ical_events as a dependency of HA itself.
I have the same issue currently:
Logger: custom_components.ics_calendar.calendar
Source: custom_components/ics_calendar/calendar.py:266
Integration: ics Calendar (Dokumentation, Probleme)
First occurred: 30. August 2024 at 08:59:59 (1631 Vorkommnisse)
Last logged: 07:58:25
async_get_events: Work Jonas: Failed to parse ICS!
Traceback (most recent call last):
File "/config/custom_components/ics_calendar/calendar.py", line 266, in async_get_events
event_list = self.parser.get_event_list(
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/ics_calendar/parsers/parser_rie.py", line 67, in get_event_list
for event in rie.of(self._calendar).between(
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 1124, in of
return CalendarQuery(
^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 972, in __init__
component_adapter.collect_components(calendar, self._skip_errors)
File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 640, in collect_components
result.append(Series(components))
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 335, in __init__
raise InvalidCalendar(
recurring_ical_events.InvalidCalendar: The event definition for ZOOM98319447321 only contains modifications.
recurring_ical_events
did recently change code around that line: https://github.com/niccokunzmann/python-recurring-ical-events/commit/a658b1d7f200346f980e435c15e38946a9bc391e
They also released version 3.0.0 a couple weeks ago, which might have broken things since it's a major version bump.
https://github.com/mampfes/hacs_waste_collection_schedule/ also pulls it in as a dependency, but actually specifies a lower minimum version than this project, so it shouldn't be an issue.
Same issue for me as well. Today HACS has been updated to 2.0.1 but still the same.
Traceback (most recent call last): File "/config/custom_components/ics_calendar/calendar.py", line 266, in async_get_events event_list = self.parser.get_event_list( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/ics_calendar/parsers/parser_rie.py", line 67, in get_event_list for event in rie.of(self._calendar).between( ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 1124, in of return CalendarQuery( ^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 972, in init component_adapter.collect_components(calendar, self._skip_errors) File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 640, in collect_components result.append(Series(components)) ^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 335, in init raise InvalidCalendar( recurring_ical_events.InvalidCalendar: The event definition for 040000008200E00074C5B7101A82E0080000000010C47F73AFFBD60100000000000000001000000026C93D2AFAD562499E22423388A2FA79 only contains modifications.
All my calendars are shown as empty.
Also having this issue., But it works when reverting back to 2024.8.2
async_get_events: Trimble: Failed to parse ICS! Traceback (most recent call last): File "/config/custom_components/ics_calendar/calendar.py", line 266, in async_get_events event_list = self.parser.get_event_list( ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/ics_calendar/parsers/parser_rie.py", line 67, in get_event_list for event in rie.of(self._calendar).between( ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 1124, in of return CalendarQuery( ^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 972, in init component_adapter.collect_components(calendar, self._skip_errors) File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 640, in collect_components result.append(Series(components)) ^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 335, in init raise InvalidCalendar( recurring_ical_events.InvalidCalendar: The event definition for 63p27l030b2hsb8sedpkv1r701@google.com only contains modifications.
Same thing with 2024.9.1. I'm rolling back to 2024.8.2.
This error has been fixed in the python-recurring-ical-events library. Hopefully the next version bump will fix this in HomeAssistant
There was a new release of recurring-ical-events today, and I don't observe the problem with it. I also got the time today to finish off the other changes I've been very slowly working on, and I've made a release today. Please check with version 5.0.0, and report here if that fixes the problems for you. Please pay special attention to the release notes for this version.
I have updated to 5.0 but I am still seeing the issue. I have recently completely migrated my HA system to another device so I haven't been able to recreate this upstream yet.
same issue also here, updated to 5.0 and reconfigured via ui.
url tested: https://www.formula1.it/agcalarm.ics
Logger: homeassistant.helpers.entity
Source: helpers/entity.py:942
First occurred: 06:33:30 (1 occurrences)
Last logged: 06:33:30
Update for calendar.formula_1 fails
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 942, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1302, in async_device_update
await hass.async_add_executor_job(self.update)
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/ics_calendar/calendar.py", line 202, in update
self.data.update()
File "/usr/src/homeassistant/homeassistant/util/__init__.py", line 184, in wrapper
result = method(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/ics_calendar/calendar.py", line 319, in update
self.parser.set_content(self._calendar_data.get())
File "/config/custom_components/ics_calendar/parsers/parser_ics.py", line 33, in set_content
self._calendar = Calendar(re.sub(self._re_method, "", content))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/ics/icalendar.py", line 69, in __init__
self._populate(containers[0]) # Use first calendar
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/ics/component.py", line 59, in _populate
parser(self, lines) # Send a list or empty list
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/ics/parsers/icalendar_parser.py", line 71, in parse_vevent
calendar.events = set(map(event_factory, lines))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/ics/parsers/icalendar_parser.py", line 69, in event_factory
return Event._from_container(x, tz=calendar._timezones)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/ics/component.py", line 31, in _from_container
k._populate(container)
File "/usr/local/lib/python3.12/site-packages/ics/component.py", line 62, in _populate
parser(self, lines[0]) # Send the element
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/ics/parsers/event_parser.py", line 26, in parse_dtstart
event.begin = iso_to_arrow(line, tz_dict)
^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/ics/event.py", line 157, in begin
raise ValueError('Begin must be before end')
ValueError: Begin must be before end
Generally, the new version works, as long "Include all day events" isn't checked.
@franc6 nice to have a configuration UI now, thanks! Just some small steps to go to get, maybe, for the all day events.
Thanks for the updated reports. That's odd, since the unit tests cover most of these cases, and don't show problems parsing for the same date. I'm guessing there's something different with your setup than with mine, but I'm not sure what that could be yet, since installing 5.0.0 should have updated to the same dependency versions.
But please note for now, there's another problem with 5.0.0, and I recommend downgrading back to 4.2.0 for now. With 5.0.0, I'm now seeing calendars disappearing -- that didn't happen all day yesterday, but I won't have time to get back to this until next week.
I only use ics_calendar for my work calendar (which isn't working in either v4 or v5) so I can stay on v5 and beta test anything you need. My HA setup is back to "close enough to stable" for me to get back into the nitty gritty.
The new version 5.0.2 did it for me! Perfect! Thanks to all!
With 5.0.2 it works fine for me. Thank you!
I'll throw in I have been having this same issue. I am on 5.0.2 and reconfigured via UI. I can get it to work if I switch the parser to ICS but then the times seem off and even the events aren't accurate. It is a work calendar that only shows if I'm busy or not. I usually have it ignore free events. Here is the error:
This error originated from a custom integration. Logger: custom_components.ics_calendar.calendar Source: custom_components/ics_calendar/calendar.py:321 integration: ICS Calendar (documentation, issues) First occurred: 3:36:19 PM (1 occurrences) Last logged: 3:36:19 PM update: Work Calendar: Failed to parse ICS! Traceback (most recent call last): File "/config/custom_components/ics_calendar/calendar.py", line 321, in update self.event = self.parser.get_current_event( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/ics_calendar/parsers/parser_rie.py", line 118, in get_current_event for event in rie.of(self._calendar).between( ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 1124, in of return CalendarQuery( ^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 972, in __init__ component_adapter.collect_components(calendar, self._skip_errors) File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 640, in collect_components result.append(Series(components)) ^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 335, in __init__ raise InvalidCalendar( recurring_ical_events.InvalidCalendar: The event definition for 040000008200E00074C5B7101A82E008000000005C0A00BBF6ADD9010000000000000000100000009857DCEC4949524E84206355485148DE only contains modifications.
Here is one of the events
BEGIN:VEVENT UID:040000008200E00074C5B7101A82E00800000000E082E21C10D5D901000000000000000 010000000AE80C854F8497C4DAE8A575AAD4D9DBC RECURRENCE-ID;TZID=Eastern Standard Time:20231020T153000 SUMMARY:Free DTSTART;TZID=Eastern Standard Time:20231020T153000 DTEND;TZID=Eastern Standard Time:20231020T180000 CLASS:PUBLIC PRIORITY:5 DTSTAMP:20240912T204017Z TRANSP:TRANSPARENT STATUS:CONFIRMED SEQUENCE:2 X-MICROSOFT-CDO-APPT-SEQUENCE:2 X-MICROSOFT-CDO-BUSYSTATUS:FREE X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY X-MICROSOFT-CDO-ALLDAYEVENT:FALSE X-MICROSOFT-CDO-IMPORTANCE:1 X-MICROSOFT-CDO-INSTTYPE:3 X-MICROSOFT-DONOTFORWARDMEETING:FALSE X-MICROSOFT-DISALLOW-COUNTER:FALSE X-MICROSOFT-REQUESTEDATTENDANCEMODE:DEFAULT X-MICROSOFT-ISRESPONSEREQUESTED:FALSE END:VEVENT
Looks like it fails on the first event to fail. I removed the first one I found and then removed the calendar and added it back and found another event.
Updated to v5.0.2, completely new service configured via UI. I am also still getting the same error
Traceback (most recent call last):
File "/config/custom_components/ics_calendar/calendar.py", line 321, in update
self.event = self.parser.get_current_event(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/ics_calendar/parsers/parser_rie.py", line 118, in get_current_event
for event in rie.of(self._calendar).between(
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 1124, in of
return CalendarQuery(
^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 972, in __init__
component_adapter.collect_components(calendar, self._skip_errors)
File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 640, in collect_components
result.append(Series(components))
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/recurring_ical_events.py", line 335, in __init__
raise InvalidCalendar(
recurring_ical_events.InvalidCalendar: The event definition for 68bq8tk0lgptlose120drrk0sk@google.com only contains modifications.
I goofed earlier when updating the dependencies. They should be updated more properly now -- please install 5.0.3 and try again. If it still fails, those who know how, please report the versions of python, icalendar, and recurring_ical_events.
Thanks!
Just updated to v5.0.3 and my calendar works again!
Thank you for your hard work!
So far so good, but I deleted the troublesome events. I'll keep an eye on it to make sure it stays operational.
Recently my Google Calendar has disappeared from Home Assistant. When I checked the logs I saw many failures of:
Downloading the .ics file myself and looking for that event gave me this (obfuscated, since this is a work calendar)
The thing is this event is very old and has been in my calendar for a long time, but it only stopped working recently. I can see from the stack trace this may be in the dependency
recurring_ical_events
but figured I'd raise this here to validate that before I go opening up tickets upstream.Thanks Victor