Hello i tried to install a custom calendar integration but am stuck at this 2 issue’s now that i cant seem to fix.
The TimeTree Component
I really hope you can help me with that
- Error :
File "/usr/src/homeassistant/homeassistant/components/calendar/__init__.py", line 340, in get
[
File "/usr/src/homeassistant/homeassistant/components/calendar/__init__.py", line 341, in <listcomp>
dataclasses.asdict(event, dict_factory=_api_event_dict_factory)
File "/usr/local/lib/python3.10/dataclasses.py", line 1238, in asdict
raise TypeError("asdict() should be called on dataclass instances")
TypeError: asdict() should be called on dataclass instances
- Error:
File "/usr/src/homeassistant/homeassistant/components/calendar/__init__.py", line 273, in state
if event.start_datetime_local <= now < event.end_datetime_local:
AttributeError: 'dict' object has no attribute 'start_datetime_local'
the part where i think it is refering to ;
class EntitiesCalendarData:
"""
Class used by the Entities Calendar Device service object to hold all entity events.
This is analogous to the GoogleCalendarData found in the Google Calendar
component.
The 'update' method polls for any updates to the entities. This is throttled to every
MIN_TIME_BETWEEN_UPDATES minutes.
"""
def __init__(
self,
hass,
calendar
):
"""Initialize an Entities Calendar Project."""
self.event = None
self._hass = hass
self._name = calendar.attributes.name
self._calendar = calendar
global timetree_object
self._entities = timetree_object.get_upcoming_events(self._calendar.id, 'Europe/Berlin', 7).data
self.all_events = []
async def async_get_events(self, hass, start_date, end_date):
"""Get all tasks in a specific time frame."""
events = []
for entity in self._entities:
start = entity.attributes.start_at
start = dt.parse_datetime(start)
end = entity.attributes.end_at
end = dt.parse_datetime(end)
if start is None:
continue
if start_date < start < end_date:
allDay = entity.attributes.all_day
event = {
"uid": entity.id,
"summary": entity.attributes.title,
"start": { "date": start.strftime('%Y-%m-%d') } if allDay else { "dateTime": start.isoformat() },
"end": { "date": end.strftime('%Y-%m-%d') } if allDay else { "dateTime": end.isoformat() },
"allDay": allDay,
}
events.append(event)
return events