Read the statement by Michael Teeuw here.
2.32.0 Calendar module limitDays and excludedEvents stopped working
-
@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 > magicmirror@2.32.0 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 npm@11.4.2 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.
-
@AndyHazz Unfortunately, I don’t know if I can help any further here. The error message (
[ERROR] table not found in HTML.
) is indeed from MMM-Scrapey - I have created a pull request for the module to improve logging, at least in the future.