Read the statement by Michael Teeuw here.
MMM-CalendarExt3
-
{ module: "calendar", header: "calendar source", position: "top_left", // <-- Remove this line to hide this module. config: { broadcastPastEvents: true, maximumNumberOfDays: 45, calendars: [ { symbol: "calendar-check", url: "https://ics.calendarlabs.com/709/45a0bb64/Fun_Holidays.ics", color: "red", }, { symbol: "car-side", url: "webcal://sync.roktcalendar.com/webcal/cb99a33a-87e2-47a6-a11a-69f2eb563101", color: "orange", }, { symbol: "recycle", url: "https://www.kriftel.de/kalender/abfallkalender-2023-bezirk-1-3/events.ics", color: "green", }, ] } },I just added additional calendars to the default calendar module.
It will show;
-
@MMRIZE Instead of the month i only one week or 7 days at all time displayed. Once the day has passed it should drop off.
-
@pastormingle said in MMM-CalendarExt3:
@MMRIZE Instead of the month i only one week or 7 days at all time displayed. Once the day has passed it should drop off.
weeksInView:1would one-week view of CX3. But what you really want wasdaysview of CX2, and I have dropped that view from CX3 (Because the newCalendarExt3Agendawill get the role alternately, And I think it is better organized and easy to get info.)
But if you prefer old
daysview style, just use legacy CX2 instead. -
@MMRIZE When i put in for 3 calendar it’s only displaying the one for google1 account.
{ module: "calendar", header: "calendar source", position: "top_left", // <-- Remove this line to hide this module. config: { broadcastPastEvents: true, maximumNumberOfDays: 45, calendars: [ { symbol: "calendar-check", url:"outlook", color: "red", }, { symbol: "car-side", url:"google1", color: "orange", }, { symbol: "recycle", url:"google2", color: "green", }, ] } }, { module: "MMM-CalendarExt3", position: "bottom_bar", header: "My Calendar for 3 weeks", config: { mode: 'week', } -
@pastormingle
Did you test with my example URL or yours?
I need the real URL of calendar feeds to diagnose. send URLs to my email. (eouia0819@gmail.com) -
@MMRIZE should be in your email box… thanks.
-
@pastormingle replied. From now on, let’s discuss this with email. I’ll leave the summary here later.
-
@pastormingle Seems that when i loaded the outlook.ics it takes it about 10 min loaded when add addiational calendars. I have not errors in the log but it just slow to load when you restart if you have other calendars. What could it be? Do you have a fix for this?
-
@pastormingle
Is fetching slow? Or is drawing slow? Different reason, different solution.
If fetching is slow; That is not my bad. Adjust interval of fetching calendar in calendar module.
If drawing is slow(after fetched normally); Adjust waitFetch and refreshInterval. This thing is not “FIX”, just “configuration”However more frequent Fetching would give the ics host server more traffic.
10mins late change, I think it’s sufficiently affordable. Your mirror is not the train time signboard of the station. -
@MMRIZE Not sure which is just doesn’t work till after 10 min passes… If i only put the outlook calendar in it’s instentances. where do you abjust the fetch?
-
@MMRIZE thank you so much for this! I successfully hid the times with the CSS you gave. But when I input the eventtransformer code, it causes NaN:NaN to show before all the events. Do you have any insight?
) -
@whimsicality
Show me what you did. -
-
@whimsicality
Hmmm. Works for me.

Maybe your
ev.startDatewould not be a valid format. (Are you using default calendar module? Or others? - like MMM-GoogleCalendar or something)
You can check with this code.eventTransformer: (ev) => { if (!ev.isFullday) { console.log("Check", ev.title, ev.startDate) let t = new Date(ev.startDate) let time = (t.getMinutes() == 0) ? String(t.getHours()) : String(t.getHours() + ":" + t.getMinutes()) ev.title = `<span class="myTime">${time}</span> ${ev.title}` } return ev }It will show additional info in your dev-console.

-
Hello Good Sirs,
I have been banging my head against the wall for 2 days on this and cannot get my calendar to show up with any of the dates. I went back and read a few days back and saw the basic set up you did for fun holidays and tried to replicate it with the same code but I get the same results.
I can see my default running on the right side like it is supposed to. But the C3 loads on the bottom but doesn’t give any cells. (see screenshot) Just the header. I deleted the Module and reinstalled same thing. So I am assuming it is something to do with my config.
Any help is appreciated.

{ disabled:false, module: "calendar", header: "Furlong Calendar", position: "top_right", config: { broadcastPastEvents: true, // <= IMPORTANT to see past events maximumNumberOfDays: 45, calendars: [ { fetchInterval: 7 * 24 * 60 * 60 * 1000, symbol: "calendar-check", name: 'us_holiday', url: "webcal://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics", color: "rgb(235,20,16)", // <= RECOMMENDED to assign color }, { name: "Furlong Family", url: "webcal://p132-caldav.icloud.com/published/2/MTYxOTc4Nzc3MTYxOTc4N0UtCeAoDU9jR_G3F17Eh3VRz9FwPUKI9GaiJPDRlUx9w0xueLmCtnzAAks9h8v7F0TiHM6R7cKBwKH_2PXqGZ0", //color: "rgb(235,20,16)" }, { name: "Soccer", url: "https://api.playmetrics.com/calendar/304/team/111688-1156AA5E.ics", // color: "rgb(235,20,16)" }, ] } }, { module: "MMM-CalendarExt3", position: "bottom_bar", header: "My Calendar for 3 weeks", config: { mode: 'week', } }, -
@furry131 quick test… use the calendar url from the commandline
change webcal to https in the url
curl -sL the_url >somefile.icssee if it downloads the file… that is effectively all we do… download the file(it is text) and then process it…
i bet there is an error reported in the place u start MM (npm start)
-
OK I changed the webcal to https and ran the script on my terminal. Nothing happens. I ran this"
curl -sL https:://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics
"
When I run npm start, I can see some errors, but it looks like some calendar events are broadcasting.
Ready to go! Please point your browser to: http://0.0.0.0:8080 Starting chromium browser now, have patience, it takes a minute [18.08.2023 13:56.23.685] [ERROR] ERROR! Could not validate main module js file. [18.08.2023 13:56.23.688] [ERROR] ReferenceError: HTMLElement is not defined at Object.<anonymous> (/home/johnf/MagicMirror/modules/MMM-CalendarExt3/MMM-CalendarExt3.js:1:26) at Module._compile (node:internal/modules/cjs/loader:1101:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Module.require (node:internal/modules/cjs/loader:1005:19) at require (node:internal/modules/cjs/helpers:102:18) at Class.loadModuleDefaultConfig (/home/johnf/MagicMirror/modules/MMM-Remote-Control/node_helper.js:313:30) at /home/johnf/MagicMirror/modules/MMM-Remote-Control/node_helper.js:267:26 at FSReqCallback.oncomplete (node:fs:199:5) [18.08.2023 13:56.24.068] [ERROR] ERROR! Could not find main module js file for calendars [18.08.2023 13:56.27.820] [LOG] Create new calendarfetcher for url: https://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics - Interval: 3600000 [18.08.2023 13:56.27.871] [LOG] Create new calendarfetcher for url: https://p132-caldav.icloud.com/published/2/MTYxOTc4Nzc3MTYxOTc4N0UtCeAoDU9jR_G3F17Eh3VRz9FwPUKI9GaiJPDRlUx9w0xueLmCtnzAAks9h8v7F0TiHM6R7cKBwKH_2PXqGZ0 - Interval: 3600000 [18.08.2023 13:56.27.876] [LOG] Create new calendarfetcher for url: https://api.playmetrics.com/calendar/304/team/111688-1156AA5E.ics - Interval: 3600000 [18.08.2023 13:56.27.939] [INFO] Checking git for module: MMM-OpenmapWeather [18.08.2023 13:56.27.992] [INFO] Checking git for module: MMM-CalendarExt3 [18.08.2023 13:56.28.009] [INFO] Checking git for module: MMM-Remote-Control [18.08.2023 13:56.28.043] [INFO] Checking git for module: MagicMirror [18.08.2023 13:56.28.237] [INFO] Calendar-Fetcher: Broadcasting 2 events. [18.08.2023 13:56.28.426] [INFO] Calendar-Fetcher: Broadcasting 31 events. [18.08.2023 13:56.32.357] [ERROR] Moment Timezone has no data for GMT-0400. See http://momentjs.com/timezone/docs/#/data-loading/. [18.08.2023 13:56.32.358] [ERROR] Moment Timezone has no data for GMT-0400. See http://momentjs.com/timezone/docs/#/data-loading/. [18.08.2023 13:56.32.358] [ERROR] Moment Timezone has no data for GMT-0400. See http://momentjs.com/timezone/docs/#/data-loading/. [18.08.2023 13:56.32.414] [INFO] Calendar-Fetcher: Broadcasting 65 events. -
@furry131 remove the double :: from the url, only one
https://
-
Ok that fat finger was part of the download issue!!!
I do see it downloading.
here is the first date output
BEGIN:VCALENDAR VERSION:2.0 PRODID:-//Calendar Labs//Calendar 1.0//EN CALSCALE:GREGORIAN METHOD:PUBLISH X-WR-CALNAME:US Holidays X-WR-TIMEZONE:Etc/GMT BEGIN:VEVENT SUMMARY:New Year's Day DTSTART;VALUE=DATE:20230101 DTEND;VALUE=DATE:20230101 LOCATION:United States DESCRIPTION:Visit https://calendarlabs.com/holidays/us/new-years-day.php to know more about New Year's Day. \n\n Like us on Facebook: http://fb.com/calendarlabs to get updates UID:6496c24c7c2eb1687601740@calendarlabs.com DTSTAMP:20230624T101540Z STATUS:CONFIRMED TRANSP:TRANSPARENT SEQUENCE:0 END:VEVENT BEGIN:VEVENT SUMMARY:New Year's Day Holiday DTSTART;VALUE=DATE:20230102 DTEND;VALUE=DATE:20230102 LOCATION:United States DESCRIPTION:Visit https://calendarlabs.com/holidays/us/new-years-day.php to know more about New Year's Day Holiday. \n\n Like us on Facebook: http://fb.com/calendarlabs to get updates UID:6496c24c7c3541687601740@calendarlabs.com DTSTAMP:20230624T101540Z STATUS:CONFIRMED TRANSP:TRANSPARENT SEQUENCE:0 END:VEVENT -
@furry131 yeh, no holiday calendar event in the next 10 days, so … nothing of course…
try the other calendar urls
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login


