From aacdc1bc2d7cdb28c86b9ee59984a30ba1fcb693 Mon Sep 17 00:00:00 2001 From: mezz64 <2854333+mezz64@users.noreply.github.com> Date: Mon, 2 Mar 2020 21:01:39 -0500 Subject: [PATCH] Catch Eight Sleep API errors, don't round None type (#32410) * Catch API errors, don't round None type * Specify error type --- .../components/eight_sleep/sensor.py | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/eight_sleep/sensor.py b/homeassistant/components/eight_sleep/sensor.py index 457323d3bd5..dcee52db592 100644 --- a/homeassistant/components/eight_sleep/sensor.py +++ b/homeassistant/components/eight_sleep/sensor.py @@ -263,14 +263,26 @@ class EightUserSensor(EightSleepUserEntity): bed_temp = None if "current" in self._sensor_root: - state_attr[ATTR_RESP_RATE] = round(self._attr["resp_rate"], 2) - state_attr[ATTR_HEART_RATE] = round(self._attr["heart_rate"], 2) + try: + state_attr[ATTR_RESP_RATE] = round(self._attr["resp_rate"], 2) + except TypeError: + state_attr[ATTR_RESP_RATE] = None + try: + state_attr[ATTR_HEART_RATE] = round(self._attr["heart_rate"], 2) + except TypeError: + state_attr[ATTR_HEART_RATE] = None state_attr[ATTR_SLEEP_STAGE] = self._attr["stage"] state_attr[ATTR_ROOM_TEMP] = room_temp state_attr[ATTR_BED_TEMP] = bed_temp elif "last" in self._sensor_root: - state_attr[ATTR_AVG_RESP_RATE] = round(self._attr["resp_rate"], 2) - state_attr[ATTR_AVG_HEART_RATE] = round(self._attr["heart_rate"], 2) + try: + state_attr[ATTR_AVG_RESP_RATE] = round(self._attr["resp_rate"], 2) + except TypeError: + state_attr[ATTR_AVG_RESP_RATE] = None + try: + state_attr[ATTR_AVG_HEART_RATE] = round(self._attr["heart_rate"], 2) + except TypeError: + state_attr[ATTR_AVG_HEART_RATE] = None state_attr[ATTR_AVG_ROOM_TEMP] = room_temp state_attr[ATTR_AVG_BED_TEMP] = bed_temp