home-assistant.github.io/components/device_tracker.bluetooth_le_tracker/index.html
2017-01-15 17:48:30 +00:00

305 lines
No EOL
12 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Bluetooth LE Tracker - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions for integrating bluetooth low-energy tracking within Home Assistant.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/components/device_tracker.bluetooth_le_tracker/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Bluetooth LE Tracker">
<meta property="og:site_name" content="Home Assistant">
<meta property="og:url" content="https://home-assistant.io/components/device_tracker.bluetooth_le_tracker/">
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions for integrating bluetooth low-energy tracking within Home Assistant.">
<meta property="og:image" content="https://home-assistant.io/images/default-social.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@home_assistant">
<meta name="twitter:title" content="Bluetooth LE Tracker">
<meta name="twitter:description" content="Instructions for integrating bluetooth low-energy tracking within Home Assistant.">
<meta name="twitter:image" content="https://home-assistant.io/images/default-social.png">
<link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet">
<link href="/atom.xml" rel="alternate" title="Home Assistant" type="application/atom+xml">
<link rel='shortcut icon' href='/images/favicon.ico' />
<link rel='icon' type='image/png' href='/images/favicon-192x192.png' sizes='192x192' />
</head>
<body >
<header>
<div class="grid-wrapper">
<div class="grid">
<div class="grid__item three-tenths lap-two-sixths palm-one-whole ha-title">
<a href="/" class="site-title">
<img width='40' src='/demo/favicon-192x192.png'>
<span>Home Assistant</span>
</a>
</div>
<div class="grid__item seven-tenths lap-four-sixths palm-one-whole">
<nav>
<input type="checkbox" id="toggle">
<label for="toggle" class="toggle" data-open="Main Menu" data-close="Close Menu"></label>
<ul class="menu pull-right">
<li><a href="/getting-started/">Getting started</a></li>
<li><a href="/components/">Components</a></li>
<li><a href="/ecosystem/">Ecosystem</a></li>
<li><a href="/cookbook/">Examples</a></li>
<li><a href="/developers/">Developers</a></li>
<li><a href="/blog/">Blog</a></li>
<li><a href="/help/">Need help?</a></li>
</ul>
</nav>
</div>
</div>
</div>
</header>
<div class="grid-wrapper">
<div class="grid grid-center">
<div class="grid__item two-thirds lap-one-whole palm-one-whole">
<article class="page">
<header>
<h1 class="title indent">
Bluetooth LE Tracker
</h1>
</header>
<hr class="divider">
<p>This tracker discovers new devices on boot and in regular intervals and tracks bluetooth low-energy devices periodically based on interval_seconds value. It is not required to pair the devices with each other!
Devices discovered are stored with BLE_ as the prefix for device mac addresses in <code class="highlighter-rouge">known_devices.yaml</code>.</p>
<p class="note">
Requires PyBluez. If you are on Raspbian, run the following command to install the needed dependencies. <code class="highlighter-rouge">sudo apt install bluetooth libbluetooth-dev pkg-config libboost-python-dev libboost-thread-dev libglib2.0-dev python-dev</code>
</p>
<p class="note warning">
Requires gattlib, which is not compatible with Windows. This tracker wont work on Windows!
</p>
<p>To use the Bluetooth tracker in your installation, add the following to your <code class="highlighter-rouge">configuration.yaml</code> file:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
<span class="s">device_tracker</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">bluetooth_le_tracker</span>
</code></pre>
</div>
<p>Configuration variables:</p>
<ul>
<li><strong>device_id</strong> (<em>Optional</em>): The device ID for the bluetooth device to be used for tracking. Defaults to <code class="highlighter-rouge">hci0</code>.</li>
</ul>
<p>As some BT LE devices change their MAC address regularly, a new device is only discovered when it has been seen 5 times.
Some BTLE devices (e.g. fitness trackers) are only visible to the devices that they are paired with. In this case, the BTLE tracker wont see this device.</p>
<p class="note warning">
BT LE tracking requires root privileges.
</p>
<p>For running Home Assistant as non root user we can give python3 the missing capabilities to access the bluetooth stack. Quite like setting the setuid bit (see <a href="http://unix.stackexchange.com/questions/96106/bluetooth-le-scan-as-non-root">Stack Exchange</a> for more information).</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo apt-get install libcap2-bin
<span class="gp">$ </span>sudo setcap <span class="s1">'cap_net_raw,cap_net_admin+eip'</span> <span class="sb">`</span>readlink -f <span class="se">\`</span>which python3<span class="se">\`</span><span class="sb">`</span>
</code></pre>
</div>
<p>If you have installed Home Assistant with <a href="/getting-started/installation-raspberry-pi-all-in-one/">AIO</a>, you need to do the following command, this will grant access to Home Assistant to run the required command.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo setcap cap_net_raw,cap_net_admin+eip /srv/homeassistant/homeassistant_venv/bin/python3
</code></pre>
</div>
<p>A restart of Home Assistant is required.</p>
<p>For additional configuration variables check the <a href="/components/device_tracker/">Device tracker page</a>.</p>
</article>
</div>
<aside id="sidebar" class="grid__item one-third lap-one-whole palm-one-whole">
<div class="grid">
<section class="aside-module grid__item one-whole lap-one-half">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_components/device_tracker.bluetooth_le_tracker.markdown'>Edit this page on GitHub</a></div>
<div class='brand-logo-container section'>
<img src='/images/supported_brands/bluetooth.png' />
</div>
<div class='section'>
IoT class<sup><a href='/blog/2016/02/12/classifying-the-internet-of-things/#classifiers'><i class="icon-info-sign"></i></a></sup>: Local Poll
</div>
<div class='section'>
Introduced in release: 0.27
</div>
<div class='section'>
This is a platform for
<a href='/components/device_tracker/'>the Device Tracker component</a>.
</div>
<div class='section'>
<h1 class="title delta">Category Presence Detection</h1>
<ul class='divided'>
<li>
<a href='/components/device_tracker.asuswrt/'>ASUSWRT</a>
</li>
<li>
<a href='/components/device_tracker.actiontec/'>Actiontec</a>
</li>
<li>
<a href='/components/device_tracker.aruba/'>Aruba</a>
</li>
<li>
<a href='/components/device_tracker.automatic/'>Automatic</a>
</li>
<li>
<a href='/components/device_tracker.bt_home_hub_5/'>BT Home Hub 5</a>
</li>
<li>
<a href='/components/device_tracker.bbox/'>Bbox</a>
</li>
<li>
Bluetooth LE Tracker
</li>
<li>
<a href='/components/device_tracker.bluetooth_tracker/'>Bluetooth Tracker</a>
</li>
<li>
<a href='/components/device_tracker.cisco_ios/'>Cisco IOS</a>
</li>
<li>
<a href='/components/device_tracker.ddwrt/'>DD-WRT</a>
</li>
<li>
<a href='/components/device_tracker.fritz/'>FRITZ!Box</a>
</li>
<li>
<a href='/components/device_tracker.gpslogger/'>GPSLogger</a>
</li>
<li>
<a href='/components/device_tracker.locative/'>Locative</a>
</li>
<li>
<a href='/components/device_tracker.mqtt/'>MQTT Device Tracker</a>
</li>
<li>
<a href='/components/sensor.mqtt_room/'>MQTT Room Presence</a>
</li>
<li>
<a href='/components/device_tracker.netgear/'>Netgear</a>
</li>
<li>
<a href='/components/device_tracker.nmap_tracker/'>Nmap</a>
</li>
<li>
<a href='/components/device_tracker.luci/'>OpenWRT (luci)</a>
</li>
<li>
<a href='/components/device_tracker.ubus/'>OpenWRT (ubus)</a>
</li>
<li>
<a href='/components/device_tracker.owntracks/'>Owntracks</a>
</li>
<li>
<a href='/components/device_tracker.ping/'>Ping (ICMP)</a>
</li>
<li>
<a href='/components/device_tracker.snmp/'>SNMP</a>
</li>
<li>
<a href='/components/device_tracker.swisscom/'>Swisscom Internet-Box</a>
</li>
<li>
<a href='/components/device_tracker.tplink/'>TP-Link</a>
</li>
<li>
<a href='/components/device_tracker.thomson/'>Thomson</a>
</li>
<li>
<a href='/components/device_tracker.tomato/'>Tomato</a>
</li>
<li>
<a href='/components/device_tracker.trackr/'>TrackR</a>
</li>
<li>
<a href='/components/device_tracker.upc_connect/'>UPC ConnectBox</a>
</li>
<li>
<a href='/components/device_tracker.unifi/'>Ubiquiti Unifi WAP</a>
</li>
<li>
<a href='/components/device_tracker.volvooncall/'>Volvo On Call</a>
</li>
<li>
<a href='/components/device_tracker.xiaomi/'>Xiaomi Router</a>
</li>
<li>
<a href='/components/device_tracker.icloud/'>iCloud</a>
</li>
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
<div class="grid__item">
<div class="copyright">
<a rel="me" href='https://twitter.com/home_assistant'><i class="icon-twitter"></i></a>
<a rel="me" href='https://facebook.com/homeassistantio'><i class="icon-facebook"></i></a>
<a rel="me" href='https://plus.google.com/110560654828510104551'><i class="icon-google-plus"></i></a>
<a rel="me" href='https://github.com/home-assistant/home-assistant'><i class="icon-github"></i></a>
<div class="credit">
Contact us at <a href='mailto:hello@home-assistant.io'>hello@home-assistant.io</a>.<br>
Website powered by <a href='http://jekyllrb.com/'>Jekyll</a> and the <a href='https://github.com/coogie/oscailte'>Oscalite theme</a>.<br />
Hosted by <a href='https://pages.github.com/'>GitHub</a> and served by <a href='https://cloudflare.com'>CloudFlare</a>.
</div>
</div>
</div>
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>