From b252d8e2cd89285a0dcb82a77c05894bc7b29fbc Mon Sep 17 00:00:00 2001 From: dreed47 Date: Tue, 23 Apr 2019 14:44:13 -0400 Subject: [PATCH] Zestimate - Added check for the existence of data in response (#23310) --- homeassistant/components/zestimate/sensor.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/homeassistant/components/zestimate/sensor.py b/homeassistant/components/zestimate/sensor.py index e66aad701b7..0a1f14324f6 100644 --- a/homeassistant/components/zestimate/sensor.py +++ b/homeassistant/components/zestimate/sensor.py @@ -113,12 +113,16 @@ class ZestimateDataSensor(Entity): return data = data_dict['response'][NAME] details = {} - details[ATTR_AMOUNT] = data['amount']['#text'] - details[ATTR_CURRENCY] = data['amount']['@currency'] - details[ATTR_LAST_UPDATED] = data['last-updated'] - details[ATTR_CHANGE] = int(data['valueChange']['#text']) - details[ATTR_VAL_HI] = int(data['valuationRange']['high']['#text']) - details[ATTR_VAL_LOW] = int(data['valuationRange']['low']['#text']) + if 'amount' in data and data['amount'] is not None: + details[ATTR_AMOUNT] = data['amount']['#text'] + details[ATTR_CURRENCY] = data['amount']['@currency'] + if 'last-updated' in data and data['last-updated'] is not None: + details[ATTR_LAST_UPDATED] = data['last-updated'] + if 'valueChange' in data and data['valueChange'] is not None: + details[ATTR_CHANGE] = int(data['valueChange']['#text']) + if 'valuationRange' in data and data['valuationRange'] is not None: + details[ATTR_VAL_HI] = int(data['valuationRange']['high']['#text']) + details[ATTR_VAL_LOW] = int(data['valuationRange']['low']['#text']) self.address = data_dict['response']['address']['street'] self.data = details if self.data is not None: