• Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
MagicMirror Forum
  • Recent
  • Tags
  • Unsolved
  • Solved
  • MagicMirror² Repository
  • Documentation
  • 3rd-Party-Modules
  • Donate
  • Discord
  • Register
  • Login
A New Chapter for MagicMirror: The Community Takes the Lead
Read the statement by Michael Teeuw here.

MMM-GoogleCalendar Not Loading

Scheduled Pinned Locked Moved Unsolved Troubleshooting
16 Posts 6 Posters 4.3k Views 6 Watching
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    tommertron
    last edited by Dec 31, 2023, 7:40 PM

    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?

    P 1 Reply Last reply Jan 10, 2024, 10:51 PM Reply Quote 0
    • P Offline
      philie @tommertron
      last edited by Jan 10, 2024, 10:51 PM

      @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.

      2024-01-10 23_51_01-philie@magicmirror_ ~_MagicMirror.png

      S 1 Reply Last reply Jan 10, 2024, 11:17 PM Reply Quote 0
      • S Away
        sdetweil @philie
        last edited by Jan 10, 2024, 11:17 PM

        @philie can you show the messages at mm startup

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        P 1 Reply Last reply Jan 11, 2024, 7:35 AM Reply Quote 0
        • P Offline
          philie @sdetweil
          last edited by Jan 11, 2024, 7:35 AM

          @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

          1 Reply Last reply Reply Quote 0
          • N Offline
            nuggetron22
            last edited by Feb 25, 2024, 11:18 PM

            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  | }
            
            S M 2 Replies Last reply Feb 26, 2024, 12:24 AM Reply Quote 0
            • S Away
              sdetweil @nuggetron22
              last edited by Feb 26, 2024, 12:24 AM

              @nuggetron22 I do not know about that module.
              but Ext3 gets its events from the default calendar. it does not read from the source.

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              N 1 Reply Last reply Feb 26, 2024, 6:19 AM Reply Quote 0
              • N Offline
                nuggetron22 @sdetweil
                last edited by Feb 26, 2024, 6:19 AM

                @sdetweil

                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.

                S 1 Reply Last reply Feb 26, 2024, 12:48 PM Reply Quote 0
                • M Offline
                  MMRIZE @nuggetron22
                  last edited by Feb 26, 2024, 9:13 AM

                  @nuggetron22

                  1. 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.)

                  2. 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.

                  3. You can alternatively try MMM-CalDAV + default calendar module instead of MMM-GoogleCalendar if you still have issues.

                  1 Reply Last reply Reply Quote 0
                  • S Away
                    sdetweil @nuggetron22
                    last edited by Feb 26, 2024, 12:48 PM

                    @nuggetron22 yes 2.26 has a problem w calendar parser

                    do thia

                    cd ~/MagicMirror
                    npm install node-ical@0.16.1
                    

                    restart MagicMirror

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    N 1 Reply Last reply Feb 26, 2024, 6:03 PM Reply Quote 0
                    • N Offline
                      nuggetron22 @sdetweil
                      last edited by Feb 26, 2024, 6:03 PM

                      @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!

                      S 1 Reply Last reply Feb 26, 2024, 6:48 PM Reply Quote 0
                      • 1
                      • 2
                      • 1 / 2
                      • First post
                        Last post
                      Enjoying MagicMirror? Please consider a donation!
                      MagicMirror created by Michael Teeuw.
                      Forum managed by Sam, technical setup by Karsten.
                      This forum is using NodeBB as its core | Contributors
                      Contact | Privacy Policy