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.

    Not loading one of two Google calendars

    Scheduled Pinned Locked Moved Unsolved Troubleshooting
    14 Posts 2 Posters 1.3k Views 2 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.
    • bdeelmanB Offline
      bdeelman @sdetweil
      last edited by

      Hi Sam,

      The upcoming events are important. Always looking forward ;)

      Is there a way setting variables to fix it? I can remove all old events from Google, but why? Maybe we need to import only future events.

      What will be the best solution?

      KR,
      Bert

      S 1 Reply Last reply Reply Quote 0
      • S Do not disturb
        sdetweil @bdeelman
        last edited by

        @bdeelman we cannot import only future
        we get everything the source provides when we ask for the events. google doesn’t provide a filter mechanism

        we dont parse them directly , calling a 3rd party
        lib. but they have to parse them so we can filter. and boom we die before we can filter.

        future is important. a year out? a day? a week?

        i have a rolling 3 month future view. ( was a test, but i find it useful)

        but even my all old, limited future idea doesn’t solve the total size problem

        we are publishing a bunch of fixes i have created for calendar jan 1
        this issue remains open.
        would you be willing to share your cal url, via direct message, so i can test? i don’t share any data w others

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        bdeelmanB 1 Reply Last reply Reply Quote 0
        • bdeelmanB Offline
          bdeelman @sdetweil
          last edited by

          Hi Sam,

          I’ll generate a .ics calendar file with 4500 events, including a mix of:

          Single events: Appointments, meetings, etc.
          Recurring events: Weekly or yearly recurrences for things like birthdays, anniversaries.
          Time ranges: Events spanning multiple hours or days.
          The events will cover the period from January 1st, 2019 to January 1st, 2026.

          I can put it at a website if you want? If you need an URL.

          KR,
          Bert

          S 1 Reply Last reply Reply Quote 0
          • S Do not disturb
            sdetweil @bdeelman
            last edited by sdetweil

            @bdeelman tell me where it is so I can download, will advise when done

            make sure it fails of course, to test
            put it in a directory off the MM folder then
            then url in cal

            http://localhost:mm_port/path/to_ics.file
            

            Sam

            How to add modules

            learning how to use browser developers window for css changes

            bdeelmanB 1 Reply Last reply Reply Quote 0
            • bdeelmanB Offline
              bdeelman @sdetweil
              last edited by

              Hi Sam,

              What I did, with some help of ChatGPT.

              The newly random events are working flawless. I prepared Python script to check the quality of the Google .ics file. I have 3071 events and 9 of them gave an error.

              Error parsing event: 'NoneType' object has no attribute 'dt'
              

              Indicates that one of the events in my .ics file has a missing or improperly formatted DTSTART or DTEND.

              I made another script to check how much. Nine 9 events has missing date fields. Another script to remove those 9 entries and load it into MM. And now they show up.

              But…then I saw an error at the console at the customEvents parts.

              {
                          keyword: "Verjaardag",
                          symbol: "birthday-cake",
                          color: "Gold",
                          transform: {
                            search: "^([^']*) '(\\d{4})$",
                            replace: "$1 ($2.)",
                            yearmatchgroup: 2,
                          },
                        },
              

              But with this code the other Google ics was working. Strange, without this code the two Google ics are working. So not sure if commenting the customEvents did the trick.

              I can’t revert because I deleted the “wrong” events from the calendar.

              KR,
              Bert

              S 1 Reply Last reply Reply Quote 0
              • S Do not disturb
                sdetweil @bdeelman
                last edited by

                @bdeelman ok, we dont have a dt property, so that might have been a python issue

                its ok to have start without an end , the library handles that

                do you know what the customevents error was?

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                1 Reply Last reply Reply Quote 0
                • bdeelmanB Offline
                  bdeelman
                  last edited by

                  Hi Sam,

                  [calendarutils.js:112 Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'length')
                      at Object.titleTransform (calendarutils.js:112:24)
                      at calendar.js:353:41
                      at Array.forEach (<anonymous>)
                      at Class.getDom (calendar.js:255:10)
                      at main.js:132:35
                      at new Promise (<anonymous>)
                      at updateDom (main.js:112:10)
                      at Object.updateDom (main.js:669:4)
                      at Class.updateDom (module.js:341:6)
                      at Class.socketNotificationReceived (calendar.js:210:8)](link url)
                  

                  But also with this error, both .ics are loading.

                  KR,
                  Bert

                  S 1 Reply Last reply Reply Quote 0
                  • S Do not disturb
                    sdetweil @bdeelman
                    last edited by

                    @bdeelman thx. the transform is expecting something in the title. dont know.

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    1 Reply Last reply Reply Quote 0
                    • bdeelmanB Offline
                      bdeelman
                      last edited by

                      Hi,

                      The second Google calendar was too big. I made a module to prepare a smaller ics file with only the future events.

                      And now it is working. Two Google calendars.

                      KR,
                      Bert

                      1 Reply Last reply Reply Quote 1
                      • 1
                      • 2
                      • 2 / 2
                      • 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