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

      @almightyyoshi

      1. Not to use symbol: useSymbol: false
      // config of your module;
      ...
      config: {
        useSymbol: false,
      ...
      
      1. Is this what you wanted?
        f730144a-9e08-47ef-89e2-115b91f16306-image.png
      /* in your custom.css */
      .CX3 .event.fullday,
      .CX3 .event.multiday {
        border-left: 4px solid var(--calendarColor);
        border-bottom: 1px solid var(--calendarColor);
        background-color: rgba(0, 0, 0, 0.2);
      }
      
      .CX3 .event.singleday {
        border-left:4px solid var(--calendarColor);
      }
      
      .CX3 .event.singleday:not(.useSymbol)::before {
        content: '';
      }
      
      A 1 Reply Last reply Reply Quote 0
      • A Offline
        almightyyoshi @MMRIZE
        last edited by

        @MMRIZE That’s perfect. Thanks. I just wasn’t sure if those attributes were available and I honestly just didn’t feel like experimenting at that moment. Last question (think): Is there a way to hide the default calendar module and still populate CX3. I found a way to hide the module (by editing the calendar module’s base config) on startup, but then CX3 doesn’t have any events. Here’s what I used (courtesy of @sdetweil from a thread a couple of years ago):

        hidden: false, 
        
        
        suspend: function(){
            this.hidden=true
        },
        
        restore: function(){
             this.hidden=false
        },
        
        notificationReceived: function(notification, payload, source){
           // this comes before the first call to getDom()
           if(notification === "ALL_MODULES_STARTED")
              this.hidden=true;
        }.
        
        getDom: function (){
        var wrapper=document.createElement('div')
        if(this.hidden==false){ 
             //create normal content
        }
        return wrapper;
        },
        
        S M 2 Replies Last reply Reply Quote 0
        • S Offline
          sdetweil @almightyyoshi
          last edited by

          @almightyyoshi I think you will have to use css to hide, vs code

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

            @almightyyoshi
            You can hide it with CSS, or just drop out “position”.

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

              @MMRIZE Dropping position worked. I thought I’d get an error or blank screen for that. Thanks again!

              luisestradaL 1 Reply Last reply Reply Quote 0
              • luisestradaL Offline
                luisestrada @almightyyoshi
                last edited by

                @almightyyoshi Every time i think this is fixed then it comes back again…

                I have 3 calendars so I renamed calendar1 and calendar2, as I don’t want these calendars to conflict with CX3.
                Then I have my calendar module and dropped the position as I don’t want to show it.
                My CX3 loads empty and after a while the information appears, then it goes and then it comes back. I think I have not set up properly the refresh. I’ve tried many combinations but nothing works

                {
                module: “MMM-CalendarExt3”,
                position: “bottom_bar”,
                title: “Calendario”,
                waitFetch: 10000, // (ms) waiting the fetching of last calendar to prevent flickering view by too frequent fetching.
                refreshInterval: 1000 * 60 * 1, // (ms) refresh view by force if you need it.
                glanceTime: 1000 * 60 * 1, // (ms) Return to original view when you move to other moment by notification.
                //animationSpeed: 2000, // (ms) Refreshing the view smoothly.
                rotateInterval: 0,
                eventTimeOptions: {
                timeStyle: “short”
                },
                fetchInterval: 1000,
                config: {
                mode: “week”,
                instanceId: “WeeklyCalendar”,
                locale: ‘es-CO’,
                maxEventLines: 3,
                firstDayOfWeek: 0,
                weekIndex: 0,
                weeksInView: 4,
                broadcastPastEvents: true, // <= IMPORTANT to see past events
                calendarSet: [‘Cal1’, ‘Cal2’, ‘Cal3’, 'Cal4, ‘Cal5’],
                }
                },

                And Go Jays Go!! :beaming_face_with_smiling_eyes:

                Screen Shot 2022-06-06 at 3.14.02 PM.png

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

                  @luisestrada do you have 3 instances of
                  module:‘calendar’
                  ?

                  Sam

                  How to add modules

                  learning how to use browser developers window for css changes

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

                    @sdetweil said in MMM-CalendarExt3:

                    @luisestrada do you have 3 instances of
                    module:‘calendar’
                    ?

                    Yes, I have 3 modules, the holidays (shows 3), the birthday calendar (shows 2) and the normal calendar (shows 8).

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

                      @luisestrada each sends out its own list of entries. maybe calext3 is replacing a with b with c

                      Sam

                      How to add modules

                      learning how to use browser developers window for css changes

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

                        @sdetweil said in MMM-CalendarExt3:

                        @luisestrada each sends out its own list of entries. maybe calext3 is replacing a with b with c

                        That’s exactly what i thought, so thats why I created 3 different modules by copying the entire module in a separate folder and renaming it, similar to this: https://forum.magicmirror.builders/topic/14724/run-two-instances-of-the-same-module-sometimes-tutorial

                        but still, if I have 3 modules called, calendar, calendar1 and calendar2, it does it

                        M S 3 Replies Last reply Reply Quote 0
                        • M Offline
                          MMRIZE @luisestrada
                          last edited by

                          @luisestrada
                          Well, I was worried about just that case when I developed this module - multiple calendar instances. I thought Nobody would use the calendar module like that. So I haven’t considered supporting that case. But I was wrong.

                          The current behaviour of this module is replacing whole events when the notification arrives, not combining each. So you cannot get proper whole events from multi-emitter of notifications.

                          I’ll modify the module in a few days to stack each event not replace it. Wait for a little.

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

                            @luisestrada
                            By the way, your configuration is not quite effective. Some options are located in the wrong place, some are invalid.

                            • All module-specific user configuration should be placed in config: { ... }. Your waitFecth or eventTimeOptions and something more would not be applied.

                            • there is no fetchInterval or rotateInterval option in CX3.

                            • broadcastPastEvents is not for CX3 module but for calendar module.

                            • refreshInterval: 1000 * 60 * 1 means redraw calendar every 1 minute. Is it really needed?

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

                              @luisestrada the info inside(event broadcast) is still the same
                              and u didn’t need to do the rename. it supports multiple instances

                              Sam

                              How to add modules

                              learning how to use browser developers window for css changes

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

                                @MMRIZE u can see in config if multiple instances and maybe the ‘from’ on notification

                                Sam

                                How to add modules

                                learning how to use browser developers window for css changes

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

                                  @MMRIZE said in MMM-CalendarExt3:

                                  @luisestrada
                                  Well, I was worried about just that case when I developed this module - multiple calendar instances. I thought Nobody would use the calendar module like that. So I haven’t considered supporting that case. But I was wrong.

                                  The current behaviour of this module is replacing whole events when the notification arrives, not combining each. So you cannot get proper whole events from multi-emitter of notifications.

                                  I’ll modify the module in a few days to stack each event not replace it. Wait for a little.

                                  Thank you, I will show you my code so you all can understand the mess I did :beaming_face_with_smiling_eyes:

                                  @MMRIZE said in MMM-CalendarExt3:

                                  @luisestrada
                                  By the way, your configuration is not quite effective. Some options are located in the wrong place, some are invalid.

                                  • All module-specific user configuration should be placed in config: { ... }. Your waitFecth or eventTimeOptions and something more would not be applied.

                                  • there is no fetchInterval or rotateInterval option in CX3.

                                  • broadcastPastEvents is not for CX3 module but for calendar module.

                                  • refreshInterval: 1000 * 60 * 1 means redraw calendar every 1 minute. Is it really needed?

                                  It was supposed to be ten minutes but because I was trying and adding and testing, I forgot to change it back

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

                                    @sdetweil said in MMM-CalendarExt3:

                                    @luisestrada the info inside(event broadcast) is still the same
                                    and u didn’t need to do the rename. it supports multiple instances

                                    All calendar were working under the same name, however i thought it was the cause of the blank CX3 so that’s why i tried to create one version for each module as a last resort

                                    1 Reply Last reply Reply Quote 0
                                    • luisestradaL Offline
                                      luisestrada
                                      last edited by

                                      My code with the changes based on your feedback (and it seems to be working for now) Thank you!

                                      //Calendar hidden Module
                                              {
                                                  module: "calendar",
                                                  //position: "top_left",
                                                  header: "Eventos",
                                                  config: {
                                                      broadcastPastEvents: true, // <= IMPORTANT to see past events
                                                      instanceId: "WeeklyCalendar",
                                                      calendars: [
                                                          {
                                                              url: "URL1",
                                                              name: "Cal1", // <= RECOMMENDED to assign name
                                                              color: "#0760d1", // <= RECOMMENDED to assign color
                                                              symbol: false
                                                          },
                                                          {
                                                              url: "URL2",
                                                              name: "Cal2", // <= RECOMMENDED to assign name
                                                              color: "#2a4d56", // rgb(92%, 33%, 55%), // <= RECOMMENDED to assign color
                                                              symbol: "birthday-cake"
                                                          },
                                                          {
                                                              url: "URL3",
                                                              name: "Cal3", // <= RECOMMENDED to assign name
                                                              color: "#333", // rgb(92%, 33%, 55%), // <= RECOMMENDED to assign color
                                                              symbol: "bank"
                                                          },
                                                          {
                                                              url: "URL4",
                                                              name: "Cal4", // <= RECOMMENDED to assign name
                                                              color: "#3f0101", // <= RECOMMENDED to assign color
                                                              symbol: "flag"
                                                          },
                                                          {
                                                              url: "URL5",
                                                              name: "Cal5, // <= RECOMMENDED to assign name
                                                              color: "#765f02", //rgb(58%, 24%, 45%) // <= RECOMMENDED to assign color
                                                              symbol: "flag"
                                                          },
                                                          ],
                                                  }
                                              },
                                      // CX3 Module
                                              {
                                                  module: "MMM-CalendarExt3",
                                                  position: "bottom_bar",
                                                  title: "Calendario",
                                                  config: {
                                                      mode: "week",
                                                      instanceId: "WeeklyCalendar",
                                                      locale: 'es-CO',
                                                      maxEventLines: 3,
                                                      firstDayOfWeek: 0,
                                                      weekIndex: 0,
                                                      weeksInView: 4,
                                                      waitFetch: 1000 * 10, //	(ms) waiting the fetching of last calendar to prevent flickering view by too frequent fetching.
                                                      refreshInterval: 1000 * 60 * 10, //	(ms) refresh view by force if you need it.
                                                      glanceTime: 1000 * 60 * 10,	// (ms) Return to original view when you move to other moment by notification.
                                                      eventTimeOptions: {
                                                          timeStyle: "short"
                                                      },
                                                      //useSymbol: false,
                                                      calendarSet: ['Cal1', 'Cal2', 'Cal3', 'Cal4', 'Cal5'],
                                                      }
                                              },
                                      

                                      Now these 3 calendars seem not to be conflicting with CX3

                                      {
                                      			module: "calendar2",
                                      			header: "CAL2",
                                      			position: "top_left",
                                      			config: {
                                      				calendars: [
                                      					{
                                                              url: "CAL2"
                                                          },
                                      				],
                                      				maximumEntries: "2",
                                                      wrapEvents: true
                                      			}
                                      		},
                                      {
                                      			module: "calendar2",
                                      			header: "CAL3",
                                      			position: "top_left",
                                      			config: {
                                      				calendars: [
                                      					{
                                                              url: "CAL3"
                                                          },
                                      				],
                                      				maximumEntries: "3",
                                                      wrapEvents: true
                                      			}
                                      		},
                                      {
                                      			module: "calendar2",
                                      			header: "CAL",
                                      			position: "top_left",
                                      			config: {
                                      				calendars: [
                                      					{
                                                              url: "CAL"
                                                          },
                                      				],
                                      				maximumEntries: "5",
                                                      wrapEvents: true
                                      			}
                                      		},
                                      

                                      Sorry for the long message

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

                                        @luisestrada said in MMM-CalendarExt3:

                                        My code with the changes based on your feedback (and it seems to be working for now) Thank you!

                                        I talked too fast, I pressed submit and the issue came back :anxious_face_with_sweat:

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

                                          @luisestrada
                                          By your configuration;

                                          • It will be refreshed every refreshInterval by force. You’ve set up 10 minutes.
                                          • It will be refreshed after 10 seconds(waitFetch) of the last calendar parsed. a more frequent parsing of your calendar would be a more frequent updating view. If your 5 calendars finish their parsing in 10 seconds together, the view will be updated once. Meanwhile parsing your 5 calendars would take dozen seconds sequentially, the view will be flickering. In that case, set waitFetch longer.

                                          Anyway, I’ll release more improved version for frequent CALENDAR_EVENTS in a few days. Plz wait a little.

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

                                            @MMRIZE said in MMM-CalendarExt3:

                                            @luisestrada
                                            By your configuration;

                                            • It will be refreshed every refreshInterval by force. You’ve set up 10 minutes.
                                            • It will be refreshed after 10 seconds(waitFetch) of the last calendar parsed. a more frequent parsing of your calendar would be a more frequent updating view. If your 5 calendars finish their parsing in 10 seconds together, the view will be updated once. Meanwhile parsing your 5 calendars would take dozen seconds sequentially, the view will be flickering. In that case, set waitFetch longer.

                                            Anyway, I’ll release more improved version for frequent CALENDAR_EVENTS in a few days. Plz wait a little.

                                            Thank you @MMRIZE , I took your recommendations.

                                            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
                                            • 31
                                            • 32
                                            • 33
                                            • 34
                                            • 35
                                            • 35 / 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