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.

    Calendar has stopped working

    Scheduled Pinned Locked Moved Solved Troubleshooting
    23 Posts 2 Posters 5.8k 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.
    • J Offline
      Jonsar @sdetweil
      last edited by

      @sdetweil Your help is greatly appreciated. It really is a great feature we constantly use for the family to keep everyone informed. If you can suggest a fix, that would be awesome.

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

        @Jonsar looking at it… no idea yet

        Sam

        How to add modules

        learning how to use browser developers window for css changes

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

          @Jonsar ok, fun time… MS screws us again

          they changed the format of the timezone reporting…lovely

          not our code, but the calendar parser we use (that I fixed the last 2 times)

          workaround

          cd ~/MagicMirror/node_modules/node-ical
          

          nano ical.js , scroll down to line 120
          delete the whole line and paste in the new one (cursor has to be on that line to paste it there)

          change this (line 120 is the code, 119 is the comment)

            // If this is the custom timezone from MS Outlook
            if (tz === 'tzone://Microsoft/Custom' ) {
          

          to this

            // If this is the custom timezone from MS Outlook
            if (tz === 'tzone://Microsoft/Custom' || tz === 'Customized Time Zone' || tz.startsWith('tzone://Microsoft/')) {
          

          also need to fix our code

          cd ~/MagicMirror/modules/default/calendar
          

          nano calendarutils.js

          change this , line 518

          	getIanaTZFromMS: function (msTZName) {
          		// Get hash entry
          

          to this

          	getIanaTZFromMS: function (msTZName) {
          		if(msTZName ==='Customized Time Zone'){
          			return moment.tz.guess()
          		}
          		// Get hash entry
          

          Sam

          How to add modules

          learning how to use browser developers window for css changes

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

            @sdetweil said in Calendar has stopped working:

            cd ~/MagicMirror/modules/default/calendar

            Thanks for this. It didn’t exactly work. It definitely got further than before but I ended up with this error.

            Invalid time value
            at Date.toISOString (:null:null)
            at /home/pi/MagicMirror/modules/default/calendar/calendarutils.js:314:28
            at Array.forEach (:null:null)
            at Object.filterEvents (/home/pi/MagicMirror/modules/default/calendar/calendarutils.js:142:24)
            at /home/pi/MagicMirror/modules/default/calendar/calendarfetcher.js:74:29
            at processTicksAndRejections (node:internal/process/task_queues:96:5)

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

              @Jonsar can u show me the cal event data in the logs right before the error?

              Sam

              How to add modules

              learning how to use browser developers window for css changes

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

                @sdetweil said in Calendar has stopped working:

                || tz === ‘Customized Time Zone’

                I see there were two place in ical.js

                and there is a timezone like this

                ‘Customized Time Zone 1’

                so this will fail

                tz === 'Customized Time Zone'
                

                change to this

                 tz.startsWith('Customized Time Zone')
                

                in all three places … 2 in node ical.j one in caldendarutils.js

                Sam

                How to add modules

                learning how to use browser developers window for css changes

                J 1 Reply Last reply Reply Quote 0
                • J Offline
                  Jonsar @sdetweil
                  last edited by

                  @sdetweil Thank you, but I can only find 1 place in ical.js. There is one place in calendarutils.js but it is:
                  if(msTZName === ‘Customized Time Zone’){

                  The whole error I get is:

                  [19.09.2022 21:46.41.439] [DEBUG] Search for recurring events between: Mon Sep 19 2022 21:46:41 GMT-0400 (Eastern Daylight Time) and Mon Sep 18 2023 23:59:59 GMT-0400 (Eastern Daylight Time)
                  [19.09.2022 21:46.41.441] [DEBUG] Title: Tentative: XX, with dates: [null,null]
                  [19.09.2022 21:46.41.442] [DEBUG] event.recurrences: [object Object]
                  [19.09.2022 21:46.41.449] [ERROR] Calendar Error. Could not fetch calendar: https://outlook.office365.com/owa/calendar/4d70fc7a1bf94d5ab75018902050b8f9@tssg.ca/XXXXXXcalendar.ics RangeError: Invalid time value
                  at Date.toISOString (:null:null)
                  at /home/pi/MagicMirror/modules/default/calendar/calendarutils.js:314:28
                  at Array.forEach (:null:null)
                  at Object.filterEvents (/home/pi/MagicMirror/modules/default/calendar/calendarutils.js:142:24)
                  at /home/pi/MagicMirror/modules/default/calendar/calendarfetcher.js:74:29
                  at processTicksAndRejections (node:internal/process/task_queues:96:5)

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

                    @Jonsar said in Calendar has stopped working:

                    find 1 place in ical.js. There is one place in calendarutils.js but it is:
                    if(msTZName === ‘Customized Time Zone’){

                    yes, I said above that there were actually 2… in ical.js
                    and to make the second look like the 1st

                    yes, in calendarutils, 1, which I gave instructions to change

                    if(msTZName.startsWith(‘Customized Time Zone’){

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    J 1 Reply Last reply Reply Quote 0
                    • J Offline
                      Jonsar @sdetweil
                      last edited by

                      @sdetweil Sorry, I missed the second one in ical.js. It works now! Thanks so much for your help.

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