Read the statement by Michael Teeuw here.
Calendar not updating
-
pi@magicmirror:~ $ uname -a Linux magicmirror 6.1.21-v7+ #1642 SMP Mon Apr 3 17:20:52 BST 2023 armv7l GNU/Linux pi@magicmirror:~ $ lsb_release -a No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseyeStopped and re-started npm… the npm start seems to generate a rolling log output (with some sensitive info), so I’ve selected what I think is relevant to the calendar for my reply. There are no errors/warning this time :)
[02.01.2024 09:15.55.833] [LOG] Module helper loaded: calendar ... [02.01.2024 09:15.58.013] [LOG] Connecting socket for: calendar [02.01.2024 09:15.58.014] [LOG] Starting node helper for: calendar ... [02.01.2024 09:16.02.605] [LOG] Create new calendarfetcher for url: https://my.cal.url - Interval: 120000 ... [02.01.2024 09:16.27.480] [INFO] Calendar-Fetcher: Broadcasting 380 events from https://my.cal.url. [02.01.2024 09:16.47.441] [LOG] Use existing calendarfetcher for url: https://my.cal.url [02.01.2024 09:16.47.442] [INFO] Calendar-Fetcher: Broadcasting 380 events from https://my.cal.url. ... [02.01.2024 09:17.12.085] [INFO] Calendar-Fetcher: Broadcasting 380 events from https://my.cal.url.Mostly looks ok, but the “use existing calendarfetcher for url:…” concerns me.
Still, I have an event upcoming soon that should be displaying in my 5 entries that isn’t.
Thanks
-
I can also see in pm2 logs:
0|MagicMir | [02.01.2024 10:11.33.120] [ERROR] Calendar Error. Could not fetch calendar: https://my.cal.url TypeError: fetch failedI wonder why.
Getting the calendar to show in the first place was achieved by changing my baikal calendar WebDAV authentication type to ‘basic’ and setting the same in the calendar module. I’ve confirmed this is still set. -
@matt216 well the type error is the problem.
the calendar.module doesn’t recover after the error.can you open an issue on the mm GitHub page, with that info
are there any errors above that?
-
@sdetweil None that I can see.
pi@magicmirror:~/.pm2/logs $ tail --lines=1000 MagicMirror-error.log | grep calendar [02.01.2024 10:29.43.758] [ERROR] Calendar Error. Could not fetch calendar: https://my.cal.url TypeError: fetch failed [02.01.2024 10:31.53.769] [ERROR] Calendar Error. Could not fetch calendar: https://my.cal.url TypeError: fetch failedWill open an issue. Thanks for assisting. I might have a play with a couple of the other calendar modules there are out there…
-
@matt216 generally there is a more specific error earlier in the log.
if you clear it
pm2 flush
the restart
pm2 restart allyou will have the smallest output to look at
-
@sdetweil Can’t see any calendar errors in error.log now! :grinning_squinting_face:
But still my new events are not showing up when they should… -
-
@matt216 thank you… i posted a an additional grep thru the log to the issue
-
@matt216 cant see any errors… well not with the grep search you do
can u do this
pm2 stop all cd ~/MagicMirror npm start >somefile.txt 2>&1wait, til UI up with no issues, or no updates
ctrl-q on MM screen to end
edit the somefile.txt
loo at messages after “Starting server on port”
-
pi@magicmirror:~/MagicMirror $ cat somefile.txt | grep calendar [02.01.2024 14:56.40.510] [LOG] Module helper loaded: calendar [02.01.2024 14:56.42.557] [LOG] Connecting socket for: calendar [02.01.2024 14:56.42.558] [LOG] Starting node helper for: calendar [02.01.2024 14:56.46.986] [LOG] Create new calendarfetcher for url: https://my.cal.url - Interval: 120000 [02.01.2024 14:57.13.099] [INFO] Calendar-Fetcher: Broadcasting 379 events from https://my.cal.url. [02.01.2024 14:59.23.139] [ERROR] Calendar Error. Could not fetch calendar: https://my.cal.url TypeError: fetch failed -
[02.01.2024 14:59.23.139] [ERROR] Calendar Error. Could not fetch calendar: https://my.cal.url TypeError: fetch failed at Object.fetch (node:internal/deps/undici/undici:11576:11) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) { cause: ConnectTimeoutError: Connect Timeout Error at onConnectTimeout (node:internal/deps/undici/undici:8522:28) at node:internal/deps/undici/undici:8480:50 at Immediate._onImmediate (node:internal/deps/undici/undici:8511:13) at process.processImmediate (node:internal/timers:476:21) { code: 'UND_ERR_CONNECT_TIMEOUT' } }Timeout…
Let me know if the full somefile.txt by email is still wanted. -
@matt216 no… not needed…
-
@sdetweil If I enter my calendar URL in to a web browser I can download the ics file fine, FYI
-
@matt216 yes, it was a momentary delay, which caused the timeout… trying to see why the catch() block didn’t
-
@matt216 can u try updating modules/default/calendar/calendarfetcher.js like this
replace lines 58-84 with this . also added this to the issuetry { /// new code here // this will be the new line 58 fetch(url, { headers: headers, agent: httpsAgent }) .then(NodeHelper.checkFetchStatus) .then((response) => response.text()) .then((responseData) => { let data = []; try { data = ical.parseICS(responseData); Log.debug(`parsed data=${JSON.stringify(data)}`); events = CalendarFetcherUtils.filterEvents(data, { excludedEvents, includePastEvents, maximumEntries, maximumNumberOfDays }); } catch (error) { fetchFailedCallback(this, error); scheduleTimer(); return; } this.broadcastEvents(); scheduleTimer(); }) .catch((error) => { fetchFailedCallback(this, error); scheduleTimer(); }); } // new code here ========= catch(error){ console.error( "fetch for calendar url" +url + "failed error="+error.code); fetchFailedCallback(this, error); scheduleTimer(); } // end new code ===== -
@sdetweil Doesn’t like that - mirror won’t load. Got to pick up my little boy now, so reverted back (mirror loads ok again). Will try again and look at logs.
-
-
@sdetweil can you tell I’m not a developer…?!
Ok, I’ve replaced the whole block, then pm2 stop all, cd ~/MagicMirror, npm start…
Mirror starts but still no new calendar events are showing where I would expect to be. Interestingly I can see that edits to existing events that I’ve made are showing up on the mirror, so there is some communication. Just no new events are being picked up.
Thanks again,
Matt -
By existing and new events I mean with reference to the point I added the calendar server to the calendar module. That first initial sync (if that’s the right word) of the .ics file.
-
@matt216 and what do you see in the place where you npm start?
should NOT see the timeout error
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