Validate Met.no forecast entries before passing them on to HA (#40400)

This commit is contained in:
Michael Thingnes 2020-09-22 07:56:08 +12:00 committed by Franck Nijhof
parent 44be190378
commit ed17a81f50
No known key found for this signature in database
GPG Key ID: D62583BA8AB11CA3

View File

@ -5,6 +5,8 @@ import voluptuous as vol
from homeassistant.components.weather import ( from homeassistant.components.weather import (
ATTR_FORECAST_CONDITION, ATTR_FORECAST_CONDITION,
ATTR_FORECAST_TEMP,
ATTR_FORECAST_TIME,
ATTR_WEATHER_HUMIDITY, ATTR_WEATHER_HUMIDITY,
ATTR_WEATHER_PRESSURE, ATTR_WEATHER_PRESSURE,
ATTR_WEATHER_TEMPERATURE, ATTR_WEATHER_TEMPERATURE,
@ -209,8 +211,11 @@ class MetWeather(CoordinatorEntity, WeatherEntity):
met_forecast = self.coordinator.data.hourly_forecast met_forecast = self.coordinator.data.hourly_forecast
else: else:
met_forecast = self.coordinator.data.daily_forecast met_forecast = self.coordinator.data.daily_forecast
required_keys = {ATTR_FORECAST_TEMP, ATTR_FORECAST_TIME}
ha_forecast = [] ha_forecast = []
for met_item in met_forecast: for met_item in met_forecast:
if not set(met_item).issuperset(required_keys):
continue
ha_item = { ha_item = {
k: met_item[v] for k, v in FORECAST_MAP.items() if met_item.get(v) k: met_item[v] for k, v in FORECAST_MAP.items() if met_item.get(v)
} }