diff --git a/modules/default/weatherforecast/README.md b/modules/default/weatherforecast/README.md
index c5be33ce..9e93bd14 100644
--- a/modules/default/weatherforecast/README.md
+++ b/modules/default/weatherforecast/README.md
@@ -55,6 +55,14 @@ The following properties can be configured:
Default value: config.units
+
+ maxNumberOfDays |
+ How many days of forecast to return. Specified by config.js
+ Possible values: 1 - 16
+ Default value: 7 (7 days)
+ This value is optional. By default the weatherforecast module will return 7 days.
+ |
+
updateInterval |
How often does the content needs to be fetched? (Milliseconds)
diff --git a/modules/default/weatherforecast/weatherforecast.js b/modules/default/weatherforecast/weatherforecast.js
index c1e79828..c5b8762b 100644
--- a/modules/default/weatherforecast/weatherforecast.js
+++ b/modules/default/weatherforecast/weatherforecast.js
@@ -14,6 +14,7 @@ Module.register("weatherforecast",{
location: "",
appid: "",
units: config.units,
+ maxNumberOfDays: 7,
updateInterval: 10 * 60 * 1000, // every 10 minutes
animationSpeed: 1000,
timeFormat: config.timeFormat,
@@ -189,6 +190,12 @@ Module.register("weatherforecast",{
params += "q=" + this.config.location;
params += "&units=" + this.config.units;
params += "&lang=" + this.config.lang;
+ /*
+ * Submit a specific number of days to forecast, between 1 to 16 days.
+ * The OpenWeatherMap API properly handles values outside of the 1 - 16 range and returns 7 days by default.
+ * This is simply being pedantic and doing it ourselves.
+ */
+ params += "&cnt=" + (((this.config.maxNumberOfDays < 1) || (this.config.maxNumberOfDays > 16)) ? 7 : this.config.maxNumberOfDays);
params += "&APPID=" + this.config.appid;
return params;
|