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

* Catch API errors, don't round None type

* Specify error type
This commit is contained in:
mezz64 2020-03-02 21:01:39 -05:00 committed by GitHub
parent fcbea47c74
commit aacdc1bc2d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -263,14 +263,26 @@ class EightUserSensor(EightSleepUserEntity):
bed_temp = None bed_temp = None
if "current" in self._sensor_root: if "current" in self._sensor_root:
state_attr[ATTR_RESP_RATE] = round(self._attr["resp_rate"], 2) try:
state_attr[ATTR_HEART_RATE] = round(self._attr["heart_rate"], 2) 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_SLEEP_STAGE] = self._attr["stage"]
state_attr[ATTR_ROOM_TEMP] = room_temp state_attr[ATTR_ROOM_TEMP] = room_temp
state_attr[ATTR_BED_TEMP] = bed_temp state_attr[ATTR_BED_TEMP] = bed_temp
elif "last" in self._sensor_root: elif "last" in self._sensor_root:
state_attr[ATTR_AVG_RESP_RATE] = round(self._attr["resp_rate"], 2) try:
state_attr[ATTR_AVG_HEART_RATE] = round(self._attr["heart_rate"], 2) 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_ROOM_TEMP] = room_temp
state_attr[ATTR_AVG_BED_TEMP] = bed_temp state_attr[ATTR_AVG_BED_TEMP] = bed_temp