From 881c501cef693ce76b7c037b99538180b5bffe5e Mon Sep 17 00:00:00 2001 From: Ron Klinkien Date: Sat, 8 Feb 2020 18:47:54 +0100 Subject: [PATCH] Catch garmin_connect keyerrors with unknown entity type updates (#31608) * Catch keyerrors with unknown entity type updates * Change debug level and removed . from log call --- homeassistant/components/garmin_connect/const.py | 6 +++--- .../components/garmin_connect/sensor.py | 16 ++++++++++------ 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/homeassistant/components/garmin_connect/const.py b/homeassistant/components/garmin_connect/const.py index e38bd72c1ee..b5faeab77b4 100644 --- a/homeassistant/components/garmin_connect/const.py +++ b/homeassistant/components/garmin_connect/const.py @@ -256,21 +256,21 @@ GARMIN_ENTITY_LIST = { "brpm", "mdi:progress-clock", None, - True, + False, ], "lowestRespirationValue": [ "Lowest Respiration", "brpm", "mdi:progress-clock", None, - True, + False, ], "latestRespirationValue": [ "Latest Respiration", "brpm", "mdi:progress-clock", None, - True, + False, ], "latestRespirationTimeGMT": [ "Latest Respiration Update", diff --git a/homeassistant/components/garmin_connect/sensor.py b/homeassistant/components/garmin_connect/sensor.py index 154f7010db4..0ebd39e78d4 100644 --- a/homeassistant/components/garmin_connect/sensor.py +++ b/homeassistant/components/garmin_connect/sensor.py @@ -165,12 +165,16 @@ class GarminConnectSensor(Entity): return data = self._data.data - if "Duration" in self._type and data[self._type]: - self._state = data[self._type] // 60 - elif "Seconds" in self._type and data[self._type]: - self._state = data[self._type] // 60 - else: - self._state = data[self._type] + try: + if "Duration" in self._type and data[self._type]: + self._state = data[self._type] // 60 + elif "Seconds" in self._type and data[self._type]: + self._state = data[self._type] // 60 + else: + self._state = data[self._type] + except KeyError: + _LOGGER.debug("Entity type %s not found in fetched data", self._type) + return _LOGGER.debug( "Entity %s set to state %s %s", self._type, self._state, self._unit