';
if (weatherData['temp-surface'] && weatherData['temp-surface'][i] !== null) {
- var temp = (weatherData['temp-surface'][i] - 273.15).toFixed(1);
+ var temp = weatherData['temp-surface'][i].toFixed(1);
forecastHtml += createWeatherParam('温度', temp + '°C');
}
- if (weatherData['wind_u-surface'] && weatherData['wind_v-surface'] &&
- weatherData['wind_u-surface'][i] !== null && weatherData['wind_v-surface'][i] !== null) {
- var windU = weatherData['wind_u-surface'][i];
- var windV = weatherData['wind_v-surface'][i];
- var windSpeed = Math.sqrt(windU * windU + windV * windV).toFixed(1);
- var windDir = getWindDirection(windU, windV);
+ if (weatherData['wind-speed'] && weatherData['wind-speed'][i] !== null) {
+ var windSpeed = weatherData['wind-speed'][i].toFixed(1);
forecastHtml += createWeatherParam('风速', windSpeed + ' m/s');
+ }
+
+ if (weatherData['wind-direction'] && weatherData['wind-direction'][i] !== null) {
+ var windDir = getWindDirectionFromDegrees(weatherData['wind-direction'][i]);
forecastHtml += createWeatherParam('风向', windDir);
}
- if (weatherData['past3hprecip-surface'] && weatherData['past3hprecip-surface'][i] !== null) {
- var precip = weatherData['past3hprecip-surface'][i].toFixed(1);
+ if (weatherData['precipitation'] && weatherData['precipitation'][i] !== null) {
+ var precip = weatherData['precipitation'][i].toFixed(1);
forecastHtml += createWeatherParam('降水', precip + ' mm');
}
@@ -238,7 +266,7 @@ var WeatherForecast = (function() {
}
if (weatherData['pressure-surface'] && weatherData['pressure-surface'][i] !== null) {
- var pressure = (weatherData['pressure-surface'][i] / 100).toFixed(0);
+ var pressure = weatherData['pressure-surface'][i].toFixed(0);
forecastHtml += createWeatherParam('气压', pressure + ' hPa');
}
@@ -291,6 +319,14 @@ var WeatherForecast = (function() {
return directions[index];
}
+ function getWindDirectionFromDegrees(degrees) {
+ if (degrees === null || degrees === undefined) return '无风';
+
+ var directions = ['北', '东北', '东', '东南', '南', '西南', '西', '西北'];
+ var index = Math.round(degrees / 45) % 8;
+ return directions[index];
+ }
+
function isEnabled() {
return weatherEnabled;
}
diff --git a/sec-beidou/src/main/resources/templates/page/device_overview.html b/sec-beidou/src/main/resources/templates/page/device_overview.html
index 31714f41..a120d556 100644
--- a/sec-beidou/src/main/resources/templates/page/device_overview.html
+++ b/sec-beidou/src/main/resources/templates/page/device_overview.html
@@ -851,7 +851,7 @@
@@ -948,10 +948,10 @@
-
Windy 天气预测
+
Open-Meteo 天气预测