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.

    MagicMirror2 Default Calendar module does not display reoccuring Monthly, or Weekly events with in your GMT window.

    Scheduled Pinned Locked Moved Bug Hunt
    19 Posts 2 Posters 3.9k 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
      jbat66
      last edited by

      Platform [ Raspberry Pi 4 ]:

      Node Version [ “version”: “2.25.0”, ]:

      MagicMirror Version [ V2 ]:

      Description:

      MagicMirror2 Default Calendar module does not display reoccuring Monthly, or Weekly events with in your GMT window.
      What I mean is that my GMT is -7, so any reoccuring Monthly, or Weekly event with a time of (midnight -7) aka 5:00pm my time does not get displayed on the day of the event.
      Daily reoccuring events with times do not get affected.

      Using Google Calendars with Secret address in iCal format.
      I also tested Google Calendars with public address in iCal format.

      I’m GMT -7

      7 Hours before midnight is 5:00pm, and that is when reoccuring Monthly, and Weekly (but not daily) events break and do not show on MagicMirror

      Here are my test results and how you can replicate the problem.

      OK-Test weekly no time
      OK-Test monthly - today - no time
      OK-Test monthly - tomarrow - no time

      OK-test monthly 12th at 4:45pm
      OK-test-monthly 2ndtue 4:45pm
      BAD-test monthly 12th at 5:15pm
      BAD-test monthly 2ndtue at 5:15pm

      OK-test weekly at 1100am
      OK-test weekly at 1:00pm
      OK-test weekly at 4:00pm
      OK-test weekly at 4:45pm
      BAD-test weekly at 5:00pm
      BAD-test weekly at 5:15pm
      BAD-test weekly at 6:00pm
      BAD-test weekly at 11:00pm

      OK-test daily at 4:45pm
      OK-test daily at 5:00pm
      OK-test daily at 5:15pm
      OK-test daily at 11:00pm

      OK-test monthly 12th at 4:45pm
      OK-test-monthly 2ndtue 4:45pm
      BAD-test monthly 12th at 5:15pm
      BAD-test monthly 2ndtue at 5:15pm

      Steps to Reproduce: Make a weekly repeating event 15 min (as an example) before your GMT -X time, and make another one 15 min after you GMT -X time. The one after will not display.

      Expected Results: Repeading weekly or montly events that have a time in the future of today still show up until the time has past.

      Actual Results: missing events

      Configuration:

      	{
      		disabled: false,
      

      // turn this one back on
      module: “calendar”,
      header: “Jim and Paula”,
      position: “top_left”,
      config: {
      limitDays: 0, // Days to search into the future 0 is unlimited
      maximumNumberOfDays: 7, // The maximum number of days in the future. You may have to restart MM for this to work.
      maximumEntries: 10, // The maximum number of events shown.
      timeFormat: “relative”, //Display event times as absolute dates, or relative time, or using absolute date headers with times for each event next to it (absolute, relative,)
      getRelative: 0, // How much time (in hours) should be left until calendar events start getting relative? Possible values: 0 (events stay absolute) - 48 (48 hours before the event starts) Default value: 6
      urgency: 7, // If timeFormat of absolute the urgency setting display events within a specific time frame as relative. a positive integer representing the number of days for which you want a relative date Default 6
      nextDaysRelative: false, // If this is set to true, the appointments of today and tomorrow are displayed relatively, even if the timeformat is set to absolute.Default: false
      fade: false,
      fadePoint: 0.25,
      maxTitleLength: 45, // The maximum title length.
      wrapEvents: false, // Wrap event titles to multiple lines. Breaks lines at the length defined by maxTitleLength
      maxTitleLines: 1, // The maximum number of lines a title will wrap vertically before being cut (Only enabled if wrapEvents is also enabled)
      fetchInterval: 120000,
      sliceMultiDayEvents: false, // If this is set to true, events exceeding at least one midnight will be sliced into separate events including a counter like (1/2). This is especially helpful in “dateheaders” mode.
      tableClass: “small”, // Name of the classes issued from main.css. Possible values: xsmall, small, medium, large, xlarge.Default small.
      customEvents: [{keyword: ‘Birthday’, symbol: ‘birthday-cake’, color: ‘Gold’}],
      calendars: [
      {
      symbol: “gift”,
      //maximumEntries: 1,
      //maximumNumberOfDays: 7, // you have to restart MagicMirror for this to work
      //url: “webcal://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics”
      //url: “https://calendar.google.com/calendar/ical/en.usa%23holiday%40group.v.calendar.google.com/public/basic.ics” //Holidays from Google
      url: “https://calendar.google.com/calendar/ical/1111111111111111111111111111111111111111%40group.calendar.google.com/private-1111111111111111111111111111111/basic.ics” //Traditional Holidays from Jim
      },
      {
      symbol: “calendar-check”,
      //maximumEntries: 5,
      //maximumNumberOfDays: 7, // you have to restart MagicMirror for this to work
      url: “https://calendar.google.com/calendar/ical/ggggggg%40gmail.com/private-2222222222222222222222222222222222222/basic.ics” //Jims
      },
      {
      symbol: “calendar-xmark”,
      //maximumEntries: 2,
      //maximumNumberOfDays: 7, // you have to restart MagicMirror for this to work
      url: “https://calendar.google.com/calendar/ical/hhhhhhhhhhhhh%40gmail.com/private-3333333333333333333333333333333333/basic.ics” //Paulas
      },
      {
      symbol: “building”,
      //maximumEntries: 1,
      //maximumNumberOfDays: 7, // you have to restart MagicMirror for this to work
      url: “https://calendar.google.com/calendar/ical/kkkkkkkkkkkkkkkkkkkkkkkkkkkkk%40group.calendar.google.com/private-444444444444444444444444444444444444/basic.ics” //Jims Work
      }
      ]
      }
      },

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

        @jbat66 please download one of your ics files

        curl -sL url_to_calendar >somefile.txt
        

        edit the file somefile.txt

        find an event that you think didn’t display correctly

        BEGIN VEVENT
        ..
        ..
        ..
        END VEVENT
        

        change the anything u don’t want to share, and post that event here

        also tell me your timezone, (I am set to chicago, but live in texas)

        we have a known problem with the calendar parser we use, that has some timezone offset problems… but I think there is a good fix coming Jan 1 on next release

        Sam

        How to add modules

        learning how to use browser developers window for css changes

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

          @sdetweil I posted a reply, but it got rejected, let me try again.

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

            @sdetweil
            Howdy from Wyoming, I’m MDT GMT -7

            This one works
            BEGIN:VEVENT
            DTSTART;TZID=America/Denver:20231205T164500
            DTEND;TZID=America/Denver:20231205T174500
            RRULE:FREQ=WEEKLY;BYDAY=TU
            DTSTAMP:20231212T213725Z
            UID:ccccc
            CREATED:20231212T213523Z
            LAST-MODIFIED:20231212T213537Z
            SEQUENCE:2
            STATUS:CONFIRMED
            SUMMARY:test weekly at 4:45pm
            TRANSP:OPAQUE
            END:VEVENT

            Below doesn’t work
            BEGIN:VEVENT
            DTSTART;TZID=America/Denver:20231205T171500
            DTEND;TZID=America/Denver:20231205T181500
            RRULE:FREQ=WEEKLY;BYDAY=TU
            DTSTAMP:20231212T213725Z
            UID:ccccccc
            CREATED:20231212T213613Z
            LAST-MODIFIED:20231212T213613Z
            SEQUENCE:0
            STATUS:CONFIRMED
            SUMMARY:test weekly at 5:15pm
            TRANSP:OPAQUE
            END:VEVENT

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

              @jbat66 said in MagicMirror2 Default Calendar module does not display reoccuring Monthly, or Weekly events with in your GMT window.:

              171500

              yeh, 17+7=24 is a problem with the parser
              16+7=23…

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

                @sdetweil Thanks for the info. Do you think there is fix coming on next release, for this issue?

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

                  @jbat66 I think so, you can test it out

                  cd ~/MagicMirror
                  npm install node-ical@0.17.0
                  

                  and restart MagicMirror

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

                    @sdetweil said in MagicMirror2 Default Calendar module does not display reoccuring Monthly, or Weekly events with in your GMT window.:

                    npm install node-ical@0.17.0

                    I tried it, but it made no difference. :-(

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

                      @jbat66 hm… i’ll test it tomorrow morning

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

                        @jbat66 do this

                        cd ~/MagicMirror
                        npm remove luxon
                        

                        then rerun the tests… I have them both in the same ics

                        BEGIN:VCALENDAR
                        BEGIN:VEVENT
                        DTSTART;TZID=America/Denver:20231205T171500
                        DTEND;TZID=America/Denver:20231205T181500
                        RRULE:FREQ=WEEKLY;BYDAY=TU
                        DTSTAMP:20231212T213725Z
                        UID:ccccccc
                        CREATED:20231212T213613Z
                        LAST-MODIFIED:20231212T213613Z
                        SEQUENCE:0
                        STATUS:CONFIRMED
                        SUMMARY:test weekly at 5:15pm
                        TRANSP:OPAQUE
                        END:VEVENT
                        BEGIN:VEVENT
                        DTSTART;TZID=America/Denver:20231205T164500
                        DTEND;TZID=America/Denver:20231205T174500
                        RRULE:FREQ=WEEKLY;BYDAY=TU
                        DTSTAMP:20231212T213725Z
                        UID:ccccc
                        CREATED:20231212T213523Z
                        LAST-MODIFIED:20231212T213537Z
                        SEQUENCE:2
                        STATUS:CONFIRMED
                        SUMMARY:test weekly at 4:45pm
                        TRANSP:OPAQUE
                        END:VEVENT
                        END:VCALENDAR
                        

                        I put that in the calendar module folder as testing.ics
                        set my TZ to denver

                        calendar url
                        url: “http://localhost:8080/modules/default/calendar/testing.ics”
                        make sure to check the port on your config.js

                        Screenshot at 2023-12-13 08-16-02.png

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

                          @sdetweil said in MagicMirror2 Default Calendar module does not display reoccuring Monthly, or Weekly events with in your GMT window.:

                          npm remove luxon

                          Before removing luxon, I got the local ics working, but because it was for Tuesday and today is Wednesday it worked, any reoccuring in the future work, just today’s does not. So I added two entries in the local ics file for Wednesday as well as left in the Tuesday entries.

                          I also made a new google calendar and made Wednesday repeating as well. Both the local test and the google test do not show up anything after 5pm mst. I did the removal and there was no change. I did restart MM between the test. Here is the updated ICS
                          BEGIN:VCALENDAR

                          BEGIN:VEVENT
                          DTSTART;TZID=America/Denver:20231205T171500
                          DTEND;TZID=America/Denver:20231205T181500
                          RRULE:FREQ=WEEKLY;BYDAY=TU
                          DTSTAMP:20231212T213725Z
                          UID:ccccccc
                          CREATED:20231212T213613Z
                          LAST-MODIFIED:20231212T213613Z
                          SEQUENCE:0
                          STATUS:CONFIRMED
                          SUMMARY:Local test tue weekly at 5:15pm
                          TRANSP:OPAQUE
                          END:VEVENT

                          BEGIN:VEVENT
                          DTSTART;TZID=America/Denver:20231205T164500
                          DTEND;TZID=America/Denver:20231205T174500
                          RRULE:FREQ=WEEKLY;BYDAY=TU
                          DTSTAMP:20231212T213725Z
                          UID:ccccc
                          CREATED:20231212T213523Z
                          LAST-MODIFIED:20231212T213537Z
                          SEQUENCE:2
                          STATUS:CONFIRMED
                          SUMMARY:Local test tue weekly at 4:45pm
                          TRANSP:OPAQUE
                          END:VEVENT

                          BEGIN:VEVENT
                          DTSTART;TZID=America/Denver:20231206T171500
                          DTEND;TZID=America/Denver:20231206T181500
                          RRULE:FREQ=WEEKLY;BYDAY=WE
                          DTSTAMP:20231212T213725Z
                          UID:ccccccc
                          CREATED:20231212T213613Z
                          LAST-MODIFIED:20231212T213613Z
                          SEQUENCE:0
                          STATUS:CONFIRMED
                          SUMMARY:Local test wed weekly at 5:15pm
                          TRANSP:OPAQUE
                          END:VEVENT

                          BEGIN:VEVENT
                          DTSTART;TZID=America/Denver:20231206T164500
                          DTEND;TZID=America/Denver:20231206T174500
                          RRULE:FREQ=WEEKLY;BYDAY=WE
                          DTSTAMP:20231212T213725Z
                          UID:ccccc
                          CREATED:20231212T213523Z
                          LAST-MODIFIED:20231212T213537Z
                          SEQUENCE:2
                          STATUS:CONFIRMED
                          SUMMARY:Local test wed weekly at 4:45pm
                          TRANSP:OPAQUE
                          END:VEVENT

                          END:VCALENDAR

                          Here is my config.js
                          {
                          disabled: false,
                          module: “calendar”,
                          header: “Jim and Paula”,
                          position: “top_left”,
                          config: {
                          limitDays: 0, // Days to search into the future 0 is unlimited
                          maximumNumberOfDays: 30, // The maximum number of days in the future. You may have to restart MM for this to work.
                          maximumEntries: 10, // The maximum number of events shown.
                          timeFormat: “relative”, //Display event times as absolute dates, or relative time, or using absolute date headers with times for each event next to it (absolute, relative,)
                          getRelative: 0, // How much time (in hours) should be left until calendar events start getting relative? Possible values: 0 (events stay absolute) - 48 (48 hours before the event starts) Default value: 6
                          urgency: 7, // If timeFormat of absolute the urgency setting display events within a specific time frame as relative. a positive integer representing the number of days for which you want a relative date Default 6
                          nextDaysRelative: false, // If this is set to true, the appointments of today and tomorrow are displayed relatively, even if the timeformat is set to absolute.Default: false
                          fade: false,
                          fadePoint: 0.25,
                          maxTitleLength: 45, // The maximum title length.
                          wrapEvents: false, // Wrap event titles to multiple lines. Breaks lines at the length defined by maxTitleLength
                          maxTitleLines: 1, // The maximum number of lines a title will wrap vertically before being cut (Only enabled if wrapEvents is also enabled)
                          fetchInterval: 60000,
                          sliceMultiDayEvents: false, // If this is set to true, events exceeding at least one midnight will be sliced into separate events including a counter like (1/2). This is especially helpful in “dateheaders” mode.
                          tableClass: “small”, // Name of the classes issued from main.css. Possible values: xsmall, small, medium, large, xlarge.Default small.
                          customEvents: [{keyword: ‘Birthday’, symbol: ‘birthday-cake’, color: ‘Gold’}],
                          calendars: [
                          {
                          symbol: “building”,
                          url: “https://calendar.google.com/calendar/ical/bd007470089e22eace0d824caab026a2b1ef7290f6c51f166c166f7f47d551dd%40group.calendar.google.com/public/basic.ics” //testing via google public url
                          },
                          {
                          symbol: “house”,
                          url: “http://magicmirror-rv.rendezvous:8080/modules/default/calendar/testing.ics” //testing
                          }
                          ]
                          }
                          },

                          2023-12-13 11_42_07-mRemoteNG - confCons.xml - magicmirror-rv.png 2023-12-13 11_41_02-Google Calendar - December 2023 — Mozilla Firefox.png 2023-12-13 11_40_04-MagicMirror² — Mozilla Firefox.png 2023-12-13 11_43_05-MagicMirror² — Mozilla Firefox.png

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

                            @jbat66 I’ll look at that but the original events are for Tuesday, so can’t show today (Wednesday)

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

                              @sdetweil I appreciate you looking into this.
                              There should be a “Local test wed Weekly at 5:15pm” for today that doesn’t show up, and a “Google test weekly on Wed at 5:30pm” that doesn’t show up.

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

                                @jbat66 ok, for the test file the UUID values have to be unique

                                UID:ccccccc
                                

                                Screenshot at 2023-12-13 12-37-51.jpg

                                Sam

                                How to add modules

                                learning how to use browser developers window for css changes

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

                                  @sdetweil
                                  Thanks for the UID info. I have not manualy edited an ICS file before and didn’t know that.
                                  I updated the UID: to unique values, same results tho. Still missing the google and local after 5pm events.

                                  BEGIN:VCALENDAR

                                  BEGIN:VEVENT
                                  …
                                  UID:cccccc
                                  …
                                  END:VEVENT

                                  BEGIN:VEVENT
                                  …
                                  UID:ccccc
                                  …
                                  END:VEVENT

                                  BEGIN:VEVENT
                                  …
                                  UID:cccc
                                  …
                                  END:VEVENT

                                  BEGIN:VEVENT
                                  …
                                  UID:ccc
                                  …
                                  END:VEVENT

                                  END:VCALENDAR
                                  2023-12-13 12_46_04-MagicMirror² — Mozilla Firefox.png

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

                                    @sdetweil said in MagicMirror2 Default Calendar module does not display reoccuring Monthly, or Weekly events with in your GMT window.:

                                    @jbat66 ok, for the test file the UUID values have to be unique

                                    UID:ccccccc
                                    

                                    Screenshot at 2023-12-13 12-37-51.jpg

                                    On your screen shot, you should have a "Local test wed weekly at… 13th Dec, 17:15 entry, but it is missing.

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

                                      @jbat66 yes, the rrule between is confused

                                      search for recurring events between: Wed Dec 13 2023 12:41:01 GMT-0700 (Mountain Standard Time) and Wed Dec 11 2024 23:59:59 GMT-0700 (Mountain Standard Time)
                                      
                                      [13.12.2023 12:41.01.677] [DEBUG] Title: Local test wed weekly at 5:15pm, with 
                                      dates: ["2023-12-20T00:15:00.000Z","2023-12-27T00:15:00.000Z","2024-01-
                                      

                                      2023-12-20T00:15:00.000Z this is 2023-12-19T17:15:00
                                      but he clipped of
                                      2023-12-14T00:15:00.000Z, which would have been 2023-12-13T17:15:00

                                      when the start was
                                      Wed Dec 13 2023 12:41:01 but he was looking at 2023-12-13T00:15:00, which has passed… got the time rollover on TZ change wrong…

                                      not in our code… will followup w the rrule owners

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

                                        @sdetweil
                                        Thank you so much.

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

                                          @jbat66 I opened this issue, with a sample testcase

                                          returned date incorrect caused by TZ rollover #610

                                          Sam

                                          How to add modules

                                          learning how to use browser developers window for css changes

                                          1 Reply Last reply Reply Quote 0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          • 1 / 1
                                          • 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