Read the statement by Michael Teeuw here.
MMM-CalendarExt
-
Wonderful, everyting works now. Thanks a lot!
-
MMM-CalendarExt not updating calendar events.**
I have configured two calendar views: “daily” and “upcoming”. I have set the redrawInterval to minimum: 60000 ms. I have two calendars: Private Google Calendar and local ics calendar file. When I update one or another of my calendars, my calendars don’t update at all. Updates happen only when I restart MMM from the beginning. For testing purposes I have also the “default” calendar in my configuration and it updates normally. For testing purposes I have added command 'self.sendSocketNotification(‘RESET_CALENDARS’) to the MMM-CalendarExt.js code inside the redrawTimer function. This dirty patch resets the calendars every 60 seconds, but I don’t think this is the right way to solve my problem. Please help. -
@helmi
Well, I tested and found nothing problem.
So, I suspect there might be some errors in front-electron views. Front-view error(from any module) could cause interfering other modules working. You can test bynpm start dev. -
@Sean I have been using the ‘npm start dev’ and it shows no errors. From the console log I can see that the timer triggers as expected. From the Calendar.js log (terminal view) I can see that the calendars fetching happens only when I start MMM from the beginning.
-
@Sean FYI: I have removed all other modules, only MMM-CalendarExt existing. I have also removed local calendar file, only Google Calendar URL existing. I have done shutdown and restart (both Rpi and MMM) several times. Problem still exists. For me looks like problem is where the calendars fetching should trigger. They happen only once when I start MMM from the beginning.
-
@helmi
Hmmmm… weird.Anyway, Calendar fetching interval([calendar].interval) is different with front-view redrawing(system.redrawInterval). There is some possibility of you’ve been confusing.
-
@Sean Ok - So does that mean that the redrawInterval parameter (my setting 60000) has nothing to do with Calendar fetching interval? If so, could you please give me some testing procedure in order to test those parts of the code where the fetching interval is working (or for me: not working)? I have some coding experience, but js is not my best knowledge.
-
system.redrawIntervalis used for refreshing calendar view. It is set to30 minutesby default. It doesn’t affect calendar fetching. With already fetched data, module redraws views per this interval value.system: { show: ['upcoming', 'daily'], redrawInterval: 30*60*1000, //minimum 60000 },[calendar].intervalis used for reading iCal file and fetching. If you set this value toone hour, the calendar will be re-parsed per one hour. But, if there is no changed event or new event, the module doesn’t load newly-parsed-but-same data and use previous data already loaded.The process is like this;
node_helper.jsreads calendars perintervaltime.- it fetches calendars and compares them with previously fetched data.
- If nothing changed, nothing happens.
- If something changed, newly fetched data will be sent to the module.
- Module loads fetched events data on the memory.
- Every
redrawIntervaltime, module redraw views with loaded events data.
-
@Sean Thank you for the clarifying information. Apparently I was expecting the calendars fetching to happen by system.redrawInterval, which was set at one minute (60000 ms). Now I waited for 30 minutes and fetching happened and events were updated as I expected. No problem so far!
Seems to me that the [calendar].interval (fetching) is set to 30 minutes by default.
Now only one question remains: How can I change the [calendar].interval to for example 5 minutes? This is the interval in “default” calendar, and I have some events needing to be updated more often than 30 minutes. -
@Sean Solved! No need to answer my last question. Sorry I didn’t read the documentation carefully enough. It is a very clever solution to have refresh interval setting for each calendar individually!
Thank you very much for nice conversation and happy Christmas greetings from snowy Finland! -
Hi,
I realized, that every time the Calendars will be fetched, pm2 creates a log entry in it’s log file.
Well, sometime the log file will be very big, so my question is if it is necessary or advisable to delete the log file and if there is a way to do that automatically.:)
-
@cruunnerr
I would try https://github.com/keymetrics/pm2-logrotate/blob/master/README.md for this. Looks like you can set a limit, and pm2 creates a new log file after the limit is reached. You can also activate compression for older log files and define how many old log files you would like to keep.
But I did not try -
@yawns
Yeah, i saw this already. Unfortunately my english isn’t good enough to understand this :/I just create a bash script with following content:
pm2 flush
The script will be executed by a cronjob every sunday at 4am.Maybe not the cleanest solution…
I will take a look again at the log rotate method. :) thanks dude
-
@cruunnerr
Understood. If you don’t figure it out I will try when I am back home next weekend -
Hey guys,
I am trying to show the same calendar on “weeks” and on “upcoming” but with different “maxEntries”. Is that possible?
tried it like this:
{ //Muellkalendar url: "webcal://p53-calendars.icloud.com/published/2/.....", styleName: "style2", maxEntries: 20, symbol: "delete-empty@md", views: ["weeks"], interval: 86400000, // 24 Stunden }, { //Muellkalendar-Upcoming url: "webcal://p53-calendars.icloud.com/published/2/.....", styleName: "style2", maxEntries: 2, symbol: "delete-empty@md", views: ["upcoming"], interval: 86400000, // 24 Stunden },But then i get the “create a config” message
-
@cruunnerr
maxEntriesis only worked for the count of loading events ofcalendar, not theview. You can uselimitfor limitation of the number of events of specificview. -
Thanks for your reply.
I already used limit for the upcoming view. I have 3 calendars in the upcoming view and the limit works fine.
But i want to show the same calendar once in the weeks view with up to 20 entries and in the upcoming view max. 2 so the other calendar entries will not be blocked by the calendar i just need 2 entries.
anyhow, it seems not to be possible. But thank u anyway. Great module at all :)
-
Hi,
Thanks a lot for a great module!!!Currently doing my finishing touches on my MagicMirror and CalendarExt.
I’m using 1 daily view (bottom_bar) and 2 column view (top_left), each with a dedicated google calendar.
Have tried to configure 2 upcoming view, still without any luck.I have 2 questions:
-
How can I set up CalendarExt to use 2 upcoming views or reconfigure one of the other views to function and present as the upcoming view?
(Preferable without being affected by future updates.) -
Is there any method (or planned feature) to limit my calendars from 3 to 1 by filtering, including or excluding events per view?
Example:
calendars: [ { name: "Birthdays", title: "Birthdays", views: ['upcoming'], includeEvent: ["/Birthday/gi'] url: "https://calendar.google.com/calendar/ical/....", }, { name: "Calendar", views: ['daily'], excludeEvent: ["/Birthday/gi'] url: "https://calendar.google.com/calendar/ical/....", }, ],Hope you can help.
-
-
- You cannot use “2 upcoming views” at the same time. sorry. If you use “profile”, you can select or change to show the view from “multi upcoming views”, but not together.
- I hadn’t imagined that kind of function. I think some kind of filtering function would be needed for your purpose. When I have a time, I might add that.
-
Thanks for your update and for considering the feature.
Hope to see filtering sometime in the future in this already great module.
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