This calendar module is functionally the same as the default calendar app, however its presentation is different.
This module displays events from a public .ical calendar. It can combine multiple calendars.
- Navigate to the
MagicMirror/modulesdirectory. - Execute
git clone https://github.com/jclarke0000/MMM-MyCalendar.git - Configure the module as per below
- Restart MagicMirror
NOTE: Some configuration parameters have changed. See below if you are updating from a previous version.
To use this module, add it to the modules array in the config/config.js file:
modules: [
{
module: "MMM-MyCalendar",
position: "top_left", // This can be any of the regions. Best results in left or right regions.
config: {
// The config property is optional.
// If no config is set, an example calendar is shown.
// See 'Configuration options' for more information.
}
}
]The following properties can be configured:
Note if you are updating, some of the configuration options have changed, as follows:
timeFormatno longer refers to whether you would like to see 'relative' or 'absolute' dates. You now useuseRelativeDatesand specifiy eithertrueorfalse.timeFormatis now used to specify the display format for time (e.g.:"h:mm A"for 12 hour time,"HH:mm"for 24 hour time, etc.)dateFormatis now just used for specifying how date portions of the display should format (e.g.:"MMMM D"for January 1,"DD-MMM"for 01-Jan, etc.).dayOfWeekFormatis new and allows you to specify a format for weekday names (e.g."dddd"for Tuesday,"ddd"for Tue, etc.)joiningWordis new and allows you to specify the word to be displayed between the day/date and time of the event (e.g.: specify"at"for Tuesdayat1:15 PM). If you do not want a joining word, then specify an empty string (i.e.:"").
| Option | Description |
|---|---|
maximumEntries |
The maximum number of events shown. / Possible values: 0 - 100 Default value: 10 |
maximumNumberOfDays |
The maximum number of days in the future. Default value: 365 |
maxTitleLength |
The maximum title length. Possible values: 10 - 50 Default value: 25 |
fetchInterval |
How often does the content needs to be fetched? (Milliseconds) Possible values: 1000 - 86400000 Default value: 300000 (5 minutes) |
animationSpeed |
Speed of the update animation. (Milliseconds) Possible values: 0 - 5000 Default value: 2000 (2 seconds) |
fade |
Fade the future events to black. (Gradient) Possible values: true or false Default value: true |
fadePoint |
Where to start fade? Possible values: 0 (top of the list) - 1 (bottom of list) Default value: 0.25 |
calendars |
The list of calendars. Possible values: An array, see calendar configuration below. Default value: An example calendar. |
titleReplace |
An object of textual replacements applied to the tile of the event. This allow to remove or replace certains words in the title. Example: {'Birthday of ' : '', 'foo':'bar'} Default value: { "De verjaardag van ": "", "'s birthday": "" } |
displayRepeatingCountTitle |
Show count title for yearly repeating events (e.g. "X. Birthday", "X. Anniversary") Possible values: true or false Default value: false |
dayOfWeekFormat |
Format to use for weekday names. Possible values: See Moment.js formats Default value: dddd (e.g. Tuesday) |
timeFormat |
Format to use for time display. Possible values: See Moment.js formats Default value: h:mm A (e.g. 1:15 PM) |
dateFormat |
Format to use for the date of events (when using absolute dates) Possible values: See Moment.js formats Default value: MMMM D (e.g. January 18) |
joiningWord |
Word to display between the day/date and the time of the event (e.g.: Tuesday at 1:15 PM). If you do not want one, you need to explicitly specify an epmty string (i.e.: "")Default value: at |
useRelativeDates |
Display event times as relative time (true) or absolute dates (false)Possible values: true or false Default value: falseNOTE This used to be named timeFormat, but I felt that din't make a lot of sense. So timeFormat is now used to specify the format for time display (as one would expect). |
getRelative |
How much time (in hours) should be left until calendar events start getting relative? Possible values: 0 (events stay absolute) - 48 (48 hours before the event starts) Default value: 6 |
urgency |
When using a timeFormat of absolute, the urgency setting allows you to display events within a specific time frame as relative. This allows events within a certain time frame to be displayed as relative (in xx days) while others are displayed as absolute dates Possible values: a positive integer representing the number of days for which you want a relative date, for example 7 (for 7 days) Default value: 7 |
broadcastEvents |
If this property is set to true, the calendar will broadcast all the events to all other modules with the notification message: CALENDAR_EVENTS. The event objects are stored in an array and contain the following fields: title, startDate, endDate, fullDayEvent, location and geo. Possible values: true, false Default value: true |
hidePrivate |
Hides private calendar events. Possible values: true or false Default value: false |
excludedEvents |
An array of words / phrases from event titles that will be excluded from being shown. Example: ['Birthday', 'Hide This Event'] Default value: [] |
showLocation |
Whether to show the event's location. Possible values: true or false.Default value: true |
The calendars property contains an array of the configured calendars.
The colored property gives the option for an individual color for each calendar.
config: {
colored: false,
calendars: [
{
url: 'http://www.calendarlabs.com/templates/ical/US-Holidays.ics',
symbol: 'calendar',
auth: {
user: 'username',
pass: 'superstrongpassword',
method: 'basic'
}
},
],
}| Option | Description |
|---|---|
url |
The url of the calendar .ical. This property is required. Possible values: Any public accessble .ical calendar. |
color |
The font color of an event from this calendar. This property should be set if the config is set to colored: true. Possible values: HEX, RGB or RGBA values (#efefef, rgb(242,242,242), rgba(242,242,242,0.5)). |
repeatingCountTitle |
The count title for yearly repating events in this calendar. Example: 'Birthday' |
maximumEntries |
The maximum number of events shown. Overrides global setting. Possible values: 0 - 100 |
maximumNumberOfDays |
The maximum number of days in the future. Overrides global setting |
auth |
The object containing options for authentication against the calendar. |
| Option | Description |
|---|---|
user |
The username for HTTP authentication. |
pass |
The password for HTTP authentication. (If you use Bearer authentication, this should be your BearerToken.) |
method |
Which authentication method should be used. HTTP Basic, Digest and Bearer authentication methods are supported. Basic authentication is used by default if this option is omitted. Possible values: digest, basic, bearer Default value: basic |