Great post and the calendars seem to work fine. But I can’t add calenders to the dashboard in a friendly way for the calendar type ‘custom:calendar-card’ is unknown. Any help would be nice.
For ‘custom:calendar-card’ to work, you need the following plugin: https://github.com/ljmerza/calendar-card
I’ve a question myself:
The iCloud calendar integration works pretty good, thank y’all for that (also for the really concise instructions how to get the necessary URLs!).
So, in theory, i can now get all my iCloud calendars into Home Assistant - yay
However, i’ve only one (shared) calendar which i’m interested in and have that one also configured:
calendar:
- platform: caldav
username: !secret icloud_username
password: !secret icloud_app_specific_password
url: !secret icloud_url
calendars:
- Kalender-icloud
That one’s working fine - however, i want to also include a “public” iCloud calendar, which is available via an URL:
https://p05-calendars.icloud.com/holiday/DE_de.ics
“Deutsche Feiertage” - “German public holidays”
I didn’t manage to add this one, yet - what i’ve tried so far is adding another calendar in the configuration (via the ics-Integration from HACS):
- platform: ics
calendars:
- name: Feiertage
url: https://p05-calendars.icloud.com/holiday/DE_de.ics
includeAllDay: true
However, the calendar didn’t turn up
Any pointers?
Found it, thank you!
I found this thread as I’ve been struggling to get calendar.family working in my setup. In the end I renamed the calendar in iCloud to something else and now working.
Same issue here. CalDav works for private calendars. However, much more interested in a public calendar. Current get an error:
“Entity id already exists - ignoring: calendar.family”
I don’t want to rename the calendar in iCloud. Ics could be one option: ICS Calendar platform
So it seems (to me) the custom calendar doesn’t work anymore in the latest version of Home Assistant. I now use the new Lovelace calendar card but I liked the one I had better. Any ideas how to get the old look back?
Im using iCloud Calendar and Atomic Calendar Add-on. Works great.
And do you use something like this as well?
dateBottomFormat: ddd
dateTopFormat: DD
entities:
- entity: calendar.familie
name: Gezinsagenda
hideHeader: false
hideTime: false
numberOfDays: ‘2’
progressBar: true
showEventOrigin: false
showLocation: false
showLocationIcon: false
showMultiDay: false
startFromToday: false
timeFormat: ‘HH:mm’
title: Gezinsagenda
type: ‘custom:calendar-card’
type: 'custom:atomic-calendar-revive'
entities:
- entity: calendar.werk
color: red
- entity: calendar.vangrail
color: red
- entity: calendar.werk_admin
color: orange
firstDayOfWeek: 1
maxDaysToShow: 10
name: Werk
locationLinkColor: black
dateFormat: LL
defaultMode: Event
showDeclined: true
showDate: true
sortByStartTime: true
showRelativeTime: true
untilText: g
showLastCalendarWeek: true
disableCalEventLink: false
noEventsForTodayText: Nothing
fullDayEventText: All Day
showCurrentEventLine: true
showMonth: true
showFullDayProgress: true
showWeekDay: true
showNoEventsForToday: true
showEventIcon: false
hideFinishedEvents: true
disableCalLocationLink: false
dimFinishedEvents: true
showLoader: true
hoursFormat: 'HH:mm'
showProgressBar: true
progressBarColor: red
showColors: true
Aaaah, ok, that works. Thank you!!!
Does this calendar has the same problem as the calendar used to select the dates for logbook entries? This date selector always has the week start on sunday, which is not acceptable because the week starts on Monday.
It does indeed start on sunday, but that is not really my problem. I do not want the calender view, just the items for today and tomorrow.
anyone know how to enable subscribed calendars from iCloud?
If you ever find out, let me know - that’s something i’ve tried (and failed) myself (also asked in this thread, but haven’t gotten a reply/hint).
I’m struggling a bit with this integration. I followed the instructions linked above and got the “magic URL” to a shared, private iCloud calendar that we’ll call “Automated Family.” Added the following config with and without a calendars
block:
calendar:
- platform: caldav
username: !secret icloud_login
password: !secret icloud_password
url: !secret icloud_url
I fat-fingered the URL initially and got an error in the log, so it seems to be picking up the config. After fixing the URL, there are no errors in the log, but also no calendar entities. I also searched for variations of cal, dav, and “Automated Family” in the entities list to no avail, and the “Calendar” tab doesn’t show anything (not sure if it should or not).
There aren’t many recent updates to this thread, so not sure the problem is the fact that this is a shared iCloud calendar between my wife and I, or something has gone wrong on the HA or iCloud side. Any help would be appreciated as my goal is to get our “family calendar” displayed somewhere so that the kids can see it and see their weekly activities vs. writing them on the chalkboard every week. A successful execution likely makes the case for an e-Ink display project as well
Thanks!
perhaps you could try this url field: url: https://caldav.icloud.com
YES!!! Much like T.S. Eliot I have done a grand exploration only to arrive where I started and know the place for the first time. Changing the URL and ignoring all the fancy curl action above works perfectly!
Hi! I’m trying to add my calendar but iy seems i’m missing something.
Here is my conf:
#calendrier icloud
calendar:
- platform: caldav
username: my apple id
password: my apple pass
url: webcal://p31-caldav.icloud.com/published/2/lotsOfCharacters
And the log:
Logger: homeassistant.components.calendar
Source: components/caldav/calendar.py:77
Integration: Calendrier (documentation, issues)
First occurred: 16:12:43 (1 occurrences)
Last logged: 16:12:43
Error while setting up caldav platform for calendar
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 200, in _async_setup_platform
await asyncio.shield(task)
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/homeassistant/homeassistant/components/caldav/calendar.py", line 77, in setup_platform
calendars = client.principal().calendars()
File "/usr/local/lib/python3.8/site-packages/caldav/davclient.py", line 124, in principal
return Principal(self)
File "/usr/local/lib/python3.8/site-packages/caldav/objects.py", line 381, in __init__
cup = self.get_properties([dav.CurrentUserPrincipal()])
File "/usr/local/lib/python3.8/site-packages/caldav/objects.py", line 227, in get_properties
response = self._query_properties(props, depth)
File "/usr/local/lib/python3.8/site-packages/caldav/objects.py", line 130, in _query_properties
return self._query(root, depth)
File "/usr/local/lib/python3.8/site-packages/caldav/objects.py", line 164, in _query
ret = getattr(self.client, query_method)(
File "/usr/local/lib/python3.8/site-packages/caldav/davclient.py", line 138, in propfind
return self.request(url or self.url, "PROPFIND", props,
File "/usr/local/lib/python3.8/site-packages/caldav/davclient.py", line 250, in request
r = requests.request(method, url, data=to_wire(body),
File "/usr/local/lib/python3.8/site-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 649, in send
adapter = self.get_adapter(url=request.url)
File "/usr/local/lib/python3.8/site-packages/requests/sessions.py", line 742, in get_adapter
raise InvalidSchema("No connection adapters were found for {!r}".format(url))
requests.exceptions.InvalidSchema: No connection adapters were found for 'webcal://p31-caldav.icloud.com/published/2/LotdsOfCharacters/'
I’ve tried with url https://caldav.icloud.com/published/2/lotsofcharacters with no luck:
Logger: homeassistant.components.calendar
Source: components/caldav/calendar.py:77
Integration: Calendrier (documentation, issues)
First occurred: 16:21:57 (1 occurrences)
Last logged: 16:21:57
Error while setting up caldav platform for calendar
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 200, in _async_setup_platform
await asyncio.shield(task)
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/homeassistant/homeassistant/components/caldav/calendar.py", line 77, in setup_platform
calendars = client.principal().calendars()
File "/usr/local/lib/python3.8/site-packages/caldav/davclient.py", line 124, in principal
return Principal(self)
File "/usr/local/lib/python3.8/site-packages/caldav/objects.py", line 381, in __init__
cup = self.get_properties([dav.CurrentUserPrincipal()])
File "/usr/local/lib/python3.8/site-packages/caldav/objects.py", line 227, in get_properties
response = self._query_properties(props, depth)
File "/usr/local/lib/python3.8/site-packages/caldav/objects.py", line 130, in _query_properties
return self._query(root, depth)
File "/usr/local/lib/python3.8/site-packages/caldav/objects.py", line 164, in _query
ret = getattr(self.client, query_method)(
File "/usr/local/lib/python3.8/site-packages/caldav/davclient.py", line 138, in propfind
return self.request(url or self.url, "PROPFIND", props,
File "/usr/local/lib/python3.8/site-packages/caldav/davclient.py", line 277, in request
raise ex
caldav.lib.error.AuthorizationError: AuthorizationError at 'https://caldav.icloud.com/published/2/lotsofcharacters', reason 'Unauthorized'
Nevermind, i’ve managed to make it work!
Here is the correct config:
#calendrier icloud
calendar:
- platform: caldav
username: apple id
password: generated with appleid.apple.com
url: https://caldav.icloud.com
calendars:
- test
The name of the calendars has to be the same that icloud’s.