MagicMirror Forum
    • Recent
    • Tags
    • Unsolved
    • Solved
    • MagicMirror² Repository
    • Documentation
    • 3rd-Party-Modules
    • Donate
    • Discord
    • Registreren
    • 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 Gesloten Verplaatst Tutorials
    162 Berichten 58 Plaatsers 344.9k Weergaven 65 Watching
    Meer berichten laden...
    • Oudste berichten bovenaan
    • Meest recente berichten bovenaan
    • Meeste stemmen
    Reageren
    • Reageren als onderwerp
    Aanmelden om te reageren
    Dit onderwerp is verwijderd. Alleen gebruikers met beheerrechten op onderwerpniveau kunnen dit inzien.
    • L Offline
      l0cal
      voor het laatst aangepast door

      That sounds good for me. Does it work with reminders on the same way?

      BehB schwoediauerS 2 Antwoorden Laatste antwoord Reageren Citeren 0
      • BehB Offline
        Beh @Doubleve
        voor het laatst aangepast door

        @Doubleve Hmmm…

        Maybe you have to allow your localhost address to the MagicMirror ipWhiteList option in your config. Just add ipWhitelist: ["127.0.0.1", "::ffff:127.0.0.1"], to your config right before the modules option. Maybe the calendar module can not access the .ics file if this is not allowed…

        1 Antwoord Laatste antwoord Reageren Citeren 0
        • BehB Offline
          Beh @l0cal
          voor het laatst aangepast door

          @l0cal Yes this should work.

          Just add "VTODO" to the item_types array in your vdirsyncer config as described in the vdirsyncer docs here: https://vdirsyncer.pimutils.org/en/stable/config.html?highlight=VEVENT#storage-caldav.

          L 1 Antwoord Laatste antwoord Reageren Citeren 0
          • L Offline
            l0cal @Beh
            voor het laatst aangepast door

            @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

            1 Antwoord Laatste antwoord Reageren Citeren 0
            • R Offline
              ribermon
              voor het laatst aangepast door

              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 Antwoord Laatste antwoord Reageren Citeren 0
              • BehB Offline
                Beh @ribermon
                voor het laatst aangepast door

                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 Antwoorden Laatste antwoord Reageren Citeren 0
                • R Offline
                  ribermon @Beh
                  voor het laatst aangepast door

                  Dit bericht is verwijderd!
                  1 Antwoord Laatste antwoord Reageren Citeren 0
                  • R Offline
                    ribermon @Beh
                    voor het laatst aangepast door

                    @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 Antwoord Laatste antwoord Reageren Citeren 0
                    • BehB Offline
                      Beh @ribermon
                      voor het laatst aangepast door 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 Antwoord Laatste antwoord Reageren Citeren 0
                      • B Offline
                        bgz
                        voor het laatst aangepast door

                        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 Antwoord Laatste antwoord Reageren Citeren 0
                        • 1
                        • 2
                        • 3
                        • 4
                        • 5
                        • 16
                        • 17
                        • 2 / 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