MagicMirror² v2.13.0 is available! For more information about this release, check out this topic.

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 ":") ""
    

    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.


  • Module Developer

    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.


  • Module Developer

    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 : tokens

    u 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.


Log in to reply