From af3b18c40a683168fb196f064f712327e367ddfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Fri, 9 Apr 2021 18:54:24 +0200 Subject: [PATCH] Handle exceptions when looking for new version (#48922) --- homeassistant/components/version/sensor.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/version/sensor.py b/homeassistant/components/version/sensor.py index 9d558f4ba7c..d438f391334 100644 --- a/homeassistant/components/version/sensor.py +++ b/homeassistant/components/version/sensor.py @@ -1,7 +1,9 @@ """Sensor that can display the current Home Assistant versions.""" from datetime import timedelta +import logging from pyhaversion import HaVersion, HaVersionChannel, HaVersionSource +from pyhaversion.exceptions import HaVersionFetchException, HaVersionParseException import voluptuous as vol from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity @@ -59,6 +61,8 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( } ) +_LOGGER: logging.Logger = logging.getLogger(__name__) + async def async_setup_platform(hass, config, async_add_entities, discovery_info=None): """Set up the Version sensor platform.""" @@ -114,7 +118,14 @@ class VersionData: @Throttle(TIME_BETWEEN_UPDATES) async def async_update(self): """Get the latest version information.""" - await self.api.get_version() + try: + await self.api.get_version() + except HaVersionFetchException as exception: + _LOGGER.warning(exception) + except HaVersionParseException as exception: + _LOGGER.warning( + "Could not parse data received for %s - %s", self.api.source, exception + ) class VersionSensor(SensorEntity):