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.

    2.30.0 and MMM-CalendarExt3 missing calendars

    Scheduled Pinned Locked Moved Solved Troubleshooting
    29 Posts 3 Posters 5.6k Views 4 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.
    • M Offline
      MMRIZE
      last edited by

      I think I found it.

      Add these into the default calendar module.

      maximumEntries: 100,
      maximumNumberOfDays: 365,
      

      2f9dec1e-0058-4adf-9dbf-f2ede9db800c-image.png

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

        @MMRIZE the default
        maxEntries is 10

        !IMG_0601.png

        Sam

        How to add modules

        learning how to use browser developers window for css changes

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

          @MMRIZE was in 2.29 as well

          Sam

          How to add modules

          learning how to use browser developers window for css changes

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

            @sdetweil I can confirm that setting maximumEntries:100 allows events to show on CalendarExt3 for the specific “Holiday” calendar in my test config.js.

            However, there’s something else that is coming into play. If I switch to a very busy calendar (300+ events) I actually get nothing showing up in CalendarExt3 but I can see that the events are in the calendar module. I used @MMRIZE eventPayload hook to dump to console and the events I’m getting start in Jan 2024.

            Note: I switched to maximumEntries:20 for this test.

            [Info] sorting events count=20 (calendar.js, line 699)
            [Log] Array (20) (config.js, line 308)
            0 {title: "Paradigm ", startDate: "1704891600000", endDate: "1704898800000", fullDayEvent: false, recurringEvent: true, …}
            1 {title: "Paradigm ", startDate: "1706101200000", endDate: "1706108400000", fullDayEvent: false, recurringEvent: true, …}
            2 {title: "Paradigm ", startDate: "1707310800000", endDate: "1707318000000", fullDayEvent: false, recurringEvent: true, …}
            3 {title: "Paradigm ", startDate: "1708520400000", endDate: "1708527600000", fullDayEvent: false, recurringEvent: true, …}
            4 {title: "Tour", startDate: "1709391600000", endDate: "1709394300000", fullDayEvent: false, recurringEvent: false, …}
            5 {title: "Paradigm ", startDate: "1709730000000", endDate: "1709737200000", fullDayEvent: false, recurringEvent: true, …}
            6 {title: "Paradigm ", startDate: "1710936000000", endDate: "1710943200000", fullDayEvent: false, recurringEvent: true, …}
            7 {title: "Paradigm ", startDate: "1712145600000", endDate: "1712152800000", fullDayEvent: false, recurringEvent: true, …}
            8 {title: "Paradigm ", startDate: "1713355200000", endDate: "1713362400000", fullDayEvent: false, recurringEvent: true, …}
            9 {title: "Paradigm ", startDate: "1714564800000", endDate: "1714572000000", fullDayEvent: false, recurringEvent: true, …}
            10 {title: "Paradigm ", startDate: "1715774400000", endDate: "1715781600000", fullDayEvent: false, recurringEvent: true, …}
            11 {title: "Paradigm ", startDate: "1716984000000", endDate: "1716991200000", fullDayEvent: false, recurringEvent: true, …}
            12 {title: "Paradigm ", startDate: "1718193600000", endDate: "1718200800000", fullDayEvent: false, recurringEvent: true, …}
            13 {title: "Paradigm ", startDate: "1719403200000", endDate: "1719410400000", fullDayEvent: false, recurringEvent: true, …}
            14 {title: "Paradigm ", startDate: "1720612800000", endDate: "1720620000000", fullDayEvent: false, recurringEvent: true, …}
            15 {title: "Amie and Jeff’s Anniversary ", startDate: "1721116800000", endDate: "1721203200000", fullDayEvent: true, recurringEvent: true, …}
            16 {title: "Paradigm ", startDate: "1721822400000", endDate: "1721829600000", fullDayEvent: false, recurringEvent: true, …}
            17 {title: "Paradigm ", startDate: "1723032000000", endDate: "1723039200000", fullDayEvent: false, recurringEvent: true, …}
            18 {title: "Paradigm ", startDate: "1724241600000", endDate: "1724248800000", fullDayEvent: false, recurringEvent: true, …}
            19 {title: "Paradigm ", startDate: "1725451200000", endDate: "1725458400000", fullDayEvent: false, recurringEvent: true, …}
            

            I then set broadcastPastEvents:false and I still get events from Jan 2024.

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

              @redfishbluefish yes see my posts over here

              https://forum.magicmirror.builders/topic/19273/mmm-calendarext3-not-showing-events-on-calendar-but-does-on-list-after-2-30-update

              Sam

              How to add modules

              learning how to use browser developers window for css changes

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

                @sdetweil I saw your note in the other thread about setting maximumEntries per calendar. I guess it means with this change there’s more thought required to determine the “right” values for each of the calendars you want to add.

                Example: As of today, Jan 2, this configuration for the calendar will show the “New Year’s Day” event on CalendarExt3:

                config: {
                	broadcastPastEvents: true,
                	calendars: [
                	{
                		url: "https://ics.calendarlabs.com/39/f7480acf/Canada_Holidays.ics",
                		name: "can_holiday",
                		maximumEntries: 16,
                	},
                },
                

                The following configuration will not show the “New Year’s Day” event:

                config: {
                	broadcastPastEvents: true,
                	calendars: [
                	{
                		url: "https://ics.calendarlabs.com/39/f7480acf/Canada_Holidays.ics",
                		name: "can_holiday",
                		maximumEntries: 15,
                	},
                },
                

                If I set maximumNumberOfDays: 180 then it actually changes the start date of the event array sliding window and the “New Year’s Day” event will show if maximumEntries: 15.

                Which makes me realize that the combination of:

                broadcastPastEvents: true,
                maximumNumberOfDays: 365, // default value
                

                will actually return 2 years worth of events (assuming you don’t exceed the maximumEntries setting).

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

                  @redfishbluefish well… could be up to 2 years if maximumNumberOfDays is 365 (default)

                  for each calendar ({…url…})
                  get the cal maximumEvents (specified, or default if not)

                  //new code
                  save that ONLY cal maximumEvents on the list of total events
                  this COULD clip off events…
                  //
                  old code , save cal events on list of total events (all from cal)
                  //
                  we process the ical in the order presented, we ‘assume’ it is date ordered,
                  but do not check…

                  sort the events by date   // ONLY time ALL events are sorted in order explicitly
                     this WILL intermingle events from different cals by date
                  

                  send that to the other modules
                  in the ui
                  clip list to the FIRST maximumEvents. (old and new)
                  we COULD have too many OLD events and end up with no UPCOMING events in the list

                  I’ve been thinking about that problem… and i think the only non-disruptive way to fix it is to clip NEW events only… that means we would have to FIND the point in the list for first new event, or last old event

                  so it there are 300 events, and max entries is 10, today we use the first 10, and could throw away 290
                  if in the 300 its 250 old and 50 new, we would never see the new, even with maxevents set to 200
                  but if we JUST clipped new
                  we would have sent 260… 250 and 10 new then we wouldn’t have these crazy UI troubles with maxevents flooding the screen (cause maxevents 10 would give us 10 for the screen)
                  because we had to get maximum events up to get to the new ones in the total list

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

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

                    @sdetweil thank you for supporting the calendar module!

                    For my specific use case, I don’t display the default calendar module, it’s just used to fetch and broadcast events for CalendarExt3. With this in mind, the idea of a sliding window centered on a date (today in most cases) makes the most sense to me.

                    Is there a reason why the default for maximumEntries is 10? I had assumed performance but it looks like this is actually what’s used to control the number of events displayed.

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

                      @redfishbluefish i do not know, been that way since i got here in 2017. i assume it was for the display list.

                      generally you try to add without breaking old stuff.

                      i didn’t start working on cal til 21, when our users kept having trouble. same thing as now. mostly work on the event parser

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

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

                        @redfishbluefish
                        apply this fix
                        see
                        https://forum.magicmirror.builders/topic/19282/version-2-30-0-calendar-fix-for-clipping-broadcast-events

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

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