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.2k 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
      last edited by

      Hi,

      I am using the default MM calendar since ages with two Google urls. Since a week? one of them is not working anymore.

      {
      url: https://calendar.google.com/calendar/ical/email%40gmail.com/private-6.../basic.ics
      }
      

      The ICS is generated and seems to be fine.

      Any ideas?

      KR,
      Bert

      S 2 Replies Last reply Reply Quote 0
      • S Offline
        sdetweil @bdeelman
        last edited by

        @bdeelman can you show me the config for the module, xxx out the url as here

        how many events are in there

        Sam

        How to add modules

        learning how to use browser developers window for css changes

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

          @bdeelman also, can you look in the log output for any error messages

          log is where you do npm start
          if you are using pm2 to launch MagicMirror
          then

          pm2 logs --lines=nnn

          where nnn is the nunbrr of lines to show, default 15

          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 @sdetweil
            last edited by

            Hi Sam,

            Total number of events: 3080. 58 upcoming. So maybe too much?

            I use MM at a Docker and that did not use PM2. The one from karsten13.

            Ton of DEBUG with no errors. He is spitting all VEVENT form the past years.

            KR,
            Bert

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

              @bdeelman yes, the calendar source sends everything, so its a memory hog, and i think we run out of memory.
              another person reported similar problem

              also if you have maxevents set that includes past events
              ive thought of a fix for that, but havent come up with a good answer

              we have maximumnumber of days so we look forward AND back that range, default a year. but that’s 2 years.

              what part of that range is important?

              then we have maxevents. starting at either end is wrong. but we start at the oldest. might never have any future events in the max range

              i think there should be two lists
              all old
              future, limited by days/max events

              but no one expects two lists (breaking part)

              another hacky way is one list. we find today and the apply limits on the forward part

              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,

                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 Offline
                  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 Offline
                      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
                        • 1
                        • 2
                        • 1 / 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