Fix all forecast datetime values in OpenWeatherMap (#45202)

This commit is contained in:
Philip Allgaier 2021-01-15 23:32:38 +01:00 committed by GitHub
parent 03b2fbd043
commit 5677adc104
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 10 deletions

View File

@ -1,10 +1,7 @@
"""Support for the OpenWeatherMap (OWM) service."""
import datetime
from .abstract_owm_sensor import AbstractOpenWeatherMapSensor
from .const import (
ATTR_API_FORECAST,
DEVICE_CLASS_TIMESTAMP,
DOMAIN,
ENTRY_NAME,
ENTRY_WEATHER_COORDINATOR,
@ -98,10 +95,5 @@ class OpenWeatherMapForecastSensor(AbstractOpenWeatherMapSensor):
"""Return the state of the device."""
forecasts = self._weather_coordinator.data.get(ATTR_API_FORECAST)
if forecasts is not None and len(forecasts) > 0:
value = forecasts[0].get(self._sensor_type, None)
if self._device_class is DEVICE_CLASS_TIMESTAMP:
value = datetime.datetime.fromtimestamp(
value, datetime.timezone.utc
).isoformat()
return value
return forecasts[0].get(self._sensor_type, None)
return None

View File

@ -139,7 +139,7 @@ class WeatherUpdateCoordinator(DataUpdateCoordinator):
def _convert_forecast(self, entry):
forecast = {
ATTR_FORECAST_TIME: entry.reference_time("unix"),
ATTR_FORECAST_TIME: dt.utc_from_timestamp(entry.reference_time("unix")),
ATTR_FORECAST_PRECIPITATION: self._calc_precipitation(
entry.rain, entry.snow
),