Read the statement by Michael Teeuw here.
MMM-CalendarExt2 not showing all events
-
Recently I have noticed that MMM-CalendarExt2 stopped showing the events of all my configured calendars. Some calendars are read but ignored it seems. It used to work and then it stopped. And I can’t for the life of me figure out what’s wrong. I’ve already followed the hints here but that did not change anything or I got it wrong.
This is my configuration
{ module: "MMM-CalendarExt2", config: { rotateInterval: 500*60, defaultSet: { view: { hideOverflow: true, filterPassedEvents: false, dateFormat: "ddd DD.MM", locale: "de-DE", maxItems: 500, }, calendar: { maxItems: 500, beforeDays: 7, afterDays: 365, } }, calendars: [ { name: "Ferien 2020", url: "webcal://www.schulferien.org/xxx" }, { name: "Feiertage 2020", url: "webcal://www.schulferien.org/xxx", }, { name: "itslearning 1", url: "webcal://xxx", }, { name: "itslearning 2", url: "webcal://xxx", }, { name: "Termine A", url: "https://caldav.xxx/?export", auth: { method: "digest", user: "", pass: "" } }, { name: "Müll", url: "https://xxx", icon: "bi-trash" }, { name: "Termine B", url: "https://caldav.xxx/?export", auth: { method: "digest", user: "", pass: "" } }, { name: "Termine C", url: "https://caldav.xxx/?export", auth: { method: "digest", user: "", pass: "" } }, { name: "Termine D", url: "https://caldav.xxx/?export", auth: { method: "digest", user: "", pass: "" } }, { name: "Termine E", url: "https://caldav.xxx/?export", auth: { method: "digest", user: "", pass: "" } }, { name: "Geburtstage", url: "https://caldav.xxx/?export", icon: "cil-birthday-cake", auth: { method: "digest", user: "", pass: "" } }, ], views: [ { name: "upcoming_daily", mode: "upcoming", position: "top_left", calendars: ["itslearning 1", "Termine A", "Termine B", "Termine C", "Termine D", "Termine E"], slotCount: 5, maxDays: 5, slotSubTitle: "", slotTitle: "Nächste Termine...", useEventTimeRelative: false, }, { name: "daily_daily", mode: "daily", type: "row", slotCount: 7, position: "bottom_bar", calendars: ["Feiertage 2020", "Termine A", "Termine B", "Termine C", "Termine D", "Termine E"], }, { name: "upcoming_school", mode: "upcoming", position: "top_left", calendars: ["itslearning 1", "itslearning 2"], slotCount: 5, maxDays: 5, slotSubTitle: "", slotTitle: "Nächste Schultermine...", useEventTimeRelative: false, }, { name: "daily_school", mode: "daily", type: "row", slotCount: 7, position: "bottom_bar", calendars: ["Ferien 2020", "Feiertage 2020", "itslearning 1", "itslearning 2"], }, { name: "upcoming_yearly", mode: "upcoming", position: "top_left", calendars: ["Geburtstage", "Müll"], slotCount: 5, maxDays: 5, slotSubTitle: "", slotTitle: "Nächste Termine...", useEventTimeRelative: false, transform: (event) => { if (event.title.startsWith("Abfuhr: ")) { event.title = event.title.replace("Abfuhr: ", ""); } return event; }, }, { name: "daily_yearly", mode: "daily", type: "row", slotCount: 7, position: "bottom_bar", calendars: ["Geburtstage", "Müll"], }, ], scenes: [ { name: "daily", views: ["upcoming_daily", "daily_daily"], }, { name: "yearly", views: ["upcoming_yearly", "daily_yearly"], }, { name: "school", views: ["upcoming_school", "daily_school"], } ], }, },
I’ve also noticed an error occuring when reading one of the calendars. I’ve double checked the url, it’s correct. This is the log:
[2020-11-11 18:06:27.327] [LOG] Starting MagicMirror: v2.13.0 [2020-11-11 18:06:27.339] [LOG] Loading config ... [2020-11-11 18:06:27.348] [LOG] Loading module helpers ... [2020-11-11 18:06:27.351] [LOG] No helper found for module: alert. [2020-11-11 18:06:27.430] [LOG] Initializing new module helper ... [2020-11-11 18:06:27.431] [LOG] Module helper loaded: updatenotification [2020-11-11 18:06:27.433] [LOG] No helper found for module: clock. [2020-11-11 18:06:28.231] [LOG] Initializing new module helper ... [2020-11-11 18:06:28.233] [LOG] Module helper loaded: MMM-CalendarExt2 [2020-11-11 18:06:28.234] [LOG] All module helpers loaded. [2020-11-11 18:06:28.420] [LOG] Starting server on port 8080 ... [2020-11-11 18:06:28.439] [LOG] Server started ... [2020-11-11 18:06:28.440] [LOG] Connecting socket for: updatenotification [2020-11-11 18:06:28.442] [LOG] Connecting socket for: MMM-CalendarExt2 [2020-11-11 18:06:28.443] [LOG] Sockets connected & modules started ... [2020-11-11 18:06:33.523] [LOG] Launching application. [2020-11-11 18:06:37.506] [INFO] Checking git for module: MMM-CalendarExt2 [2020-11-11 18:06:37.546] [LOG] [CALEXT2] calendar:Ferien 2020 >> Scanning start with interval:1800000 [2020-11-11 18:06:37.548] [LOG] URL :http://www.schulferien.org/xxx [2020-11-11 18:06:37.560] [LOG] [CALEXT2] calendar:Feiertage 2020 >> Scanning start with interval:1800000 [2020-11-11 18:06:37.561] [LOG] URL :http://www.schulferien.org/xxx [2020-11-11 18:06:37.565] [LOG] [CALEXT2] calendar:itslearning 1 >> Scanning start with interval:1800000 [2020-11-11 18:06:37.566] [LOG] URL :http://xxx [2020-11-11 18:06:37.568] [LOG] [CALEXT2] calendar:itslearning 2 >> Scanning start with interval:1800000 [2020-11-11 18:06:37.569] [LOG] URL :http://xxx [2020-11-11 18:06:37.571] [LOG] [CALEXT2] calendar:Termine A >> Scanning start with interval:1800000 [2020-11-11 18:06:37.572] [LOG] URL :https://xxx [2020-11-11 18:06:37.575] [LOG] [CALEXT2] calendar:Müll >> Scanning start with interval:1800000 [2020-11-11 18:06:37.576] [LOG] URL :https:/xxx [2020-11-11 18:06:37.579] [LOG] [CALEXT2] calendar:Termine B >> Scanning start with interval:1800000 [2020-11-11 18:06:37.580] [LOG] URL :https://xxx [2020-11-11 18:06:37.582] [LOG] [CALEXT2] calendar:Termine C >> Scanning start with interval:1800000 [2020-11-11 18:06:37.583] [LOG] URL :https://xxx [2020-11-11 18:06:37.584] [LOG] [CALEXT2] calendar:Termine D >> Scanning start with interval:1800000 [2020-11-11 18:06:37.586] [LOG] URL :https://xxx [2020-11-11 18:06:37.587] [LOG] [CALEXT2] calendar:Termine E >> Scanning start with interval:1800000 [2020-11-11 18:06:37.588] [LOG] URL :https://xxx [2020-11-11 18:06:37.590] [LOG] [CALEXT2] calendar:Geburtstage >> Scanning start with interval:1800000 [2020-11-11 18:06:37.591] [LOG] URL :https://xxx [2020-11-11 18:06:38.049] [LOG] [CALEXT2] calendar:itslearning 1 >> Scanned: 2, Selected: 2 [2020-11-11 18:06:38.067] [LOG] [CALEXT2] calendar:itslearning 2 >> Scanned: 4, Selected: 4 [2020-11-11 18:06:38.178] [LOG] [CALEXT2] calendar:Feiertage 2020 >> Scanned: 2, Selected: 2 [2020-11-11 18:06:38.195] [LOG] [CALEXT2] calendar:Ferien 2020 >> Scanned: 1, Selected: 1 [2020-11-11 18:06:38.361] [LOG] [CALEXT2] calendar:Termine A >> Scanned: 27, Selected: 27 [2020-11-11 18:06:38.537] [LOG] [CALEXT2] calendar:Termine B >> Scanned: 30, Selected: 30 [2020-11-11 18:06:38.690] [LOG] [CALEXT2] calendar:Geburtstage >> Scanned: 45, Selected: 45 [2020-11-11 18:06:38.792] [LOG] [CALEXT2] calendar:Termine C >> Scanned: 48, Selected: 48 [2020-11-11 18:06:38.997] [LOG] [CALEXT2] calendar:Termine D >> Scanned: 99, Selected: 99 [2020-11-11 18:06:39.093] [LOG] [CALEXT2] calendar:Termine E >> Scanned: 5, Selected: 5 [2020-11-11 18:06:45.578] [LOG] [CALEXT2] calendar:Müll >> invalid line (no token ";" or ":") "<!DOCTYPE html>"
Any help or insights would be greatly appreciated. Alternatively - as I am new to node.js - any hints as to how I could debug the module (without using copious amounts of console.log statements) would also be appreciated.
-
Sadly, with support being a minimum now due to Sean’s absence, I don’t think you’re gonna get too much support - Was it working before? when did it stop? DST change or randomly? is the ICS formatted to spec (there’s a lot of ‘junk’ to the spec, which results in calendars that work, but aren’t handled in the ICS handler for CX2)
-
Thank you for your answer.
Yes, it was working. But I had fewer calendars. I can’t really pinpoint when it stopped working. Maybe with the addition of another calendar? The thing is, the calendar that I added has very few events so I didn’t see right away if it was working or not.
Anyway, could you maybe point me in the right direction as to how I could debug the calendar? I am a developer but have no experience with node.js. I did try to debug the module by inserting console.log statements into the code but that was very cumbersome.
I guess the ICS is formatted correctly. Most of the calendars are self hosted so I don’t see a reason why some would not be working. And all of the calendars work with different apps on mobiles. -
Sadly, I’m just dabbling myself - I have no idea how CX2 works in the slightest. One of the more experienced programmers might be able to help, say, @sdetweil or someone…
-
@BKeyport I can’t help. I have not looked at this modules workings
-
@thebia42 I am guessing the Mull calendar has a badly formatted entry
its just a text file when downloaded.
I guess one line does not have the required ; or : tokensu should be able to use the grep command to find that line
grep -v : filename | grep -v ;
-
I’ll have a look at the data of the “Müll” calendar. What I don’t understand is that it works with any other program but maybe those programs are more lenient.
I’ve an idea how MMM-CalendarExt2 works but only together with MagicMirror not standalone in a development environment. But I guess I’ll figure that out eventually. Anyway, thanks for answering. If I find out anything I’ll come back here and post my findings. Maybe they’ll help somebody else one day. -
After trying for hours to debug MagicMirror and modules inside and outside of MagicMirror I finally gave up and reinstalled MMM-CalendarExt2. Lo and behold everything is working again. So the next time something goes wrong I’ll just reinstall.