mirror of
https://github.com/home-assistant/core.git
synced 2025-07-18 02:37:08 +00:00
parent
29870b301e
commit
ad52816595
@ -2,15 +2,13 @@
|
|||||||
import logging
|
import logging
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
|
|
||||||
|
import voluptuous as vol
|
||||||
|
|
||||||
|
import homeassistant.helpers.config_validation as cv
|
||||||
from homeassistant.helpers.event import track_point_in_utc_time
|
from homeassistant.helpers.event import track_point_in_utc_time
|
||||||
from homeassistant.components.device_tracker import (
|
from homeassistant.components.device_tracker import (
|
||||||
YAML_DEVICES,
|
YAML_DEVICES, CONF_TRACK_NEW, CONF_SCAN_INTERVAL, DEFAULT_SCAN_INTERVAL,
|
||||||
CONF_TRACK_NEW,
|
load_config, PLATFORM_SCHEMA)
|
||||||
CONF_SCAN_INTERVAL,
|
|
||||||
DEFAULT_SCAN_INTERVAL,
|
|
||||||
load_config,
|
|
||||||
)
|
|
||||||
import homeassistant.util as util
|
|
||||||
import homeassistant.util.dt as dt_util
|
import homeassistant.util.dt as dt_util
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
@ -19,6 +17,10 @@ REQUIREMENTS = ['pybluez==0.22']
|
|||||||
|
|
||||||
BT_PREFIX = 'BT_'
|
BT_PREFIX = 'BT_'
|
||||||
|
|
||||||
|
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
||||||
|
vol.Optional(CONF_TRACK_NEW): cv.boolean
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
def setup_scanner(hass, config, see):
|
def setup_scanner(hass, config, see):
|
||||||
"""Setup the Bluetooth Scanner."""
|
"""Setup the Bluetooth Scanner."""
|
||||||
@ -53,10 +55,8 @@ def setup_scanner(hass, config, see):
|
|||||||
else:
|
else:
|
||||||
devs_donot_track.append(device.mac[3:])
|
devs_donot_track.append(device.mac[3:])
|
||||||
|
|
||||||
# if track new devices is true discover new devices
|
# if track new devices is true discover new devices on startup.
|
||||||
# on startup.
|
track_new = config.get(CONF_TRACK_NEW, len(devs_to_track) == 0)
|
||||||
track_new = util.convert(config.get(CONF_TRACK_NEW), bool,
|
|
||||||
len(devs_to_track) == 0)
|
|
||||||
if track_new:
|
if track_new:
|
||||||
for dev in discover_devices():
|
for dev in discover_devices():
|
||||||
if dev[0] not in devs_to_track and \
|
if dev[0] not in devs_to_track and \
|
||||||
@ -68,8 +68,7 @@ def setup_scanner(hass, config, see):
|
|||||||
_LOGGER.warning("No bluetooth devices to track!")
|
_LOGGER.warning("No bluetooth devices to track!")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
interval = util.convert(config.get(CONF_SCAN_INTERVAL), int,
|
interval = config.get(CONF_SCAN_INTERVAL, DEFAULT_SCAN_INTERVAL)
|
||||||
DEFAULT_SCAN_INTERVAL)
|
|
||||||
|
|
||||||
def update_bluetooth(now):
|
def update_bluetooth(now):
|
||||||
"""Lookup bluetooth device and update status."""
|
"""Lookup bluetooth device and update status."""
|
||||||
|
@ -9,6 +9,9 @@ import logging
|
|||||||
import threading
|
import threading
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
|
|
||||||
|
import voluptuous as vol
|
||||||
|
|
||||||
|
import homeassistant.helpers.config_validation as cv
|
||||||
import homeassistant.components.mqtt as mqtt
|
import homeassistant.components.mqtt as mqtt
|
||||||
from homeassistant.const import STATE_HOME
|
from homeassistant.const import STATE_HOME
|
||||||
from homeassistant.util import convert, slugify
|
from homeassistant.util import convert, slugify
|
||||||
@ -40,11 +43,17 @@ VALIDATE_WAYPOINTS = 'waypoints'
|
|||||||
WAYPOINT_LAT_KEY = 'lat'
|
WAYPOINT_LAT_KEY = 'lat'
|
||||||
WAYPOINT_LON_KEY = 'lon'
|
WAYPOINT_LON_KEY = 'lon'
|
||||||
|
|
||||||
|
PLATFORM_SCHEMA = mqtt.MQTT_BASE_PLATFORM_SCHEMA.extend({
|
||||||
|
vol.Optional(CONF_MAX_GPS_ACCURACY): cv.string,
|
||||||
|
vol.Optional(CONF_WAYPOINT_IMPORT, default=True): cv.boolean,
|
||||||
|
vol.Optional(CONF_WAYPOINT_WHITELIST): vol.All(cv.ensure_list, [cv.string])
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
def setup_scanner(hass, config, see):
|
def setup_scanner(hass, config, see):
|
||||||
"""Setup an OwnTracks tracker."""
|
"""Setup an OwnTracks tracker."""
|
||||||
max_gps_accuracy = config.get(CONF_MAX_GPS_ACCURACY)
|
max_gps_accuracy = config.get(CONF_MAX_GPS_ACCURACY)
|
||||||
waypoint_import = config.get(CONF_WAYPOINT_IMPORT, True)
|
waypoint_import = config.get(CONF_WAYPOINT_IMPORT)
|
||||||
waypoint_whitelist = config.get(CONF_WAYPOINT_WHITELIST)
|
waypoint_whitelist = config.get(CONF_WAYPOINT_WHITELIST)
|
||||||
|
|
||||||
def validate_payload(payload, data_type):
|
def validate_payload(payload, data_type):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user