diff --git a/homeassistant/components/binary_sensor/mercedesme.py b/homeassistant/components/binary_sensor/mercedesme.py index a6c8da56ce8..fcf2d7122e2 100644 --- a/homeassistant/components/binary_sensor/mercedesme.py +++ b/homeassistant/components/binary_sensor/mercedesme.py @@ -9,7 +9,7 @@ import datetime from homeassistant.components.binary_sensor import (BinarySensorDevice) from homeassistant.components.mercedesme import ( - DATA_MME, MercedesMeEntity, BINARY_SENSORS) + DATA_MME, FEATURE_NOT_AVAILABLE, MercedesMeEntity, BINARY_SENSORS) DEPENDENCIES = ['mercedesme'] @@ -27,8 +27,11 @@ def setup_platform(hass, config, add_devices, discovery_info=None): devices = [] for car in data.cars: for key, value in sorted(BINARY_SENSORS.items()): - devices.append(MercedesMEBinarySensor( - data, key, value[0], car["vin"], None)) + if car['availabilities'].get(key, 'INVALID') == 'VALID': + devices.append(MercedesMEBinarySensor( + data, key, value[0], car["vin"], None)) + else: + _LOGGER.warning(FEATURE_NOT_AVAILABLE, key, car["license"]) add_devices(devices, True) diff --git a/homeassistant/components/device_tracker/mercedesme.py b/homeassistant/components/device_tracker/mercedesme.py index 0aa2be96290..dcc9e3ab2ec 100644 --- a/homeassistant/components/device_tracker/mercedesme.py +++ b/homeassistant/components/device_tracker/mercedesme.py @@ -49,10 +49,13 @@ class MercedesMEDeviceTracker(object): def update_info(self, now=None): """Update the device info.""" for device in self.data.cars: - _LOGGER.debug("Updating %s", device["vin"]) + if not device['services'].get('VEHICLE_FINDER', False): + continue + location = self.data.get_location(device["vin"]) if location is None: - return False + continue + dev_id = device["vin"] name = device["license"] diff --git a/homeassistant/components/mercedesme.py b/homeassistant/components/mercedesme.py index a228486e2c8..b809e46ec64 100644 --- a/homeassistant/components/mercedesme.py +++ b/homeassistant/components/mercedesme.py @@ -41,6 +41,8 @@ SENSORS = { DATA_MME = 'mercedesme' DOMAIN = 'mercedesme' +FEATURE_NOT_AVAILABLE = "The feature %s is not available for your car %s" + NOTIFICATION_ID = 'mercedesme_integration_notification' NOTIFICATION_TITLE = 'Mercedes me integration setup' diff --git a/homeassistant/components/sensor/mercedesme.py b/homeassistant/components/sensor/mercedesme.py index bc368745e40..bb7212678a7 100644 --- a/homeassistant/components/sensor/mercedesme.py +++ b/homeassistant/components/sensor/mercedesme.py @@ -8,7 +8,7 @@ import logging import datetime from homeassistant.components.mercedesme import ( - DATA_MME, MercedesMeEntity, SENSORS) + DATA_MME, FEATURE_NOT_AVAILABLE, MercedesMeEntity, SENSORS) DEPENDENCIES = ['mercedesme'] @@ -29,8 +29,12 @@ def setup_platform(hass, config, add_devices, discovery_info=None): devices = [] for car in data.cars: for key, value in sorted(SENSORS.items()): - devices.append( - MercedesMESensor(data, key, value[0], car["vin"], value[1])) + if car['availabilities'].get(key, 'INVALID') == 'VALID': + devices.append( + MercedesMESensor( + data, key, value[0], car["vin"], value[1])) + else: + _LOGGER.warning(FEATURE_NOT_AVAILABLE, key, car["license"]) add_devices(devices, True)