diff --git a/homeassistant/components/nissan_leaf/__init__.py b/homeassistant/components/nissan_leaf/__init__.py index 44727ebccdd..d450eaf7dad 100644 --- a/homeassistant/components/nissan_leaf/__init__.py +++ b/homeassistant/components/nissan_leaf/__init__.py @@ -213,12 +213,12 @@ class LeafDataStore: self.car_config = car_config self.force_miles = car_config[CONF_FORCE_MILES] self.data = {} - self.data[DATA_CLIMATE] = False - self.data[DATA_BATTERY] = 0 - self.data[DATA_CHARGING] = False - self.data[DATA_RANGE_AC] = 0 - self.data[DATA_RANGE_AC_OFF] = 0 - self.data[DATA_PLUGGED_IN] = False + self.data[DATA_CLIMATE] = None + self.data[DATA_BATTERY] = None + self.data[DATA_CHARGING] = None + self.data[DATA_RANGE_AC] = None + self.data[DATA_RANGE_AC_OFF] = None + self.data[DATA_PLUGGED_IN] = None self.next_update = None self.last_check = None self.request_in_progress = False diff --git a/homeassistant/components/nissan_leaf/binary_sensor.py b/homeassistant/components/nissan_leaf/binary_sensor.py index 3d2064dad4c..d2387e0e9a2 100644 --- a/homeassistant/components/nissan_leaf/binary_sensor.py +++ b/homeassistant/components/nissan_leaf/binary_sensor.py @@ -30,6 +30,11 @@ class LeafPluggedInSensor(LeafEntity, BinarySensorEntity): """Sensor name.""" return f"{self.car.leaf.nickname} Plug Status" + @property + def available(self): + """Sensor availability.""" + return self.car.data[DATA_PLUGGED_IN] is not None + @property def is_on(self): """Return true if plugged in.""" @@ -51,6 +56,11 @@ class LeafChargingSensor(LeafEntity, BinarySensorEntity): """Sensor name.""" return f"{self.car.leaf.nickname} Charging Status" + @property + def available(self): + """Sensor availability.""" + return self.car.data[DATA_CHARGING] is not None + @property def is_on(self): """Return true if charging.""" diff --git a/homeassistant/components/nissan_leaf/sensor.py b/homeassistant/components/nissan_leaf/sensor.py index 4074cd47f50..bed4d264bd4 100644 --- a/homeassistant/components/nissan_leaf/sensor.py +++ b/homeassistant/components/nissan_leaf/sensor.py @@ -52,6 +52,8 @@ class LeafBatterySensor(LeafEntity, SensorEntity): @property def native_value(self): """Battery state percentage.""" + if self.car.data[DATA_BATTERY] is None: + return None return round(self.car.data[DATA_BATTERY]) @property @@ -96,6 +98,9 @@ class LeafRangeSensor(LeafEntity, SensorEntity): else: ret = self.car.data[DATA_RANGE_AC_OFF] + if ret is None: + return None + if not self.car.hass.config.units.is_metric or self.car.force_miles: ret = IMPERIAL_SYSTEM.length(ret, METRIC_SYSTEM.length_unit)