Catch Eight Sleep API errors, don't round None type (#32410)

* Catch API errors, don't round None type

* Specify error type
pull/32424/head
mezz64 2020-03-02 21:01:39 -05:00 committed by Paulus Schoutsen
parent fab55b0ea2
commit 08f5b49dc4
1 changed files with 16 additions and 4 deletions

View File

@ -261,14 +261,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