Read the statement by Michael Teeuw here.
MMM-GoogleCalendar Not Loading
-
Hi there,
So I’ve gone through the installation instructions, created credentials etc, and ran authorize.js, which prints out a list of 10 events from my default google calendar in the terminal (so I am sure it must be authorizing okay.) But for the life of me, I cannot get MMM-GoogleCalendar to load! Here is the relevant section of my config.js screen (with the ID altered.):
{ module: 'MMM-GoogleCalendar', header: "Family Events", position: "top_left", config: { calendars: [ { symbol: "calendar-week", calendarID: "familyXXXXXXXXXXXXX" }, ], } },
I’ve refreshed MM a bunch of times and done a full reboot, and no luck. When I take the above out, and put the default calendar module in its place, it renders fine. Any ideas?
-
@tommertron
Exactly the same situation here. The oAuth flow worked well, upcoming appointments appear on the CLI, but the module itself does not load. Have you got any further? one question: the calendar ID seems to be simply the gmail address… is that so? Thank you for your cooperation. -
@philie can you show the messages at mm startup
-
@sdetweil
Update from my side right after the post of the message (I had to wait until the post was approved by the forum:
A simple restart of the Raspberry did the trick. It now works as expected. Side node: in my case, the calendar ID is simply the gmail address -
I’m getting the error in MM saying:
“Error in the MMM-GoogleCalendar module. Check logs for more details.”When I check the log, it shows a FetchError saying that the oauth token failed, reason: connect ETIMEDOUT. I’ve included the clip from my logs with some of my calendar info redacted. I posted it on the Github module as an issue as well.
I haven’t been able to get any of my calendars to show up using the standard calendar module or the MMM-CalendarExt3 module either. They never load. I can’t tell if it’s a Google problem, a config problem, a MagicMirror problem, or a limitation with my RPi Zero 2 W.
0|MagicMirror | Warning: vkCreateInstance: Found no drivers! 0|MagicMirror | Warning: vkCreateInstance failed with VK_ERROR_INCOMPATIBLE_DRIVER 0|MagicMirror | at CheckVkSuccessImpl (../../third_party/dawn/src/dawn/native/vulkan/VulkanError.cpp:88) 0|MagicMirror | at CreateVkInstance (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:458) 0|MagicMirror | at Initialize (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:344) 0|MagicMirror | at Create (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:266) 0|MagicMirror | at operator() (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:521) 0|MagicMirror | [24.02.2024 22:38.48.439] [ERROR] MMM-GoogleCalendar Error. Could not fetch calendar: [calendar_ID] FetchError: request to https://oauth2.googleapis.com/token failed, reason: connect ETIMEDOUT 2607:f8b0:4025:803::200a:443 0|MagicMirror | at ClientRequest.<anonymous> (/home/jwigington22/MagicMirror/modules/MMM-GoogleCalendar/node_modules/node-fetch/lib/index.js:1491:11) 0|MagicMirror | at ClientRequest.emit (node:events:514:28) 0|MagicMirror | at TLSSocket.socketErrorListener (node:_http_client:501:9) 0|MagicMirror | at TLSSocket.emit (node:events:514:28) 0|MagicMirror | at emitErrorNT (node:internal/streams/destroy:151:8) 0|MagicMirror | at emitErrorCloseNT (node:internal/streams/destroy:116:3) 0|MagicMirror | at process.processTicksAndRejections (node:internal/process/task_queues:82:21) { 0|MagicMirror | type: 'system', 0|MagicMirror | errno: 'ETIMEDOUT', 0|MagicMirror | code: 'ETIMEDOUT', 0|MagicMirror | config: { 0|MagicMirror | method: 'POST', 0|MagicMirror | url: 'https://oauth2.googleapis.com/token', 0|MagicMirror | data: 'refresh_token=[REDACTED]=refresh_token', 0|MagicMirror | headers: { 0|MagicMirror | 'Content-Type': 'application/x-www-form-urlencoded', 0|MagicMirror | 'User-Agent': 'google-api-nodejs-client/8.5.2', 0|MagicMirror | 'x-goog-api-client': 'gl-node/18.17.1 auth/8.5.2', 0|MagicMirror | Accept: 'application/json' 0|MagicMirror | }, 0|MagicMirror | paramsSerializer: [Function: paramsSerializer], 0|MagicMirror | body: 'refresh_token=[REDACTED=refresh_token', 0|MagicMirror | validateStatus: [Function: validateStatus], 0|MagicMirror | responseType: 'json' 0|MagicMirror | } 0|MagicMirror | }
-
@nuggetron22 I do not know about that module.
but Ext3 gets its events from the default calendar. it does not read from the source. -
Something seems to be wrong with v2.26.0 on how it reads in calendars. I’m not much of a coder for stuff like this, but I stumbled my way through reverting to v2.23.0 and the basic calendar module can now read my Google Private iCal file where it couldn’t on v2.26.0. I’ll try it with Ext3 and the GoogleCalendar module tomorrow and see if they work too.
-
-
ETIMEDOUT
generally happens when the server is busy, or the connection is extraordinarily slow. To prevent it,keep alive
header is recommended. (Not sure that is the reason, anyway.) -
CX3* can also be fed from MMM-GoogleCalendar. But by compatibility issues due to unmatched format, broadcasts from MMM-GoogleCalendar should be converted before consumption.
-
You can alternatively try
MMM-CalDAV
+default calendar module
instead ofMMM-GoogleCalendar
if you still have issues.
-
-
@nuggetron22 yes 2.26 has a problem w calendar parser
do thia
cd ~/MagicMirror npm install node-ical@0.16.1
restart MagicMirror
-
@sdetweil
I’ve reverted back to MM v2.23.0 and got this to work. I’m also trying to integrate it with MMM-CalenderExt3 and having some difficulties there. Still learning what needs to be updated to make them talk to each other.I’ll try going back to v2.26.0 and install the node-ical@0.16.1 and see if that fixes the calendar parser issue. Thanks for the quick replies all!