mirror of
https://github.com/home-assistant/core.git
synced 2025-07-18 18:57:06 +00:00
Add realtime true/false switch for Waze (#15228)
This commit is contained in:
parent
86658f310d
commit
664eae72d1
@ -31,8 +31,10 @@ CONF_DESTINATION = 'destination'
|
|||||||
CONF_ORIGIN = 'origin'
|
CONF_ORIGIN = 'origin'
|
||||||
CONF_INCL_FILTER = 'incl_filter'
|
CONF_INCL_FILTER = 'incl_filter'
|
||||||
CONF_EXCL_FILTER = 'excl_filter'
|
CONF_EXCL_FILTER = 'excl_filter'
|
||||||
|
CONF_REALTIME = 'realtime'
|
||||||
|
|
||||||
DEFAULT_NAME = 'Waze Travel Time'
|
DEFAULT_NAME = 'Waze Travel Time'
|
||||||
|
DEFAULT_REALTIME = True
|
||||||
|
|
||||||
ICON = 'mdi:car'
|
ICON = 'mdi:car'
|
||||||
|
|
||||||
@ -49,6 +51,7 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
|||||||
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
|
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
|
||||||
vol.Optional(CONF_INCL_FILTER): cv.string,
|
vol.Optional(CONF_INCL_FILTER): cv.string,
|
||||||
vol.Optional(CONF_EXCL_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)
|
region = config.get(CONF_REGION)
|
||||||
incl_filter = config.get(CONF_INCL_FILTER)
|
incl_filter = config.get(CONF_INCL_FILTER)
|
||||||
excl_filter = config.get(CONF_EXCL_FILTER)
|
excl_filter = config.get(CONF_EXCL_FILTER)
|
||||||
|
realtime = config.get(CONF_REALTIME)
|
||||||
|
|
||||||
sensor = WazeTravelTime(name, origin, destination, region,
|
sensor = WazeTravelTime(name, origin, destination, region,
|
||||||
incl_filter, excl_filter)
|
incl_filter, excl_filter, realtime)
|
||||||
|
|
||||||
add_devices([sensor])
|
add_devices([sensor])
|
||||||
|
|
||||||
@ -80,12 +84,13 @@ class WazeTravelTime(Entity):
|
|||||||
"""Representation of a Waze travel time sensor."""
|
"""Representation of a Waze travel time sensor."""
|
||||||
|
|
||||||
def __init__(self, name, origin, destination, region,
|
def __init__(self, name, origin, destination, region,
|
||||||
incl_filter, excl_filter):
|
incl_filter, excl_filter, realtime):
|
||||||
"""Initialize the Waze travel time sensor."""
|
"""Initialize the Waze travel time sensor."""
|
||||||
self._name = name
|
self._name = name
|
||||||
self._region = region
|
self._region = region
|
||||||
self._incl_filter = incl_filter
|
self._incl_filter = incl_filter
|
||||||
self._excl_filter = excl_filter
|
self._excl_filter = excl_filter
|
||||||
|
self._realtime = realtime
|
||||||
self._state = None
|
self._state = None
|
||||||
self._origin_entity_id = None
|
self._origin_entity_id = None
|
||||||
self._destination_entity_id = None
|
self._destination_entity_id = None
|
||||||
@ -197,7 +202,7 @@ class WazeTravelTime(Entity):
|
|||||||
try:
|
try:
|
||||||
params = WazeRouteCalculator.WazeRouteCalculator(
|
params = WazeRouteCalculator.WazeRouteCalculator(
|
||||||
self._origin, self._destination, self._region)
|
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:
|
if self._incl_filter is not None:
|
||||||
routes = {k: v for k, v in routes.items() if
|
routes = {k: v for k, v in routes.items() if
|
||||||
|
Loading…
x
Reference in New Issue
Block a user