Read the statement by Michael Teeuw here.
Calendar Module and Google Private ical URL - Invalid UNTIL value
-
Hello. New user here and excited to try to implement something from this project for my household.
We use a lot of google calendaring, so I went straight for the calendar module and attempted to connect my google calendar link using the “secret address in iCal format” from the integrations section of the google calendar settings.
I’m running into an error and some googling and searching of this forum hasn’t led me to an obvious solution.
When I plug it into the config.js file and save, MM immediately reloads but then throws an error in the display:
Error in the calendar module. Check the logs for more details
I check the pm2 logs, and here is what appears to be the error section:
[2025-10-08 22:33:17.914] [ERROR] Calendar Error. Could not fetch calendar: https://calendar.google.com/calendar/ical/*****/basic.ics Error: Invalid UNTIL value: 230108T154000 at untilStringToDate (/home/debian/MagicMirror/node_modules/rrule/dist/es5/rrule.js:370:15) at parseDtstart (/home/debian/MagicMirror/node_modules/rrule/dist/es5/rrule.js:2165:23) at parseRrule (/home/debian/MagicMirror/node_modules/rrule/dist/es5/rrule.js:2189:19) at parseLine (/home/debian/MagicMirror/node_modules/rrule/dist/es5/rrule.js:2174:16) at Array.map (<anonymous>) at RRule.parseString (/home/debian/MagicMirror/node_modules/rrule/dist/es5/rrule.js:2151:10) at RRule.fromString (/home/debian/MagicMirror/node_modules/rrule/dist/es5/rrule.js:3178:32) at Object.END (/home/debian/MagicMirror/node_modules/node-ical/ical.js:640:30) at Object.handleObject (/home/debian/MagicMirror/node_modules/node-ical/ical.js:690:39) at Object.parseLines (/home/debian/MagicMirror/node_modules/node-ical/ical.js:742:18) at Object.parseICS (/home/debian/MagicMirror/node_modules/node-ical/ical.js:778:18) at sync.parseICS (/home/debian/MagicMirror/node_modules/node-ical/node-ical.js:203:15) at autodetect.parseICS (/home/debian/MagicMirror/node_modules/node-ical/node-ical.js:234:17) at /home/debian/MagicMirror/modules/default/calendar/calendarfetcher.js:59:18 at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
I have just completed the MM install on a fresh debian 11 install after running apt upgrade.
FWIW I did try this with another google calendar URL, and that one worked, but the initial one is the main family calendar and is the one I really want/need to be integrated. I was able to get the calendar to load using the MMM-Googlecalendar module using a bearer token approach, but that limits me in other ways related to the display format (I think).
Any help in figuring out where this problem is coming from (can I identify the troublesome event[s]?) or how to fix it would be much appreciated. Thank you!
-
@benhmin can you download the ics data
In a terminal window do
curl -sL the_calendar_url > somefile.txt
Then you can edit/examine somefile.txt to locate that event
BEGIN:VEVENT….END:VEVENTAs MagicMirror hasn’t received the parsed data yet our debug won’t help
The value should be 20230108
We parse millions of calendar entries a day over all the implementations, this is the first I have of this problemhere is an example RRULE clause with until
RRULE:FREQ=weekly;UNTIL=20260504T230000Z;INTERVAL=1
-
Thanks @sdetweil. I did end up downloading the ICS and finding the event in Google Calendar. It was some sort of weird situation where there was an old event that had a repeating frequency and an end date that was before the event itself. How did that happen in the first place I don’t know!?
Anyway after modifying that event the whole thing is working again, so thank you and this one can go in the closed bin. Good to know how to troubleshoot this now.
-