Make a sane default for weatherEndpoint based on the type

This commit is contained in:
buxxi 2021-01-24 10:32:43 +01:00
parent 6cbd267384
commit 0683734d5a
2 changed files with 16 additions and 4 deletions

View File

@ -83,7 +83,6 @@ var config = {
config: {
weatherProvider: "openweathermap",
type: "forecast",
weatherEndpoint: "/forecast",
location: "New York",
locationID: "5128581", //ID from http://bulk.openweathermap.org/sample/city.list.json.gz; unzip the gz file and find your city
apiKey: "YOUR_OPENWEATHER_API_KEY"

View File

@ -18,7 +18,7 @@ WeatherProvider.register("openweathermap", {
defaults: {
apiVersion: "2.5",
apiBase: "https://api.openweathermap.org/data/",
weatherEndpoint: "/weather",
weatherEndpoint: "",
locationID: false,
location: false,
lat: 0,
@ -96,8 +96,21 @@ WeatherProvider.register("openweathermap", {
*/
setConfig(config) {
this.config = config;
if (this.config.type === "hourly") {
if (!this.config.weatherEndpoint) {
switch (this.config.type) {
case "hourly":
this.config.weatherEndpoint = "/onecall";
break;
case "daily":
case "forecast":
this.config.weatherEndpoint = "/forecast";
break;
case "current":
this.config.weatherEndpoint = "/weather";
break;
default:
Log.error("weatherEndpoint not configured and could not resolve it based on type");
}
}
},