Read the statement by Michael Teeuw here.
MMM-CalendarExt3 only one calendar not updating
-
Yea, it’s a mystery to me as well - I just know doing the manual refresh works very reliably.
I’ve had this problem on a stock pi3 b and a pi3 a+ - initially, I thought it was related to the low memory issues on the pi3 a+ - but as I update to use this new module from older ones I’ve seen it again on a stock 4gb pi3
-
@emlowe its clearly a timing issue… multiple people have encountered it…
I think you can change the waitFetch value up , depending on the time between fetchs as shown in the pm2 logs…
-
Was out for a week - some more details:
Here are relevant log entries:
0|MagicMirror | [2025-01-27 10:54:33.580] [LOG] Launching application.
0|MagicMirror | [2025-01-27 10:54:50.855] [LOG] Create new calendarfetcher for url: - Interval: 300000
0|MagicMirror | [2025-01-27 10:55:44.585] [INFO] Calendar-Fetcher: Broadcasting 23 events from
…
0|MagicMirror | [2025-01-27 11:01:33.443] [INFO] Calendar-Fetcher: Broadcasting 23 events fromSo that was about a minute to broadcast the first time, and then it follows the refresh interval reasonably closes.
I have the Ext3 module
waitFetch
set to 5 minutes (5 * 60 *1000) - well after the first broadcast. When the Ext3 module draws after 5 minutes, there is nothing in it, and it is empty with no events whatsoever. It’s like it has no data at all.I have the Ext3 module
refreshInterval
set to 7 minutes (7 * 60 * 1000) - after the 7 minutes the module will refresh and it remains empty despite the calendar having done two broadcasts. The Ext3 module will remain empty for hours.However, if I manually refresh the browser using the remotecontrol module - the Ext3 module takes 5 minutes to appear (based on
waitFetch
but will have all the data) -
@emlowe waitfetch is from CalendarExt3 start to latest broadcast
i cannot see start but latest is at 11:01:33
find start time and subtract. add a couple seconds for variability
his default waitfetch is 5 SECONDS
Then after that, next screen refresh is at updateInterval time
also 23 events seems small, if this is mm v2.23.0, you did put on the clipping fixes right?
is this the SAME calendar broadcasting?
then to its first broadcast from ext3 start -
I am on the develop branch
The entire start is at 10:54:23
[2025-01-27 10:54:23.207] [LOG] Starting MagicMirror: v2.31.0-develop
I’m not sure when Ext3Agenda starts as there is no log item specific to that afaik - but I assume it’s sometime around:
[2025-01-27 10:54:26.290] [LOG] No helper found for module: MMM-CalendarExt3Agenda.
so Ext3 start is no earlier than
10:54:23
and the first broadcast was at10:55:44
- this is much less than the 5 minutes I have manually configured forwaitFetch
.(in other words, I am waiting much longer than should be needed, but it does not work unless I manually refresh)
The log at 11:01 is the
second
broadcast of the same calendarI am only pulling 5 days of data and not broadcasting past events, 23 is correct.
module: "calendar", hiddenOnStartup: true, position: "top_left", config: { broadcastEvents: true, broadcastPastEvents: false, maximumNumberOfDays: 5, maximumEntries: 100, fetchInterval: 5 * 60 * 1000, calendars: [ { name: "family", URL: "<redacted>" } ] }
module: "MMM-CalendarExt3Agenda", position: "top_left", config: { showMiniMonthCalendar: false, firstDayOfWeek: 1, startDayIndex: 0, endDayIndex: 0, calendarSet: ['family'], waitFetch: 5 * 60 * 1000, refreshInterval: 7 * 60 * 1000, }
-
@emlowe ok, in the case of modules that only have a browser component ( no node helper) then
starting application message is the start timeanother use just resolved the same issue w waitfetch, but he had multiple calendars
https://forum.magicmirror.builders/topic/19359/mmm-calendarext3agenda-on-a-higher-screen-resolution?page=2 -
Further strangeness.
Let’s say I change
waitFetch
to something that shouldn’t work (eg 5 seconds) - clearly, this doesn’t work since the first broadcast is after a minute or so.But if I manually refresh the browser as soon as I see the log entry about the broadcast - everything appears just fine.
So for example, setting
waitFetch: 5 * 1000, refreshInterval: 2 * 60 * 1000,
Nothing will appear in the calendar - not at start (expected) and not after 2 mins (1 refresh), or 4 mins, or 10 mins or however long I want to wait - nothing.
But if I manually refresh - everything appears right away as long as I refresh
after
the broadcast log line -
@MMRIZE will have to advise. this is the depth of my knowledge
i work on the default calendar
well, one thing
when you refresh the page, all the modules web components are reloaded. the default cal sends a request to its node helper to get events. and it has them already, so sends immediatelyand of course because the default cal will be shown, its shows with the correct events, right??
-
Yea, I believe the default calender is working and broadcasting correctly - not sure exactly where Ext3Agenda is having problems - but I have a few ideas I plan to try out.
-
Bah! I have to apologize - I was on the develop branch but apparently, I was some commits behind and I think I was missing the commit that fixed the “clipping” problem
I made sure to update to the head of develop and things are working much better now. So it seems all along it has been the known issue
Doh!