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;