diff --git a/CHANGELOG.md b/CHANGELOG.md
index 52e7235c..d62712d8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -18,6 +18,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
- Added some missing translaton strings in the sv.json file.
### Added
+- Calendar-specific support for `maximumEntries`, and ` maximumNumberOfDays`
- Add loaded function to modules, providing an async callback.
- Made default newsfeed module aware of gesture events from [MMM-Gestures](https://github.com/thobach/MMM-Gestures)
- Add use pm2 for manager process into Installer RaspberryPi script
diff --git a/modules/default/calendar/README.md b/modules/default/calendar/README.md
index d671c741..57a989a8 100644
--- a/modules/default/calendar/README.md
+++ b/modules/default/calendar/README.md
@@ -65,13 +65,13 @@ config: {
#### Calendar configuration options:
-
--| Option | Description
- -| --------------------- | -----------
- -| `url` | The url of the calendar .ical. This property is required.
**Possible values:** Any public accessble .ical calendar.
- -| `symbol` | The symbol to show in front of an event. This property is optional.
**Possible values:** See [Font Awesome](http://fontawesome.io/icons/) website.
- -| `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'`
- -| `user` | The username for HTTP Basic authentication.
- -| `pass` | The password for HTTP Basic authentication.
-
+| Option | Description
+| --------------------- | -----------
+| `url` | The url of the calendar .ical. This property is required.
**Possible values:** Any public accessble .ical calendar.
+| `symbol` | The symbol to show in front of an event. This property is optional.
**Possible values:** See [Font Awesome](http://fontawesome.io/icons/) website.
+| `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'`
+| `user` | The username for HTTP Basic authentication.
+| `pass` | The password for HTTP Basic authentication.
+| `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
diff --git a/modules/default/calendar/calendar.js b/modules/default/calendar/calendar.js
index 5ea57e07..72808c1f 100644
--- a/modules/default/calendar/calendar.js
+++ b/modules/default/calendar/calendar.js
@@ -69,7 +69,13 @@ Module.register("calendar", {
for (var c in this.config.calendars) {
var calendar = this.config.calendars[c];
calendar.url = calendar.url.replace("webcal://", "http://");
- this.addCalendar(calendar.url, calendar.user, calendar.pass);
+
+ var calendarConfig = {
+ maximumEntries: calendar.maximumEntries,
+ maximumNumberOfDays: calendar.maximumNumberOfDays,
+ };
+
+ this.addCalendar(calendar.url, calendar.user, calendar.pass, calendarConfig);
}
this.calendarData = {};
@@ -307,11 +313,11 @@ Module.register("calendar", {
*
* argument url sting - Url to add.
*/
- addCalendar: function (url, user, pass) {
+ addCalendar: function (url, user, pass, calendarConfig) {
this.sendSocketNotification("ADD_CALENDAR", {
url: url,
- maximumEntries: this.config.maximumEntries,
- maximumNumberOfDays: this.config.maximumNumberOfDays,
+ maximumEntries: calendarConfig.maximumEntries || this.config.maximumEntries,
+ maximumNumberOfDays: calendarConfig.maximumNumberOfDays || this.config.maximumNumberOfDays,
fetchInterval: this.config.fetchInterval,
user: user,
pass: pass