Hey Guys, I’m sorry I can’t help you right now.
I currently have my examination period at my university. So I’m super busy right now… I’ll be able to help in a week or so…
Read the statement by Michael Teeuw here.
Posts
-
RE: Sync private iCloud calendar with MagicMirror
-
RE: Sync private iCloud calendar with MagicMirror
@ildottore I configured the syncer config to only synchronize calendar events with the property
item_types = ["VEVENT"]
. The CalDav function only supports the items like"VEVENT"
and"VTODO"
.I think, that iOS/macOS does not store the birthdays directly in the calendars but adds the birthdays via the Contacts.app to the Calendar.app.
Maybe you can achieve showing birthdays by syncing the contacts with
vdirsyncer
as described in the docs here and somehow extract the birthdays. But I think this would be quite costly…Or you can use the MagicMirror module MMM-iCloud-Client maybe…
-
RE: MMM-Wifi_QR-Code
Yeah, this sounds nice! I’m currently working on a module that shows a QR-Code next to the newsfeed to get to the corresponding news article fast and convenient.
When I’m done with that I could write such a module.
-
RE: Sync private iCloud calendar with MagicMirror
@bgz Please read answers carefully. If it doesn’t exist, just create it. I described the creation in my last answer.
-
RE: Sync private iCloud calendar with MagicMirror
Hey, @bgz! No problem, I’m glad to help if I have time for that :)
first: the path should be
/home/pi/.vdirsyncer/config
you forgot the slash after “pi”additionally, it seems, that the folder does not exist. Please make sure, that the folder
.vdirsyncer
exists in your user’s home directory. You can create it by typingmkdir .vdirsyncer
when you are inside the home directory -
RE: Sync private iCloud calendar with MagicMirror
@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: -
RE: Sync private iCloud calendar with MagicMirror
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)"
-
RE: Sync private iCloud calendar with MagicMirror
@l0cal Yes this should work.
Just add
"VTODO"
to theitem_types
array in yourvdirsyncer
config as described in the vdirsyncer docs here: https://vdirsyncer.pimutils.org/en/stable/config.html?highlight=VEVENT#storage-caldav. -
RE: Sync private iCloud calendar with MagicMirror
@Doubleve Hmmm…
Maybe you have to allow your localhost address to the MagicMirror
ipWhiteList
option in your config. Just addipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1"],
to your config right before themodules
option. Maybe the calendar module can not access the.ics
file if this is not allowed… -
RE: Sync private iCloud calendar with MagicMirror
@Doubleve Did you change the first line of the file to
#!/usr/bin/python3
?