vasttrafik: update token on read error (#5875)

This commit is contained in:
Per Sandström 2017-02-12 20:57:29 +01:00 committed by Paulus Schoutsen
parent e5085bf620
commit 675dd04e97
2 changed files with 15 additions and 9 deletions

View File

@ -14,7 +14,7 @@ import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
from homeassistant.util import Throttle from homeassistant.util import Throttle
REQUIREMENTS = ['vtjp==0.1.11'] REQUIREMENTS = ['vtjp==0.1.14']
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
@ -43,14 +43,15 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
def setup_platform(hass, config, add_devices, discovery_info=None): def setup_platform(hass, config, add_devices, discovery_info=None):
"""Setup the departure sensor.""" """Setup the departure sensor."""
from vasttrafik import JournyPlanner import vasttrafik
planner = JournyPlanner( planner = vasttrafik.JournyPlanner(
config.get(CONF_KEY), config.get(CONF_KEY),
config.get(CONF_SECRET)) config.get(CONF_SECRET))
sensors = [] sensors = []
for departure in config.get(CONF_DEPARTURES): for departure in config.get(CONF_DEPARTURES):
sensors.append( sensors.append(
VasttrafikDepartureSensor( VasttrafikDepartureSensor(
vasttrafik,
planner, planner,
departure.get(CONF_NAME), departure.get(CONF_NAME),
departure.get(CONF_FROM), departure.get(CONF_FROM),
@ -62,8 +63,9 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
class VasttrafikDepartureSensor(Entity): class VasttrafikDepartureSensor(Entity):
"""Implementation of a Vasttrafik Departure Sensor.""" """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.""" """Initialize the sensor."""
self._vasttrafik = vasttrafik
self._planner = planner self._planner = planner
self._name = name or departure self._name = name or departure
self._departure = planner.location_name(departure)[0] self._departure = planner.location_name(departure)[0]
@ -113,7 +115,11 @@ class VasttrafikDepartureSensor(Entity):
@Throttle(MIN_TIME_BETWEEN_UPDATES) @Throttle(MIN_TIME_BETWEEN_UPDATES)
def update(self): def update(self):
"""Get the departure board.""" """Get the departure board."""
try:
self._departureboard = self._planner.departureboard( self._departureboard = self._planner.departureboard(
self._departure['id'], self._departure['id'],
direction=self._heading['id'] if self._heading else None, direction=self._heading['id'] if self._heading else None,
date=datetime.now()+self._delay) date=datetime.now()+self._delay)
except self._vasttrafik.Error:
_LOGGER.warning('Unable to read departure board, updating token')
self._planner.update_token()

View File

@ -681,7 +681,7 @@ volvooncall==0.1.1
vsure==0.11.1 vsure==0.11.1
# homeassistant.components.sensor.vasttrafik # homeassistant.components.sensor.vasttrafik
vtjp==0.1.11 vtjp==0.1.14
# homeassistant.components.media_player.panasonic_viera # homeassistant.components.media_player.panasonic_viera
# homeassistant.components.media_player.webostv # homeassistant.components.media_player.webostv