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

Calendar not updating

Scheduled Pinned Locked Moved Unsolved Troubleshooting
95 Posts 4 Posters 61.4k 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.
  • S Offline
    sdetweil @matt216
    last edited by Jan 12, 2024, 3:36 PM

    @matt216 lets make that maximumEvents: 20

    for this test

    Sam

    How to add modules

    learning how to use browser developers window for css changes

    M 1 Reply Last reply Jan 12, 2024, 3:49 PM Reply Quote 0
    • M Offline
      matt216 @sdetweil
      last edited by Jan 12, 2024, 3:49 PM

      @sdetweil Updated to 20. This now shows calendar entries all the way to early May but the test event that starts at 20:00 this evening does not show. There are actually lots of events over the next few days that are not showing.

      S 1 Reply Last reply Jan 12, 2024, 4:03 PM Reply Quote 0
      • S Offline
        sdetweil @matt216
        last edited by sdetweil Jan 12, 2024, 4:07 PM Jan 12, 2024, 4:03 PM

        @matt216 ok, lets add some debugging , then we can see what is received in the UI module and what is processed for display (after filtering)

        ~/MagicMirror/modules/default/calendar/calendar.js

        about line 219

        		const events = this.createEventList(true);
        		Log.log("events to process="+JSON.stringify(events))  // add this line 
        		const wrapper = document.createElement("table");
        

        and around line 582

        		for (const calendarUrl in this.calendarData) {
        			const calendar = this.calendarData[calendarUrl];
        			Log.log("before filter events="+JSON.stringify(calendar))  // add this line
        			let remainingEntries = this.maximumEntriesForUrl(calendarUrl);
        

        then in the browser developers window (ctrl-shift-i to open) select the console tab,
        add cal to the filter field

        you will see these two blocks

        before filter events=[{"title":"Henry swim at Y","startDate":"1705156800000","endDate":"1705159200000","fullDayEvent":false,"recurringEvent":true,"class":"","firstYear":2024,"location":false,"geo":false,"description":false},{"title":"Henry swim at Y","startDate":"1705761600000","endDate":"1705764000000","fullDayEvent":false,"recurringEvent":true,"class":"","firstYear":2024,"location":false,"geo":false,"description":false},{"title":"Henry swim at Y","startDate":"1706366400000","endDate":"1706368800000","fullDayEvent":false,"recurringEvent":true,"class":"","firstYear":2024,"location":false,"geo":false,"description":false},{"title":"Henry swim at Y","startDate":"1706971200000","endDate":"1706973600000","fullDayEvent":false,"recurringEvent":true,"class":"","firstYear":2024,"location":false,"geo":false,"description":false},{"title":"Henry swim at 
        

        and then

        events to process=[{"title":"Henry swim at Y","startDate":"1705156800000","endDate":"1705159200000","fullDayEvent":false,"recurringEvent":true,"class":"","firstYear":2024,"location":false,"geo":false,"description":false,"url":"http://localhost:8090/modules/default/calendar/JUSTONE.ICS","today":false,"dayBeforeYesterday":false,"yesterday":false,"tomorrow":true,"dayAfterTomorrow":false},{"title":"Henry swim at Y","startDate":"1705761600000","endDate":"1705764000000","fullDayEvent":false,"recurringEvent":true,"class":"","firstYear":2024,"location":false,"geo":false,"description":false,"url":"http://localhost:8090/modules/default/calendar/JUSTONE.IC
        

        Sam

        How to add modules

        learning how to use browser developers window for css changes

        S M 2 Replies Last reply Jan 12, 2024, 4:12 PM Reply Quote 0
        • S Offline
          sdetweil @sdetweil
          last edited by sdetweil Jan 12, 2024, 4:24 PM Jan 12, 2024, 4:12 PM

          @matt216 the before filter is what was sent from the parser
          the events to process is what will be shown, limited to maximumEntries in length

          Sam

          How to add modules

          learning how to use browser developers window for css changes

          M 1 Reply Last reply Jan 12, 2024, 4:25 PM Reply Quote 0
          • M Offline
            matt216 @sdetweil
            last edited by Jan 12, 2024, 4:25 PM

            @sdetweil Thanks Sam. Will have a go and report back.

            S 1 Reply Last reply Jan 12, 2024, 4:31 PM Reply Quote 0
            • S Offline
              sdetweil @matt216
              last edited by Jan 12, 2024, 4:31 PM

              @matt216 you can also use this web site

              https://codebeautify.org/jsonvalidator?/jsonvalidate
              

              to paste in the data (from [ to ]) and then push the format button (in pink) to make it more readable, ctrl-f will allow you to search for the entry you are looking for

              Screenshot at 2024-01-12 10-27-11.png

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              M 1 Reply Last reply Jan 12, 2024, 7:23 PM Reply Quote 0
              • M Offline
                matt216 @sdetweil
                last edited by Jan 12, 2024, 7:23 PM

                @sdetweil good tip, thanks.

                Little update - I put maximumEntries back to 5 and all my events showed up! But then I added another event, pm2 restart and they disappeared again :weary_face:

                We’re getting closer! I think you’re on to something with the maximumEntries effect. And also handling between back and front end.

                I’ll have a go with editing calendar.js this weekend and report back.

                Thanks

                1 Reply Last reply Reply Quote 0
                • M Offline
                  matt216 @sdetweil
                  last edited by Jan 16, 2024, 1:57 PM

                  @sdetweil Hi Sam.
                  The before filter section is not showing the events that are missing. So not sent from the parser…?
                  The events to process section reflects what is seen in the before filter section.

                  Over the weekend the calendar looked good, but come Monday morning lots of events are missing. The mirror is currently showing events 10 days in the future even though there are plenty of events before then.

                  I have had a play with module config maximumEntries and limitDays to see if anything improves, but with no luck.

                  Thanks again,
                  Matt

                  S 1 Reply Last reply Jan 16, 2024, 2:09 PM Reply Quote 0
                  • S Offline
                    sdetweil @matt216
                    last edited by Jan 16, 2024, 2:09 PM

                    @matt216 ok, go back to the prior parser

                    cd ~/MagicMirror
                    npm install node-ical@0.16.1
                    

                    restart MM

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

                    M 1 Reply Last reply Jan 16, 2024, 3:43 PM Reply Quote 0
                    • M Offline
                      matt216 @sdetweil
                      last edited by matt216 Jan 16, 2024, 3:44 PM Jan 16, 2024, 3:43 PM

                      @sdetweil said in Calendar not updating:

                      node-ical@0.16.1

                      Done. Different events shown on the mirror - events over the next few days rather than 10 days away! - but still events not displaying.

                      Browser dev tools indicate they’re sitll not getting parsed.
                      Server pm2 logs do show the events are being picked up from the calendar server e.g.

                      0|MagicMirror  | {"type":"VEVENT","params":[],"created":"2024-01-16T10:33:48.000Z","end":"2024-01-19T15:00:00.000Z","dtstamp":"2024-01-16T10:33:49.000Z","start":"2024-01-19T14:00:00.000Z","datetype":"date-time","lastmodified":"2024-01-16T10:33:48.000Z","sequence":"0","summary":"Alex bike","transparency":"OPAQUE","uid":"66D38BB9-70EA-486B-A297-58C2E0F3642C","url":{"params":{"VALUE":"URI"},"val":""},"APPLE-CREATOR-IDENTITY":"com.apple.mobilecal","APPLE-CREATOR-TEAM-IDENTITY":"0000000000"}
                      
                      

                      is not showing on the display and is not showing in browser devtools.

                      S 1 Reply Last reply Jan 16, 2024, 4:12 PM Reply Quote 0
                      • 1
                      • 2
                      • 6
                      • 7
                      • 8
                      • 9
                      • 10
                      • 8 / 10
                      8 / 10
                      • First post
                        77/95
                        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