From 664eae72d178302baa015e5cd9dbcb4543f03f81 Mon Sep 17 00:00:00 2001 From: mountainsandcode Date: Thu, 9 Aug 2018 16:27:29 +0200 Subject: [PATCH] Add realtime true/false switch for Waze (#15228) --- homeassistant/components/sensor/waze_travel_time.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/sensor/waze_travel_time.py b/homeassistant/components/sensor/waze_travel_time.py index 70c169a1b7c..023da72299b 100644 --- a/homeassistant/components/sensor/waze_travel_time.py +++ b/homeassistant/components/sensor/waze_travel_time.py @@ -31,8 +31,10 @@ CONF_DESTINATION = 'destination' CONF_ORIGIN = 'origin' CONF_INCL_FILTER = 'incl_filter' CONF_EXCL_FILTER = 'excl_filter' +CONF_REALTIME = 'realtime' DEFAULT_NAME = 'Waze Travel Time' +DEFAULT_REALTIME = True ICON = 'mdi:car' @@ -49,6 +51,7 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, vol.Optional(CONF_INCL_FILTER): cv.string, vol.Optional(CONF_EXCL_FILTER): cv.string, + vol.Optional(CONF_REALTIME, default=DEFAULT_REALTIME): cv.boolean, }) @@ -60,9 +63,10 @@ def setup_platform(hass, config, add_devices, discovery_info=None): region = config.get(CONF_REGION) incl_filter = config.get(CONF_INCL_FILTER) excl_filter = config.get(CONF_EXCL_FILTER) + realtime = config.get(CONF_REALTIME) sensor = WazeTravelTime(name, origin, destination, region, - incl_filter, excl_filter) + incl_filter, excl_filter, realtime) add_devices([sensor]) @@ -80,12 +84,13 @@ class WazeTravelTime(Entity): """Representation of a Waze travel time sensor.""" def __init__(self, name, origin, destination, region, - incl_filter, excl_filter): + incl_filter, excl_filter, realtime): """Initialize the Waze travel time sensor.""" self._name = name self._region = region self._incl_filter = incl_filter self._excl_filter = excl_filter + self._realtime = realtime self._state = None self._origin_entity_id = None self._destination_entity_id = None @@ -197,7 +202,7 @@ class WazeTravelTime(Entity): try: params = WazeRouteCalculator.WazeRouteCalculator( self._origin, self._destination, self._region) - routes = params.calc_all_routes_info() + routes = params.calc_all_routes_info(real_time=self._realtime) if self._incl_filter is not None: routes = {k: v for k, v in routes.items() if