MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Register
    • Login
    A New Chapter for MagicMirror: The Community Takes the Lead
    Read the statement by Michael Teeuw here.

    Sync private iCloud calendar with MagicMirror

    Scheduled Pinned Locked Moved Tutorials
    162 Posts 58 Posters 344.3k Views 65 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R Offline
      ribermon
      last edited by

      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

      BehB 1 Reply Last reply Reply Quote 0
      • BehB Offline
        Beh @ribermon
        last edited by

        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)"
        
        R 2 Replies Last reply Reply Quote 0
        • R Offline
          ribermon @Beh
          last edited by

          This post is deleted!
          1 Reply Last reply Reply Quote 0
          • R Offline
            ribermon @Beh
            last edited by

            @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

            BehB 1 Reply Last reply Reply Quote 0
            • BehB Offline
              Beh @ribermon
              last edited by Beh

              @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 the vdirsyncer-Documentation:

              https://vdirsyncer.pimutils.org/en/stable/

              1 Reply Last reply Reply Quote 0
              • B Offline
                bgz
                last edited by

                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/config
                

                and I get:
                Can´t do ‘touch’ on ‘/home/pi.vdirsyncer/config’: The file or directory doesn´t exist

                What am I doing wrong?

                Thanks.

                BehB 1 Reply Last reply Reply Quote 0
                • BehB Offline
                  Beh @bgz
                  last edited by

                  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 typing mkdir .vdirsyncer when you are inside the home directory

                  1 Reply Last reply Reply Quote 0
                  • B Offline
                    bgz
                    last edited by

                    Hi Beh.

                    For some reason I have no .vdirsyncer directory under /home/pi/

                    Any ideas?

                    Thanks for your patience.

                    bgz
                    0_1514055561829_23-12-2017 19-58-58.jpg

                    BehB schwoediauerS 2 Replies Last reply Reply Quote 0
                    • BehB Offline
                      Beh @bgz
                      last edited by

                      @bgz Please read answers carefully. If it doesn’t exist, just create it. I described the creation in my last answer.

                      Mykle1M 1 Reply Last reply Reply Quote 2
                      • Mykle1M Offline
                        Mykle1 Project Sponsor Module Developer @Beh
                        last edited by

                        @Beh said in Sync private iCloud calendar with MagicMirror:

                        Please read answers carefully

                        Amen

                        Create a working config
                        How to add modules

                        1 Reply Last reply Reply Quote 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 6
                        • 16
                        • 17
                        • 4 / 17
                        • First post
                          Last post
                        Enjoying MagicMirror? Please consider a donation!
                        MagicMirror created by Michael Teeuw.
                        Forum managed by Sam, technical setup by Karsten.
                        This forum is using NodeBB as its core | Contributors
                        Contact | Privacy Policy