diff --git a/homeassistant/components/device_tracker/traccar.py b/homeassistant/components/device_tracker/traccar.py index b288b8633d1..4d340100849 100644 --- a/homeassistant/components/device_tracker/traccar.py +++ b/homeassistant/components/device_tracker/traccar.py @@ -12,7 +12,8 @@ import voluptuous as vol from homeassistant.components.device_tracker import PLATFORM_SCHEMA from homeassistant.const import ( CONF_HOST, CONF_PORT, CONF_SSL, CONF_VERIFY_SSL, - CONF_PASSWORD, CONF_USERNAME, ATTR_BATTERY_LEVEL) + CONF_PASSWORD, CONF_USERNAME, ATTR_BATTERY_LEVEL, + CONF_SCAN_INTERVAL) import homeassistant.helpers.config_validation as cv from homeassistant.helpers.aiohttp_client import async_get_clientsession from homeassistant.helpers.event import async_track_time_interval @@ -31,6 +32,7 @@ ATTR_SPEED = 'speed' ATTR_TRACKER = 'tracker' DEFAULT_SCAN_INTERVAL = timedelta(seconds=30) +SCAN_INTERVAL = DEFAULT_SCAN_INTERVAL PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ vol.Required(CONF_PASSWORD): cv.string, @@ -50,15 +52,17 @@ async def async_setup_scanner(hass, config, async_see, discovery_info=None): api = API(hass.loop, session, config[CONF_USERNAME], config[CONF_PASSWORD], config[CONF_HOST], config[CONF_PORT], config[CONF_SSL]) - scanner = TraccarScanner(api, hass, async_see) + scanner = TraccarScanner( + api, hass, async_see, config.get(CONF_SCAN_INTERVAL, SCAN_INTERVAL)) return await scanner.async_init() class TraccarScanner: """Define an object to retrieve Traccar data.""" - def __init__(self, api, hass, async_see): + def __init__(self, api, hass, async_see, scan_interval): """Initialize.""" + self._scan_interval = scan_interval self._async_see = async_see self._api = api self._hass = hass @@ -70,7 +74,7 @@ class TraccarScanner: await self._async_update() async_track_time_interval(self._hass, self._async_update, - DEFAULT_SCAN_INTERVAL) + self._scan_interval) return self._api.authenticated