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.3k 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.
    • M Offline
      MMRIZE @BKeyport
      last edited by

      @BKeyport
      I refactored all the duplicated logics in these modules and separate it with sub module named ‘CX3_Shared’.
      That message happens when that submodule is not loaded(with certain reason). Most suspicious thing would be that submodule is not installed properly. Could you check it again?

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

      BKeyportB 1 Reply Last reply Reply Quote 0
      • S sdetweil referenced this topic on
      • N Named54 referenced this topic on
      • 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

                                            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
                                            • 8
                                            • 9
                                            • 10
                                            • 11
                                            • 12
                                            • 12 / 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