Read the statement by Michael Teeuw here.
Default Calendar module frequently refreshes
-
@sdetweil said in Default Calendar module frequently refreshes:
@DarrenO-0 I rejected your post w the log entries, see the notification message I sent
The calendar entries for the logs were unique.
I removed the true component of the email address prior to the “@” and replaced them with calendaruser1… calendaruser4Incidentally, i’ve been back through the config.js file for the default calendar and found that I had specified tableClass= twice.
The fIrst instance had a value of “small” with the bulk of the other options.
The second instance had a value of “xsmall” and was between the customEvents[] and calendars[] arrays.I removed the second instance and changed the value of the first to “xsmall”.
Saving the config automatically restarted MM and it appears to have resolved the matter as it hasn’t repeated the issue in the last hour, but i’ll continue to monitor over the next couple of days.
Not sure how that one line could have caused the issue… Any ideas??? -
@sdetweil
one thing i’ve now noticed since removing the duplicate tableClass entry in the calendar module’s config, when i now run :
pm2 logs --lines=15
i am now seeing the Broadcasting ### events entries calendars update on the scheduled intervals.Prior, while i was having the issue, i would see a constant updating of the live view of pm2 logs.
-
That makes sense, but I see a lot more updates then what you describe here.
I’ve added a screenshot of the updates I get to my github issue, and I’ve added it here as well. (note that all the messages have the same length, and some are a few seconds apart.I’m not sure how to proceed in troubleshooting. When I enable debug logging, it is outputting a LOT (the whole ics file contains data from years ago).

-
@DarrenO-0 sorry, not quite sure what you’ve said here
You specified tableClass twice in the config of a single calendar module declaration?
JavaScript should take the second, and ignore the first
JSON.parse() should overlay the first w the secondAnd tableClass is only used in the presentation of the events long after the broadcast message is sent
-
@michaelarnauts For the log output, we were looking for the broadcasting xxxx events messages entries
But note they have the full URL string , which you shouldn’t post on the forum -
@sdetweil said in Default Calendar module frequently refreshes:
@DarrenO-0 sorry, not quite sure what you’ve said here
You specified tableClass twice in the config of a single calendar module declaration?
JavaScript should take the second, and ignore the first
JSON.parse() should overlay the first w the secondAnd tableClass is only used in the presentation of the events long after the broadcast message is sent
Correct, yes.
I would have assumed, and expect, that the second specified instance of “tableClass” would supersede the first, but for some reason when I removed either instance and re-saved the config, the calendar has been rock-solid and no longer performs the constant/frequent refresh outside of the fetchInterval value.Was the duplicate value the cause and removing it was the solution?
Was simply re-saving the config, to force MM to re-read it, the solution?
I don’t know, but it is all now working as expected - i see the calendar temporarily fade out and redisplay according to the configured 5min interval
When viewing the live tail of pm2 logs --lines=15, i’m no longer seeing a constant display of the “Broadcasting…” of each calendar throughout the configured fetchInterval. I now only and correctly see it update according to the fetchInterval value. -
@DarrenO-0 weird!!!
-
@sdetweil
OK, so after a few days, my MM is still on Debian12 and i’m now seeing the same constant/frequent reload of the default calendar.What logs should I be looking in and what should I be looking for in them?
-
@DarrenO-0 in the output of npm start
There will be a lineBroadcasting xxx events for calendar yyyy
Where yyyy is the full url configured in the calendarThat line will have a timestamp at the beginning of the line
That is the output of the calendar module fetcher and starts the delivery to the front end to display
If you use pm2 that content is captured for you
You could use grep to extract just those lines
cd ~/.pm2/logs
lsFind the right filename.
Pm2_app name-out.loggrep Broadcasting fffff
Where fffff is the file name you selected
Note the file is added to each time MagicMirror is restarted unless you clear it first
pm2 flush
To clearBefore posting in a public place, make sure to mangle the url on each line so as not to expose your working cal url
