Read the statement by Michael Teeuw here.
MMM-Calendar not seem to load .ics
-
Today I have installed a fresh copy of MagicMirror on my PI.
When I edit the calendar config and a update and restart my MagicMirror pid. The calander comes with an error: " Calendar Error. Could not fetch calendar"
When I try the URL on the raspberrry pi itself it does download an .ics file which I can open and can see lines of text.
Anyone has an idea what could possible gowrong here.
In did work in the past with the same URL, like a year ago.
-
@Dennis-010 do you mean the default calendar built into mm?
I cannot find a module called MMM-Calendar
if u mean the default
can you show the config.js section for the calendarxxx out the url
-
@sdetweil
Thank you for replying, I hope you can make something out of it.I posted a snap from the config and some errors from the log.
{ module: "calendar", header: "Agenda", position: "top_left", config: { coloredText: true, fade: false, calendars: [ { url: "https://www.xxx.xx/ical/xxxx@xxx.xx/Calendar.ics", symbol: "calendar-check", color: "#ffb350" } ] } },
[1917:1023/200030.144271:ERROR:gbm_wrapper.cc(253)] Failed to export buffer to dma_buf: Bestand of map bestaat niet (2)
[ERROR] Calendar Error. Could not fetch calendar: https://www.xxx.xx/ical/xxxxs@xxx.xx/Calendar.ics TypeError: terminated
-
@Dennis-010 said in MMM-Calendar not seem to load .ics:
https://www.xxx.xx/ical TypeError: terminated
this seems to indicate a problem with the server not sending the required info. ( and terminating the connection before the complete transmission was received) . the new internal fetch is enforcing the spec, which the prior node-fetch did not.
can u identify what
https://www.xxx.xx
this is exactly?
-
This is the url of my Kerio mailserver. It is my own dedicated server running in NL.
You asked to xxx out the url right?If the connection is terminated before completion of the transmission, why is it that if I just paste the url in the default browser on raspberry, I just get to download the .ics file? What am I missing here?
-
@Dennis-010 the browser has error recovery code that we don’t, probably. they’ve had fetch for a long time. years…
this is one of the.problens w trying to keep up with changes and general supportability .
-
@sdetweil
Point is, it has worked before… like a charm for over 2 years.
Recently we moved to another house and we have not been using the mirror for 8-9 months, now I reinstalled the OS and modules and now the calendar stopped working.Is there any way I can try and sort out what the source of this issue could be?
-
@Dennis-010 I hear you.
none of the code that needs to be debugged is ours(mm) it’s all lower layers.
let me see if there is a hacky way to help you out.
-
I’'l be happy to test and try out things or methods to fix this issue.
Thanks in advance -
ok, lets try this
cd ~/MagicMirror/modules/default/calendar cp calendarfetcher.js savefetcher.js nano calendarfetcher.js
then insert this line
const Log = require("logger"); const fetchit = require('node-fetch'); //<----- add this line const NodeHelper = require("node_helper");
then add this line
const nodeVersion = Number(process.version.match(/^v(\d+\.\d+)/)[1]); let fetcher = null //<------ add this line let httpsAgent = null;
then later change this
fetch(url, { headers: headers, agent: httpsAgent })
to this
if (fetcher === null) { fetcher = fetchit(url, { headers: headers, agent: httpsAgent }); } fetcher
then save, (ctrl-o)
and exit nano (ctrl-x)then
cd ~/MagicMirror npm install node-fetch@2
then npm start
calendar should come up
mine works…