Change default for weatherEndpoint according to API 3.0 (#3583)

since API 3.0 is default, weatherEndpoint should be set to "/onecall"
Fixes #3574

ATTENTION: since lat / lon defaults to 0 / 0, the weather plugins works
after this patch, but shows the weather from
https://de.wikipedia.org/wiki/Null_Island if lat / lon is not manually
set.

---------

Co-authored-by: Karsten Hassel <hassel@gmx.de>
Co-authored-by: Pedro Lamas <pedrolamas@gmail.com>
This commit is contained in:
HeikoGr 2024-10-11 08:51:00 +02:00 committed by GitHub
parent 0130dc45ab
commit 7489e51a67
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 29 additions and 31 deletions

View File

@ -23,6 +23,7 @@ _This release is scheduled to be released on 2025-01-01._
- [updatenotification] Fix pm2 using detection when pm2 script is in MagicMirror root folder (#3576)
- [core] Fix loading node_helper of modules: avoid black screen, display errors and continue loading with next module (#3578)
- [weather] changed default value for weatherEndpoint of provider openweathermap to "/onecall" (#3574)
## [2.29.0] - 2024-10-01

View File

@ -17,10 +17,13 @@ WeatherProvider.register("openweathermap", {
defaults: {
apiVersion: "3.0",
apiBase: "https://api.openweathermap.org/data/",
weatherEndpoint: "", // can be "onecall", "forecast" or "weather" (for current)
// weatherEndpoint is "/onecall" since API 3.0
// "/onecall", "/forecast" or "/weather" only for pro customers
weatherEndpoint: "/onecall",
locationID: false,
location: false,
lat: 0, // the onecall endpoint needs lat / lon values, it doesn't support the locationId
// the /onecall endpoint needs lat / lon values, it doesn't support the locationId
lat: 0,
lon: 0,
apiKey: ""
},
@ -90,30 +93,6 @@ WeatherProvider.register("openweathermap", {
.finally(() => this.updateAvailable());
},
/**
* Overrides method for setting config to check if endpoint is correct for hourly
* @param {object} config The configuration object
*/
setConfig (config) {
this.config = config;
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");
}
}
},
/** OpenWeatherMap Specific Methods - These are not part of the default provider methods */
/*
* Gets the complete url for the request

View File

@ -15,6 +15,8 @@ let config = {
position: "bottom_bar",
config: {
location: "Munich",
weatherProvider: "openweathermap",
weatherEndpoint: "/weather",
mockData: '"#####WEATHERDATA#####"'
}
}

View File

@ -8,6 +8,8 @@ let config = {
config: {
location: "Munich",
showHumidity: "feelslike",
weatherProvider: "openweathermap",
weatherEndpoint: "/weather",
mockData: '"#####WEATHERDATA#####"'
}
}

View File

@ -5,6 +5,8 @@ let config = {
position: "bottom_bar",
config: {
location: "Munich",
weatherProvider: "openweathermap",
weatherEndpoint: "/weather",
mockData: '"#####WEATHERDATA#####"',
windUnits: "beaufort",
showWindDirectionAsArrow: true,

View File

@ -7,6 +7,8 @@ let config = {
position: "bottom_bar",
config: {
location: "Munich",
weatherProvider: "openweathermap",
weatherEndpoint: "/weather",
mockData: '"#####WEATHERDATA#####"',
decimalSymbol: ",",
showHumidity: "wind"

View File

@ -8,8 +8,9 @@ let config = {
config: {
type: "forecast",
location: "Munich",
mockData: '"#####WEATHERDATA#####"',
weatherProvider: "openweathermap",
weatherEndpoint: "/forecast/daily",
mockData: '"#####WEATHERDATA#####"',
absoluteDates: true
}
}

View File

@ -8,8 +8,9 @@ let config = {
config: {
type: "forecast",
location: "Munich",
mockData: '"#####WEATHERDATA#####"',
weatherEndpoint: "/forecast/daily"
weatherProvider: "openweathermap",
weatherEndpoint: "/forecast/daily",
mockData: '"#####WEATHERDATA#####"'
}
}
]

View File

@ -8,8 +8,9 @@ let config = {
config: {
type: "forecast",
location: "Munich",
mockData: '"#####WEATHERDATA#####"',
weatherProvider: "openweathermap",
weatherEndpoint: "/forecast/daily",
mockData: '"#####WEATHERDATA#####"',
showPrecipitationAmount: true,
colored: true,
tableClass: "myTableClass"

View File

@ -8,8 +8,9 @@ let config = {
config: {
type: "forecast",
location: "Munich",
mockData: '"#####WEATHERDATA#####"',
weatherProvider: "openweathermap",
weatherEndpoint: "/forecast/daily",
mockData: '"#####WEATHERDATA#####"',
decimalSymbol: "_",
showPrecipitationAmount: true
}

View File

@ -8,6 +8,8 @@ let config = {
config: {
type: "hourly",
location: "Berlin",
weatherProvider: "openweathermap",
weatherEndpoint: "/onecall",
mockData: '"#####WEATHERDATA#####"'
}
}

View File

@ -8,6 +8,8 @@ let config = {
config: {
type: "hourly",
location: "Berlin",
weatherProvider: "openweathermap",
weatherEndpoint: "/onecall",
mockData: '"#####WEATHERDATA#####"',
hourlyForecastIncrements: 2
}

View File

@ -8,6 +8,8 @@ let config = {
config: {
type: "hourly",
location: "Berlin",
weatherProvider: "openweathermap",
weatherEndpoint: "/onecall",
mockData: '"#####WEATHERDATA#####"',
showPrecipitationAmount: true,
showPrecipitationProbability: true