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

Scheduled Pinned Locked Moved Utilities
642 Posts 77 Posters 1.7m Views 81 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 Away
    sdetweil @tjat
    last edited by Jul 28, 2023, 1:00 AM

    @tjat you cannot cause the default calendar to refresh.
    it DOES load the ics on startup…

    so , only thing you could do is cause a complete restart of the MM app

    Sam

    How to add modules

    learning how to use browser developers window for css changes

    1 Reply Last reply Reply Quote 0
    • M Offline
      MMRIZE @tjat
      last edited by Jul 28, 2023, 7:59 AM

      @tjat
      The process would go like this;

      1. Receiving events from events provider(default calendar module or something)
      2. Regularizing them and keeping them in store.
      3. The view will show in the next cycle of the refresh timer with current stored events.

      1)+2) and 3) are separated by parallel running.

      So, If you want to refresh the view with new events by force,

      1. The provider should spit out notification ASAP on new events added.
      2. After processing the received data, update DOM of the module.

      For 1), You can shorten the cycle of the provider fetching. (fetchInterval of the default calendar module). However, you should know that frequent requests to .ics could burden the calendar hosting server.

      For 2), your code may work.(Frankly said, you may need updateDom only enough) Or you can just reduce refreshInterval of CX3 to refresh the view sooner.

      Ok. here is an additional opinion from an old dotard.
      Do you really need real-time update of the event changing? Without any modification, it will show the change in a while. (default refreshing period is set as 10 minutes. ) You can reduce the value to 5 min or even 10 seconds. But is it worthy?

      Refreshing only on change sounds promising, but using .ics doesn’t work like that. iCalendar service is hosted as a read-only thing, unlike CALDAV. so there is no easy mechanism to detect the calendar change quickly except for frequent requests. So literally, it would not be an on-demand solution.

      Most 99% time of the pulling cycle would not find any new changes from the calendar. That would not be the performance issue for your MM, but for the ics provider, it will cost more traffic. (Of course, GoogleCalendar would be generous. :D )

      1 Reply Last reply Reply Quote 0
      • M Offline
        MMRIZE @pastormingle
        last edited by MMRIZE Jul 28, 2023, 10:14 AM Jul 28, 2023, 10:10 AM

        @pastormingle

        All CX3* modules (CalendarExt3, CalendarExt3Agenda, CalendarExt3Timeline) need event provider(e.g. default calendar module or MMM-GoogleCalendar or something similar) as a source of events. (You can hide the module with configuration or CSS)

        Configuration itself is very simple.

        {
        	module: "calendar",
        	header: "Fun Holidays",
        	position: "top_left",
        	config: {
        		broadcastPastEvents: true,
        		maximumNumberOfDays: 45,
        		calendars: [
        			{
        				fetchInterval: 7 * 24 * 60 * 60 * 1000,
        				symbol: "calendar-check",
        				url: "https://ics.calendarlabs.com/709/45a0bb64/Fun_Holidays.ics",
        				color: "green",
        			}
        		]
        	}
        },
        {
        	module: "MMM-CalendarExt3",
        	position: "bottom_bar",
        	header: "My Calendar for 3 weeks",
        	config: {
        		mode: 'week',
        	}
        },
        

        It will show;
        2d23fa23-74fc-433d-b1d7-5e32e91c9c2c-image.png

        Everything you need is described in README.md.
        But you can get many examples in this thread itself. (Read from first post. :D)

        The most important part of the configuration would be these;

        • mode: week or month.
          If you adopt week view, you might need these also ; weekIndex, weeksInView.

        All other options are… just options. You can try whatever you want with fun.

        Heavy CSS tweek is possible. You can ask me.

        Rather, you may need to carefully config your events provider(usually, default calendar module) - most ambiguous accidents happen there.

        P 1 Reply Last reply Jul 28, 2023, 12:31 PM Reply Quote 0
        • P Offline
          pastormingle @MMRIZE
          last edited by Jul 28, 2023, 12:31 PM

          @MMRIZE So on version ext2 i had 3 calendars that combine my weekly and upcoming together only used different colors to differentiate them. How do i add the additional calendars here? I had google calendar and business outlook calendar.

          P 1 Reply Last reply Jul 28, 2023, 12:58 PM Reply Quote 0
          • P Offline
            pastormingle @pastormingle
            last edited by sdetweil Jul 28, 2023, 1:02 PM Jul 28, 2023, 12:58 PM

            @pastormingle I added the calendar but it still only shows the one calendar not the addional calendar on the weekly view. here is my configuration.

            {
              module: "MMM-CalendarExt3",
              position: "bottom_bar",
              title: "Mikes Calendar",
              config: {
                mode: "week",
                instanceId: "basicCalendar",
               // locale: 'de-DE',
               weekIndex: 0,
                maxEventLines: 5,
                firstDayOfWeek: 1,
                fontSize: "30px",
                    //calendarSet: ['us_holiday', 'abfall', 'mytest'],
               calendars: [
                  {
                    url: "http://outlook.office365.com/owa/calendar/*****f2033a09d6504d21833241fb44dcf8c3c@dxc.com/a53b201c85bf4825a9290ce3ec96a8b2457585490405428856/calendar.ics",
                    auth: {
                      user: "******",
                      pass: "******",
                    },
                  },
                  {
                    url:"https://calendar.google.com/calendar/ical/******/private-34995d14cf5ec15efc8bd68f680c508e3/basic.ics",
                    auth: {
                      user: "*******",
                      pass: "C******",
                    },
                  },
                ],
              },
            },
            
            		{
            			module: "calendar",
            			header: "Upcoming Meetings",
            			position: "top_left",
            			config: {
            				calendars: [
            					{
            						fetchInterval: 7 * 24 * 60 * 60 * 1000,
            						symbol: "calendar-check",
            						url: "http://outlook.office365.com/owa/calendar/f2033a0***9d6504d21833241fb44df8c3c@dxc.com/a53b201c85bf4825a92*****b2457585490405428856/calendar.ics",                                                    
                                                                                                                                                                                                                     
            					}
            				]
            			}
            		},
            
            
            S M 3 Replies Last reply Jul 28, 2023, 1:03 PM Reply Quote 0
            • S Away
              sdetweil @pastormingle
              last edited by Jul 28, 2023, 1:03 PM

              @pastormingle please, always use code block for config contents

              paste into editor
              select pasted text
              hit code block button
              </>

              I fixed prior post

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              1 Reply Last reply Reply Quote 0
              • M Offline
                MMRIZE @pastormingle
                last edited by MMRIZE Jul 28, 2023, 1:15 PM Jul 28, 2023, 1:07 PM

                @pastormingle
                Just add calendars into your default calendar module, without touching CX3.

                1 Reply Last reply Reply Quote 0
                • M Offline
                  MMRIZE @pastormingle
                  last edited by Jul 28, 2023, 1:10 PM

                  @pastormingle

                  {
                  	module: "calendar",
                  	header: "calendar source",
                  	position: "top_left", // <-- Remove this line to hide this module.
                  	config: {
                  		broadcastPastEvents: true,
                  		maximumNumberOfDays: 45,
                  		calendars: [
                  			{
                  				symbol: "calendar-check",
                  				url: "https://ics.calendarlabs.com/709/45a0bb64/Fun_Holidays.ics",
                  				color: "red",
                  			},
                  			{
                  				symbol: "car-side",
                  				url: "webcal://sync.roktcalendar.com/webcal/cb99a33a-87e2-47a6-a11a-69f2eb563101",
                  				color: "orange",
                  			},
                  			{
                  				symbol: "recycle",
                  				url: "https://www.kriftel.de/kalender/abfallkalender-2023-bezirk-1-3/events.ics",
                  				color: "green",
                  			},
                  		]
                  	}
                  },
                  

                  I just added additional calendars to the default calendar module.
                  It will show;

                  62796e78-a3cd-4539-ab50-0aba5ba1c379-image.png

                  P 1 Reply Last reply Jul 28, 2023, 1:15 PM Reply Quote 0
                  • P Offline
                    pastormingle @MMRIZE
                    last edited by Jul 28, 2023, 1:15 PM

                    @MMRIZE Instead of the month i only one week or 7 days at all time displayed. Once the day has passed it should drop off.

                    M 1 Reply Last reply Jul 28, 2023, 1:24 PM Reply Quote 0
                    • M Offline
                      MMRIZE @pastormingle
                      last edited by Jul 28, 2023, 1:24 PM

                      @pastormingle said in MMM-CalendarExt3:

                      @MMRIZE Instead of the month i only one week or 7 days at all time displayed. Once the day has passed it should drop off.

                      weeksInView:1 would one-week view of CX3. But what you really want was days view of CX2, and I have dropped that view from CX3 (Because the new CalendarExt3Agenda will get the role alternately, And I think it is better organized and easy to get info.)

                      6408e54f-b3ea-410c-a0d1-38f0d5aabbe0-image.png

                      But if you prefer old days view style, just use legacy CX2 instead.

                      P 1 Reply Last reply Jul 28, 2023, 1:42 PM Reply Quote 0
                      • 1
                      • 2
                      • 29
                      • 30
                      • 31
                      • 32
                      • 33
                      • 64
                      • 65
                      • 31 / 65
                      31 / 65
                      • First post
                        304/642
                        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