@sdetweil thanks for looking at this. I’d love to see an error of some sorts - much easier to track down! :)
I’ll strip down to a basic config.js and see if I can find something that works for me and maybe that will give some clues.
@sdetweil thanks for looking at this. I’d love to see an error of some sorts - much easier to track down! :)
I’ll strip down to a basic config.js and see if I can find something that works for me and maybe that will give some clues.
@sdetweil I get what’s in the screenshot in the console but CalendarExt3 is loaded in the browser correctly.

Note that this looks identical to what I see when running 2.29.0.
@sdetweil I updated my docker server-only install to 2.30.0 to test on. The config.js file is almost identical to what I have on my RPi and this is what I see after restarting MagicMirror:
[2025-01-01 17:45:14.379] [LOG] Starting MagicMirror: v2.30.0
[2025-01-01 17:45:14.397] [LOG] Loading config ...
[2025-01-01 17:45:14.400] [LOG] config template file not exists, no envsubst
[2025-01-01 17:45:14.790] [INFO] Checking config file /opt/magic_mirror/config/config.js ...
[2025-01-01 17:45:14.889] [INFO] Your configuration file doesn't contain syntax errors :)
[2025-01-01 17:45:14.890] [INFO] Checking modules structure configuration ...
[2025-01-01 17:45:14.971] [INFO] Your modules structure configuration doesn't contain errors :)
[2025-01-01 17:45:15.119] [LOG] Loading module helpers ...
[2025-01-01 17:45:15.123] [LOG] No helper found for module: alert.
[2025-01-01 17:45:15.140] [LOG] Initializing new module helper ...
[2025-01-01 17:45:15.141] [LOG] Module helper loaded: MMM-Wheel
[2025-01-01 17:45:15.146] [LOG] No helper found for module: MMM-Carousel.
[2025-01-01 17:45:15.194] [LOG] Initializing new module helper ...
[2025-01-01 17:45:15.195] [LOG] Module helper loaded: updatenotification
[2025-01-01 17:45:15.198] [LOG] No helper found for module: clock.
[2025-01-01 17:45:15.211] [LOG] Initializing new module helper ...
[2025-01-01 17:45:15.211] [LOG] Module helper loaded: MMM-UCDSB
[2025-01-01 17:45:15.214] [LOG] No helper found for module: weather.
[2025-01-01 17:45:15.391] [LOG] Initializing new module helper ...
[2025-01-01 17:45:15.392] [LOG] Module helper loaded: calendar
[2025-01-01 17:45:15.396] [LOG] No helper found for module: MMM-CalendarExt3.
[2025-01-01 17:45:15.397] [LOG] All module helpers loaded.
[2025-01-01 17:45:15.406] [LOG] Starting server on port 8080 ...
[2025-01-01 17:45:15.409] [WARN] You're using a full whitelist configuration to allow for all IPs
[2025-01-01 17:45:15.427] [LOG] Server started ...
[2025-01-01 17:45:15.428] [LOG] Connecting socket for: MMM-Wheel
[2025-01-01 17:45:15.429] [LOG] Starting module helper: MMM-Wheel
[2025-01-01 17:45:15.429] [LOG] Connecting socket for: updatenotification
[2025-01-01 17:45:15.430] [LOG] Starting module helper: updatenotification
[2025-01-01 17:45:15.431] [LOG] Connecting socket for: MMM-UCDSB
[2025-01-01 17:45:15.431] [LOG] Starting module helper: MMM-UCDSB
[2025-01-01 17:45:15.432] [LOG] Connecting socket for: calendar
[2025-01-01 17:45:15.432] [LOG] Starting node helper for: calendar
[2025-01-01 17:45:15.432] [LOG] Sockets connected & modules started ...
[2025-01-01 17:45:15.433] [INFO]
>>> Ready to go! Please point your browser to: http://0.0.0.0:8080 <<<
[2025-01-01 17:45:15.669] [INFO] System information:
### SYSTEM: manufacturer: ; model: Docker Container; virtual: false
### OS: platform: linux; distro: Debian GNU/Linux; release: 12; arch: x64; kernel: 5.15.49-linuxkit
### VERSIONS: electron: undefined; used node: 22.12.0; installed node: 22.12.0; npm: 10.9.0; pm2:
### OTHER: timeZone: America/Toronto; ELECTRON_ENABLE_GPU: undefined
I notice that there are no calendar events being broadcast at all (which likely makes sense since nothing has attempted to load the page yet).
After loading the site I get (calendar urls deleted):
[2025-01-01 17:48:40.701] [LOG] Create new calendarfetcher for url: Holidays.ics - Interval: 3600000
[2025-01-01 17:48:40.786] [LOG] Create new calendarfetcher for url: basic1.ics - Interval: 3600000
[2025-01-01 17:48:40.791] [LOG] Create new calendarfetcher for url: calendarId=1509643 - Interval: 3600000
[2025-01-01 17:48:40.797] [LOG] Create new calendarfetcher for url: basic2.ics - Interval: 3600000
[2025-01-01 17:48:40.803] [LOG] Create new calendarfetcher for url: basic3.ics - Interval: 3600000
[2025-01-01 17:48:40.891] [INFO] updatenotification: Updater Class Loaded!
[2025-01-01 17:48:40.892] [INFO] updatenotification: Checking PM2 using...
[2025-01-01 17:48:40.892] [INFO] updatenotification: Running in docker container, not using PM2 ...
[2025-01-01 17:48:40.893] [INFO] Checking git for module: MMM-Wheel
[2025-01-01 17:48:40.895] [INFO] Checking git for module: MMM-Carousel
[2025-01-01 17:48:40.920] [INFO] Checking git for module: MMM-UCDSB
[2025-01-01 17:48:40.942] [INFO] Checking git for module: MMM-CalendarExt3
[2025-01-01 17:48:41.003] [INFO] Calendar-Fetcher: Broadcasting 34 events from Holidays.ics.
[2025-01-01 17:48:41.021] [INFO] Checking git for module: MagicMirror
[2025-01-01 17:48:41.053] [INFO] Calendar-Fetcher: Broadcasting 61 events from calendarId=1509643.
[2025-01-01 17:48:41.112] [INFO] Calendar-Fetcher: Broadcasting 3 events from basic3.ics.
[2025-01-01 17:48:41.826] [INFO] Calendar-Fetcher: Broadcasting 294 events from basic1.ics.
[2025-01-01 17:48:42.801] [INFO] Calendar-Fetcher: Broadcasting 282 events from basic2.ics.
The basic3.ics calendar event show in MMM-CalendarExt3 but nothing else.
@sdetweil manual upgrade. I also did a reinstall of the modules I use since nodes changed.
MMM-CalendarExt3 was installed/working with 2.30.0 as it shows up and has the info for one of the calendars but not for all calendars.
2.30.0 doesn’t seem to be playing nicely with MMM-CalendarExt3 in my setup and I don’t see any clues in the logs as to why. Default calendar modules appears to be working as expected and I can see that the Calendar-Fetcher is broadcasting events for all of my calendars.
Oddly, events from one of the 5 calendars I’m using do appear in MMM-CalendarExt3 correctly. Changing order of calendar definitions in the config.js make no difference.
The only error I see in logs is shown below but this appears to be related to a known issue in MMM-RemoteControl and MMM-CalendarExt3 (and the error goes away if I disable MMM-RemoteControl) which is also present when I’m running 2.29.0.
0|mm | [2025-01-01 15:51:41.985] [ERROR] ERROR! Could not validate main module js file.
0|mm | [2025-01-01 15:51:41.992] [ERROR] ReferenceError: HTMLElement is not defined
0|mm | at Object.<anonymous> (/home/pi/MagicMirror/modules/MMM-CalendarExt3/MMM-CalendarExt3.js:6:26)
0|mm | at Module._compile (node:internal/modules/cjs/loader:1484:14)
0|mm | at Module._extensions..js (node:internal/modules/cjs/loader:1564:10)
0|mm | at Module.load (node:internal/modules/cjs/loader:1295:32)
0|mm | at Module._load (node:internal/modules/cjs/loader:1111:12)
0|mm | at c._load (node:electron/js2c/node_init:2:17025)
0|mm | at Module.require (node:internal/modules/cjs/loader:1318:19)
0|mm | at require (node:internal/modules/helpers:179:18)
0|mm | at Class.loadModuleDefaultConfig (/home/pi/MagicMirror/modules/MMM-Remote-Control/node_helper.js:317:30)
0|mm | at /home/pi/MagicMirror/modules/MMM-Remote-Control/node_helper.js:271:26
0|mm | at FSReqCallback.oncomplete (node:fs:198:5)
I have since done a revert to 2.29.0 and with the exact same config.js etc, MMM-CalendarExt3 is working fine. I’m going to try and spin up a server only version of 2.30.0 to poke at since I can’t wipe out my main installation.
@sdetweil OK thanks for the info. If I can squeeze in some time tomorrow I might give the dev branch a try.
Just in case it’s of any use, I looked at two other repeating events that are working and noticed that the RRULE format is different vs the one that isn’t working:
RRULE:FREQ=WEEKLY;WKST=SU;UNTIL=20250227T045959Z
RRULE:FREQ=WEEKLY;WKST=SU;UNTIL=20250530T035959Z;BYDAY=TH
I’ve had this happen a couple times and so far been unable to determine what is wrong. Sometimes deleting the event in the source calendar (Google) and recreating it “fixes” the issue in MMM-CalendarExt3.
“Gym class” event should repeat weekly on Wednesday at 9PM starting Jan 8. Somehow it’s duplicated to Thursday Jan 9 and then repeats on Thursdays going forward?

This is the actual event (with stuff redacted for privacy) and I don’t see anything different vs other events I have created the same way.
BEGIN:VEVENT
DTSTART;TZID=America/Toronto:20250108T210000
DTEND;TZID=America/Toronto:20250108T220000
RRULE:FREQ=WEEKLY;UNTIL=20250227T020000Z
DTSTAMP:20241229T031726Z
UID:42C7D549-D128-46CB-BF43-E380916F7698
CREATED:20241229T025652Z
LAST-MODIFIED:20241229T031355Z
LOCATION:Gym
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Gym class
TRANSP:OPAQUE
X-APPLE-STRUCTURED-LOCATION;VALUE=URI;X-ADDRESS="XXX";X-APPLE-MAPKIT-HANDLE=XXX;X-APPLE-RADIUS=XXX;X-APPLE
-REFERENCEFRAME=1;X-TITLE=XXX
X-APPLE-TRAVEL-START;ROUTING=CAR;VALUE=URI;X-ADDRESS="XX";X-APPLE-MAPKIT-HANDLE=XX;X
-APPLE-RADIUS=XX;X-APPLE-REFERENCEFRAME=0;X-TITLE=XXX
X-APPLE-TRAVEL-DURATION;VALUE=DURATION:PT5M
END:VEVENT
@MMRIZE thanks for the details! I spent some time working with this and ended up leaving it as the default behaviour.
Scenario: A multiday event starts on Thursday and ends on Tuesday which means there is a multiday event bar that goes from Thursday to Tuesday (inclusive) on my calendar. The problem is that the event isn’t actually occurring on the weekend days (Saturday and Sunday for me) - the event is only applicable to the weekdays.
Is there any way to prevent the event from showing on Saturday and Sunday?
Unfortunately I don’t control the source calendar so I can’t modify it.
I tried sliceMultiDayEvents: true on the default calendar module source but that doesn’t appear to have made any difference in MMM-CalendarExt3. I was thinking I could use that and then figure out how to make the sliced event not show on the specific days.