Read the statement by Michael Teeuw here.
2.32.0 Calendar module limitDays and excludedEvents stopped working
-
For a long time I’ve used limitDays: ‘1’, and excludedEvents: [ ‘Tutor Time’ ], to limit my calendar display to show my kids upcoming lessons for the day, synced from their school calendar.
Since the last update, limitDays seems to limit the number of events that show, rather than the number of days. Setting it to ‘1’ shows the first lesson of the day, ‘2’ shows the first two lessons etc.
excludedEvents also seems to have no effect any more … the first event of every day is ‘Tutor Time’ so I exclude that, but it has started appearing since the latest update.
I can’t see anything in the release notes that’d explain that ?
-
@AndyHazz I don’t see any change in the code for limitDays, but it is expecting a number not text, so remove the quotes. As ‘1’ is 48 decimal
There was a rewrite of the event parser (not by me), I don’t see any difference here, but your string has a space.
Can you add
, "DEBUG"
to the logLevel config property (up at the top of config.js
And start MagicMirror like this from a terminal window
( Make sure to stop any instance running under pm2 first)npm start >somefile.txt
Wait til the events are shown
Then ctrl-q on the MagicMirror screen
Examine the contents of somefile.txt
Or send to me, same userid as here at gmail
Note the log will contain the full calendar url. I won’t use it, but don’t paste the unedited file anywhere -
@sdetweil ah - I did have ‘limitDays: 1’ previously but added the quotes to try and fix - I’ve removed them again but either way seems to make no difference.
I’m not sure how to get the debug log out though, as I’m using a docker setup, not pm2, and can’t figure out how to stop the running instance first (so it looks like it fails to start fully) - here’s what I get:
docker exec -it mm bash node@magicmirroros:/opt/magic_mirror$ npm start > [email protected] start > node --run start:x11 [2025-07-07 12:55:11.034] [LOG] Starting MagicMirror: v2.32.0 [2025-07-07 12:55:11.114] [LOG] Loading config ... [2025-07-07 12:55:11.125] [LOG] config template file not exists, no envsubst [2025-07-07 12:55:13.444] [INFO] Checking config file /opt/magic_mirror/config/config.js ... [2025-07-07 12:55:13.892] [INFO] Your configuration file doesn't contain syntax errors :) [2025-07-07 12:55:13.898] [INFO] Checking modules structure configuration ... [2025-07-07 12:55:14.362] [INFO] Your modules structure configuration doesn't contain errors :) [2025-07-07 12:55:14.890] [LOG] Loading module helpers ... [2025-07-07 12:55:15.014] [LOG] Initializing new module helper ... [2025-07-07 12:55:15.022] [LOG] Module helper loaded: MMM-mmpm [2025-07-07 12:55:15.892] [LOG] Initializing new module helper ... [2025-07-07 12:55:15.894] [LOG] Module helper loaded: MMM-Remote-Control [2025-07-07 12:55:16.549] [LOG] Initializing new module helper ... [2025-07-07 12:55:16.551] [LOG] Module helper loaded: MMM-AuroraWatchUK [2025-07-07 12:55:18.106] [LOG] MMM-Scrapey node helper is starting... [2025-07-07 12:55:18.108] [LOG] Initializing new module helper ... [2025-07-07 12:55:18.109] [LOG] Module helper loaded: MMM-Scrapey [2025-07-07 12:55:18.180] [LOG] Initializing new module helper ... [2025-07-07 12:55:18.182] [LOG] Module helper loaded: MMM-MoonPhase [2025-07-07 12:55:18.193] [LOG] Initializing new module helper ... [2025-07-07 12:55:18.196] [LOG] Module helper loaded: MMM-WatchDog [2025-07-07 12:55:18.201] [LOG] No helper found for module: alert. [2025-07-07 12:55:18.395] [LOG] Initializing new module helper ... [2025-07-07 12:55:18.396] [LOG] Module helper loaded: MMM-ModuleScheduler [2025-07-07 12:55:18.402] [LOG] No helper found for module: clock. [2025-07-07 12:55:19.042] [LOG] Initializing new module helper ... [2025-07-07 12:55:19.043] [LOG] Module helper loaded: calendar [2025-07-07 12:55:19.050] [LOG] No helper found for module: weather. [2025-07-07 12:55:19.141] [LOG] Initializing new module helper ... [2025-07-07 12:55:19.142] [LOG] Module helper loaded: MMM-MyGarbage [2025-07-07 12:55:19.145] [LOG] All module helpers loaded. [2025-07-07 12:55:19.177] [LOG] Starting server on port 8080 ... [2025-07-07 12:55:19.185] [WARN] You're using a full whitelist configuration to allow for all IPs [2025-07-07 12:55:19.278] [ERROR] Whoops! There was an uncaught exception... [2025-07-07 12:55:19.281] [ERROR] Error: listen EADDRINUSE: address already in use 0.0.0.0:8080 at Server.setupListenHandle [as _listen2] (node:net:1940:16) at listenInCluster (node:net:1997:12) at node:net:2206:7 at process.processTicksAndRejections (node:internal/process/task_queues:90:21) { code: 'EADDRINUSE', errno: -98, syscall: 'listen', address: '0.0.0.0', port: 8080 } [2025-07-07 12:55:19.284] [ERROR] MagicMirror² will not quit, but it might be a good idea to check why this happened. Maybe no internet connection? [2025-07-07 12:55:19.286] [ERROR] If you think this really is an issue, please open an issue on GitHub: https://github.com/MagicMirrorOrg/MagicMirror/issues [2025-07-07 12:55:20.074] [INFO] System information: ### SYSTEM: manufacturer: ; model: Docker Container; virtual: false ### OS: platform: linux; distro: Debian GNU/Linux; release: 12; arch: arm64; kernel: 6.6.74+rpt-rpi-v8 ### VERSIONS: electron: undefined; used node: 22.17.0; installed node: 22.17.0; npm: 10.9.2; pm2: ### OTHER: timeZone: Europe/London; ELECTRON_ENABLE_GPU: undefined
-
@AndyHazz yeh, another place where docker is unhelpful
Maybe on the docker host
docker compose down mm
docker compose up mm > somefile.txt -
@sdetweil if I cd into /opt/mm/run I can get some output but still looks like it fails before giving anything useful:
docker compose up > somefile.txt [+] Running 5/5 ✔ Container watchtower Created0.0s ✔ Container xserver Created0.0s ✔ Container init Created0.0s ✔ Container mm Created0.0s ✔ Container mmpm Created0.0s xserver | xserver | X.Org X Server 1.21.1.14 xserver | X Protocol Version 11, Revision 0 xserver | Current Operating System: Linux ad48284f7eed 6.6.74+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.74-1+rpt1 (2025-01-27) aarch64 xserver | Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_headphones=0 cgroup_disable=memory snd_bcm2835.enable_headphones=1 snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_hdmi=0 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=ttyS0,115200 console=tty1 root=PARTUUID=de21c80a-02 rootfstype=ext4 fsck.repair=yes rootwait cfg80211.ieee80211_regdom=GB video=HDMI-A-1:1920x1080M@60,rotate=270 xserver | xserver | Current version of pixman: 0.43.4 xserver | Before reporting problems, check http://wiki.x.org xserver | to make sure that you have the latest version. xserver | Markers: (--) probed, (**) from config file, (==) default setting, xserver | (++) from command line, (!!) notice, (II) informational, xserver | (WW) warning, (EE) error, (NI) not implemented, (??) unknown. xserver | (==) Log file: "/var/log/Xorg.0.log", Time: Mon Jul 7 13:42:05 2025 xserver | (==) Using system config directory "/usr/share/X11/xorg.conf.d" watchtower | time="2025-07-07T13:42:06Z" level=info msg="Watchtower 1.7.1" watchtower | time="2025-07-07T13:42:06Z" level=info msg="Using no notifications" watchtower | time="2025-07-07T13:42:06Z" level=info msg="Checking all containers (except explicitly disabled with label)" watchtower | time="2025-07-07T13:42:06Z" level=info msg="Scheduling first run: 2025-07-14 13:42:06 +0000 UTC" watchtower | time="2025-07-07T13:42:06Z" level=info msg="Note that the first check will be performed in 167 hours, 59 minutes, 59 seconds" mm | [2025-07-07 14:42:46.322] [WARN] You're using a full whitelist configuration to allow for all IPs mm | [2025-07-07 14:43:11.194] [ERROR] Mon Jul 07 2025 14:43:11 GMT+0100 (British Summer Time) - WatchDog: Heartbeat timeout. Frontend might have crashed. Exit now. mm | [2025-07-07 14:43:37.677] [WARN] You're using a full whitelist configuration to allow for all IPs mm | [2025-07-07 14:43:48.386] [ERROR] Whoops! There was an uncaught exception... mm | [2025-07-07 14:43:48.396] [ERROR] TypeError: Unexpected ? at 17, expected END: https://git.new/pathToRegexpError mm | at Iter.consume (/opt/magic_mirror/node_modules/path-to-regexp/dist/index.js:123:15) mm | at consume (/opt/magic_mirror/node_modules/path-to-regexp/dist/index.js:179:16) mm | at parse (/opt/magic_mirror/node_modules/path-to-regexp/dist/index.js:183:20) mm | at /opt/magic_mirror/node_modules/path-to-regexp/dist/index.js:294:74 mm | at Array.map (<anonymous>) mm | at pathToRegexp (/opt/magic_mirror/node_modules/path-to-regexp/dist/index.js:294:25) mm | at Object.match (/opt/magic_mirror/node_modules/path-to-regexp/dist/index.js:264:30) mm | at matcher (/opt/magic_mirror/node_modules/router/lib/layer.js:86:23) mm | at Array.map (<anonymous>) mm | at new Layer (/opt/magic_mirror/node_modules/router/lib/layer.js:93:46) mm | at router.route (/opt/magic_mirror/node_modules/router/index.js:428:17) mm | at router.route (/opt/magic_mirror/node_modules/router/index.js:428:17) mm | at Class.createApiRoutes (/opt/magic_mirror/modules/MMM-Remote-Control/API/api.js:172:24) mm | at Class.onModulesLoaded (/opt/magic_mirror/modules/MMM-Remote-Control/node_helper.js:83:10) mm | at Class.loadModuleDefaultConfig (/opt/magic_mirror/modules/MMM-Remote-Control/node_helper.js:354:25) mm | at /opt/magic_mirror/modules/MMM-Remote-Control/node_helper.js:225:14 mm | at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read/context:68:3) mm | [2025-07-07 14:43:48.397] [ERROR] MagicMirror² will not quit, but it might be a good idea to check why this happened. Maybe no internet connection? mm | [2025-07-07 14:43:48.398] [ERROR] If you think this really is an issue, please open an issue on GitHub: https://github.com/MagicMirrorOrg/MagicMirror/issues mm | [2025-07-07 14:43:48.405] [ERROR] Mon Jul 07 2025 14:43:48 GMT+0100 (British Summer Time) - WatchDog: Heartbeat timeout. Frontend might have crashed. Exit now.
… then it just gets stuck in a loop trying to restart
-
@AndyHazz You can do the following from the docker host,
docker compose up -d
this will launch you container. Then you can run the following commanddocker exec -it magicmirror bash
replacingmagicmirror
with your container name. This essentially puts you into the MagicMirror directory. You can then acces the debug log from there. -
@AndyHazz said in 2.32.0 Calendar module limitDays and excludedEvents stopped working:
Looks like an issue with MMM-Remote-Control.Which version are you using? Run
grep '"version":' package.json
in MMM-Remote-Control’s directory to find out. -
@mumblebaj for a bit more context I’m using MagicMirrorOS and it’s been great whilst it was working, but certainly seems to make dubugging harder so perhaps I’ll switch back to regular setup when I get a bit more time …
To clarify, I’m only seeing errors when trying to work around lack of access to logs in docker - if I just let the system run normally I’m not getting any errors, just an unexpected change in calendar behaviour.
docker compose up -d
works if I enter /opt/mm/run directory first.
Not sure I need that compose up command though as the container is running ok already.docker exec -it mm bash
works to get into the container, but then I can’t find any debug logs …@KristjanESPERANTO I’m not sure but I think the errors referring to MMM-Remote-Control I posted were more to do with my failed attempts to get logs from the docker container, not the original issue of calendar display … but in case you’re onto something:
> node@magicmirroros:/opt/magic_mirror/modules/MMM-Remote-Control$ grep '"version":' package.json "version": "3.1.4",
-
@AndyHazz said in 2.32.0 Calendar module limitDays and excludedEvents stopped working:
but in case you’re onto something
Not sure, but you have a rather old version of MMM-Remote-Control which is only compatible to a limited extent with MM 2.32.0. If you update MMM-Remote-Control, the start of MM may not abort like above.
-
@KristjanESPERANTO I’ve been able to update MMM-Remote-Control to 3.2.0 and you were right that stops the errors I was getting in the logs when running docker compose up.
Still doesn’t look like there are any clues there for my calendar issues though …
docker compose up > somenewfile.txt ─╯ [+] Running 6/6 ✔ Network magicmirror_default Created0.2s ✔ Container xserver Created0.8s ✔ Container watchtower Created0.7s ✔ Container init Created0.8s ✔ Container mm Created0.2s ✔ Container mmpm Created0.2s xserver | xserver | X.Org X Server 1.21.1.14 xserver | X Protocol Version 11, Revision 0 xserver | Current Operating System: Linux 2133690aa282 6.12.34+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.34-1+rpt1~bookworm (2025-06-26) aarch64 xserver | Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_headphones=0 cgroup_disable=memory snd_bcm2835.enable_headphones=1 snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_hdmi=0 vc_mem.mem_base=0x3ec00000 vc_mem.mem_size=0x40000000 console=ttyS0,115200 console=tty1 root=PARTUUID=de21c80a-02 rootfstype=ext4 fsck.repair=yes rootwait cfg80211.ieee80211_regdom=GB video=HDMI-A-1:1920x1080M@60,rotate=270 xserver | xserver | Current version of pixman: 0.43.4 xserver | Before reporting problems, check http://wiki.x.org xserver | to make sure that you have the latest version. xserver | Markers: (--) probed, (**) from config file, (==) default setting, xserver | (++) from command line, (!!) notice, (II) informational, xserver | (WW) warning, (EE) error, (NI) not implemented, (??) unknown. xserver | (==) Log file: "/var/log/Xorg.0.log", Time: Tue Jul 8 21:49:11 2025 xserver | (==) Using system config directory "/usr/share/X11/xorg.conf.d" watchtower | time="2025-07-08T21:49:12Z" level=info msg="Watchtower 1.7.1" watchtower | time="2025-07-08T21:49:12Z" level=info msg="Using no notifications" watchtower | time="2025-07-08T21:49:12Z" level=info msg="Checking all containers (except explicitly disabled with label)" watchtower | time="2025-07-08T21:49:12Z" level=info msg="Scheduling first run: 2025-07-15 21:49:12 +0000 UTC" watchtower | time="2025-07-08T21:49:12Z" level=info msg="Note that the first check will be performed in 167 hours, 59 minutes, 59 seconds" mm | [2025-07-08 22:50:02.823] [WARN] You're using a full whitelist configuration to allow for all IPs mm | [2025-07-08 22:50:26.661] [ERROR] table not found in HTML. mm | [2025-07-08 22:50:26.684] [ERROR] table not found in HTML. mm | [2025-07-08 22:50:26.765] [ERROR] Tue Jul 08 2025 22:50:26 GMT+0100 (British Summer Time) - WatchDog: Heartbeat timeout. Frontend might have crashed. Exit now. mm | [2025-07-08 22:50:26.873] [ERROR] table not found in HTML. mm | [2025-07-08 22:50:26.888] [ERROR] table not found in HTML. mm | npm notice mm | npm notice New major version of npm available! 10.9.2 -> 11.4.2 mm | npm notice Changelog: https://github.com/npm/cli/releases/tag/v11.4.2 mm | npm notice To update run: npm install -g [email protected] mm | npm notice mm | [2025-07-08 22:50:56.210] [WARN] You're using a full whitelist configuration to allow for all IPs mm | [2025-07-08 22:51:04.036] [ERROR] table not found in HTML. mm | [2025-07-08 22:51:04.866] [ERROR] Tue Jul 08 2025 22:51:04 GMT+0100 (British Summer Time) - WatchDog: Heartbeat timeout. Frontend might have crashed. Exit now. mm | [2025-07-08 22:51:24.381] [WARN] You're using a full whitelist configuration to allow for all IPs mm | [2025-07-08 22:51:42.944] [ERROR] table not found in HTML. mm | [2025-07-08 22:51:42.966] [ERROR] table not found in HTML. mm | [2025-07-08 22:52:10.109] [ERROR] table not found in HTML. mm | [2025-07-08 22:52:11.413] [ERROR] table not found in HTML.
I think the repeating ‘table not found in HTML’ error is just from my MMM-Scrapey module, as it’s looking for bus times and it’s late, the last bus has gone.