• 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-Calendar not seem to load .ics

Scheduled Pinned Locked Moved Utilities
21 Posts 2 Posters 3.9k Views 2 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.
  • D Offline
    Dennis-010 @sdetweil
    last edited by Oct 23, 2023, 7:43 PM

    @sdetweil

    I’'l be happy to test and try out things or methods to fix this issue.
    Thanks in advance

    S 1 Reply Last reply Oct 23, 2023, 8:13 PM Reply Quote 0
    • S Offline
      sdetweil @Dennis-010
      last edited by sdetweil Oct 23, 2023, 8:14 PM Oct 23, 2023, 8:13 PM

      @Dennis-010

      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…

      Sam

      How to add modules

      learning how to use browser developers window for css changes

      D 1 Reply Last reply Oct 23, 2023, 9:07 PM Reply Quote 0
      • D Offline
        Dennis-010 @sdetweil
        last edited by Dennis-010 Oct 23, 2023, 9:12 PM Oct 23, 2023, 9:07 PM

        @sdetweil
        This seem to work like a charm, thank you for fixing this.

        Now…when I want to add 2 more url’s I get a new error:
        For each of the new url. Both from the same domain.
        is it possible to have a hacky line for that as well?

        [ERROR] Calendar Error. Could not fetch calendar:  https://www.xxxxxxxx/ical/**url**/Calendar.ics RangeError: Invalid time value
        
        
        [23.10.2023 22:56.15.687] [LOG]   Create new calendarfetcher for url: https://**url**/ical/**url**/Calendar.ics - Interval: 3600000
        [23.10.2023 22:56.15.728] [LOG]   Create new calendarfetcher for url: https://**url**/ical/**url**/Calendar.ics - Interval: 3600000
        [23.10.2023 22:56.15.733] [LOG]   Create new calendarfetcher for url: https://**url**/ical/**url**/Calendar.ics - Interval: 3600000
        
        S 1 Reply Last reply Oct 23, 2023, 9:13 PM Reply Quote 0
        • S Offline
          sdetweil @Dennis-010
          last edited by Oct 23, 2023, 9:13 PM

          @Dennis-010 this sounds like an ics data format problem

          change this line in config.js

          logLevel: ["INFO", "LOG", "WARN", "ERROR"], 
          

          to

          logLevel: ["INFO", "LOG", "WARN", "ERROR","DEBUG"], 
          

          then start MM like this

          pm2 stop all
          cd ~/MagicMirror
          npm start > somefile.txt 2>&1
          

          wait 15 seconds
          then in the same window as where you did npm start do
          ctrl-c
          and then examine the somefile.txt to see where that error is…

          i’d like to see the ics file entry for that event
          npm start

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          D 1 Reply Last reply Oct 23, 2023, 9:25 PM Reply Quote 0
          • D Offline
            Dennis-010 @sdetweil
            last edited by Oct 23, 2023, 9:25 PM

            @sdetweil

            Is this what you are looking for?

            [23.10.2023 23:18.36.721] [ERROR] Calendar Error. Could not fetch calendar:  https://**url**/ical/**url**/Calendar.ics RangeError: Invalid time value
                at Date.toISOString (<anonymous>)
                at /home/dennis/MagicMirror/modules/default/calendar/calendarfetcherutils.js:312:28
                at Array.forEach (<anonymous>)
                at Object.filterEvents (/home/dennis/MagicMirror/modules/default/calendar/calendarfetcherutils.js:140:24)
                at /home/dennis/MagicMirror/modules/default/calendar/calendarfetcher.js:72:36
                at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
            [23.10.2023 23:18.38.049] [DEBUG] parsed data={"ecaf4d70-3f05-470f-a8f3-2566b4f2f1b5":{"type":"VTIMEZONE","params":[],"tzid":"Europe/Amsterdam","487c4058-cf12-4ad3-9d19-abf7c43101a2":{>
            [23.10.2023 23:18.38.053] [DEBUG] There are 327 calendar entries.
            [23.10.2023 23:18.38.055] [DEBUG] Processing entry...
            [23.10.2023 23:18.38.058] [DEBUG] Processing entry...
            [23.10.2023 23:18.38.060] [DEBUG] Event:
            
            
            [23.10.2023 23:18.38.153] [ERROR] Calendar Error. Could not fetch calendar:  https://**url**/ical/**url**/Calendar.ics RangeError: Invalid time value
                at Date.toISOString (<anonymous>)
                at /home/dennis/MagicMirror/modules/default/calendar/calendarfetcherutils.js:312:28
                at Array.forEach (<anonymous>)
                at Object.filterEvents (/home/dennis/MagicMirror/modules/default/calendar/calendarfetcherutils.js:140:24)
                at /home/dennis/MagicMirror/modules/default/calendar/calendarfetcher.js:72:36
                at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
            [23.10.2023 23:18.39.055] [DEBUG] parsed data={"634747":{"type":"VEVENT","params":[],"dtstamp":"2018-03-19T19:38:00.000Z","uid":"634747","description":"Datum: 04/24/2018\nTijd: 19:30\n>
            [23.10.2023 23:18.39.060] [DEBUG] There are 434 calendar entries.
            [23.10.2023 23:18.39.061] [DEBUG] Processing entry...
            [23.10.2023 23:18.39.061] [DEBUG] Event:
            {"type":"VEVENT","params":[],"dtstamp":"2018-03-19T19:38:00.000Z","uid":"634747","description":"Datum: 04/24/2018\nTijd: 19:30\n\nTot dan!\n\nP.S.: Gebruik je GMAIL? Controleer of de t>
            [23.10.2023 23:18.39.062] [DEBUG] start: Tue Apr 24 2018 19:30:00 GMT+0200 (Midden-Europese zomertijd)
            
            
            S 1 Reply Last reply Oct 23, 2023, 9:29 PM Reply Quote 0
            • S Offline
              sdetweil @Dennis-010
              last edited by Oct 23, 2023, 9:29 PM

              @Dennis-010 thx… I meant download the ics file and find that entry

              like this from my calendar

              BEGIN:VEVENT
              DTSTART:20160729T233000Z
              DTEND:20160730T010000Z
              DTSTAMP:20231023T212812Z
              UID:2prgqt2idcgs5jjf0bvd557v6k@google.com
              CREATED:20160912T121808Z
              LAST-MODIFIED:20160912T121808Z
              LOCATION:georgetown
              SEQUENCE:0
              STATUS:CONFIRMED
              SUMMARY:Dinner at Monument Cafe
              TRANSP:OPAQUE
              END:VEVENT
              

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              D 1 Reply Last reply Oct 23, 2023, 9:49 PM Reply Quote 0
              • D Offline
                Dennis-010 @sdetweil
                last edited by Oct 23, 2023, 9:49 PM

                @sdetweil
                I don’t think I understand what you’re asking.
                What event you want me to find?

                S 1 Reply Last reply Oct 23, 2023, 9:54 PM Reply Quote 0
                • S Offline
                  sdetweil @Dennis-010
                  last edited by Oct 23, 2023, 9:54 PM

                  @Dennis-010 the one that throws the error in the somefile.txt, then look it up in the ICS file

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  D 1 Reply Last reply Oct 23, 2023, 10:21 PM Reply Quote 0
                  • D Offline
                    Dennis-010 @sdetweil
                    last edited by Oct 23, 2023, 10:21 PM

                    @sdetweil
                    Think I found it, will check back tomorrow.

                    BEGIN:VEVENT
                    DTSTAMP:20210413T203456Z
                    UID:E689AEB8C02C4E2CADD8C7D3D303CEAD0
                    DTSTART;TZID="Amsterdam, Belgrade, Berlin, Brussels, Budapest, Madrid, Paris, Prague, Stockholm":20210415T190000
                    DTEND;TZID="Amsterdam, Belgrade, Berlin, Brussels, Budapest, Madrid, Paris, Prague, Stockholm":20210415T210000
                    CLASS:PUBLIC
                    LOCATION:albert heijn
                    SUMMARY:xxx xxxx
                    SEQUENCE:10
                    RRULE:FREQ=DAILY;UNTIL=20210418T170000Z
                    EXDATE;TZID="Amsterdam, Belgrade, Berlin, Brussels, Budapest, Madrid, Paris, Prague, Stockholm":20210417T190000
                    EXDATE;TZID="Amsterdam, Belgrade, Berlin, Brussels, Budapest, Madrid, Paris, Prague, Stockholm":20210416T190000
                    EXDATE;TZID="Amsterdam, Belgrade, Berlin, Brussels, Budapest, Madrid, Paris, Prague, Stockholm":20210415T190000
                    BEGIN:VALARM
                    ACTION:DISPLAY
                    TRIGGER;RELATED=START:-PT15M
                    END:VALARM
                    END:VEVENT
                    
                    {"type":"VEVENT","params":[],"uid":"E689AEB8C02C4E2CADD8C7D3D303CEAD0","start":"2021-04-15T17:00:00.000Z","datetype":"date-time","end":"2021-04-15T19:00:00.000Z","a94d8d2a-3>
                    [24.10.2023 00:16.22.001] [DEBUG] start: Thu Apr 15 2021 19:00:00 GMT+0200 (Midden-Europese zomertijd)
                    [24.10.2023 00:16.22.001] [DEBUG] end:: Thu Apr 15 2021 21:00:00 GMT+0200 (Midden-Europese zomertijd)
                    [24.10.2023 00:16.22.002] [DEBUG] duration: 7200000
                    [24.10.2023 00:16.22.002] [DEBUG] title: xxx xxxx
                    [24.10.2023 00:16.22.002] [DEBUG] Search for recurring events between: Tue Oct 24 2023 00:16:22 GMT+0200 (Midden-Europese zomertijd) and Tue Oct 22 2024 23:59:59 GMT+0200 (M>
                    [24.10.2023 00:16.22.051] [DEBUG] Title: xxx xxxx, with dates: [null,null,null,null]
                    [24.10.2023 00:16.22.051] [DEBUG] event.recurrences: [object Object]
                    [24.10.2023 00:16.22.055] [ERROR] Calendar Error. Could not fetch calendar:  https://url/ical/url/Calendar.ics RangeError: Invalid time value
                        at Date.toISOString (<anonymous>)
                        at /home/dennis/MagicMirror/modules/default/calendar/calendarfetcherutils.js:312:28
                        at Array.forEach (<anonymous>)
                        at Object.filterEvents (/home/dennis/MagicMirror/modules/default/calendar/calendarfetcherutils.js:140:24)
                        at /home/dennis/MagicMirror/modules/default/calendar/calendarfetcher.js:72:36
                        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
                    
                    
                    S 2 Replies Last reply Oct 23, 2023, 10:41 PM Reply Quote 0
                    • S Offline
                      sdetweil @Dennis-010
                      last edited by Oct 23, 2023, 10:41 PM

                      @Dennis-010 awesome, will need you to run it again with one debugging change

                      in calendarfetchutils.js
                      change this

                      					Log.debug(`event.recurrences: ${event.recurrences}`);
                      

                      to this

                      			Log.debug("event.recurrences:" +JSON.stringify(event.recurrences));
                      

                      but I really think its THIS

                      DTSTART;TZID="Amsterdam, Belgrade, Berlin, Brussels, Budapest, Madrid, Paris, Prague, Stockholm":20210415T190000
                      DTEND;TZID="Amsterdam, Belgrade, Berlin, Brussels, Budapest, Madrid, Paris, Prague, Stockholm":20210415T210000
                      
                      the until is outside the event window start/end (04/15, this is 04/18) 
                      RRULE:FREQ=DAILY;UNTIL=20210418T170000Z  
                      

                      AND the event is in the past 2021
                      but the code tried to find recurrences THIS year

                      Tue Oct 24 2023 00:16:22 GMT+0200 (Midden-Europese zomertijd) and Tue Oct 22 2024 23:59:59 GMT+0200 (M>
                      [24.10.2023 00:16.22.051] [DEBUG] Title: xxx xxxx, with dates: [null,null,null,null]  <----- and returned junk.. those are bad dates. 
                      

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

                      1 Reply Last reply Reply Quote 0
                      • 1
                      • 2
                      • 3
                      • 2 / 3
                      2 / 3
                      • First post
                        13/21
                        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