Read the statement by Michael Teeuw here.
Sync private iCloud calendar with MagicMirror
-
Yes but is there possibility to add birthday calendar ?
Icloud or google ? -
I work mainly with Google, I haven’t personally used iCloud. Have also worked with Yahoo and Hotmail. Google is my favorite…
This is my list of calendars:

And, this is how I put into my calendar module…
"calendars": [ { "name": "Family Stuff", "symbol": "heart@fa", "url": "Calendar link here", "interval": 24*60*60*1000 }, { "name": "US Holiday", "url": "Calendar link here", "symbol": "gift@fa", "interval": 24*60*60*1000, "maxEntries": 50, "maxDays":365 }, { "name": "Birthdays", "symbol": "birthday-cake", "url": "Calendar link here" }, { // "name": "KC Chiefs", "symbol": "football-ball@fa", "url": "Calendar link here", "interval": 24*60*60*1000 }, { "name": "NFL Games", "url": "Calendar link here", "symbol": "football-ball@fa", "interval": 24*60*60*1000 }, { "name": "NFL Playoff Games", "url": "Calendar link here", "symbol": "football-ball@fa", "interval": 24*60*60*1000 }, ], -
@justjim1220 We are all able to do that, to clarify the issue. The objective is to find a way to use an iCloud calendar without having a public url, which is what your google calendar is currently using. By using a public URL, web crawlers are able to find and read your calendar events.
-
@maros you can add the bday calendar in the default calendar module by making your iCloud calendar public (tick the box circled in this screenshot), and you should be given a link that you can copy into the config file.
If you want to use google calendars, it should be similar. Just look up how to publicly share a google calendar, and get the link from there to put into your config.
-
@maros One problem (which this thread was originally trying to solve) was the inability to prevent others from accessing the calendar. If a web crawler can find your link, they too will be able to read your calendar.
-
@Albinolan but in icloud calendar Birthday calendar have not option to public.
it’s marked as others
@justjim1220 i’ve tried also this in gmail i’ve copied url for birthday calendar (public url to this calendar) and add it to my calendar module
{
symbol: “calendar”,
url: “https://calendar.google.com/calendar/xxxxxxxxxxxx”
},but it’s not showing any upcomming birthday
ok i’ve made temporary solution but it’s not ideal …
what i’ve done - open Google Calendar - Export and Import
exported all calendars to .ics
i’ve copied birthday calendar to rpi (using scp birthday.ics pi@:MagicMirror/modules/calendars)in config.js i’ve creaded new entry for newly created calendar.
problem is it’s static so if you want to add new birthday you have to edit file birthday.ics
-
First, thank you! This is great. I got three different iCal calendars to all work perfectly.
I can’t, however, seem to get a holiday calendar to show. The
vdirsyncer discoverdoesn’t show the iCal US Holiday calendar, so I can’t use the one that is provided by iCloud. So I decided to use the calendarlabs that comes as a default with MagicMirror. But it’s showing up on electron when Inpm startI’ve included my code below. Can anyone tell me why the calendarlabs US holiday calendar isn’t showing up?
Do I need to create a 4th .ics file form calendarlabs to store locally to use with vdirsyncer? Is that why the default code in MagicMirror for calendarlabs no longer works?
Thanks.
{ module: 'calendar', position: 'top_left', // This can be any of the regions. Best results in left or right regions. config: { colored: true, // Activate coloring maximumNumberOfDays: 10, maximumEntries: 7, timeFormat: 12, calendars: [ // "ME Calendar" { url: 'http://localhost:8080/modules/calendars/home.ics', symbol: 'calendar', color: '#5bc0de' // Assign color }, // "YOU Calendar" { url: 'http://localhost:8080/modules/calendars/work.ics', symbol: 'calendar', color: '#FFF000' // Assign color }, // "ME & YOU Calendar" { url: 'http://localhost:8080/modules/calendars/65839DD3-D523-48E6-931B-D2DB201A1C36.ics', symbol: 'calendar', color: '#5bbf21' // Assign color }, // "Holiday Calendar" { url: 'http://www.calendarlabs.com/templates/ical/US-Holidays.ics', symbol: 'calendar', color: '#ab00ff' // Assign color } ] } }, -
Fantastic effort! Thanks!
I’ve got everything working except the timer functionality (just doesn’t seem to take). Any ideas? -
Thanks gentlemen for allowing me to join your group. I am presently stuck on the " touch ~/.vdirsyncer/config". My pi claims I am unable to use touch. error is touch: cannot touch '/home pi/.vdirsyncer/config. No such file or directory. Do I need to be in the MagicMirror directory to execute this command?
-
@showbizkid Did you create the
.vdirsyncerfolder first? Sounds like it is not present…
