home-assistant.github.io/components/proximity/index.html
2016-08-22 08:21:43 +00:00

261 lines
No EOL
11 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>Proximity - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions how to setup Proximity monitoring within Home Assistant.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/components/proximity/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Proximity">
<meta property="og:site_name" content="Home Assistant">
<meta property="og:url" content="https://home-assistant.io/components/proximity/">
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions how to setup Proximity monitoring 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="Proximity">
<meta name="twitter:description" content="Instructions how to setup Proximity monitoring 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='/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">
Proximity
</h1>
</header>
<hr class="divider">
<p>The <code class="highlighter-rouge">proximity</code> component allows you to monitor the proximity of devices to a particular <a href="/components/zone/">zone</a> and the direction of travel. The result is an entity created in Home Assistant which maintains the proximity data.</p>
<p>This component is useful to reduce the number of automation rules required when wanting to perform automations based on locations outside a particular zone. The <a href="/getting-started/automation-trigger/#zone-trigger">zone</a> and <a href="/getting-started/automation-trigger/#state-trigger">state</a> based triggers allow similar control but the number of rules grows exponentially when factors such as direction of travel need to be taken into account.</p>
<p>Some examples of its use include:</p>
<ul>
<li>Increase thermostat temperature as you near home</li>
<li>Decrease temperature the further away from home you travel</li>
</ul>
<p>The Proximity entity which is created has the following values:</p>
<ul>
<li><code class="highlighter-rouge">state</code>: Distance from the monitored zone (in km)</li>
<li><code class="highlighter-rouge">dir_of_travel</code>: Direction of the closest device to the monitored zone. Values are:
<ul>
<li>not set</li>
<li>arrived</li>
<li>towards</li>
<li>away_from</li>
<li>unknown</li>
<li>stationary</li>
</ul>
</li>
<li><code class="highlighter-rouge">dist_to_zone</code>: Distance from the monitored zone (in km)</li>
</ul>
<p>To enable this component 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">proximity</span><span class="pi">:</span>
<span class="s">zone</span><span class="pi">:</span> <span class="s">home</span>
<span class="s">ignored_zones</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">twork</span>
<span class="pi">-</span> <span class="s">elschool</span>
<span class="s">devices</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">device_tracker.nwaring_nickmobile</span>
<span class="pi">-</span> <span class="s">device_tracker.eleanorsiphone</span>
<span class="pi">-</span> <span class="s">device_tracker.tsiphone</span>
<span class="s">tolerance</span><span class="pi">:</span> <span class="s">50</span>
<span class="s">unit_of_measurement</span><span class="pi">:</span> <span class="s">mi</span>
</code></pre>
</div>
<p>Configuration variables:</p>
<ul>
<li><strong>zone</strong> (<em>Optional</em>): The zone to which this component is measuring the distance to. Default is the home zone.</li>
<li><strong>ignored_zones</strong> array (<em>Optional</em>): Where proximity is not calculated for a device (either the device being monitored or ones being compared (e.g. work or school).</li>
<li><strong>devices</strong> array (<em>Optional</em>): A list of devices to compare location against to check closeness to the configured zone.</li>
<li><strong>tolerance</strong> (<em>Optional</em>): The tolerance used to calculate the direction of travel in meters (m) to filter out small GPS coordinate changes.</li>
<li><strong>unit_of_measurement</strong> (<em>Optional</em>): The unit of measurement for distance. Valid values are (km, m, mi, ft) [kilometers, meters, miles and feet respectfully]. The default value is kilometers.</li>
</ul>
<p>To add multiple proximity components, simply use a list in 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">proximity</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">zone</span><span class="pi">:</span> <span class="s">home</span>
<span class="s">devices</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">device_tracker.tsiphone</span>
<span class="s">tolerance</span><span class="pi">:</span> <span class="s">50</span>
<span class="pi">-</span> <span class="s">zone</span><span class="pi">:</span> <span class="s">work</span>
<span class="s">devices</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">device_tracker.elanorsiphone</span>
<span class="s">tolerance</span><span class="pi">:</span> <span class="s">10</span>
</code></pre>
</div>
</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/proximity.markdown'>Edit this page on GitHub</a></div>
<div class='brand-logo-container section'>
<img src='/images/supported_brands/home-assistant.png' />
</div>
<div class='section'>
Introduced in release: 0.13
</div>
<div class='section'>
<h1 class="title delta">Category Automation</h1>
<ul class='divided'>
<li>
<a href='/components/automation/'>Automation</a>
</li>
<li>
<a href='/components/switch.flux/'>Flux Light Adjustment</a>
</li>
<li>
<a href='/components/hdmi_cec/'>HDMI CEC</a>
</li>
<li>
<a href='/components/ifttt/'>IFTTT</a>
</li>
<li>
<a href='/components/input_boolean/'>Input Boolean</a>
</li>
<li>
<a href='/components/input_select/'>Input Select</a>
</li>
<li>
<a href='/components/input_slider/'>Input Slider</a>
</li>
<li>
<a href='/components/keyboard/'>Keyboard</a>
</li>
<li>
<a href='/components/lirc/'>LIRC</a>
</li>
<li>
<a href='/components/device_sun_light_trigger/'>Presence based lights</a>
</li>
<li>
Proximity
</li>
<li>
<a href='/components/script/'>Scripts</a>
</li>
<li>
<a href='/components/shell_command/'>Shell command</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>