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-CalendarExt3Agenda

    Scheduled Pinned Locked Moved Utilities
    224 Posts 30 Posters 362.0k Views 32 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.
    • BKeyportB Offline
      BKeyport Module Developer @MMRIZE
      last edited by BKeyport

      @MMRIZE Oh, doh! you gave in and had to install a dependancy/submodule! 🤣🤣🤣

      Missed that.

      The "E" in "Javascript" stands for "Easy"

      BKeyportB 1 Reply Last reply Reply Quote 0
      • BKeyportB Offline
        BKeyport Module Developer @BKeyport
        last edited by BKeyport

        Doing some clean up work and some things aren’t working.

        The module isn’t updating in my config.

        Here is the configs and details.

        		{
        			module: "MMM-CalendarExt3Agenda", // https://github.com/MMRIZE/MMM-CalendarExt3Agenda
        			position: "top_left",
        			config: {
        				instanceId: "1",
        				showMiniMonthCalendar: false,
        				firstDayOfWeek: 0,
        				startDayIndex: 0,
        				endDayIndex: 99,
        				minimalDaysOfNewYear: 1,
        				animationSpeed: 0,
        				useSymbol: false,
        				useWeather: false,
        				calendarSet: ["Main", "Utility"],
                                        eventTransformer: (ev) => {
        					if (ev.title.search("Bowling") > -1) {
        						ev.color = 'yellow';
        					}
        					return ev
        				},
        			},
        		},
        //top_center
        		{
        			module: "MMM-CalendarExt3Agenda", // https://github.com/MMRIZE/MMM-CalendarExt3Agenda
        			position: "top_center",
        			config: {
        				showMiniMonthCalendar: false,
        				instanceId: "2",
        				firstDayOfWeek: 0,
        				startDayIndex: 0,
        				endDayIndex: 99,
        				minimalDaysOfNewYear: 1,
        				animationSpeed: 0,
        				useSymbol: false,
        				useWeather: false,
        				calendarSet: ["Seahawks", "Sounders", "Bluejays", "Mariners", "Kraken", "Huskies", "XFL", "ARES", "Holdays"],
        				eventTransformer: (ev) => {
        					if (ev.title.search("⚾") > -1) {
        						ev.title = ev.title.replace("⚾","");
        					}
        					if (ev.title.search("🏈") > -1) {
        						ev.title = ev.title.replace("🏈 ","");
        					}
        					return ev
        				},
        			},
        		},
        		{
        			module: "MMM-CalendarExt3Agenda", // https://github.com/MMRIZE/MMM-CalendarExt3Agenda
        			position: "top_center",
        			config: {
        				instanceId: "3",
        				showMiniMonthCalendar: false,
        				firstDayOfWeek: 0,
        				startDayIndex: 0,
        				endDayIndex: 99,
        				minimalDaysOfNewYear: 1,
        				animationSpeed: 0,
        				useSymbol: false,
        				useWeather: false,
        				calendarSet: ["IRS"], 
        			},
        		},
        

        Here’s all the public calendars for testing. My “Main” calendar is a private google calendar.

        // First Calendar
        // Stand in public calendar to protect private data:
        					{ 
        						url: "https://calendar.google.com/calendar/ical/brendan.keyport%40gmail.com/public/basic.ics",
        						name: "Main",
        					},
        					{
        						url: "https://recollect.a.ssl.fastly.net/api/places/BC71002A-F27F-11E8-B5B7-6853A40EAB6C/services/579/events.en-US.ics?client_id=91264B66-7113-11ED-8C28-2101D6C077E5",
        						name: "Utility",
        					},
        // Second Calendar
        					{
        						url: "http://cal.events/VReW45.ics",
        						name: "Seahawks",
        						color: "#69BE28",
        					},
        					{
        						url: "https://calendar.google.com/calendar/ical/3vejg64nfe9hk5odcphufgis14%40group.calendar.google.com/private-ae3d986ef6488a425755baf7198a1c99/basic.ics",
        						name: "Sounders",
        						color: "#69BE28",
        					},
        					{
        						url: "https://calendar.google.com/calendar/ical/mp4efjqgjiq6hphri5ppkkm66k%40group.calendar.google.com/private-81bfdc024de66a7639ac010dfe56263a/basic.ics",
        						name: "Bluejays",
        						color: "#E8291C",
        					},
        					{
        						url: "https://calendar.google.com/calendar/ical/fgl0a1o8duc3quq3mpjlcopk50%40group.calendar.google.com/private-c55f9de420fe504de01c18f263d70fa7/basic.ics",
        						name: "Mariners",
        						color: "#69BE28",
        					},
        					{
        						url: "https://calendar.google.com/calendar/ical/a6fras24hof5ibrk9q1aeg0igg%40group.calendar.google.com/private-147cebc733aab31784e2ab7f18c13cbc/basic.ics",
        						name: "Kraken",
        						color: "#69BE28",
        					},
        					{
        						url: "https://gohuskies.com/calendar.ashx/calendar.ics?sport_id=3",
        						name: "Huskies",
        						color: "#69BE28",
        					},
        					{
        						url: "webcal://calendar.google.com/calendar/ical/d2dba52c05b47583471f0eccbdb79938b9b0d5ef7711298f4c3455fe64ae6ffa%40group.calendar.google.com/public/basic.ics",
        						name: "XFL",
        						color: "#e93b16",
        					},
        					{
        						url: "https://calendar.google.com/calendar/ical/en.usa%23holiday%40group.v.calendar.google.com/public/basic.ics",
        						name: "Holdays",
        					},
        					{
        						url: "https://calendar.google.com/calendar/ical/futpub9jb1fisumog0u68s9pdc%40group.calendar.google.com/public/basic.ics",
        						name: "ARES",
        						color: "#FF1493",
        					},
        					
        // Third Calendar
        					{
        						url: "https://calendar.google.com/calendar/ical/ufeoastn72l4rcaact44k3iff3pfcun5%40import.calendar.google.com/public/basic.ics",
        						name: "IRS",
        					},
        

        The "E" in "Javascript" stands for "Easy"

        M 1 Reply Last reply Reply Quote 0
        • M Offline
          MMRIZE @BKeyport
          last edited by

          @BKeyport
          6c183bb2-9786-49b3-94e2-d8d41be53a8b-image.png

          This is what I’ve got with your config.
          Is it different with what you want? Tell/Show me what you expected. (AS-IS and TO-BE)

          BKeyportB 1 Reply Last reply Reply Quote 0
          • BKeyportB Offline
            BKeyport Module Developer @MMRIZE
            last edited by BKeyport

            @MMRIZE It seems to be loading everything now, but it’s not refreshing with the calendar app. If I add an event, it misses it until it refreshes at the top of the hour. This includes events going “live” - (bold).

            The "E" in "Javascript" stands for "Easy"

            S 1 Reply Last reply Reply Quote 0
            • S Offline
              sdetweil @BKeyport
              last edited by

              @BKeyport what is the calendar refresh rate set to ?

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              BKeyportB 1 Reply Last reply Reply Quote 0
              • BKeyportB Offline
                BKeyport Module Developer @sdetweil
                last edited by

                @sdetweil

                			module: "calendar", // Built in
                			position: "top_center",
                			config: {
                				animationSpeed: 0,
                				broadcastEvents: true,
                				broadcastPastEvents: true,
                				fetchInterval: 30000,
                				maximumEntries: 99,
                ... 
                

                The "E" in "Javascript" stands for "Easy"

                S 1 Reply Last reply Reply Quote 0
                • S Offline
                  sdetweil @BKeyport
                  last edited by sdetweil

                  @BKeyport said in MMM-CalendarExt3Agenda:

                  30000

                  every 30 seconds?

                  default is 300000 ms, 5 minutes

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

                  BKeyportB 1 Reply Last reply Reply Quote 0
                  • BKeyportB Offline
                    BKeyport Module Developer @sdetweil
                    last edited by

                    @sdetweil did I miss a zero there. Damn. Worked fine until this release of MMM-CX3A, tho.

                    The "E" in "Javascript" stands for "Easy"

                    M 1 Reply Last reply Reply Quote 0
                    • M Offline
                      MMRIZE @BKeyport
                      last edited by

                      @BKeyport
                      I changed that logic also, because, with some certain circumstances, the disharmony of refresh schedules of each individual calendars and notifications might make too many refreshing/flickering. So I have to change the job.

                      BKeyportB 1 Reply Last reply Reply Quote 0
                      • BKeyportB Offline
                        BKeyport Module Developer @MMRIZE
                        last edited by

                        @MMRIZE I see. I need the calendar to update more frequently, which is why I have my animations off normally. More options set. it now works, like it used to.

                        Thanks!

                        The "E" in "Javascript" stands for "Easy"

                        1 Reply Last reply Reply Quote 0
                        • S Offline
                          Studio472
                          last edited by

                          How do I remove the “fade to black” at the bottom of the agenda?

                          M 1 Reply Last reply Reply Quote 0
                          • M Offline
                            MMRIZE @Studio472
                            last edited by

                            @Studio472
                            Append this to your custom.css

                            .CX3A .agenda::after {
                              display: none;
                            }
                            
                            BKeyportB 1 Reply Last reply Reply Quote 0
                            • BKeyportB Offline
                              BKeyport Module Developer @MMRIZE
                              last edited by

                              @MMRIZE Boy, we did things the hard way…

                              /* Fade adjustments */
                              .CX3A .agenda::after {
                              	position: absolute;
                              	bottom: 0;
                              	left: 0;
                              	height: 6%;
                              	width: 100%;
                              	content: '';
                              	background-image: unset;
                              } 
                              

                              The "E" in "Javascript" stands for "Easy"

                              1 Reply Last reply Reply Quote 1
                              • M Offline
                                MM19198
                                last edited by

                                I was able to get MMM-CalendarExt3 working, but I’m struggling with MMM-CalendarExt3Agenda. I cannot figure out what I’m doing wrong. None of the events appear in the MMM-CalendarExt3Agenda module but they do appear in the MMM-CalendarExt3 module. Any help is appreciated.

                                Google Calendar Config

                                {
                                	module: "MMM-GoogleCalendar",
                                	header: "Family Calendar",
                                	classes: "calendar-agenda",
                                	config: {
                                		calendars: [
                                			{
                                				symbol: "calendar-week",
                                				calendarID: "myemail@gmail.com",
                                				name: "mycalendar"
                                			},
                                		],
                                		broadcastEvents: true,
                                		broadcastPstEvents: true,
                                		maximumEntries: 100
                                	}
                                },
                                

                                MMM-CalendarExt3 Config

                                {
                                	module: "MMM-CalendarExt3",
                                	position: "top_center",
                                	title: "Family Calendar EXT3",
                                	config: {
                                		mode: "month",
                                		instanceID: "Ext-Calendar-Month",
                                		calendarSet: ['mycalendar'],
                                		weeksInView: 3,
                                		preProcessor: (e) => {
                                			if (e.start?.dateTime) {
                                				  e.startDate = new Date(e.start.dateTime).valueOf()
                                			} else if (e.start?.date) {
                                				  e.startDate = new Date('${e.start.date}T00:00:00').valueOf()
                                			}
                                
                                			if (e.end?.dateTime) {
                                				  e.endDate = new Date(e.end.dateTime).valueOf()
                                			} else if (e.end?.date) {
                                				  e.endDate = new Date('${e.end.date}T00:00:00').valueOf()
                                			}
                                
                                			e.title = e.summary
                                			e.fullDayEvent = (e.start?.date) ? true : false
                                			return e
                                		}
                                	}
                                },
                                

                                MMM-CalendarExt3Agenda Config

                                {
                                	module: "MMM-CalendarExt3Agenda",
                                	position: "top_left",
                                	title: "Something",
                                	config: {
                                		instanceId: "Ext3-Calendar-Agenda",
                                		calendarSet: ['mycalendar'],
                                		firstDayOfWeek: 1,
                                		startDayIndex: -1,
                                		endDayIndex: 10,
                                		showMiniMonthCalendar: false,
                                		preProcessor: (e) => {
                                			if (e.start?.dateTime) {
                                				  e.startDate = new Date(e.start.dateTime).valueOf()
                                			} else if (e.start?.date) {
                                				  e.startDate = new Date('${e.start.date}T00:00:00').valueOf()
                                			}
                                
                                			if (e.end?.dateTime) {
                                				  e.endDate = new Date(e.end.dateTime).valueOf()
                                			} else if (e.end?.date) {
                                				  e.endDate = new Date('${e.end.date}T00:00:00').valueOf()
                                			}
                                
                                			e.title = e.summary
                                			e.fullDayEvent = (e.start?.date) ? true : false
                                			return e
                                		}
                                	}
                                },
                                
                                M 1 Reply Last reply Reply Quote 0
                                • M Offline
                                  MM19198 @MM19198
                                  last edited by

                                  I was able to get it working. For those that may need to resolve this in the future, the answer was at this link:

                                  https://github.com/MMRIZE/MMM-CalendarExt3Agenda#update-to-120

                                  When some submodule is not updated, try this.

                                  cd ~/MagicMirror/modules/MMM-CalendarExt3Agenda
                                  git submodule update --init --recursive
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • D Offline
                                    danidanial
                                    last edited by

                                    I was able to get it working. For those that may need to resolve this in the future, the answer was at this link: :backhand_index_pointing_right_light_skin_tone:

                                    https://github.com/MMRIZE/MMM-CalendarExt3Agenda#update-to-120

                                    When some submodule is not updated, try this.

                                    cd ~/MagicMirror/modules/MMM-CalendarExt3Agenda
                                    git submodule update --init --recursive

                                    1 Reply Last reply Reply Quote 0
                                    • M Offline
                                      MarNog @MMRIZE
                                      last edited by

                                      @MMRIZE Thanks for the module! I see your first screenshot and looks like you have multiple calendars using the original MMM-Calendar and MMM-CalendarExt3Agenda modules. What setting do you use to get it working like this? I setup mine, but I cant figure out what do do on the original MMM-Calendar module to display only one specific calendar and another calendar to be displayed using Ext3Agenda module. Also, what is the best way to get hyphens in the column to be between the times when using 2 digits for hours?

                                      Screenshot 2023-07-30 121447.jpg

                                      {
                                      	module: "calendar",
                                      	header: "Cabrillo's Dates and Deadlines",
                                      	position: "bottom_right", //When you want to hide default calendar module, just remove position of calendar module.
                                      	config: {
                                      		maxTitleLength: 50,
                                      		wrapEvents: true,
                                      		tableClass: "small",
                                      		maximumEntries: 13,
                                      		//sliceMultiDayEvents: true,
                                      		calendars: [
                                      			{
                                      			symbol: "calendar-check",
                                      			name: "Cabrillo_Dates_Deadlines", // <-- specify calendar name
                                      			url: "https://calendar.google.com/calendar/ical/c_5a2463022055508fcb5a604f131895484562edb98904940f4efb3fa1c1362e47%40group.calendar.google.com/public/basic.ics",
                                      			},
                                      			{
                                      			// HOW to REMOVE this one from the Calendar Module??
                                      			url: "https://calendar.google.com/calendar/ical/c_jvq8rotabh0rrru2qeo2oec9gc%40group.calendar.google.com/public/basic.ics",
                                      			name: "CTC_Schedule", // <-- specify calendar name
                                      			color: "skyblue", // <-- if you don't want to get color, just remove this line.
                                      			broadcastPastEvents: true, // <-- need to broadcast past events
                                      			maximalNumberOfDays: 30, // <-- how old events would be broadcasted
                                      			maximumEntries: 100, // <-- assign enough number to prevent truncating new events by old events.
                                      			symbol: 'calendar-check', // <-- when you want to display symbol. If you don't want, just set as `symbol:[],`
                                      			}
                                      		]
                                      	}
                                      },
                                      
                                      
                                      
                                      {
                                        module: "MMM-CalendarExt3Agenda",
                                        position: "top_left",
                                        title: "CTC TA Schedule",
                                        config: {
                                          instanceId: "CTCCalendar",
                                          firstDayOfWeek: 1,
                                          startDayIndex: 0,
                                          endDayIndex: 2,
                                          showMiniMonthCalendar: false,
                                          calendarSet: ['CTC_Schedule'],
                                          eventFilter: (ev) => {
                                                   if (ev.title.startsWith("OUT")) {
                                                   	return false
                                                   	}
                                      	     return true
                                      	},
                                        }
                                      },
                                      

                                      Thank you

                                      BKeyportB M 2 Replies Last reply Reply Quote 0
                                      • BKeyportB Offline
                                        BKeyport Module Developer @MarNog
                                        last edited by

                                        @MarNog Multiple instances of the calendar module. One with position in place for the ones you want to show with the default module, one without a position for the ones you want to display with CX3A.

                                        The "E" in "Javascript" stands for "Easy"

                                        M 1 Reply Last reply Reply Quote 0
                                        • M Offline
                                          MMRIZE @MarNog
                                          last edited by MMRIZE

                                          @MarNog
                                          Interesting. You might have added some custom CSS, so hard to guess what happened at the moment.
                                          I think the area for time displaying is not so wide enough. Give them more space.

                                          Currently, the hyphen and startTime/endTime condition is defined like this.

                                          /* MMM-CalendarExt3Agenda.css line 187 */
                                          .CX3A .event .time {
                                            font-size: 75%;
                                            vertical-align: text-bottom;
                                          }
                                          
                                          .CX3A .event .time.notInDay {
                                            display: none;
                                          }
                                          
                                          .CX3A .event .startTime::after {
                                            content: ' -';
                                          }
                                          
                                          .CX3A .event .startTime.notInDay + .endTime.inDay::before {
                                            content: '- ';
                                          }
                                          
                                          M 1 Reply Last reply Reply Quote 0
                                          • M Offline
                                            MarNog @BKeyport
                                            last edited by

                                            @BKeyport I added another instance of the Calendar module and it worked like charm. Thank you.

                                            1 Reply Last reply Reply Quote 0

                                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                            With your input, this post could be even better 💗

                                            Register Login
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 11
                                            • 12
                                            • 2 / 12
                                            • 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