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
    689 Posts 82 Posters 2.8m Views 86 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 Do not disturb
      sdetweil @1lolo94
      last edited by

      @1lolo94 said in MMM-CalendarExt3:

      Sorry my picture would not upload for some reason

      pic upload is the third icon from the right above the post editor

      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 @1lolo94
        last edited by

        @1lolo94
        top_right? You positioned weather module top_center… I need pictures what you mean.

        1 1 Reply Last reply Reply Quote 0
        • 1 Offline
          1lolo94
          last edited by

          I had to resize - sorry

          20240209_225448.jpg

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

            @MMRIZE - correct, sorry - I was testing it out both ways and was about 6 hours straight trying to get everything setup.

            I would like it how it was in the top right. I removed all the calendar coding and the weather shows up correctly.

            modules: [
               	{
               		module: "alert",
               	},
               	{
               		module: "updatenotification",
               		position: "top_bar"
               	},
               	{
               		module: "clock",
               		position: "top_left"
               	},
               	{
               		module: "weather",
               		position: "top_right",
               		config: {
               			weatherProvider: "openweathermap",
               			type: "current",
               			location: "xx",
               			locationID: "517xx2078", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
               			apiKey: "1325b9a82957229ac168e428011778d8",
               			roundTemp: true,
               		}
               	},
               	{
               		module: "weather",
               		position: "top_right",
               		//header: "Weather Forecast",
               		config: {
               			weatherProvider: "openweathermap",
               			type: "forecast",
               			location: "xx",
               			locationID: "xxx", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
               			apiKey: "1325b9a82957229ac168e428011778d8",
               			fade: false,
               			colored: "true",
               			roundTemp: true,
               		}
               	},
               ]
            };
            

            dd686ea4-2afb-4995-bc26-34a61e033ab9-image.png

            S 2 Replies Last reply Reply Quote 0
            • S Do not disturb
              sdetweil @1lolo94
              last edited by

              @1lolo94 just fyi. you can disable modules by adding a line for each

              disabled:true, 
              

              between the module: and config: lines
              note the trailing comma

              Sam

              How to add modules

              learning how to use browser developers window for css changes

              1 Reply Last reply Reply Quote 0
              • S Do not disturb
                sdetweil @1lolo94
                last edited by

                @1lolo94 note that each section is a stack, 1st in config.js in that position goes first , next next, etc. if too much, it gets clipped off at the bottom of the screen.

                so if ext3 cal is first, others are below it.
                you could change css to prove it

                in custom.css

                body {
                  overflow: default;
                }
                

                then try to scroll the page, up to see below the fold

                Sam

                How to add modules

                learning how to use browser developers window for css changes

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

                  @sdetweil So i did everything you said (and i may have messed up) and now all i see if the calendar at the bottom.

                  8acf4357-5c3f-49a8-bf57-85c4c66d7b7a-image.png

                  Config.js

                  	language: "en",
                  	locale: "en-US",
                  	logLevel: ["INFO", "LOG", "WARN", "ERROR"], // Add "DEBUG" for even more logging
                  	timeFormat: 12,
                  	units: "imperial",
                  
                  	modules: [
                  		{
                  			module: "alert",
                  		},
                  		{
                  			module: "updatenotification",
                  			position: "top_bar"
                  		},
                   		{
                                          module: "MMM-CalendarExt3",
                                          position: "bottom_bar",
                                          title: "",
                                          config: {
                                            mode: "",
                                            weekIndex: 0,
                                            weeksInView: 4,
                                            instanceId: "basicCalendar",
                                            locale: 'en-EN',
                                            maxEventLines: 5,
                                            firstDayOfWeek: 0,
                                            refreshInterval: 120000,
                                            animationSpeed: 0,
                                            useSymbol: false,
                                            calendarSet: ['us_holiday','family'],
                                  }
                                  },
                                  {
                                          module: "calendar",
                                          position: "",
                                          config: {
                                            broadcastPastEvents: true,
                                            calendars: [
                                                  {
                                                    url: "webcal://www.calendarlabs.com/ical-calendar/ics/76/US_Holidays.ics",
                                                    name: "us_holiday",
                                                    color: "#6699ff"
                                                  }
                                                          ]
                                                  }
                                  },
                                  {
                                          module: "calendar",
                                          position: "",
                                          maximumNumberOfDays: 60,
                                          config: {
                                            animationSpeed: 0,
                                            fetchInterval: 100000,
                                            broadcastPastEvents: true,
                                            useSymbol: false,
                                            calendars: [
                                                  {
                                                    url: "https://calendar.google.com/calendar/ical/508cafe09ed07b094af03472b6e4b4df1afcc8f9bd961857492b70bcc6978e12%40group.calendar.google.com/private-9092589d68a2b474a7739751badffb79/basic.ics",                                 
                  				  name: "family",
                                                    color: "yellow",
                                                          user: 'xx@gmail.com',
                                                          pass: 'xxxxxx',
                                                          method: 'basic'
                                                  }
                                                          ]
                  				}
                                  },
                  		{
                  			module: "clock",
                  			position: "top_left"
                  		},
                  		{
                  			module: "weather",
                  			position: "top_right",
                  			config: {
                  				weatherProvider: "openweathermap",
                  				type: "current",
                  				location: "xx",
                  				locationID: "xx", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
                  				apiKey: "1325b9a82957229ac168e428011778d8",
                  				roundTemp: true,
                  			}
                  		},
                  		{
                  			module: "weather",
                  			position: "top_right",
                  			//header: "Weather Forecast",
                  			config: {
                  				weatherProvider: "openweathermap",
                  				type: "forecast",
                  				location: "xx",
                  				locationID: "51xxx72078", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
                  				apiKey: "1325b9a82957229ac168e428011778d8",
                  				fade: false,
                  				colored: "true",
                  				roundTemp: true,
                  			}
                  		},
                  	]
                  };
                  
                  
                  /*************** DO NOT EDIT THE LINE BELOW ***************/
                  if (typeof module !== "undefined") { module.exports = config; }
                  
                  

                  Custom CSS

                  /* MagicMirror² Custom CSS Sample
                   *
                   * Change color and fonts here.
                   *
                   * Beware that properties cannot be unitless, so for example write '--gap-body: 0px;' instead of just '--gap-body: 0;'
                   *
                   * MIT Licensed.
                   */
                  
                  /* Uncomment and adjust accordingly if you want to import another font from the google-fonts-api: */
                  /* @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@100;300;400;700&display=swap'); */
                  
                  :root {
                    --color-text: #999;
                    --color-text-dimmed: #666;
                    --color-text-bright: #fff;
                    --color-background: black;
                  
                    --font-primary: "Roboto Condensed";
                    --font-secondary: "Roboto";
                    
                    --font-size: 20px;
                    --font-size-small: 0.75rem;
                  
                    --gap-body-top: 60px;
                    --gap-body-right: 60px;
                    --gap-body-bottom: 60px;
                    --gap-body-left: 60px;
                    
                    --gap-modules: 30px;
                  }
                  
                  body {
                    overflow: default;
                  }
                  
                   body { 
                   color: #000;
                   }
                   
                   .dimmed {
                    color: #000;
                    }
                  
                  .normal {
                    color: #000;
                  }
                  
                  .bright {
                    color: #000;
                  }
                  .MMM-CalendarExt3 {
                          margin-bottom: -5px;
                          width: 100%;
                          height: 575px;
                          font-size: 20px;
                  }
                  .CX3 .cw {
                          display:none
                  }
                  
                  .CX3 .event.singleday {
                    border-left:4px solid var(--calendarColor);
                  }
                  
                  .CX3 .event.singleday:not(.useSymbol)::before {
                    content: '';
                  }
                  .module.clock {
                    background-color:rgba(255,255,255,0.5);
                    border-radius:8px;
                    padding:8px;
                  }
                  .module.weather {
                    background-color:rgba(255,255,255,0.5);
                    border-radius:8px;
                    padding:8px;
                  }
                  .module.weather {
                    background-color:rgba(255,255,255,0.5);
                    border-radius:8px;
                    padding:8px;
                    color: #000;
                  }
                  .dimmed {
                  /*  color: #666; */
                      color: #000;
                  }
                  .normal {
                  /*  color: #999;*/
                      color: #000;
                  }
                  .bright {
                    color: #000;
                  }
                  .header {
                    color: #000;
                  }
                  
                  
                  
                  S 1 Reply Last reply Reply Quote 0
                  • S Do not disturb
                    sdetweil @1lolo94
                    last edited by

                    @1lolo94 sorry it was html, not body

                    html {
                       overflow:default;
                    }
                    

                    Sam

                    How to add modules

                    learning how to use browser developers window for css changes

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

                      @sdetweil Thanks for the quick response - same issue :(

                      All I see is the calendar at the bottom

                      S 1 Reply Last reply Reply Quote 0
                      • S Do not disturb
                        sdetweil @1lolo94
                        last edited by

                        @1lolo94 please change this

                           position: "",
                        

                        to

                         //    position: "",
                        

                        “” causes an error
                        while no position setting is ok

                        Sam

                        How to add modules

                        learning how to use browser developers window for css changes

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

                          @sdetweil YOU ARE AMAZING!

                          a0114972-119e-4543-a869-d30d3ed70156-image.png

                          Last two questions and I will leave you alone :)

                          1. what settings do i need to change to get the calendar to fit the entire bottom of the screen? Is that possible?

                          2. How can I add a background to this - but have the calendar, weather, etc in front of it? I have seen some others have nature, clouds, etc.

                          Thanks again!

                          S 1 3 Replies Last reply Reply Quote 0
                          • S Do not disturb
                            sdetweil @1lolo94
                            last edited by

                            @1lolo94 background

                            use one of the modules that displays what you like and use position fullscreen_below, 3d, below is furthest away from the viewer , above is closest to the viewer and default is between them

                            calendar full width. I don’t know, mm sets margin, all the way around so content is NOT jammed against the edge…

                            see css/main.css at the top, 60px as I recall

                            you can override that in custom.css

                            Sam

                            How to add modules

                            learning how to use browser developers window for css changes

                            1 Reply Last reply Reply Quote 0
                            • S Do not disturb
                              sdetweil @1lolo94
                              last edited by

                              @1lolo94 said in MMM-CalendarExt3:

                              and I will leave you alone

                              I am here every day. am moderator
                              ask away.
                              others smarter than me will jump in too

                              Sam

                              How to add modules

                              learning how to use browser developers window for css changes

                              1 Reply Last reply Reply Quote 0
                              • 1 Offline
                                1lolo94 @1lolo94
                                last edited by

                                @sdetweil I was able to get the module - MMM-Wallpaper installed and working great - but depending on the picture, i cannot see the the calendar, events, days, etc. I’m assuming that is in the custom cc settings?

                                S 1 Reply Last reply Reply Quote 0
                                • S Do not disturb
                                  sdetweil @1lolo94
                                  last edited by

                                  @1lolo94 no cool thing there. some background images will conflict w the foreground…

                                  I want dynamic opposite, but… no such thing

                                  Sam

                                  How to add modules

                                  learning how to use browser developers window for css changes

                                  1 Reply Last reply Reply Quote 0
                                  • B Offline
                                    bobbylx
                                    last edited by

                                    Hello all, just have a couple fine tuning questions for you. Both seem easy but I can’t seem to figure out why it’s not working. FWIW my MM has been running great for months now, finally doing some tweaking.

                                    So I’ve got MMM-Calendarext3 setup to only show 1 calendar, it’s my family google account. The last 2 things I would like to accomplish are having the text for long events scroll with useMarquee: true and then also to have the eventTransformer search for a name in the event title and change the color according to that.

                                    For some reason, I can’t get either of these to work. Config.js below. If I understand correctly, I shouldn’t need to add anything to custom.css correct? With the config file below, my calendar does not load at all, just get blank screen stating please create a config file, if I hash out the transformer stuff then it loads but never scrolls (marquee). Any advice from ya’ll smart folks?

                                    {
                                                                   module: "MMM-CalendarExt3",
                                                                   position: "bottom_bar",
                                                                   title: "",
                                                                   config: {
                                                                     mode: "",
                                                                     weekIndex: 0,
                                                                     weeksInView: 5,
                                                                     instanceId: "basicCalendar",
                                                                     locale: 'en-EN',
                                                                     maxEventLines: 5,
                                                                     fontSize: '26px',
                                                                     firstDayOfWeek: 0,
                                                                     refreshInterval: 120000,
                                                                     animationSpeed: 0,
                                                                     useMarquee: true,
                                                                     useSymbol: false,
                                                                     useWeather: true,
                                                                     displayWeatherTemp: true,
                                                                     calendarSet: ['us_holiday','family'],
                                                                   weatherPayload: (payload) => {
                                             if (Array.isArray(payload?.forecastArray)) {
                                               payload.forecastArray = payload.forecastArray.map((f) => {
                                                 f.maxTemperature = Math.round(f.maxTemperature * 9 / 5 + 32)
                                                 f.minTemperature = Math.round(f.minTemperature * 9 / 5 + 32)
                                                 return f
                                               })
                                             }
                                             return payload
                                           }
                                                           eventTransformer: (ev) => {
                                                            if (ev.title.search('Allie') > -1) ev.color = 'blue'
                                                            return ev
                                                           }
                                                           }
                                                           },
                                           
                                    
                                    
                                    H M 2 Replies Last reply Reply Quote 0
                                    • H Offline
                                      hrmax @bobbylx
                                      last edited by

                                      @bobbylx It could be because you aren’t settings the mode to week or month? It seems that the default is week but that would require that you omit the tag altogether rather than explicitly setting it to an empty string.

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

                                        @bobbylx said in MMM-CalendarExt3:

                                             }
                                             return payload
                                           } // <== HERE
                                                           eventTransformer: (ev) => {
                                                            if (ev.title.search('Allie') > -1) ev.color = 'blue'
                                                            return ev
                                                           }
                                        

                                        You’ve missed comma(,) in the end of weatherPayload definition.

                                        1 Reply Last reply Reply Quote 0
                                        • B Offline
                                          bobbylx @hrmax
                                          last edited by

                                          @hrmax said in MMM-CalendarExt3:

                                          @bobbylx It could be because you aren’t settings the mode to week or month? It seems that the default is week but that would require that you omit the tag altogether rather than explicitly setting it to an empty string.

                                          I have it with no mode and a 5 week rolling view, so the current week is always at the top. I did change it back to month for testing but made no difference.

                                          @MMRIZE said in MMM-CalendarExt3:

                                          @bobbylx said in MMM-CalendarExt3:

                                               }
                                               return payload
                                             } // <== HERE
                                                             eventTransformer: (ev) => {
                                                              if (ev.title.search('Allie') > -1) ev.color = 'blue'
                                                              return ev
                                                             }
                                          

                                          You’ve missed comma(,) in the end of weatherPayload definition.

                                          Awesome, thank you! That did it.

                                          Last one, using the Marquee for long calendar events. Is there anything else I need to do to make that work? See my config.js above, I added useMarquee: ‘true’ but it changed nothing. I assume I’m missing something simple again.

                                          1 Reply Last reply Reply Quote 0
                                          • L Offline
                                            Lilleberg
                                            last edited by

                                            I have an issue trying to show events from Googles shared family calendar. I have several Google calendars that shows perfectly in the CalendarExt3 module. But to show events from the shared family calendar has been quite an issue.
                                            I found out that I had to install the MMM-GoogleCalendar. In this module I manage to show the events from the shared calendar. But they won´t show up in the CalendarExt3 module.

                                            I found this code (https://github.com/MMRIZE/MMM-CalendarExt3/wiki/Compatible-with-randomBrainstormer-MMM-GoogleCalendar) that should resolve it, but when i paste this code at the end of the config of the CalendarExt3 module. No events show up. Even the events that allready shows from the other Google Calendars.

                                            I have the default calendar module to fetch the events from all of my Google Calendars, and the the GoogleCalendar module to fetch the shared calendar. I tried removing the default calendar module from the config file, and with just one calendar in the GoogleCalendar module. But no result.

                                            It shows just fine in the GoogleCalendar module, so it seems to be a problem to convert the events from the GoogleCalendar module to the CalendarExt3 module.

                                            S M 2 Replies 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
                                            • 21
                                            • 22
                                            • 23
                                            • 24
                                            • 25
                                            • 34
                                            • 35
                                            • 23 / 35
                                            • 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