diff --git a/homeassistant/components/sensor/vasttrafik.py b/homeassistant/components/sensor/vasttrafik.py index 8c7d4274495..9f62c8620de 100644 --- a/homeassistant/components/sensor/vasttrafik.py +++ b/homeassistant/components/sensor/vasttrafik.py @@ -14,7 +14,7 @@ import homeassistant.helpers.config_validation as cv from homeassistant.helpers.entity import Entity from homeassistant.util import Throttle -REQUIREMENTS = ['vtjp==0.1.11'] +REQUIREMENTS = ['vtjp==0.1.14'] _LOGGER = logging.getLogger(__name__) @@ -43,14 +43,15 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ def setup_platform(hass, config, add_devices, discovery_info=None): """Setup the departure sensor.""" - from vasttrafik import JournyPlanner - planner = JournyPlanner( + import vasttrafik + planner = vasttrafik.JournyPlanner( config.get(CONF_KEY), config.get(CONF_SECRET)) sensors = [] for departure in config.get(CONF_DEPARTURES): sensors.append( VasttrafikDepartureSensor( + vasttrafik, planner, departure.get(CONF_NAME), departure.get(CONF_FROM), @@ -62,8 +63,9 @@ def setup_platform(hass, config, add_devices, discovery_info=None): class VasttrafikDepartureSensor(Entity): """Implementation of a Vasttrafik Departure Sensor.""" - def __init__(self, planner, name, departure, heading, delay): + def __init__(self, vasttrafik, planner, name, departure, heading, delay): """Initialize the sensor.""" + self._vasttrafik = vasttrafik self._planner = planner self._name = name or departure self._departure = planner.location_name(departure)[0] @@ -113,7 +115,11 @@ class VasttrafikDepartureSensor(Entity): @Throttle(MIN_TIME_BETWEEN_UPDATES) def update(self): """Get the departure board.""" - self._departureboard = self._planner.departureboard( - self._departure['id'], - direction=self._heading['id'] if self._heading else None, - date=datetime.now()+self._delay) + try: + self._departureboard = self._planner.departureboard( + self._departure['id'], + direction=self._heading['id'] if self._heading else None, + date=datetime.now()+self._delay) + except self._vasttrafik.Error: + _LOGGER.warning('Unable to read departure board, updating token') + self._planner.update_token() diff --git a/requirements_all.txt b/requirements_all.txt index 8ccd9097cb4..05faf93c1b8 100755 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -681,7 +681,7 @@ volvooncall==0.1.1 vsure==0.11.1 # homeassistant.components.sensor.vasttrafik -vtjp==0.1.11 +vtjp==0.1.14 # homeassistant.components.media_player.panasonic_viera # homeassistant.components.media_player.webostv