diff --git a/CHANGELOG.md b/CHANGELOG.md index bfbce86b..bea8baeb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -52,6 +52,7 @@ _This release is scheduled to be released on 2023-10-01._ - Fix: AnimateCSS merge hide() and show() animated css class when we do multiple call - Fix `Uncaught SyntaxError: Identifier 'getCorsUrl' has already been declared (at utils.js:1:1)` when using `clock` and `weather` module (#3204) - Fix overriding `config.js` when running tests (#3201) +- Fix issue in weathergov provider with probability of precipitation not showing up on hourly or daily forecast ## [2.24.0] - 2023-07-01 diff --git a/modules/default/weather/providers/weathergov.js b/modules/default/weather/providers/weathergov.js index b1c69ee7..8111044b 100644 --- a/modules/default/weather/providers/weathergov.js +++ b/modules/default/weather/providers/weathergov.js @@ -182,6 +182,12 @@ WeatherProvider.register("weathergov", { weather.windSpeed = WeatherUtils.convertWindToMs(weather.windSpeed); weather.windFromDirection = forecast.windDirection; weather.temperature = forecast.temperature; + //assign probability of precipitation + if (forecast.probabilityOfPrecipitation.value === null) { + weather.precipitationProbability = 0; + } else { + weather.precipitationProbability = forecast.probabilityOfPrecipitation.value; + } // use the forecast isDayTime attribute to help build the weatherType label weather.weatherType = this.convertWeatherType(forecast.shortForecast, forecast.isDaytime); @@ -238,8 +244,6 @@ WeatherProvider.register("weathergov", { * fetch forecast information for daily forecast. */ fetchForecastDaily(forecasts) { - const precipitationProbabilityRegEx = "Chance of precipitation is ([0-9]+?)%"; - // initial variable declaration const days = []; // variables for temperature range and rain @@ -262,8 +266,12 @@ WeatherProvider.register("weathergov", { minTemp = []; maxTemp = []; - const precipitation = new RegExp(precipitationProbabilityRegEx, "g").exec(forecast.detailedForecast); - if (precipitation) weather.precipitationProbability = precipitation[1]; + //assign probability of precipitation + if (forecast.probabilityOfPrecipitation.value === null) { + weather.precipitationProbability = 0; + } else { + weather.precipitationProbability = forecast.probabilityOfPrecipitation.value; + } // set new date date = moment(forecast.startTime).format("YYYY-MM-DD");