Read the statement by Michael Teeuw here.
Sync private iCloud calendar with MagicMirror
- 
 That sounds good for me. Does it work with reminders on the same way? 
- 
 @Doubleve Hmmm… Maybe you have to allow your localhost address to the MagicMirror ipWhiteListoption in your config. Just addipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1"],to your config right before themodulesoption. Maybe the calendar module can not access the.icsfile if this is not allowed…
- 
 @l0cal Yes this should work. Just add "VTODO"to theitem_typesarray in yourvdirsyncerconfig as described in the vdirsyncer docs here: https://vdirsyncer.pimutils.org/en/stable/config.html?highlight=VEVENT#storage-caldav.
- 
 @Beh yeah that are good news for me. in the last few weeks I was looking for a solution for it and I did not find anything 
- 
 I have a question So far I managed to sync one calendar from one iCloud account, but I would like to sync also a second calendar from a second iCloud account, is this possible? Thanks 
 Ricardo
- 
 Hey @ribermon! Yes, this should be possible. You just have to add another configuration scheme for your second icloud account to the vdirsyncer config. I didn’t try it, but something like that should work: # vdirsyncer configuration for MagicMirror. # # Move it to ~/.vdirsyncer/config or ~/.config/vdirsyncer/config and edit it. # Run `vdirsyncer --help` for CLI usage. # # Optional parameters are commented out. # This file doesn't document all available parameters, see # http://vdirsyncer.pimutils.org/ for the rest of them. [general] # A folder where vdirsyncer can store some metadata about each pair. status_path = "~/.vdirsyncer/status/" # CALDAV Sync for iCloud 1 [pair iCloud1_to_MagicMirror] a = "Mirror_iCloud1" b = "iCloud1" collections = ["HERE-GOES-THE-UUID-OF-THE-CALENDAR-YOU-WANT-TO-SYNC"] # Calendars also have a color property metadata = ["displayname", "color"] [storage Mirror_iCloud1] # We need a single .ics file for use with the mirror (Attention! This is really slow on big amounts of events.) type = "singlefile" # We'll put the calendar file to a readable location for the calendar module path = "/home/pi/MagicMirror/modules/calendars/%s.ics" [storage iCloud1] type = "caldav" url = "https://caldav.icloud.com/" # Authentication credentials username = "YOUR-ICLOUD-EMAIL-ADDRESS" password = "HERE-GOES-YOUR-APP-SPECIFIC-ICLOUD-PASSWORD" # We only want to sync in the direction TO the mirror, so we make iCloud readonly read_only = true # We only want to sync events item_types = ["VEVENT"] # We need to keep the number of events low, so we'll just sync the next month # Adjust this to your needs start_date = "datetime.now() - timedelta(days=1)" end_date = "datetime.now() + timedelta(days=30)" # CALDAV Sync for iCloud 2 [pair iCloud2_to_MagicMirror] a = "Mirror_iCloud2" b = "iCloud2" collections = ["HERE-GOES-THE-UUID-OF-THE-CALENDAR-YOU-WANT-TO-SYNC"] # Calendars also have a color property metadata = ["displayname", "color"] [storage Mirror_iCloud2] # We need a single .ics file for use with the mirror (Attention! This is really slow on big amounts of events.) type = "singlefile" # We'll put the calendar file to a readable location for the calendar module path = "/home/pi/MagicMirror/modules/calendars/%s.ics" [storage iCloud2] type = "caldav" url = "https://caldav.icloud.com/" # Authentication credentials username = "YOUR-ICLOUD2-EMAIL-ADDRESS" password = "HERE-GOES-YOUR-APP-SPECIFIC-ICLOUD2-PASSWORD" # We only want to sync in the direction TO the mirror, so we make iCloud readonly read_only = true # We only want to sync events item_types = ["VEVENT"] # We need to keep the number of events low, so we'll just sync the next month # Adjust this to your needs start_date = "datetime.now() - timedelta(days=1)" end_date = "datetime.now() + timedelta(days=30)"
- 
 This post is deleted!
- 
 @Beh I manage to discover the calendars from my second iCloud account but then I don’t manage to sync my calendars there, any idea, thanks 
- 
 @ribermon No I have no idea. But since this is actually a vdirsyncer-problem and has nothing to do with the mirror itself, I suggest you dig thevdirsyncer-Documentation:
- 
 Hi Beh Sorry if I´m too newbie… I´m following your step-by step and I get stuck in one place… When creating a config file, I type: touch ~/.vdirsyncer/configand I get: 
 Can´t do ‘touch’ on ‘/home/pi.vdirsyncer/config’: The file or directory doesn´t existWhat am I doing wrong? Thanks. 


