Site updated at 2017-03-18 17:12:07 UTC

This commit is contained in:
Travis CI 2017-03-18 17:12:07 +00:00
parent 7573fcba68
commit 67179bf8fe
994 changed files with 1768 additions and 68252 deletions

View file

@ -3,17 +3,14 @@
<!--[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>Automation Actions - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Automations result in action.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/automation/action/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Automation Actions">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Automations result in action.">
<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="Automation Actions">
<meta name="twitter:description" content="Automations result in action.">
<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="/docs/">Docs</a></li>
@ -64,38 +53,22 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/automation/action.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Automation Actions
</h1>
</header>
<hr class="divider">
<p>The action of an automation rule is what is being executed when a rule fires. The action part follows the <a href="/docs/scripts/">script syntax</a> which can be used to interact with anything via services or events. For services you can specify the entity_id that it should apply to and optional service parameters (to specify for example the brightness).</p>
<p>You can also call the service to activate <a href="/components/scene/">a scene</a> which will allow you to define how you want your devices to be and have Home Assistant call the right services.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span>
<span class="c1"># Change the light in the kitchen and living room to 150 brightness and color red.</span>
<span class="s">trigger</span><span class="pi">:</span>
@ -127,9 +100,7 @@
<span class="s">message</span><span class="pi">:</span> <span class="s">Oh wow you really missed something great.</span>
</code></pre>
</div>
<p>Conditions can also be part of an action. You can combine multiple service calls and conditions in a single action, and they will be processed in the order you put them in. If the result of a condition is false, the action will stop there so any service calls after that condition will not be executed.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">alias</span><span class="pi">:</span> <span class="s1">'</span><span class="s">Enciende</span><span class="nv"> </span><span class="s">Despacho'</span>
<span class="s">trigger</span><span class="pi">:</span>
@ -150,18 +121,10 @@
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">scene.DespiertaDespacho</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='section'>
<h1 class="title delta">Topics</h1>
@ -348,13 +311,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -364,7 +324,6 @@
<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 />
@ -376,7 +335,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -384,4 +342,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Automation Conditions - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Automations can test conditions when invoked.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/automation/condition/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Automation Conditions">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Automations can test conditions when invoked.">
<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="Automation Conditions">
<meta name="twitter:description" content="Automations can test conditions when invoked.">
<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="/docs/">Docs</a></li>
@ -64,40 +53,23 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/automation/condition.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Automation Conditions
</h1>
</header>
<hr class="divider">
<p>Conditions are an optional part of an automation rule and can be used to prevent an action from happening when triggered. Conditions look very similar to triggers but are very different. A trigger will look at events happening in the system while a condition only looks at how the system looks right now. A trigger can observe that a switch is being turned on. A condition can only see if a switch is currently on or off.</p>
<p>The available conditions for an automation are the same as for the script syntax so see that page for a <a href="/docs/scripts/conditions/">full list of available conditions</a>.</p>
<p>Example of using condition:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="pi">-</span> <span class="s">alias</span><span class="pi">:</span> <span class="s1">'</span><span class="s">Enciende</span><span class="nv"> </span><span class="s">Despacho'</span>
<span class="s">trigger</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">state</span>
@ -115,19 +87,10 @@
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">scene.DespiertaDespacho</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='section'>
<h1 class="title delta">Topics</h1>
@ -314,13 +277,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -330,7 +290,6 @@
<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 />
@ -342,7 +301,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -350,4 +308,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Automation Examples - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Some automation examples to get you started.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/automation/examples/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Automation Examples">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Some automation examples to get you started.">
<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="Automation Examples">
<meta name="twitter:description" content="Some automation examples to get you started.">
<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="/docs/">Docs</a></li>
@ -64,36 +53,21 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/automation/examples.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Automation Examples
</h1>
</header>
<hr class="divider">
<p>Just some sample automation rules to get you started.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example of entry in configuration.yaml</span>
<span class="s">automation</span><span class="pi">:</span>
<span class="c1"># Turns on lights 1 hour before sunset if people are home</span>
@ -147,18 +121,10 @@
<span class="s">message</span><span class="pi">:</span> <span class="s1">'</span><span class="s">Paulus</span><span class="nv"> </span><span class="s">left</span><span class="nv"> </span><span class="s">the</span><span class="nv"> </span><span class="s">house'</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='section'>
<h1 class="title delta">Topics</h1>
@ -345,13 +311,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -361,7 +324,6 @@
<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 />
@ -373,7 +335,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -381,4 +342,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Automating Home Assistant - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Steps to help you get automation setup in Home Assistant.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/automation/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Automating Home Assistant">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Steps to help you get automation setup in 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="Automating Home Assistant">
<meta name="twitter:description" content="Steps to help you get automation setup in 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="/docs/">Docs</a></li>
@ -64,62 +53,37 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/automation.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Automating Home Assistant
</h1>
</header>
<hr class="divider">
<p>Home Assistant offers a wide range of automation configurations. In this section, well try to guide you through all the different possibilities and options. Besides this documentation, there are also a couple of people who have made their automations <a href="/cookbook/#example-configurationyaml">publicly available</a>.</p>
<h3><a class="title-link" name="automation-basics" href="#automation-basics"></a> Automation basics</h3>
<p>Before you can go ahead and create your own automations, its important to learn the basics. To explore these, lets have a look at the following example home automation rule:</p>
<div class="language-text highlighter-rouge"><pre class="highlight"><code>(trigger) When Paulus arrives home
(condition) and it is after sunset:
(action) Turn the lights in the living room on
</code></pre>
</div>
<p>The example consists of three different parts: a <a href="/docs/automation/trigger/">trigger</a>, a <a href="/docs/automation/condition/">condition</a> and an <a href="/docs/automation/action/">action</a>.</p>
<p>The first line is the <strong>trigger</strong> of the automation rule. Triggers describe events that should trigger the automation rule. In this case, it is a person arriving home, which can be observed in Home Assistant by observing the state of Paulus changing from not_home to home.</p>
<p>The second line is the <strong>condition</strong>. Conditions are optional tests that can limit an automation rule to only work in your specific use cases. A condition will test against the current state of the system. This includes the current time, devices, people and other things like the sun. In this case, we only want to act when the sun has set.</p>
<p>The third part is the <strong>action</strong>, which will be performed when a rule is triggered and all conditions are met. For example, it can turn a light on, set the temperature on your thermostat or activate a scene.</p>
<p class="note">
The difference between a condition and a trigger can be confusing as they are very similar. Triggers look at the actions, while conditions look at the results: turning a light on versus a light being on.
</p>
<h3><a class="title-link" name="exploring-the-internal-state" href="#exploring-the-internal-state"></a> Exploring the internal state</h3>
<p>Automation rules interact directly with the internal state of Home Assistant, so youll need to familiarize yourself with it. Home Assistant exposes its current state via the developer tools. These are available at the bottom of the sidebar in the frontend. The <img src="/images/screenshots/developer-tool-states-icon.png" class="no-shadow" height="38" /> icon will show all currently available states. An entity can be anything. A light, a switch, a person and even the sun. A state consists of the following parts:</p>
<table>
<thead>
<tr>
@ -146,23 +110,12 @@ The difference between a condition and a trigger can be confusing as they are ve
</tr>
</tbody>
</table>
<p>State changes can be used as the source of triggers and the current state can be used in conditions.</p>
<p>Actions are all about calling services. To explore the available services open the <img src="/images/screenshots/developer-tool-services-icon.png" class="no-shadow" height="38" /> Services developer tool. Services allow to change anything. For example turn on a light, run a script or enable a scene. Each service has a domain and a name. For example the service <code class="highlighter-rouge">light.turn_on</code> is capable of turning on any light in your system. Services can be passed parameters to for example tell which device to turn on or what color to use.</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='section'>
<h1 class="title delta">Topics</h1>
@ -349,13 +302,10 @@ The difference between a condition and a trigger can be confusing as they are ve
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -365,7 +315,6 @@ The difference between a condition and a trigger can be confusing as they are ve
<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 />
@ -377,7 +326,6 @@ The difference between a condition and a trigger can be confusing as they are ve
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -385,4 +333,4 @@ The difference between a condition and a trigger can be confusing as they are ve
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Automation Templating - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Advanced automation documentation using templating.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/automation/templating/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Automation Templating">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Advanced automation documentation using templating.">
<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="Automation Templating">
<meta name="twitter:description" content="Advanced automation documentation using templating.">
<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="/docs/">Docs</a></li>
@ -64,38 +53,22 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/automation/templating.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Automation Templating
</h1>
</header>
<hr class="divider">
<p>In Home Assistant 0.19 we introduced a new powerful feature: variables in scripts and automations. This makes it possible to adjust your condition and action based on the information of the trigger.</p>
<p>The trigger data made is available during <a href="/docs/configuration/templating/">template</a> rendering as the <code class="highlighter-rouge">trigger</code> variable.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entries</span>
<span class="s">automation</span><span class="pi">:</span>
<span class="s">trigger</span><span class="pi">:</span>
@ -119,11 +92,8 @@
<span class="s">message</span><span class="pi">:</span> <span class="s1">'</span><span class="s">{{</span><span class="nv"> </span><span class="s">trigger.payload</span><span class="nv"> </span><span class="s">}}'</span>
</code></pre>
</div>
<h2><a class="title-link" name="important-template-rules" href="#important-template-rules"></a> Important Template Rules</h2>
<p>There are a few very important rules to remember when writing automation templates:</p>
<ol>
<li>You <strong><em>must</em></strong> use <code class="highlighter-rouge">data_template</code> in place of <code class="highlighter-rouge">data</code> when using templates in the <code class="highlighter-rouge">data</code> section of a service call.</li>
<li>You <strong><em>must</em></strong> use <code class="highlighter-rouge">service_template</code> in place of <code class="highlighter-rouge">service</code> when using templates in the <code class="highlighter-rouge">service</code> section of a service call.</li>
@ -132,15 +102,10 @@
<li>It is advised that when comparing numbers, you convert the number(s) to a <a href="http://jinja.pocoo.org/docs/dev/templates/#float"><code class="highlighter-rouge">float</code></a> or an <a href="http://jinja.pocoo.org/docs/dev/templates/#int"><code class="highlighter-rouge">int</code></a> by using the respective <a href="http://jinja.pocoo.org/docs/dev/templates/#list-of-builtin-filters">filter</a>.</li>
<li>While the <a href="http://jinja.pocoo.org/docs/dev/templates/#float"><code class="highlighter-rouge">float</code></a> and <a href="http://jinja.pocoo.org/docs/dev/templates/#int"><code class="highlighter-rouge">int</code></a> filters do allow a default fallback value if the conversion is unsuccessful, they do not provide the ability to catch undefined variables.</li>
</ol>
<p>Remembering these simple rules will help save you from many headaches and endless hours of frustration when using automation templates.</p>
<h2><a class="title-link" name="available-trigger-data" href="#available-trigger-data"></a> Available Trigger Data</h2>
<p>The following tables show the available trigger data per platform.</p>
<h3><a class="title-link" name="event" href="#event"></a> event</h3>
<table>
<thead>
<tr>
@ -159,9 +124,7 @@
</tr>
</tbody>
</table>
<h3><a class="title-link" name="mqtt" href="#mqtt"></a> mqtt</h3>
<table>
<thead>
<tr>
@ -192,9 +155,7 @@
</tr>
</tbody>
</table>
<h3><a class="title-link" name="numeric_state" href="#numeric_state"></a> numeric_state</h3>
<table>
<thead>
<tr>
@ -229,9 +190,7 @@
</tr>
</tbody>
</table>
<h3><a class="title-link" name="state" href="#state"></a> state</h3>
<table>
<thead>
<tr>
@ -262,9 +221,7 @@
</tr>
</tbody>
</table>
<h3><a class="title-link" name="sun" href="#sun"></a> sun</h3>
<table>
<thead>
<tr>
@ -287,9 +244,7 @@
</tr>
</tbody>
</table>
<h3><a class="title-link" name="template" href="#template"></a> template</h3>
<table>
<thead>
<tr>
@ -316,9 +271,7 @@
</tr>
</tbody>
</table>
<h3><a class="title-link" name="time" href="#time"></a> time</h3>
<table>
<thead>
<tr>
@ -337,9 +290,7 @@
</tr>
</tbody>
</table>
<h3><a class="title-link" name="zone" href="#zone"></a> zone</h3>
<table>
<thead>
<tr>
@ -374,19 +325,10 @@
</tr>
</tbody>
</table>
</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='section'>
<h1 class="title delta">Topics</h1>
@ -573,13 +515,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -589,7 +528,6 @@
<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 />
@ -601,7 +539,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -609,4 +546,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Automation Trigger - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="All the different ways how automations can be triggered.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/automation/trigger/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Automation Trigger">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="All the different ways how automations can be triggered.">
<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="Automation Trigger">
<meta name="twitter:description" content="All the different ways how automations can be triggered.">
<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="/docs/">Docs</a></li>
@ -64,39 +53,23 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/automation/trigger.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Automation Trigger
</h1>
</header>
<hr class="divider">
<p>Triggers are what starts the processing of an automation rule. It is possible to specify multiple triggers for the same rule. Once a trigger starts, Home Assistant will validate the conditions, if any, and call the action.</p>
<h3><a class="title-link" name="event-trigger" href="#event-trigger"></a> Event trigger</h3>
<p>Triggers when an event is being processed. Events are the raw building blocks of Home Assistant. You can match events on just the event name or also require specific event data to be present.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span>
<span class="s">trigger</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">event</span>
@ -107,10 +80,8 @@
</code></pre>
</div>
<p>For example, to carry out actions when Home Assistant starts, you can use <code class="highlighter-rouge">event_type: homeassistant_start</code>. See other events supported by Home Assistant <a href="https://home-assistant.io/topics/events/">here</a>.</p>
<h3><a class="title-link" name="mqtt-trigger" href="#mqtt-trigger"></a> MQTT trigger</h3>
<p>Triggers when a specific message is received on given topic. Optionally can match on the payload being sent over the topic.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span>
<span class="s">trigger</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">mqtt</span>
@ -119,10 +90,8 @@
<span class="s">payload</span><span class="pi">:</span> <span class="s1">'</span><span class="s">on'</span>
</code></pre>
</div>
<h3><a class="title-link" name="numeric-state-trigger" href="#numeric-state-trigger"></a> Numeric state trigger</h3>
<p>On state change of a specified entity, attempts to parse the state as a number and triggers if value is above and/or below a threshold.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span>
<span class="s">trigger</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">numeric_state</span>
@ -134,11 +103,8 @@
<span class="s">below</span><span class="pi">:</span> <span class="s">25</span>
</code></pre>
</div>
<h3><a class="title-link" name="state-trigger" href="#state-trigger"></a> State trigger</h3>
<p>Triggers when the state of tracked entities change. If only entity_id given will match all state changes.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span>
<span class="s">trigger</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">state</span>
@ -157,14 +123,11 @@
<span class="s">seconds</span><span class="pi">:</span> <span class="s">5</span>
</code></pre>
</div>
<p class="note warning">
Use quotes around your values for <code class="highlighter-rouge">from</code> and <code class="highlighter-rouge">to</code> to avoid the YAML parser interpreting values as booleans.
</p>
<h3><a class="title-link" name="sun-trigger" href="#sun-trigger"></a> Sun trigger</h3>
<p>Trigger when the sun is setting or rising. An optional time offset can be given to have it trigger for example 45 minutes before sunset, when dusk is setting in.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span>
<span class="s">trigger</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">sun</span>
@ -174,23 +137,17 @@
<span class="s">offset</span><span class="pi">:</span> <span class="s1">'</span><span class="s">-00:45:00'</span>
</code></pre>
</div>
<h3><a class="title-link" name="template-trigger" href="#template-trigger"></a> Template trigger</h3>
<p>Template triggers work by evaluating a [template] on each state change. The trigger will fire if the state change caused the template to render true. This is achieved by having the template result in a true boolean expression (<code class="highlighter-rouge"><span class="p">{</span><span class="err">{</span><span class="w"> </span><span class="err">is_state('device_tracker.paulus',</span><span class="w"> </span><span class="err">'home')</span><span class="w"> </span><span class="p">}</span><span class="err">}</span></code>) or by having the template render true (example below).
With template triggers you can also evaluate attribute changes by using is_state_attr (<code class="highlighter-rouge"><span class="p">{</span><span class="err">{</span><span class="w"> </span><span class="err">is_state_attr('climate.living_room',</span><span class="w"> </span><span class="err">'away_mode',</span><span class="w"> </span><span class="err">'off')</span><span class="w"> </span><span class="p">}</span><span class="err">}</span></code>)</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span>
<span class="s">trigger</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">template</span>
<span class="s">value_template</span><span class="pi">:</span> <span class="s2">"</span><span class="s">{%</span><span class="nv"> </span><span class="s">if</span><span class="nv"> </span><span class="s">is_state('device_tracker.paulus',</span><span class="nv"> </span><span class="s">'home')</span><span class="nv"> </span><span class="s">%}true{%</span><span class="nv"> </span><span class="s">endif</span><span class="nv"> </span><span class="s">%}"</span>
</code></pre>
</div>
<h3><a class="title-link" name="time-trigger" href="#time-trigger"></a> Time trigger</h3>
<p>Time can be triggered in many ways. The most common is to specify <code class="highlighter-rouge">after</code> and trigger at a specific point in time each day. Alternatively, you can also match if the hour, minute or second of the current time has a specific value. You can prefix the value with a <code class="highlighter-rouge">/</code> to match whenever the value is divisible by that number. You cannot use <code class="highlighter-rouge">after</code> together with hour, minute or second.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span>
<span class="s">trigger</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">time</span>
@ -216,11 +173,8 @@ With template triggers you can also evaluate attribute changes by using is_state
<p class="note warning">
Remember that if you are using matching to include both <code class="highlighter-rouge">minutes</code> and <code class="highlighter-rouge">seconds</code>. Without <code class="highlighter-rouge">seconds</code>, your automation will trigger 60 times during the matching minute.
</p>
<h3><a class="title-link" name="zone-trigger" href="#zone-trigger"></a> Zone trigger</h3>
<p>Zone triggers can trigger when an entity is entering or leaving the zone. For zone automation to work, you need to have setup a device tracker platform that supports reporting GPS coordinates. Currently this is limited to the <a href="/components/device_tracker.owntracks/">OwnTracks platform</a> as well as the <a href="/components/device_tracker.icloud/">iCloud platform</a>.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span>
<span class="s">trigger</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">zone</span>
@ -230,18 +184,10 @@ With template triggers you can also evaluate attribute changes by using is_state
<span class="s">event</span><span class="pi">:</span> <span class="s">enter</span> <span class="c1"># or "leave"</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='section'>
<h1 class="title delta">Topics</h1>
@ -428,13 +374,10 @@ With template triggers you can also evaluate attribute changes by using is_state
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -444,7 +387,6 @@ With template triggers you can also evaluate attribute changes by using is_state
<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 />
@ -456,7 +398,6 @@ With template triggers you can also evaluate attribute changes by using is_state
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -464,4 +405,4 @@ With template triggers you can also evaluate attribute changes by using is_state
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Troubleshooting Automations - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Tips on how to troubleshoot your automations.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/automation/troubleshooting/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Troubleshooting Automations">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Tips on how to troubleshoot your automations.">
<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="Troubleshooting Automations">
<meta name="twitter:description" content="Tips on how to troubleshoot your automations.">
<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="/docs/">Docs</a></li>
@ -64,58 +53,31 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/automation/troubleshooting.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Troubleshooting Automations
</h1>
</header>
<hr class="divider">
<p>You can verify that your automation rules are being initialized correctly by watching both the realtime logs (<code class="highlighter-rouge">homeassistant.log</code> in the configuration directory) and also the <a href="/components/logbook/">Logbook</a>. The realtime logs will show the rules being initialized (once for each trigger), example:</p>
<pre><code class="language-plain">INFO [homeassistant.components.automation] Initialized rule Rainy Day
<p>You can verify that your automation rules are being initialized correctly by watching both the realtime logs (<code class="highlighter-rouge">homeassistant.log</code> in the configuration directory) and also the <a href="/components/logbook/">Logbook</a>. The realtime logs will show the rules being initialized (once for each trigger), example:</p><pre><code class="language-plain">INFO [homeassistant.components.automation] Initialized rule Rainy Day
INFO [homeassistant.components.automation] Initialized rule Rainy Day
INFO [homeassistant.components.automation] Initialized rule Rainy Day
INFO [homeassistant.components.automation] Initialized rule Rain is over
</code></pre>
<p>The Logbook component will show a line entry when an automation is triggered. You can look at the previous entry to determine which trigger in the rule triggered the event.</p>
<p><img src="/images/components/automation/logbook.png" alt="Logbook example" /></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='section'>
<h1 class="title delta">Topics</h1>
@ -302,13 +264,10 @@ INFO [homeassistant.components.automation] Initialized rule Rain is over
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -318,7 +277,6 @@ INFO [homeassistant.components.automation] Initialized rule Rain is over
<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 />
@ -330,7 +288,6 @@ INFO [homeassistant.components.automation] Initialized rule Rain is over
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -338,4 +295,4 @@ INFO [homeassistant.components.automation] Initialized rule Rain is over
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Autostart Home Assistant - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions how to setup Home Assistant to launch on start.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/autostart/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Autostart Home Assistant">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions how to setup Home Assistant to launch on start.">
<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="Autostart Home Assistant">
<meta name="twitter:description" content="Instructions how to setup Home Assistant to launch on start.">
<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="/docs/">Docs</a></li>
@ -64,36 +53,21 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/autostart.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Autostart Home Assistant
</h1>
</header>
<hr class="divider">
<p>Once you get started with Home Assistant you want it to start automatically when you launch your machine. To help you get started weve compiled a few guides for different systems.</p>
<ul>
<li><a href="/docs/autostart/systemd/">systemd (Linux)</a></li>
<li><a href="/docs/autostart/upstart/">Upstart (Linux)</a></li>
@ -101,18 +75,10 @@
<li><a href="/docs/autostart/macos/">macOS</a></li>
<li><a href="/docs/autostart/synology/">Synology NAS</a></li>
</ul>
</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='section'>
<h1 class="title delta">Topics</h1>
@ -299,13 +265,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -315,7 +278,6 @@
<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 />
@ -327,7 +289,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -335,4 +296,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Autostart using init.d - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Documentation about setting up Home Assistant as a daemon running under init.d.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/autostart/init.d/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Autostart using init.d">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Documentation about setting up Home Assistant as a daemon running under init.d.">
<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="Autostart using init.d">
<meta name="twitter:description" content="Documentation about setting up Home Assistant as a daemon running under init.d.">
<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="/docs/">Docs</a></li>
@ -64,74 +53,43 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/autostart/init.d.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Autostart Using init.d
</h1>
</header>
<hr class="divider">
<p>Home Assistant can run as a daemon within init.d with the script below.</p>
<h3><a class="title-link" name="1-copy-script" href="#1-copy-script"></a> 1. Copy script</h3>
<p>Copy the script at the end of this page to <code class="highlighter-rouge">/etc/init.d/hass-daemon</code>.</p>
<p>After that, set the script to be executable:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo chmod +x /etc/init.d/hass-daemon
</code></pre>
</div>
<h3><a class="title-link" name="2-select-a-user" href="#2-select-a-user"></a> 2. Select a user.</h3>
<p>Create or pick a user that the Home Assistant daemon will run under. Update script to set <code class="highlighter-rouge">RUN_AS</code> to the username that should be used to execute hass.</p>
<h3><a class="title-link" name="3-register-the-daemon-with-linux" href="#3-register-the-daemon-with-linux"></a> 3. Register the daemon with Linux</h3>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo update-rc.d hass-daemon defaults
</code></pre>
</div>
<h3><a class="title-link" name="4-install-this-service" href="#4-install-this-service"></a> 4. Install this service</h3>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo service hass-daemon install
</code></pre>
</div>
<h3><a class="title-link" name="5-restart-machine" href="#5-restart-machine"></a> 5. Restart Machine</h3>
<p>Thats it. Restart your machine and Home Assistant should start automatically.</p>
<p>If HA does not start, check the log file output for errors at <code class="highlighter-rouge">/var/opt/homeassistant/home-assistant.log</code></p>
<h3><a class="title-link" name="extra-running-commands-before-hass-executes" href="#extra-running-commands-before-hass-executes"></a> Extra: Running commands before hass executes</h3>
<p>If any commands need to run before executing hass (like loading a virutal environment), put them in PRE_EXEC. This command must end with a semicolon.</p>
<h3><a class="title-link" name="daemon-script" href="#daemon-script"></a> Daemon script</h3>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="c">#!/bin/sh</span>
<span class="c">### BEGIN INIT INFO</span>
<span class="c"># Provides: hass</span>
@ -218,18 +176,10 @@ case "</span><span class="nv">$1</span><span class="s2">" in
esac
</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='section'>
<h1 class="title delta">Topics</h1>
@ -416,13 +366,10 @@ esac
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -432,7 +379,6 @@ esac
<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 />
@ -444,7 +390,6 @@ esac
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -452,4 +397,4 @@ esac
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Autostart on macOS - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions how to setup Home Assistant to launch on Apple macOS.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/autostart/macos/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Autostart on macOS">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions how to setup Home Assistant to launch on Apple macOS.">
<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="Autostart on macOS">
<meta name="twitter:description" content="Instructions how to setup Home Assistant to launch on Apple macOS.">
<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="/docs/">Docs</a></li>
@ -64,65 +53,38 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/autostart/macos.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Autostart on macOS
</h1>
</header>
<hr class="divider">
<p>Setting up Home Assistant to run as a background service is simple; macOS will start Home Assistant on boot and make sure its always running.</p>
<p>To get Home Assistant installed as a background service, run:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>hass --script macos install
Home Assistant has been installed. Open it here: http://localhost:8123
</code></pre>
</div>
<p>Home Assistant will log to <code class="highlighter-rouge">~/Library/Logs/homeassistant.log</code></p>
<p>To uninstall the service, run:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>hass --script macos uninstall
Home Assistant has been uninstalled.
</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='section'>
<h1 class="title delta">Topics</h1>
@ -309,13 +271,10 @@ Home Assistant has been uninstalled.
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -325,7 +284,6 @@ Home Assistant has been uninstalled.
<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 />
@ -337,7 +295,6 @@ Home Assistant has been uninstalled.
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -345,4 +302,4 @@ Home Assistant has been uninstalled.
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Autostart on Synology NAS boot - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions how to setup Home Assistant to launch on boot on Synology NAS.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/autostart/synology/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Autostart on Synology NAS boot">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions how to setup Home Assistant to launch on boot on Synology NAS.">
<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="Autostart on Synology NAS boot">
<meta name="twitter:description" content="Instructions how to setup Home Assistant to launch on boot on Synology NAS.">
<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="/docs/">Docs</a></li>
@ -64,44 +53,26 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/autostart/synology.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Autostart on Synology NAS Boot
</h1>
</header>
<hr class="divider">
<p>To get Home Assistant to automatically start when you boot your Synology NAS:</p>
<p>SSH into your synology &amp; login as admin or root</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span><span class="nb">cd</span> /volume1/homeassistant
</code></pre>
</div>
<p>Create “homeassistant.conf” file using the following code</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="c"># only start this service after the httpd user process has started</span>
start on started httpd-user
@ -116,32 +87,19 @@ stop on runlevel <span class="o">[</span>06]
<span class="nb">exec</span> /bin/sh /volume1/homeassistant/hass-daemon start
</code></pre>
</div>
<p>Register the autostart</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>ln -s homeassistant-conf /etc/init/homeassistant-conf
</code></pre>
</div>
<p>Make the relevant files executable:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>chmod -r 777 /etc/init/homeassistant-conf
</code></pre>
</div>
<p>Thats it - reboot your NAS and Home Assistant should automatically start</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='section'>
<h1 class="title delta">Topics</h1>
@ -328,13 +286,10 @@ stop on runlevel <span class="o">[</span>06]
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -344,7 +299,6 @@ stop on runlevel <span class="o">[</span>06]
<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 />
@ -356,7 +310,6 @@ stop on runlevel <span class="o">[</span>06]
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -364,4 +317,4 @@ stop on runlevel <span class="o">[</span>06]
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Autostart using systemd - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions how to setup Home Assistant to launch on boot using systemd.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/autostart/systemd/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Autostart using systemd">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions how to setup Home Assistant to launch on boot using systemd.">
<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="Autostart using systemd">
<meta name="twitter:description" content="Instructions how to setup Home Assistant to launch on boot using systemd.">
<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="/docs/">Docs</a></li>
@ -64,51 +53,32 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/autostart/systemd.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Autostart Using Systemd
</h1>
</header>
<hr class="divider">
<p>Newer linux distributions are trending towards using <code class="highlighter-rouge">systemd</code> for managing daemons. Typically, systems based on Fedora, ArchLinux, or Debian (8 or later) use <code class="highlighter-rouge">systemd</code>. This includes Ubuntu releases including and after 15.04, CentOS, and Red Hat. If you are unsure if your system is using <code class="highlighter-rouge">systemd</code>, you may check with the following command:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>ps -p 1 -o <span class="nv">comm</span><span class="o">=</span>
</code></pre>
</div>
<p>If the preceding command returns the string <code class="highlighter-rouge">systemd</code>, you are likely using <code class="highlighter-rouge">systemd</code>.</p>
<p>If you want Home Assistant to be launched automatically, an extra step is needed to setup <code class="highlighter-rouge">systemd</code>. A service file is needed to control Home Assistant with <code class="highlighter-rouge">systemd</code>. The template below should be created using a text editor. Note, root permissions via sudo will likely be needed. The following should be noted to modify the template:</p>
<ul>
<li><code class="highlighter-rouge">ExecStart</code> contains the path to <code class="highlighter-rouge">hass</code> and this may vary. Check with <code class="highlighter-rouge">whereis hass</code> for the location.</li>
<li>If running Home Assistant in a python virtual environment or a docker, please skip to section below.</li>
<li>For most systems, the file is <code class="highlighter-rouge">/etc/systemd/system/home-assistant@[your user].service</code> with [your user] replaced by the user account that Home Assistant will run as - normally <code class="highlighter-rouge">homeassistant</code>. For Ubuntu 16.04, the file is <code class="highlighter-rouge">/lib/systemd/system/home-assistant.service</code> and requires running this command <code class="highlighter-rouge">sudo ln -s /lib/systemd/system/home-assistant.service /etc/systemd/system/home-assistant.service</code> after file is created.</li>
<li>If unfamiliar with command line text editors, <code class="highlighter-rouge">sudo nano -w [filename]</code> can be used with <code class="highlighter-rouge">[filename]</code> replaced with the full path to the file. Ex. <code class="highlighter-rouge">sudo nano -w /etc/systemd/system/home-assistant@homeassistant.service</code>. After text entered, press CTRL-X then press Y to save and exit.</li>
</ul>
<div class="highlighter-rouge"><pre class="highlight"><code>[Unit]
Description=Home Assistant
After=network.target
@ -122,9 +92,7 @@ ExecStart=/usr/bin/hass
WantedBy=multi-user.target
</code></pre>
</div>
<p>If youve setup Home Assistant in <code class="highlighter-rouge">virtualenv</code> following our <a href="https://home-assistant.io/getting-started/installation-virtualenv/">python installation guide</a> or <a href="https://home-assistant.io/getting-started/installation-raspberry-pi/">manual installation guide for raspberry pi</a>, the following template should work for you. If Home Assistant install is not located at <code class="highlighter-rouge">/srv/homeassistant</code>, please modify the <code class="highlighter-rouge">Enviroment=</code> and <code class="highlighter-rouge">ExecStart=</code> lines appropriately.</p>
<div class="highlighter-rouge"><pre class="highlight"><code>[Unit]
Description=Home Assistant
After=network.target
@ -141,9 +109,7 @@ ExecStart=/srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant"
WantedBy=multi-user.target
</code></pre>
</div>
<p>If you want to use docker, the following template should work for you.</p>
<div class="highlighter-rouge"><pre class="highlight"><code>[Unit]
Description=Home Assistant
Requires=docker.service
@ -160,32 +126,23 @@ ExecStopPost=/usr/bin/docker rm -f home-assistant-%i
WantedBy=multi-user.target
</code></pre>
</div>
<p>You need to reload <code class="highlighter-rouge">systemd</code> to make the daemon aware of the new configuration.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo systemctl --system daemon-reload
</code></pre>
</div>
<p>To have Home Assistant start automatically at boot, enable the service.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo systemctl <span class="nb">enable </span>home-assistant@[your user]
</code></pre>
</div>
<p>To disable the automatic start, use this command.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo systemctl disable home-assistant@[your user]
</code></pre>
</div>
<p>To start Home Assistant now, use this command.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo systemctl start home-assistant@[your user]
</code></pre>
</div>
<p>You can also substitute the <code class="highlighter-rouge">start</code> above with <code class="highlighter-rouge">stop</code> to stop Home Assistant, <code class="highlighter-rouge">restart</code> to restart Home Assistant, and status to see a brief status report as seen below.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo systemctl status home-assistant@[your user]
● home-assistant@fab.service - Home Assistant <span class="k">for</span> <span class="o">[</span>your user]
Loaded: loaded <span class="o">(</span>/etc/systemd/system/home-assistant@[your user].service; enabled; vendor preset: disabled<span class="o">)</span>
@ -197,29 +154,18 @@ WantedBy=multi-user.target
<span class="o">[</span>...]
</code></pre>
</div>
<p>To get Home Assistants logging output, simple use <code class="highlighter-rouge">journalctl</code>.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo journalctl -f -u home-assistant@[your user]
</code></pre>
</div>
<p>Because the log can scroll quite quickly, you can select to view only the error lines:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo journalctl -f -u home-assistant@[your user] | grep -i <span class="s1">'error'</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='section'>
<h1 class="title delta">Topics</h1>
@ -406,13 +352,10 @@ WantedBy=multi-user.target
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -422,7 +365,6 @@ WantedBy=multi-user.target
<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 />
@ -434,7 +376,6 @@ WantedBy=multi-user.target
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -442,4 +383,4 @@ WantedBy=multi-user.target
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Autostart using Upstart - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions how to setup Home Assistant to launch on boot using Upstart.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/autostart/upstart/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Autostart using Upstart">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions how to setup Home Assistant to launch on boot using Upstart.">
<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="Autostart using Upstart">
<meta name="twitter:description" content="Instructions how to setup Home Assistant to launch on boot using Upstart.">
<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="/docs/">Docs</a></li>
@ -64,44 +53,26 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/autostart/upstart.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Autostart Using Upstart
</h1>
</header>
<hr class="divider">
<p>Many linux distributions use the Upstart system (or similar) for managing daemons. Typically, systems based on Debian 7 or previous use Upstart. This includes Ubuntu releases before 15.04. If you are unsure if your system is using Upstart, you may check with the following command:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>ps -p 1 -o <span class="nv">comm</span><span class="o">=</span>
</code></pre>
</div>
<p>If the preceding command returns the string <code class="highlighter-rouge">init</code>, you are likely using Upstart.</p>
<p>Upstart will launch init scripts that are located in the directory <code class="highlighter-rouge">/etc/init.d/</code>. A sample init script for systems using Upstart could look like the sample below.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="c">#!/bin/sh</span>
<span class="c">### BEGIN INIT INFO</span>
<span class="c"># Provides: hass</span>
@ -207,29 +178,17 @@ case "</span><span class="nv">$1</span><span class="s2">" in
esac
</span></code></pre>
</div>
<p>To install this script, download it, tweak it to you liking, and install it by following the directions in the header. This script will setup Home Assistant to run when the system boots. To start/stop Home Assistant manually, issue the following commands:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo service hass-daemon start
<span class="gp">$ </span>sudo service hass-daemon stop
</code></pre>
</div>
<p>When running Home Assistant with this script, the configuration directory will be located at <code class="highlighter-rouge">/var/opt/homeassistant</code>. This directory will contain a verbose log rather than simply an error log.</p>
<p>When running daemons, it is good practice to have the daemon run under its own user name rather than the default users name. Instructions for setting this up are outside the scope of this document.</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='section'>
<h1 class="title delta">Topics</h1>
@ -416,13 +375,10 @@ esac
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -432,7 +388,6 @@ esac
<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 />
@ -444,7 +399,6 @@ esac
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -452,4 +406,4 @@ esac
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Database - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Details about the database which Home Assistant is using.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/backend/database/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Database">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Details about the database which Home Assistant is using.">
<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="Database">
<meta name="twitter:description" content="Details about the database which Home Assistant is using.">
<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="/docs/">Docs</a></li>
@ -64,64 +53,42 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/backend/database.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Database
</h1>
</header>
<hr class="divider">
<p>The default database that is used for Home Assistant is <a href="https://www.sqlite.org/">SQLite</a> and is stored in your <a href="/getting-started/configuration/">configuration directory</a>, eg. <code class="highlighter-rouge">&lt;path to config dir&gt;/.homeassistant/home-assistant_v2.db</code>. You will need an installation of <code class="highlighter-rouge">sqlite3</code>, the command-line for SQLite database, or <a href="http://sqlitebrowser.org/">DB Browser for SQLite</a> which provide an editor for executing SQL commands.
First load your database with <code class="highlighter-rouge">sqlite3</code>.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sqlite3 home-assistant_v2.db
SQLite version 3.13.0 2016-05-18 10:57:30
Enter <span class="s2">".help"</span> <span class="k">for </span>usage hints.
<span class="gp">sqlite&gt; </span>
</code></pre>
</div>
<p>It helps to set some options to make the output better readable.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">sqlite&gt; </span>.header on
<span class="gp">sqlite&gt; </span>.mode column
</code></pre>
</div>
<p>You could also start <code class="highlighter-rouge">sqlite3</code> and attach the database later. Not sure what database you are working with? Check it, especially if you are going to delete data.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">sqlite&gt; </span>.databases
seq name file
--- --------------- ----------------------------------------------------------
0 main /home/fab/.homeassistant/home-assistant_v2.db
</code></pre>
</div>
<h3><a class="title-link" name="schema" href="#schema"></a> Schema</h3>
<p>Get all available tables from your current Home Assistant database.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">sqlite&gt; </span>SELECT sql FROM sqlite_master;
-------------------------------------------------------------------------------------
@ -162,17 +129,12 @@ CREATE INDEX states__state_changes ON states <span class="o">(</span>last_change
CREATE TABLE sqlite_stat1<span class="o">(</span>tbl,idx,stat<span class="o">)</span>
</code></pre>
</div>
<p>To only show the details about the <code class="highlighter-rouge">states</code> table as we are using that one in the next examples.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">sqlite&gt; </span>SELECT sql FROM sqlite_master WHERE <span class="nb">type</span> <span class="o">=</span> <span class="s1">'table'</span> AND tbl_name <span class="o">=</span> <span class="s1">'states'</span>;
</code></pre>
</div>
<h3><a class="title-link" name="query" href="#query"></a> Query</h3>
<p>The identification of the available columns in the table is done and we are now able to create a query. Lets list of your Top 10 entities.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">sqlite&gt; </span>.width 30, 10,
<span class="gp">sqlite&gt; </span>SELECT entity_id, COUNT<span class="o">(</span><span class="k">*</span><span class="o">)</span> as count FROM states GROUP BY entity_id ORDER BY count DESC LIMIT 10;
entity_id count
@ -189,35 +151,20 @@ sensor.solar_angle 10440
group.all_switches 8018
</code></pre>
</div>
<h3><a class="title-link" name="delete" href="#delete"></a> Delete</h3>
<p>If you dont want to keep certain entities, you can delete them permanently.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">sqlite&gt; </span>DELETE FROM states WHERE <span class="nv">entity_id</span><span class="o">=</span><span class="s2">"sensor.cpu"</span>;
</code></pre>
</div>
<p>The <code class="highlighter-rouge">VACUUM</code> command cleans the your database.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">sqlite&gt; </span>VACUUM;
</code></pre>
</div>
<p>For a more interactive way to work with the database or the create statistics, checkout our <a href="http://nbviewer.jupyter.org/github/home-assistant/home-assistant-notebooks/tree/master/">Jupyther notebooks</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='section'>
<h1 class="title delta">Topics</h1>
@ -404,13 +351,10 @@ group.all_switches 8018
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -420,7 +364,6 @@ group.all_switches 8018
<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 />
@ -432,7 +375,6 @@ group.all_switches 8018
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -440,4 +382,4 @@ group.all_switches 8018
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Backend of Home Assistant - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Backend of Home Assistant.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/backend/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Backend of Home Assistant">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Backend of 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="Backend of Home Assistant">
<meta name="twitter:description" content="Backend of 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="/docs/">Docs</a></li>
@ -64,52 +53,27 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/backend.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Backend of Home Assistant
</h1>
</header>
<hr class="divider">
<p>The frontend of Home Assistant is running with <a href="https://www.python.org/">Python 3</a>.</p>
<p>The <a href="/developers/architecture/">Architecture page</a> show the details about the elements running in the background of Home Assistant.</p>
<p>To implement a new platform or component, please refer to the <a href="/developers/development/">Development documentation</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='section'>
<h1 class="title delta">Topics</h1>
@ -296,13 +260,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -312,7 +273,6 @@
<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 />
@ -324,7 +284,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -332,4 +291,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Updater - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Details what the updater component is reporting about your Home Assistant instance.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/backend/updater/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Updater">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Details what the updater component is reporting about your Home Assistant instance.">
<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="Updater">
<meta name="twitter:description" content="Details what the updater component is reporting about your Home Assistant instance.">
<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="/docs/">Docs</a></li>
@ -64,38 +53,22 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/backend/updater.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Updater
</h1>
</header>
<hr class="divider">
<p>Starting with 0.31 the <a href="/components/updater/">updater component</a> sends an optional report about Home Assistant instance.</p>
<p>We are only collecting this information to better understand our user base to provide better long term support and feature development.</p>
<table>
<thead>
<tr>
@ -246,31 +219,18 @@
</tr>
</tbody>
</table>
<p>In addition to the above collected data, the server will also use your IP address to do a geographic IP address lookup to determine a general geographic area that your address is located in. To be extremely, extremely clear about this bit: <strong>The Home Assistant updater does not: store your IP address in a database and also does not submit the location information from your <code class="highlighter-rouge">configuration.yaml</code>.</strong></p>
<p>Our tests showed that at best, we get 4 digits of accuracy on your IP address location which is a 5 mile radius of your actual IP location, assuming that it is even correct in the first place (geo IP lookups are very hit or miss).</p>
<p>The server also adds two timestamps to the data:</p>
<ul>
<li>the original date your instance UUID was first seen</li>
<li>the timestamp of the last time we have seen your instance</li>
</ul>
<p>There are currently no plans to publicly expose any of this information. If we did do such a thing in the future we would of course notify you in advance. It must also be stated that we will never sell or allow the use of this information for non-Home Assistant purposes.</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='section'>
<h1 class="title delta">Topics</h1>
@ -457,13 +417,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -473,7 +430,6 @@
<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 />
@ -485,7 +441,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -493,4 +448,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Setup basic information - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Setting up the basic info of Home Assistant.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/configuration/basic/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Setup basic information">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Setting up the basic info of 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="Setup basic information">
<meta name="twitter:description" content="Setting up the basic info of 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="/docs/">Docs</a></li>
@ -64,36 +53,21 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/configuration/basic.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Setup Basic Information
</h1>
</header>
<hr class="divider">
<p>By default, Home Assistant will try to detect your location from IP address geolocation. Home Assistant will automatically select a temperature unit and time zone based on this location. You can overwrite this by adding the following information to your <code class="highlighter-rouge">configuration.yaml</code>:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">homeassistant</span><span class="pi">:</span>
<span class="c1"># Omitted values in this section will be auto detected using freegeoip.io</span>
@ -115,34 +89,20 @@
<span class="s">name</span><span class="pi">:</span> <span class="s">Home</span>
</code></pre>
</div>
<h3><a class="title-link" name="password-protecting-the-web-interface" href="#password-protecting-the-web-interface"></a> Password protecting the web interface</h3>
<p>First, youll want to add a password for the Home Assistant web interface. Use your favourite text editor to open <code class="highlighter-rouge">configuration.yaml</code> and edit the <code class="highlighter-rouge">http</code> section:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">http</span><span class="pi">:</span>
<span class="s">api_password</span><span class="pi">:</span> <span class="s">YOUR_PASSWORD</span>
</code></pre>
</div>
<p class="note warning">
If you decide to expose your Home Assistant instance to the internet and forget to set a password, your installation could be accessed by everybody.
</p>
<p>See the <a href="/components/http/">HTTP component documentation</a> for more options, such as the use of HTTPS encryption.</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='section'>
<h1 class="title delta">Topics</h1>
@ -329,13 +289,10 @@ If you decide to expose your Home Assistant instance to the internet and forget
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -345,7 +302,6 @@ If you decide to expose your Home Assistant instance to the internet and forget
<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 />
@ -357,7 +313,6 @@ If you decide to expose your Home Assistant instance to the internet and forget
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -365,4 +320,4 @@ If you decide to expose your Home Assistant instance to the internet and forget
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Customizing devices and services - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Simple customization for devices and services in the frontend.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/configuration/customizing-devices/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Customizing devices and services">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Simple customization for devices and services in the frontend.">
<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="Customizing devices and services">
<meta name="twitter:description" content="Simple customization for devices and services in the frontend.">
<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="/docs/">Docs</a></li>
@ -64,36 +53,21 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/configuration/customizing-devices.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Customizing Devices and Services
</h1>
</header>
<hr class="divider">
<p>By default, all of your devices will be visible and have a default icon determined by their domain. You can customize the look and feel of your front page by altering some of these parameters. This can be done by overriding attributes of specific entities.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">homeassistant</span><span class="pi">:</span>
<span class="s">name</span><span class="pi">:</span> <span class="s">Home</span>
<span class="s">unit_system</span><span class="pi">:</span> <span class="s">metric</span>
@ -123,9 +97,7 @@
</code></pre>
</div>
<h3><a class="title-link" name="possible-values" href="#possible-values"></a> Possible values</h3>
<table>
<thead>
<tr>
@ -160,36 +132,21 @@
</tr>
</tbody>
</table>
<h3><a class="title-link" name="device-class" href="#device-class"></a> Device Class</h3>
<p>Device class is currently supported by the following platforms:</p>
<ul>
<li><a href="/components/binary_sensor/">Binary Sensor</a></li>
<li><a href="/components/cover/">Cover</a></li>
</ul>
<h3><a class="title-link" name="reloading-customize" href="#reloading-customize"></a> Reloading customize</h3>
<p>Home Assistant offers a service to reload the core configuration while Home Assistant is running called <code class="highlighter-rouge">homeassistant/reload_core_config</code>. This allows you to change your customize section and see it being applied without having to restart Home Assistant. To call this service, go to the <img src="/images/screenshots/developer-tool-services-icon.png" alt="service developer tool icon" class="no-shadow" height="38" /> service developer tools, select the service <code class="highlighter-rouge">homeassistant/reload_core_config</code> and click “Call Service”.</p>
<p class="note warning">
New customize information will be applied the next time the state of the entity gets updated.
</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='section'>
<h1 class="title delta">Topics</h1>
@ -376,13 +333,10 @@ New customize information will be applied the next time the state of the entity
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -392,7 +346,6 @@ New customize information will be applied the next time the state of the entity
<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 />
@ -404,7 +357,6 @@ New customize information will be applied the next time the state of the entity
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -412,4 +364,4 @@ New customize information will be applied the next time the state of the entity
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Adding devices to Home Assistant - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Steps to help you get your devices in Home Assistant.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/configuration/devices/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Adding devices to Home Assistant">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Steps to help you get your devices in 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="Adding devices to Home Assistant">
<meta name="twitter:description" content="Steps to help you get your devices in 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="/docs/">Docs</a></li>
@ -64,42 +53,24 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/configuration/devices.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Adding Devices to Home Assistant
</h1>
</header>
<hr class="divider">
<p>Home Assistant will be able to automatically discover many devices and services available on your network if you have <a href="/components/discovery/">the discovery component</a> enabled (the default setting).</p>
<p>See the <a href="/components/">components overview page</a> to find installation instructions for your devices and services. If you cant find support for your favorite device or service, <a href="/developers/add_new_platform/">consider adding support</a>.</p>
<p>Usually every entity needs its own entry in the <code class="highlighter-rouge">configuration.yaml</code> file. There are two styles for multiple entries:</p>
<h4><a class="title-link" name="style-1-collect-every-entity-under-the-parent" href="#style-1-collect-every-entity-under-the-parent"></a> Style 1: Collect every entity under the “parent”</h4>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">sensor</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">mqtt</span>
<span class="s">state_topic</span><span class="pi">:</span> <span class="s2">"</span><span class="s">home/bedroom/temperature"</span>
@ -114,11 +85,8 @@
<span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">vera</span>
</code></pre>
</div>
<h4><a class="title-link" name="style-2-list-each-device-separately" href="#style-2-list-each-device-separately"></a> Style 2: List each device separately</h4>
<p>You need to append numbers or strings to differentiate the entries, as in the example below. The appended number or string must be unique.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">media_player livingroom</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">mpd</span>
<span class="s">server</span><span class="pi">:</span> <span class="s">IP_ADDRESS</span>
@ -133,12 +101,9 @@
<span class="s">platform</span><span class="pi">:</span> <span class="s">mjpeg</span>
</code></pre>
</div>
<h3><a class="title-link" name="grouping-devices" href="#grouping-devices"></a> Grouping devices</h3>
<p>Once you have several devices set up, it is time to organize them into groups.
Each group consists of a name and a list of entity IDs. Entity IDs can be retrieved from the web interface by using the Set State page in the Developer Tools (<img src="/images/screenshots/developer-tool-states-icon.png" alt="service developer tool icon" class="no-shadow" height="38" />).</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry showing two styles</span>
<span class="s">group</span><span class="pi">:</span>
<span class="s">living_room</span><span class="pi">:</span> <span class="s">light.table_lamp, switch.ac</span>
@ -147,21 +112,11 @@ Each group consists of a name and a list of entity IDs. Entity IDs can be retrie
<span class="pi">-</span> <span class="s">media_player.nexus_player</span>
</code></pre>
</div>
<p>For more details please check the <a href="/components/group/">Group</a> page.</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='section'>
<h1 class="title delta">Topics</h1>
@ -348,13 +303,10 @@ Each group consists of a name and a list of entity IDs. Entity IDs can be retrie
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -364,7 +316,6 @@ Each group consists of a name and a list of entity IDs. Entity IDs can be retrie
<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 />
@ -376,7 +327,6 @@ Each group consists of a name and a list of entity IDs. Entity IDs can be retrie
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -384,4 +334,4 @@ Each group consists of a name and a list of entity IDs. Entity IDs can be retrie
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Events - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Describes all there is to know about events in Home Assistant.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/configuration/events/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Events">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Describes all there is to know about events in 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="Events">
<meta name="twitter:description" content="Describes all there is to know about events in 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="/docs/">Docs</a></li>
@ -64,47 +53,28 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/configuration/events.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Events
</h1>
</header>
<hr class="divider">
<p>The core of Home Assistant is the event bus. The event bus allows any component to fire or listen for events. It is the core of everything. For example, any state change will be announced on the event bus as a <code class="highlighter-rouge">state_changed</code> event containing the previous and the new state of an entity.</p>
<p>Home Assistant contains a few built-in events that are used to coordinate between various components.</p>
<h3><a class="title-link" name="event-homeassistant_start" href="#event-homeassistant_start"></a> Event <code class="highlighter-rouge">homeassistant_start</code></h3>
<p>Event <code class="highlighter-rouge">homeassistant_start</code> is fired when all components from the configuration have been intitialized. This is the event that will start the timer firing off <code class="highlighter-rouge">time_changed</code> events.</p>
<h3><a class="title-link" name="event-homeassistant_stop" href="#event-homeassistant_stop"></a> Event <code class="highlighter-rouge">homeassistant_stop</code></h3>
<p>Event <code class="highlighter-rouge">homeassistant_stop</code> is fired when Home Assistant is shutting down. It should be used to close any open connection or release any resources.</p>
<h3><a class="title-link" name="event-state_changed" href="#event-state_changed"></a> Event <code class="highlighter-rouge">state_changed</code></h3>
<p>Event <code class="highlighter-rouge">state_changed</code> is fired when a state changes. Both <code class="highlighter-rouge">old_state</code> and <code class="highlighter-rouge">new_state</code> are state objects. <a href="/topics/state_object/">Documentation about state objects.</a></p>
<table>
<thead>
<tr>
@ -127,10 +97,8 @@
</tr>
</tbody>
</table>
<h3><a class="title-link" name="event-time_changed" href="#event-time_changed"></a> Event <code class="highlighter-rouge">time_changed</code></h3>
<p>Event <code class="highlighter-rouge">time_changed</code> is fired every second by the timer and contains the current time.</p>
<table>
<thead>
<tr>
@ -145,10 +113,8 @@
</tr>
</tbody>
</table>
<h3><a class="title-link" name="event-service_registered" href="#event-service_registered"></a> Event <code class="highlighter-rouge">service_registered</code></h3>
<p>Event <code class="highlighter-rouge">service_registered</code> is fired when a new service has been registered within Home Assistant.</p>
<table>
<thead>
<tr>
@ -167,10 +133,8 @@
</tr>
</tbody>
</table>
<h3><a class="title-link" name="event-call_service" href="#event-call_service"></a> Event <code class="highlighter-rouge">call_service</code></h3>
<p>Event <code class="highlighter-rouge">call_service</code> is fired to call a service.</p>
<table>
<thead>
<tr>
@ -197,10 +161,8 @@
</tr>
</tbody>
</table>
<h3><a class="title-link" name="event-service_executed" href="#event-service_executed"></a> Event <code class="highlighter-rouge">service_executed</code></h3>
<p>Event <code class="highlighter-rouge">service_executed</code> is fired by the service handler to indicate the service is done.</p>
<table>
<thead>
<tr>
@ -215,10 +177,8 @@
</tr>
</tbody>
</table>
<h3><a class="title-link" name="event-platform_discovered" href="#event-platform_discovered"></a> Event <code class="highlighter-rouge">platform_discovered</code></h3>
<p>Event <code class="highlighter-rouge">platform_discovered</code> is fired when a new platform has been discovered by the discovery component.</p>
<table>
<thead>
<tr>
@ -237,10 +197,8 @@
</tr>
</tbody>
</table>
<h3><a class="title-link" name="event-component_loaded" href="#event-component_loaded"></a> Event <code class="highlighter-rouge">component_loaded</code></h3>
<p>Event <code class="highlighter-rouge">component_loaded</code> is fired when a new component has been loaded and initialized.</p>
<table>
<thead>
<tr>
@ -255,18 +213,10 @@
</tr>
</tbody>
</table>
</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='section'>
<h1 class="title delta">Topics</h1>
@ -453,13 +403,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -469,7 +416,6 @@
<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 />
@ -481,7 +427,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -489,4 +434,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Group Visibility - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions how to change group visibility using automations.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/configuration/group_visibility/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Group Visibility">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions how to change group visibility using automations.">
<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="Group Visibility">
<meta name="twitter:description" content="Instructions how to change group visibility using automations.">
<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="/docs/">Docs</a></li>
@ -64,57 +53,35 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/configuration/group_visibility.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Group Visibility
</h1>
</header>
<hr class="divider">
<p>After filling Home Assistant with all your precious home automation devices, you usually end up with a cluttered interface and lots of groups that are not interesting in your current context. What if you just want to show groups that are interesting <em>now</em> and hide the rest? Thats when group visibility comes to play.</p>
<h2><a class="title-link" name="changing-visibility-of-a-group" href="#changing-visibility-of-a-group"></a> Changing visibility of a group</h2>
<p>To change visibility of a group, use the service <code class="highlighter-rouge">group.set_visibility</code>, pass the group name as <code class="highlighter-rouge">entity_id</code> and use <code class="highlighter-rouge">visible</code> to decide wheter the group should be shown or hidden.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">service</span><span class="pi">:</span> <span class="s">group.set_visibility</span>
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">group.basement</span>
<span class="s">data</span><span class="pi">:</span>
<span class="s">visible</span><span class="pi">:</span> <span class="s">False</span>
</code></pre>
</div>
<p class="note">
If a sensor belongs to only one group and that group is hidden, the sensor will “jump” to the top of the web interface. Add the sensor to an additional (visible) group if you do not want this to happen.
</p>
<h2><a class="title-link" name="automations" href="#automations"></a> Automations</h2>
<p>First you should decide under which circumstances a group should be visible or not. Depending on the complexity, you might have to write two automations: one that hides the group and another that shows it.</p>
<p>In this example, the group <code class="highlighter-rouge">group.basement</code> is hidden when the sun sets and shown again when it rises:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span>
<span class="s">trigger</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">sun</span>
@ -136,11 +103,8 @@ If a sensor belongs to only one group and that group is hidden, the sensor will
<span class="s">visible</span><span class="pi">:</span> <span class="s">True</span>
</code></pre>
</div>
<h2><a class="title-link" name="easier-automations" href="#easier-automations"></a> Easier automations</h2>
<p>One of the most common uses cases are to show groups during certain times of day, maybe commuting information during a work day morning or light switches when it is getting dark. The complexity of automations needed to make this happen will quickly get out of hand. So, one way to make the automations easier is to create a sensor that alters its state depending on time of day. One way of doing that is using a <code class="highlighter-rouge">command_line</code> sensor and a script:</p>
<div class="language-python highlighter-rouge"><pre class="highlight"><code><span class="c">#!/usr/bin/env python3</span>
<span class="c"># -*- coding: utf-8 -*-</span>
@ -176,18 +140,14 @@ If a sensor belongs to only one group and that group is hidden, the sensor will
<span class="k">print</span><span class="p">(</span><span class="n">get_current_occasion</span><span class="p">(</span><span class="n">OCCASIONS</span><span class="p">))</span>
</code></pre>
</div>
<p>This script will output “work_morning” from 06:00-07:10 during weekdays (monday-friday), “weekday” during all other time from monday-friday and “weekend” on saturdays and sundays. Adjust according to your needs. To create the sensor, just add it like this:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">sensor</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">command_line</span>
<span class="s">name</span><span class="pi">:</span> <span class="s">Occasion</span>
<span class="s">command</span><span class="pi">:</span> <span class="s2">"</span><span class="s">python3</span><span class="nv"> </span><span class="s">occasion.py"</span>
</code></pre>
</div>
<p>To simplify things, we create a Home Assistant script that changes the visibility of a group, but also verifies that an entity is in a specific state:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">script</span><span class="pi">:</span>
<span class="s">group_visibility</span><span class="pi">:</span>
<span class="s">sequence</span><span class="pi">:</span>
@ -197,9 +157,7 @@ If a sensor belongs to only one group and that group is hidden, the sensor will
<span class="s">visible</span><span class="pi">:</span> <span class="s1">'</span><span class="s">{{</span><span class="nv"> </span><span class="s">is_state(cond,</span><span class="nv"> </span><span class="s">visible_state)</span><span class="nv"> </span><span class="s">}}'</span>
</code></pre>
</div>
<p>The last part is writing an automation that hides or shows the group:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">alias</span><span class="pi">:</span> <span class="s">Work morning</span>
<span class="s">trigger</span><span class="pi">:</span>
@ -215,11 +173,8 @@ If a sensor belongs to only one group and that group is hidden, the sensor will
<span class="s">visible_state</span><span class="pi">:</span> <span class="s1">'</span><span class="s">work_morning'</span>
</code></pre>
</div>
<p>Our previously defined script will be called if <code class="highlighter-rouge">sensor.occasion</code> changes state OR when Home Assistant has started. The group <code class="highlighter-rouge">group.work_sensors</code> will be shown when <code class="highlighter-rouge">sensor.occasion</code> changes state to “work_morning” and hidden otherwise.</p>
<h3><a class="title-link" name="the-complete-example" href="#the-complete-example"></a> The complete example</h3>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">group</span><span class="pi">:</span>
<span class="s">default_view</span><span class="pi">:</span>
<span class="s">entities</span><span class="pi">:</span>
@ -260,18 +215,10 @@ If a sensor belongs to only one group and that group is hidden, the sensor will
<span class="s">visible_state</span><span class="pi">:</span> <span class="s1">'</span><span class="s">work_morning'</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='section'>
<h1 class="title delta">Topics</h1>
@ -458,13 +405,10 @@ If a sensor belongs to only one group and that group is hidden, the sensor will
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -474,7 +418,6 @@ If a sensor belongs to only one group and that group is hidden, the sensor will
<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 />
@ -486,7 +429,6 @@ If a sensor belongs to only one group and that group is hidden, the sensor will
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -494,4 +436,4 @@ If a sensor belongs to only one group and that group is hidden, the sensor will
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Configuring Home Assistant - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Configuring Home Assistant.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/configuration/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Configuring Home Assistant">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Configuring 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="Configuring Home Assistant">
<meta name="twitter:description" content="Configuring 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="/docs/">Docs</a></li>
@ -64,38 +53,22 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/configuration.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Configuring Home Assistant
</h1>
</header>
<hr class="divider">
<p>When launched for the first time, Home Assistant will write a default configuration file enabling the web interface and device discovery. It can take up to a minute for your devices to be discovered and appear in the user interface.</p>
<p>The location of the folder differs between operating systems:</p>
<table>
<thead>
<tr>
@ -118,33 +91,19 @@
</tr>
</tbody>
</table>
<p>If you want to use a different folder for configuration, use the config command line parameter: <code class="highlighter-rouge">hass --config path/to/config</code>.</p>
<p>Inside your configuration folder is the file <code class="highlighter-rouge">configuration.yaml</code>. This is the main file that contains components to be loaded with their configurations. Throughout the documentation you will find snippets that you can add to your configuration file to enable functionality.</p>
<p class="note">
You will have to restart Home Assistant for changes to <code class="highlighter-rouge">configuration.yaml</code> to take effect.
</p>
<p>If you run into trouble while configuring Home Assistant, have a look at the <a href="/getting-started/troubleshooting-configuration/">configuration troubleshooting page</a> and at the <a href="/cookbook/#example-configurationyaml">configuration.yaml examples</a>.</p>
<p class="note tip">
Test any changes to your configuration files from the command line with <code class="highlighter-rouge">hass --script check_config</code>. This script allows you to test changes without the need to restart Home Assistant.
</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='section'>
<h1 class="title delta">Topics</h1>
@ -331,13 +290,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -347,7 +303,6 @@
<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 />
@ -359,7 +314,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -367,4 +321,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Packages - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Describes all there is to know about configuration packages in Home Assistant.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/configuration/packages/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Packages">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Describes all there is to know about configuration packages in 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="Packages">
<meta name="twitter:description" content="Describes all there is to know about configuration packages in 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="/docs/">Docs</a></li>
@ -64,38 +53,22 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/configuration/packages.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Packages
</h1>
</header>
<hr class="divider">
<p>Packages in Home Assistant provides a way to bundle different components configuration together. We were already introduced to the two configuration styles (specifying platforms entries together or individually) on the <a href="/docs/configuration/devices/">adding devices</a> page. Both of these configuration methods require you to create the component key in the main <code class="highlighter-rouge">configuration.yaml</code> file. With packages we have a way to include different components, or parts of configuration using any of the <code class="highlighter-rouge">!include</code> directives introduced in <a href="/docs/configuration/splitting_configuration">splitting the configuration</a>.</p>
<p>Packages are configured under the core <code class="highlighter-rouge">homeassistant/packages</code> in the configuration and take the format of a packages name (no spaces, all lower case) followed by a dictionary with the package config. For example, package <code class="highlighter-rouge">pack_1</code> would be created as:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">homeassistant</span><span class="pi">:</span>
<span class="s">...</span>
<span class="s">packages</span><span class="pi">:</span>
@ -103,13 +76,9 @@
<span class="s">...package configuration here...</span>
</code></pre>
</div>
<p>The package configuration can include: <code class="highlighter-rouge">switch</code>, <code class="highlighter-rouge">light</code>, <code class="highlighter-rouge">automation</code>, <code class="highlighter-rouge">groups</code> or the majority of the Home Assistant components.</p>
<p>It can be specified inline or in a seperate YAML file using <code class="highlighter-rouge">!include</code>.</p>
<p>Inline example, main <code class="highlighter-rouge">configuration.yaml</code>:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">homeassistant</span><span class="pi">:</span>
<span class="s">...</span>
<span class="s">packages</span><span class="pi">:</span>
@ -122,18 +91,14 @@
<span class="s">...</span>
</code></pre>
</div>
<p>Include example, main <code class="highlighter-rouge">configuration.yaml</code>:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">homeassistant</span><span class="pi">:</span>
<span class="s">...</span>
<span class="s">packages</span><span class="pi">:</span>
<span class="s">pack_1</span><span class="pi">:</span> <span class="kt">!include</span> <span class="s">my_package.yaml</span>
</code></pre>
</div>
<p>The file <code class="highlighter-rouge">my_package.yaml</code> contains the “top-level” configuration:</p>
<div class="highlighter-rouge"><pre class="highlight"><code>switch:
- platform: rest
...
@ -142,17 +107,13 @@ light:
...
</code></pre>
</div>
<p>There are some rules for packages that will be merged:</p>
<ol>
<li>Component names may only use the basic form (e.g. <code class="highlighter-rouge">switch</code> and <code class="highlighter-rouge">switch 1</code> or <code class="highlighter-rouge">switch aa</code> is not accepted).</li>
<li>Platform based components (<code class="highlighter-rouge">light</code>, <code class="highlighter-rouge">switch</code>, etc) can always be merged.</li>
<li>
<p>Components where entities are identified by a key that will represent the entity_id (<code class="highlighter-rouge"><span class="p">{</span><span class="err">key:</span><span class="w"> </span><span class="err">config</span><span class="p">}</span></code>) need to have unique keys between packages and the main configuration file.</p>
<p>For example if we have the following in the main config. You are not allowed to re-use “my_input” again for <code class="highlighter-rouge">input_boolean</code> in a package:</p>
<p><code class="highlighter-rouge">yaml
input_boolean:
my_input:
@ -160,34 +121,21 @@ light:
</li>
<li>Any component that is not a platform [2], or dictionaries with Entity ID keys [3] cannot be merged and can only occur once between all packages and the main configuration.</li>
</ol>
<p class="note tip">
Components inside packages can only specify platform entries using configuration style 1, where all the platforms are grouped under the component name.
</p>
<h3><a class="title-link" name="create-a-packages-folder" href="#create-a-packages-folder"></a> Create a packages folder</h3>
<p>One way to organise packages would be to create a folder named “packages” in your Home Assistant configuration directory. In the packages directory you can store any number of packages in a YAML file. This entry in your <code class="highlighter-rouge">configuration.yaml</code> will load all packages:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">homeassistant</span><span class="pi">:</span>
<span class="s">packages</span><span class="pi">:</span> <span class="kt">!include_dir_named</span> <span class="s">packages</span>
</code></pre>
</div>
<p>This uses the concept splitting the configuration and will include all files in a directory with the keys representing the filenames.
See the documentation about <a href="/docs/configuration/splitting_configuration/">splitting the configuration</a> for more information about <code class="highlighter-rouge">!include_dir_named</code> and other include statements that might be helpful.</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='section'>
<h1 class="title delta">Topics</h1>
@ -374,13 +322,10 @@ See the documentation about <a href="/docs/configuration/splitting_configuration
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -390,7 +335,6 @@ See the documentation about <a href="/docs/configuration/splitting_configuration
<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 />
@ -402,7 +346,6 @@ See the documentation about <a href="/docs/configuration/splitting_configuration
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -410,4 +353,4 @@ See the documentation about <a href="/docs/configuration/splitting_configuration
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Entity component platform options - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Shows how to customize polling interval for any component via configuration.yaml.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/configuration/platform_options/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Entity component platform options">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Shows how to customize polling interval for any component via configuration.yaml.">
<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="Entity component platform options">
<meta name="twitter:description" content="Shows how to customize polling interval for any component via configuration.yaml.">
<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="/docs/">Docs</a></li>
@ -64,69 +53,41 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/configuration/platform_options.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Entity Component Platform Options
</h1>
</header>
<hr class="divider">
<p>Any component that is based on the entity component allows various extra options to be set per platform.</p>
<h3><a class="title-link" name="entity-namespace" href="#entity-namespace"></a> Entity namespace</h3>
<p>By setting an entity namespace, all entities will be prefixed with that namespace. That way <code class="highlighter-rouge">light.bathroom</code> can become <code class="highlighter-rouge">light.holiday_house_bathroom</code>.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
<span class="s">light</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">hue</span>
<span class="s">entity_namespace</span><span class="pi">:</span> <span class="s">holiday_house</span>
</code></pre>
</div>
<h3><a class="title-link" name="scan-interval" href="#scan-interval"></a> Scan Interval</h3>
<p>Platforms that require polling will be polled in an interval specified by the main component. For example a light will check every 30 seconds for a changed state. It is possible to overwrite this scan interval for any platform that is being polled by specifying a <code class="highlighter-rouge">scan_interval</code> config key. In the example below we setup the Philips Hue lights but tell Home Assistant to poll the devices every 10 seconds instead of the default 30 seconds.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry to poll Hue lights every 10 seconds.</span>
<span class="s">light</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">hue</span>
<span class="s">scan_interval</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='section'>
<h1 class="title delta">Topics</h1>
@ -313,13 +274,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -329,7 +287,6 @@
<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 />
@ -341,7 +298,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -349,4 +305,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Remote access - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Setting up remote access for Home Assistant.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/configuration/remote/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Remote access">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Setting up remote access for 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="Remote access">
<meta name="twitter:description" content="Setting up remote access for 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="/docs/">Docs</a></li>
@ -64,58 +53,30 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/configuration/remote.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Remote Access
</h1>
</header>
<hr class="divider">
<p>If youre interested in logging in to Home Assistant while away, youll have to make your instance remotely accessible.</p>
<p>The most common approach is to set up port forwarding from your router to port 8123 on the computer that is hosting Home Assistant. General instructions on how to do this can be found by searching <code class="highlighter-rouge">&lt;router model&gt; port forwarding instructions</code>.</p>
<p>A problem with making a port accessible is that some Internet Service Providers only offer dynamic IPs. This can cause you to lose access to Home Assistant while away. You can solve this by using a free Dynamic DNS service like <a href="https://www.duckdns.org/">DuckDNS</a>.</p>
<p>Remember: Just putting a port up is not secure. You should definitely consider encrypting your traffic if you are accessing your Home Assistant installation remotely. For details please check the <a href="/blog/2015/12/13/setup-encryption-using-lets-encrypt/">set up encryption using Lets Encrypt</a> blog post.</p>
<p>Protect your communication with a <a href="/cookbook/tls_self_signed_certificate/">self-signed certificate</a> between your client and the Home Assistant instance.</p>
<p>For another way to access your Home Assistant frontend, check out <a href="/cookbook/tor_configuration/">the instructions how to use Tor</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='section'>
<h1 class="title delta">Topics</h1>
@ -302,13 +263,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -318,7 +276,6 @@
<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 />
@ -330,7 +287,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -338,4 +294,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Storing secrets - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Storing secrets outside of your configuration.yaml.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/configuration/secrets/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Storing secrets">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Storing secrets outside of your configuration.yaml.">
<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="Storing secrets">
<meta name="twitter:description" content="Storing secrets outside of your configuration.yaml.">
<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="/docs/">Docs</a></li>
@ -64,127 +53,82 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/configuration/secrets.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Storing Secrets
</h1>
</header>
<hr class="divider">
<p>The <code class="highlighter-rouge">configuration.yaml</code> file is a plain-text file, thus it is readable by anyone who has access to the file. The file contains passwords and API tokens which need to be redacted if you want to share your configuration. By using <code class="highlighter-rouge">!secrets</code> you can remove any private information from you configuration files. This separation can also help you to keep easier track of your passwords and API keys. As they are all stored at one place and no longer spread across the <code class="highlighter-rouge">configuration.yaml</code> file or even multiple yaml files if you <a href="/topics/splitting_configuration/">split up your configuration</a>.</p>
<h3><a class="title-link" name="using-secretsyaml" href="#using-secretsyaml"></a> Using secrets.yaml</h3>
<p>The workflow for moving private information to <code class="highlighter-rouge">secrets.yaml</code> is very similar to the <a href="/topics/splitting_configuration/">splitting of the configuration</a>. Create a <code class="highlighter-rouge">secrets.yaml</code> file in your Home assistant configuration directory (The location of the folder differs between operating systems: on OS X and Linux its <code class="highlighter-rouge">~/.homeassistant</code> and on Windows its <code class="highlighter-rouge">%APPDATA%/.homeassistant</code>).</p>
<p>The entries for password and API keys in the <code class="highlighter-rouge">configuration.yaml</code> file usually looks like the example below.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">http</span><span class="pi">:</span>
<span class="s">api_password</span><span class="pi">:</span> <span class="s">YOUR_PASSWORD</span>
</code></pre>
</div>
<p>Those entries need to be replaced with <code class="highlighter-rouge">!secret</code> and a identifier.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">http</span><span class="pi">:</span>
<span class="s">api_password</span><span class="pi">:</span> <span class="kt">!secret</span> <span class="s">http_password</span>
</code></pre>
</div>
<p>The <code class="highlighter-rouge">secrets.yaml</code> file contains the corresponding password assigned to the identifier.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">http_password</span><span class="pi">:</span> <span class="s">YOUR_PASSWORD</span>
</code></pre>
</div>
<h3><a class="title-link" name="debugging-secrets" href="#debugging-secrets"></a> Debugging secrets</h3>
<p>When you start splitting your configuration into multiple files, you might end up with configuration in sub folders. Secrets will be resolved in this order:</p>
<ul>
<li>A <code class="highlighter-rouge">secrets.yaml</code> located in the same folder as the yaml file referencing the secret,</li>
<li>next, parent folders will be searched for a <code class="highlighter-rouge">secrets.yaml</code> file with the secret, stopping at the folder with the main <code class="highlighter-rouge">configuration.yaml</code>,</li>
<li>lastly, <code class="highlighter-rouge">keyring</code> will be queried for the secret (more info below)</li>
</ul>
<p>To see where secrets are being loaded from you can either add an option to your <code class="highlighter-rouge">secrets.yaml</code> file or use the <code class="highlighter-rouge">check_config</code> script.</p>
<p><em>Option 1</em>: Print where secrets are retrieved from to the Home Assistant log by adding the following to <code class="highlighter-rouge">secrets.yaml</code>:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">logger</span><span class="pi">:</span> <span class="s">debug</span>
</code></pre>
</div>
<p>This will not print the actual secrets value to the log.</p>
<p><em>Option 2</em>: View where secrets are retrieved from and the contents of all <code class="highlighter-rouge">secrets.yaml</code> files used, you can use the <code class="highlighter-rouge">check_config</code> script from the command line:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code>hass --script check_config --secrets
</code></pre>
</div>
<p>This will print all your secrets</p>
<h3><a class="title-link" name="storing-passwords-in-a-keyring-managed-by-your-os" href="#storing-passwords-in-a-keyring-managed-by-your-os"></a> Storing passwords in a keyring managed by your OS</h3>
<p>Using <a href="http://pythonhosted.org/keyring/">Keyring</a> is an alternative way to <code class="highlighter-rouge">secrets.yaml</code>. They can be managed from the command line via the keyring script.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>hass --script keyring --help
</code></pre>
</div>
<p>To store a password in keyring, replace your password or API key with <code class="highlighter-rouge">!secret</code> and an identifier in <code class="highlighter-rouge">configuration.yaml</code> file.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">http</span><span class="pi">:</span>
<span class="s">api_password</span><span class="pi">:</span> <span class="kt">!secret</span> <span class="s">http_password</span>
</code></pre>
</div>
<p>Create an entry in your keyring.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>hass --script keyring <span class="nb">set </span>http_password
</code></pre>
</div>
<p>If you launch Home Assistant now, you will be prompted for the keyring password to unlock your keyring.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>hass
Config directory: /home/fab/.homeassistant
Please enter password <span class="k">for </span>encrypted keyring:
</code></pre>
</div>
<p class="note warning">
If your are using the Python Keyring, <a href="/getting-started/autostart/">autostarting</a> of Home Assistant will no longer work.
</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='section'>
<h1 class="title delta">Topics</h1>
@ -371,13 +315,10 @@ Please enter password <span class="k">for </span>encrypted keyring:
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -387,7 +328,6 @@ Please enter password <span class="k">for </span>encrypted keyring:
<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 />
@ -399,7 +339,6 @@ Please enter password <span class="k">for </span>encrypted keyring:
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -407,4 +346,4 @@ Please enter password <span class="k">for </span>encrypted keyring:
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Securing - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions how to secure your Home Assistant installation.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/configuration/securing/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Securing">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions how to secure your Home Assistant installation.">
<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="Securing">
<meta name="twitter:description" content="Instructions how to secure your Home Assistant installation.">
<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="/docs/">Docs</a></li>
@ -64,38 +53,22 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/configuration/securing.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Securing
</h1>
</header>
<hr class="divider">
<p>One major advantage of Home Assistant is that its not dependent on cloud services. Even if youre only using Home Assistant on a local network, you should take steps to secure your instance.</p>
<h3><a class="title-link" name="checklist" href="#checklist"></a> Checklist</h3>
<ul>
<li><a href="https://home-assistant.io/getting-started/basic/#password-protecting-the-web-interface">Protect your web interface with a password</a></li>
<li>Secure your host. Sources could be <a href="https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/pdf/Security_Guide/Red_Hat_Enterprise_Linux-7-Security_Guide-en-US.pdf">Red Hat Enterprise Linux 7 Security Guide</a>, <a href="https://benchmarks.cisecurity.org/tools2/linux/CIS_Red_Hat_Enterprise_Linux_7_Benchmark_v1.0.0.pdf">CIS Red Hat Enterprise Linux 7 Benchmark</a>, or the <a href="https://www.debian.org/doc/manuals/securing-debian-howto/index.en.html">Securing Debian Manual</a>.</li>
@ -103,28 +76,17 @@
<li>Dont run Home Assistant as root consider the Principle of Least Privilege.</li>
<li>Keep your <a href="/topics/secrets/">secrets</a> safe.</li>
</ul>
<p>If you want to allow remote access, consider these additional points:</p>
<ul>
<li>Protect your communication with <a href="/blog/2015/12/13/setup-encryption-using-lets-encrypt/">TLS</a></li>
<li>Protect your communication with <a href="/cookbook/tor_configuration/">Tor</a></li>
<li>Protect your communication with a <a href="/cookbook/tls_self_signed_certificate/">self-signed certificate</a></li>
<li>Use a <a href="/cookbook/apache_configuration/">proxy</a></li>
</ul>
</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='section'>
<h1 class="title delta">Topics</h1>
@ -311,13 +273,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -327,7 +286,6 @@
<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 />
@ -339,7 +297,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -347,4 +304,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Splitting up the configuration - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Splitting the configuration.yaml into several files.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/configuration/splitting_configuration/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Splitting up the configuration">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Splitting the configuration.yaml into several files.">
<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="Splitting up the configuration">
<meta name="twitter:description" content="Splitting the configuration.yaml into several files.">
<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="/docs/">Docs</a></li>
@ -64,44 +53,25 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/configuration/splitting_configuration.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Splitting Up the Configuration
</h1>
</header>
<hr class="divider">
<p>So youve been using Home Assistant for a while now and your <a href="https://home-assistant.io/cookbook/configuration_yaml_from_bassclarinetl2/">configuration.yaml file brings people to tears</a> or you simply want to start off with the distributed approach, heres how to “split the configuration.yaml” into more manageable (read: humanly readable) pieces.</p>
<p>First off, several community members have sanitized (read: without api keys/passwords etc) versions of their configurations available for viewing, you can see a list of them <a href="https://home-assistant.io/cookbook/#example-configurationyaml">here</a>.</p>
<p>As commenting code doesnt always happen, please read on for the details.</p>
<p>Now despite the logical assumption that the <code class="highlighter-rouge">configuration.yaml</code> will be replaced by this process it will in fact remain, albeit in a much less cluttered form.</p>
<p>In this lighter version we will still need what could be called the core snippet:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">homeassistant</span><span class="pi">:</span>
<span class="c1"># Name of the location where Home Assistant is running</span>
<span class="s">name</span><span class="pi">:</span> <span class="s">My Home Assistant Instance</span>
@ -115,13 +85,9 @@
<span class="s">customize</span><span class="pi">:</span> <span class="kt">!include</span> <span class="s">customize.yaml</span>
</code></pre>
</div>
<p>Note that each line after <code class="highlighter-rouge">homeassistant:</code> is indented two (2) spaces. Since the configuration files in Home Assistant are based on the YAML language, indentation and spacing are important. Also note that seemingly strange entry under <code class="highlighter-rouge">customize:</code>.</p>
<p><code class="highlighter-rouge">!include filename.yaml</code> is the statement that tells Home Assistant to insert the contents of <code class="highlighter-rouge">filename.yaml</code> at that point. This is how we are going to break a monolithic and hard to read file (when it gets big) into more manageable chunks.</p>
<p>Now before we start splitting out the different components, lets look at the other components (in our example) that will stay in the base file:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">history</span><span class="pi">:</span>
<span class="s">frontend</span><span class="pi">:</span>
<span class="s">logbook</span><span class="pi">:</span>
@ -145,11 +111,8 @@
</code></pre>
</div>
<p>As with the core snippet, indentation makes a difference. The component headers (<code class="highlighter-rouge">mqtt:</code>) should be fully left aligned (aka no indent), and the parameters (<code class="highlighter-rouge">broker:</code>) should be indented two (2) spaces.</p>
<p>While some of these components can technically be moved to a separate file they are so small or “one offs” where splitting them off is superfluous. Also, youll notice the # symbol (hash/pound). This represents a “comment” as far as the commands are interpreted. Put another way, any line prefixed with a <code class="highlighter-rouge">#</code> will be ignored. This makes breaking up files for human readability really convenient, not to mention turning off features while leaving the entry intact. (Look at the <code class="highlighter-rouge">zigbee:</code> entry above and the b entry further down)</p>
<p>Now, lets assume that a blank file has been created in the Home Assistant configuration directory for each of the following:</p>
<div class="language-text highlighter-rouge"><pre class="highlight"><code>automation.yaml
zones.yaml
sensors.yaml
@ -158,11 +121,8 @@ device_tracker.yaml
customize.yaml
</code></pre>
</div>
<p><code class="highlighter-rouge">automation.yaml</code> will hold all the automation component details. <code class="highlighter-rouge">zones.yaml</code> will hold the zone component details and so forth. These files can be called anything but giving them names that match their function will make things easier to keep track of.</p>
<p>Inside the base configuration file add the following entries:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span> <span class="kt">!include</span> <span class="s">automation.yaml</span>
<span class="s">zone</span><span class="pi">:</span> <span class="kt">!include</span> <span class="s">zones.yaml</span>
<span class="s">sensor</span><span class="pi">:</span> <span class="kt">!include</span> <span class="s">sensors.yaml</span>
@ -170,13 +130,9 @@ customize.yaml
<span class="s">device_tracker</span><span class="pi">:</span> <span class="kt">!include</span> <span class="s">device_tracker.yaml</span>
</code></pre>
</div>
<p>Note that there can only be one <code class="highlighter-rouge">!include:</code> for each component so chaining them isnt going to work. If that sounds like greek, dont worry about it.</p>
<p>Alright, so weve got the single components and the include statements in the base file, what goes in those extra files?</p>
<p>Lets look at the <code class="highlighter-rouge">device_tracker.yaml</code> file from our example:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">owntracks</span>
<span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">nmap_tracker</span>
<span class="s">hosts</span><span class="pi">:</span> <span class="s">192.168.2.0/24</span>
@ -187,11 +143,8 @@ customize.yaml
<span class="s">consider_home</span><span class="pi">:</span> <span class="s">120</span>
</code></pre>
</div>
<p>This small example illustrates how the “split” files work. In this case, we start with a “comment block” identifying the file followed by two (2) device tracker entries (<code class="highlighter-rouge">owntracks</code> and <code class="highlighter-rouge">nmap</code>). These files follow <a href="/getting-started/devices/#style-2-list-each-device-separately">“style 1”</a> that is to say a fully left aligned leading entry (<code class="highlighter-rouge">- platform: owntracks</code>) followed by the parameter entries indented two (2) spaces.</p>
<p>This (large) sensor configuration gives us another example:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1">### sensors.yaml</span>
<span class="c1">### METEOBRIDGE #############################################</span>
<span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">tcp</span>
@ -229,26 +182,18 @@ customize.yaml
<span class="s">name</span><span class="pi">:</span> <span class="s1">'</span><span class="s">Ann</span><span class="nv"> </span><span class="s">Arbor'</span>
</code></pre>
</div>
<p>Youll notice that this example includes a secondary parameter section (under the steam section) as well as a better example of the way comments can be used to break down files into sections.</p>
<p>That about wraps it up.</p>
<p>If you have issues checkout <code class="highlighter-rouge">home-assistant.log</code> in the configuration directory as well as your indentations. If all else fails, head over to the <a href="https://gitter.im/balloob/home-assistant">Gitter Chatroom</a> and ask away.</p>
<h3><a class="title-link" name="debugging-multiple-configuration-files" href="#debugging-multiple-configuration-files"></a> Debugging multiple configuration files</h3>
<p>If you have many configuration files, the <code class="highlighter-rouge">check_config</code> script allows you to see how Home Assistant interprets them:</p>
<ul>
<li>Listing all loaded files: <code class="highlighter-rouge">hass --script check_config --files</code></li>
<li>Viewing a components config: <code class="highlighter-rouge">hass --script check_config --info light</code></li>
<li>Or all components config: <code class="highlighter-rouge">hass --script check_config --info all</code></li>
</ul>
<p>You can get help from the command line using: <code class="highlighter-rouge">hass --script check_config --help</code></p>
<h3><a class="title-link" name="advanced-usage" href="#advanced-usage"></a> Advanced Usage</h3>
<p>We offer four advanced options to include whole directories at once.</p>
<ul>
<li><code class="highlighter-rouge">!include_dir_list</code> will return the content of a directory as a list with each file content being an entry in the list.</li>
@ -256,9 +201,7 @@ customize.yaml
<li><code class="highlighter-rouge">!include_dir_merge_list</code> will return the content of a directory as a list by merging all files (which should contain a list) into 1 big list.</li>
<li><code class="highlighter-rouge">!include_dir_merge_named</code> will return the content of a directory as a dictionary by loading each file and merging it into 1 big dictionary.</li>
</ul>
<p>These work recursively. As an example using <code class="highlighter-rouge">!include_dir_* automation</code>, will include all 6 files shown below:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code>.
└── .homeassistant
├── automation
@ -273,11 +216,8 @@ customize.yaml
└── configuration.yaml <span class="o">(</span>not included<span class="o">)</span>
</code></pre>
</div>
<h4><a class="title-link" name="example-include_dir_list" href="#example-include_dir_list"></a> Example: <code class="highlighter-rouge">!include_dir_list</code></h4>
<p><code class="highlighter-rouge">configuration.yaml</code></p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">alias</span><span class="pi">:</span> <span class="s">Automation 1</span>
<span class="s">trigger</span><span class="pi">:</span>
@ -297,17 +237,12 @@ customize.yaml
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">light.entryway</span>
</code></pre>
</div>
<p>can be turned into:</p>
<p><code class="highlighter-rouge">configuration.yaml</code></p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span> <span class="kt">!include_dir_list</span> <span class="s">automation/presence/</span>
</code></pre>
</div>
<p><code class="highlighter-rouge">automation/presence/automation1.yaml</code></p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">alias</span><span class="pi">:</span> <span class="s">Automation 1</span>
<span class="s">trigger</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">state</span>
@ -318,9 +253,7 @@ customize.yaml
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">light.entryway</span>
</code></pre>
</div>
<p><code class="highlighter-rouge">automation/presence/automation2.yaml</code></p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">alias</span><span class="pi">:</span> <span class="s">Automation 2</span>
<span class="s">trigger</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">state</span>
@ -331,13 +264,9 @@ customize.yaml
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">light.entryway</span>
</code></pre>
</div>
<p>It is important to note that each file must contain only <strong>one</strong> entry when using <code class="highlighter-rouge">!include_dir_list</code>.</p>
<h4><a class="title-link" name="example-include_dir_named" href="#example-include_dir_named"></a> Example: <code class="highlighter-rouge">!include_dir_named</code></h4>
<p><code class="highlighter-rouge">configuration.yaml</code></p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code>
<span class="s">alexa</span><span class="pi">:</span>
<span class="s">intents</span><span class="pi">:</span>
@ -367,18 +296,13 @@ customize.yaml
<span class="no">{% endif %}</span>
</code></pre>
</div>
<p>can be turned into:</p>
<p><code class="highlighter-rouge">configuration.yaml</code></p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">alexa</span><span class="pi">:</span>
<span class="s">intents</span><span class="pi">:</span> <span class="kt">!include_dir_named</span> <span class="s">alexa/</span>
</code></pre>
</div>
<p><code class="highlighter-rouge">alexa/LocateIntent.yaml</code></p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code>
<span class="s">action</span><span class="pi">:</span>
<span class="s">service</span><span class="pi">:</span> <span class="s">notify.pushover</span>
@ -396,9 +320,7 @@ customize.yaml
<span class="no">{%- endfor -%}</span>
</code></pre>
</div>
<p><code class="highlighter-rouge">alexa/WhereAreWeIntent.yaml</code></p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code>
<span class="s">speech</span><span class="pi">:</span>
<span class="s">type</span><span class="pi">:</span> <span class="s">plaintext</span>
@ -410,11 +332,8 @@ customize.yaml
<span class="no">{% endif %}</span>
</code></pre>
</div>
<h4><a class="title-link" name="example-include_dir_merge_list" href="#example-include_dir_merge_list"></a> Example: <code class="highlighter-rouge">!include_dir_merge_list</code></h4>
<p><code class="highlighter-rouge">configuration.yaml</code></p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">alias</span><span class="pi">:</span> <span class="s">Automation 1</span>
<span class="s">trigger</span><span class="pi">:</span>
@ -434,17 +353,12 @@ customize.yaml
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">light.entryway</span>
</code></pre>
</div>
<p>can be turned into:</p>
<p><code class="highlighter-rouge">configuration.yaml</code></p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span> <span class="kt">!include_dir_merge_list</span> <span class="s">automation/</span>
</code></pre>
</div>
<p><code class="highlighter-rouge">automation/presence.yaml</code></p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="pi">-</span> <span class="s">alias</span><span class="pi">:</span> <span class="s">Automation 1</span>
<span class="s">trigger</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">state</span>
@ -463,13 +377,9 @@ customize.yaml
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">light.entryway</span>
</code></pre>
</div>
<p>It is important to note that when using <code class="highlighter-rouge">!include_dir_merge_list</code>, you must include a list in each file (each list item is denoted with a hyphen [-]). Each file may contain one or more entries.</p>
<h4><a class="title-link" name="example-include_dir_merge_named" href="#example-include_dir_merge_named"></a> Example: <code class="highlighter-rouge">!include_dir_merge_named</code></h4>
<p><code class="highlighter-rouge">configuration.yaml</code></p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">group</span><span class="pi">:</span>
<span class="s">bedroom</span><span class="pi">:</span>
<span class="s">name</span><span class="pi">:</span> <span class="s">Bedroom</span>
@ -491,17 +401,12 @@ customize.yaml
<span class="pi">-</span> <span class="s">camera.front_porch</span>
</code></pre>
</div>
<p>can be turned into:</p>
<p><code class="highlighter-rouge">configuration.yaml</code></p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">group</span><span class="pi">:</span> <span class="kt">!include_dir_merge_named</span> <span class="s">group/</span>
</code></pre>
</div>
<p><code class="highlighter-rouge">group/interior.yaml</code></p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">bedroom</span><span class="pi">:</span>
<span class="s">name</span><span class="pi">:</span> <span class="s">Bedroom</span>
<span class="s">entities</span><span class="pi">:</span>
@ -514,9 +419,7 @@ customize.yaml
<span class="pi">-</span> <span class="s">thermostat.home</span>
</code></pre>
</div>
<p><code class="highlighter-rouge">group/exterior.yaml</code></p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">front_yard</span><span class="pi">:</span>
<span class="s">name</span><span class="pi">:</span> <span class="s">Front Yard</span>
<span class="s">entities</span><span class="pi">:</span>
@ -527,18 +430,10 @@ customize.yaml
<span class="pi">-</span> <span class="s">camera.front_porch</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='section'>
<h1 class="title delta">Topics</h1>
@ -725,13 +620,10 @@ customize.yaml
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -741,7 +633,6 @@ customize.yaml
<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 />
@ -753,7 +644,6 @@ customize.yaml
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -761,4 +651,4 @@ customize.yaml
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>State Objects - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Describes all there is to know about state objects in Home Assistant.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/configuration/state_object/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="State Objects">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Describes all there is to know about state objects in 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="State Objects">
<meta name="twitter:description" content="Describes all there is to know about state objects in 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="/docs/">Docs</a></li>
@ -64,40 +53,23 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/configuration/state_object.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
State Objects
</h1>
</header>
<hr class="divider">
<p>Your devices are represented in Home Assistant as entities. The entities will write their current state to the state machine for other entities/templates/frontend to access. States are a current representation of the entity.</p>
<p>If you overwrite a state via the states dev tool or the API, it will not impact the actual device. If the device state is being polled, it will overwrite the state in the state machine the next polling.</p>
<p>All states will always have an entity id, a state and a timestamp when last updated and last changed.</p>
<table>
<thead>
<tr>
@ -140,11 +112,8 @@
</tr>
</tbody>
</table>
<p>The attributes of an entity are optional. There are a few attributes that are used by Home Assistant for representing the entity in a specific way. Each component will also have its own attributes to represent extra state data about the entity. For example, the light component has attributes for the current brightness and color of the light. When an attribute is not available, Home Assistant will not write it to the state.</p>
<p>When using templates, attributes will be available by their name. For example <code class="highlighter-rouge">state.attributes.assumed_state</code>.</p>
<table>
<thead>
<tr>
@ -179,20 +148,11 @@
</tr>
</tbody>
</table>
<p>When an attribute contains spaces, you can retrieve it like this: <code class="highlighter-rouge">states.sensor.livingroom.attributes["Battery numeric"]</code>.</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='section'>
<h1 class="title delta">Topics</h1>
@ -379,13 +339,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -395,7 +352,6 @@
<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 />
@ -407,7 +363,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -415,4 +370,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Templating - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions how to use the templating feature of Home Assistant.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/configuration/templating/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Templating">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions how to use the templating feature of 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="Templating">
<meta name="twitter:description" content="Instructions how to use the templating feature of 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="/docs/">Docs</a></li>
@ -64,59 +53,37 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/configuration/templating.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Templating
</h1>
</header>
<hr class="divider">
<p>This is an advanced feature of Home Assistant. Youll need a basic understanding of the following things:</p>
<ul>
<li><a href="/developers/architecture/">Home Assistant architecture</a>, especially states.</li>
<li><a href="/topics/state_object/">State object</a></li>
</ul>
<p>Templating is a powerful feature in Home Assistant that allows the user control over information that is going into and out of the system. It is used for:</p>
<ul>
<li>Formatting outgoing messages in, for example, the <a href="/components/notify/">notify</a> and <a href="/components/alexa/">alexa</a> components.</li>
<li>Process incoming data from sources that provide raw data, like <a href="/components/mqtt/">MQTT</a>, <a href="/components/sensor.rest/">REST sensor</a>, or the <a href="/components/sensor.command_line/">command line sensor</a>.</li>
<li>[Advanced Automation templating]auto-template]</li>
</ul>
<h2><a class="title-link" name="building-templates" href="#building-templates"></a> Building templates</h2>
<p>Templating in Home Assistant is powered by the <a href="http://jinja.pocoo.org/">Jinja2</a> templating engine. This means that we are using their syntax and make some custom Home Assistant variables available to templates during rendering. We will not go over the basics of the syntax, as Jinja2 does a lot better job at this in their <a href="http://jinja.pocoo.org/docs/dev/templates/">Jinja2 documentation</a>.</p>
<p class="note">
The frontend has a template editor developer tool to help develop and debug templates.
</p>
<p>Templates can get big pretty fast. To keep a clear overview, consider using YAML multiline strings to define your templates:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">script</span><span class="pi">:</span>
<span class="s">msg_who_is_home</span><span class="pi">:</span>
<span class="s">sequence</span><span class="pi">:</span>
@ -129,19 +96,14 @@ The frontend has a template editor developer tool to help develop and debug temp
<span class="no">{% endif %}</span>
</code></pre>
</div>
<p><a href="http://jinja.pocoo.org/">Jinja2</a> supports a width variety of operations:</p>
<ul>
<li><a href="http://jinja.pocoo.org/docs/dev/templates/#math">Mathematical operation</a></li>
<li><a href="http://jinja.pocoo.org/docs/dev/templates/#comparisons">Comparisons</a></li>
<li><a href="http://jinja.pocoo.org/docs/dev/templates/#logic">Logic</a></li>
</ul>
<h2><a class="title-link" name="home-assistant-template-extensions" href="#home-assistant-template-extensions"></a> Home Assistant template extensions</h2>
<p>Home Assistant adds extensions to allow templates to access all of the current states:</p>
<ul>
<li>Iterating <code class="highlighter-rouge">states</code> will yield each state sorted alphabetically by entity ID.</li>
<li>Iterating <code class="highlighter-rouge">states.domain</code> will yield each state of that domain sorted alphabetically by entity ID.</li>
@ -164,21 +126,15 @@ The frontend has a template editor developer tool to help develop and debug temp
<li>Filter <code class="highlighter-rouge">max</code> will obtain the larget item in a sequence.</li>
<li>Filter <code class="highlighter-rouge">min</code> will obtain the smallest item in a sequence.</li>
</ul>
<h2><a class="title-link" name="examples" href="#examples"></a> Examples</h2>
<h3><a class="title-link" name="states" href="#states"></a> States</h3>
<p>The next two statements result in same value if state exists. The second one will result in an error if state does not exist.</p>
<div class="language-text highlighter-rouge"><pre class="highlight"><code>{{ states('device_tracker.paulus') }}
{{ states.device_tracker.paulus.state }}
</code></pre>
</div>
<h3><a class="title-link" name="attributes" href="#attributes"></a> Attributes</h3>
<p>Print an attribute if state is defined</p>
<div class="language-text highlighter-rouge"><pre class="highlight"><code>{% if states.device_tracker.paulus %}
{{ states.device_tracker.paulus.attributes.battery }}
{% else %}
@ -186,11 +142,8 @@ The frontend has a template editor developer tool to help develop and debug temp
{% endif %}
</code></pre>
</div>
<h3><a class="title-link" name="sensor-states" href="#sensor-states"></a> Sensor states</h3>
<p>Print out a list of all the sensor states.</p>
<div class="language-text highlighter-rouge"><pre class="highlight"><code>{% for state in states.sensor %}
{{ state.entity_id }}={{ state.state }},
{% endfor %}
@ -214,11 +167,8 @@ The frontend has a template editor developer tool to help develop and debug temp
{{ as_timestamp(now()) - as_timestamp(states.binary_sensor.garage_door.last_changed) }}
</code></pre>
</div>
<h3><a class="title-link" name="distance-examples" href="#distance-examples"></a> Distance examples</h3>
<p>If only 1 location is passed in, Home Assistant will measure the distance from home.</p>
<div class="language-text highlighter-rouge"><pre class="highlight"><code>Using Lat Lng coordinates: {{ distance(123.45, 123.45) }}
Using State: {{ distance(states.device_tracker.paulus) }}
@ -228,39 +178,28 @@ These can also be combined in any combination:
{{ distance('device_tracker.anne_therese', 'device_tracker.paulus') }}
</code></pre>
</div>
<h3><a class="title-link" name="closest-examples" href="#closest-examples"></a> Closest examples</h3>
<p>Find entities closest to the Home Assistant location:</p>
<div class="language-text highlighter-rouge"><pre class="highlight"><code>Query all entities: {{ closest(states) }}
Query all entities of a specific domain: {{ closest('states.device_tracker') }}
Query all entities in group.children: {{ closest('group.children') }}
Query all entities in group.children: {{ closest(states.group.children) }}
</code></pre>
</div>
<p>Find entities closest to a coordinate or another entity. All previous arguments still apply for 2nd argument.</p>
<div class="language-text highlighter-rouge"><pre class="highlight"><code>Closest to a coordinate: {{ closest(23.456, 23.456, 'group.children') }}
Closest to an entity: {{ closest('zone.school', 'group.children') }}
Closest to an entity: {{ closest(states.zone.school, 'group.children') }}
</code></pre>
</div>
<h3><a class="title-link" name="combined" href="#combined"></a> Combined</h3>
<p>Since closest returns a state, we can combine it with distance too.</p>
<div class="language-text highlighter-rouge"><pre class="highlight"><code>{{ closest(states).name }} is {{ distance(closest(states)) }} meters away.
</code></pre>
</div>
<h2><a class="title-link" name="processing-incoming-data" href="#processing-incoming-data"></a> Processing incoming data</h2>
<p>The other part of templating is processing incoming data. It will allow you to modify incoming data and extract only the data you care about. This will work only for platforms and components that mentioned support for this in their documentation.</p>
<p>It depends per component or platform, but it is common to be able to define a template using the <code class="highlighter-rouge">value_template</code> configuration key. When a new value arrives, your template will be rendered while having access to the following values on top of the usual Home Assistant extensions:</p>
<table>
<thead>
<tr>
@ -279,7 +218,6 @@ Closest to an entity: {{ closest(states.zone.school, 'group.children') }}
</tr>
</tbody>
</table>
<div class="language-text highlighter-rouge"><pre class="highlight"><code># Incoming value:
{"primes": [2, 3, 5, 7, 11, 13]}
@ -302,18 +240,10 @@ Closest to an entity: {{ closest(states.zone.school, 'group.children') }}
{{ value_json["001"] }}
</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='section'>
<h1 class="title delta">Topics</h1>
@ -500,13 +430,10 @@ Closest to an entity: {{ closest(states.zone.school, 'group.children') }}
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -516,7 +443,6 @@ Closest to an entity: {{ closest(states.zone.school, 'group.children') }}
<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 />
@ -528,7 +454,6 @@ Closest to an entity: {{ closest(states.zone.school, 'group.children') }}
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -536,4 +461,4 @@ Closest to an entity: {{ closest(states.zone.school, 'group.children') }}
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Troubleshooting your configuration - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Common problems with tweaking your configuration and their solutions.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/configuration/troubleshooting/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Troubleshooting your configuration">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Common problems with tweaking your configuration and their solutions.">
<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="Troubleshooting your configuration">
<meta name="twitter:description" content="Common problems with tweaking your configuration and their solutions.">
<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="/docs/">Docs</a></li>
@ -64,58 +53,34 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/configuration/troubleshooting.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Troubleshooting Your Configuration
</h1>
</header>
<hr class="divider">
<p>It can happen that you run into trouble while configuring Home Assistant. Perhaps a component is not showing up or is acting strangely. This page will discuss a few of the most common problems.</p>
<p>Before we dive into common issues, make sure you know where your configuration directory is. Home Assistant will print out the configuration directory it is using when starting up.</p>
<p>Whenever a component or configuration option results in a warning, it will be stored in <code class="highlighter-rouge">home-assistant.log</code> in the configuration directory. This file is reset on start of Home Assistant.</p>
<h3><a class="title-link" name="my-component-does-not-show-up" href="#my-component-does-not-show-up"></a> My component does not show up</h3>
<p>When a component does not show up, many different things can be the case. Before you try any of these steps, make sure to look at the <code class="highlighter-rouge">home-assistant.log</code> file and see if there are any errors related to your component you are trying to set up.</p>
<p>If you have incorrect entries in your configuration files you can use the <code class="highlighter-rouge">check_config</code> script to assist in identifying them: <code class="highlighter-rouge">hass --script check_config</code>.</p>
<h4><a class="title-link" name="problems-with-the-configuration" href="#problems-with-the-configuration"></a> Problems with the configuration</h4>
<p>One of the most common problems with Home Assistant is an invalid <code class="highlighter-rouge">configuration.yaml</code> file.</p>
<ul>
<li>You can test your configuration using the command line with: <code class="highlighter-rouge">hass --script check_config</code></li>
<li>You can verify your configurations yaml structure using <a href="http://yaml-online-parser.appspot.com/">this online YAML parser</a> or <a href="http://www.yamllint.com/">YAML Lint</a>.</li>
<li>To learn more about the quirks of YAML, read <a href="https://docs.saltstack.com/en/latest/topics/troubleshooting/yaml_idiosyncrasies.html">YAML IDIOSYNCRASIES</a> by SaltStack (the examples there are specific to SaltStack, but do explain YAML issues well).</li>
</ul>
<p><code class="highlighter-rouge">configuration.yaml</code> does not allow multiple sections to have the same name. If you want to load multiple platforms for one component, you can append a <a href="/getting-started/devices/#style-2-list-each-device-separately">number or string</a> to the name or nest them using <a href="/getting-started/devices/#style-1-collect-every-entity-under-the-parent">this style</a>:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">sensor</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">forecast</span>
<span class="s">...</span>
@ -123,41 +88,27 @@
<span class="s">...</span>
</code></pre>
</div>
<p>Another common problem is that a required configuration setting is missing. If this is the case, the component will report this to <code class="highlighter-rouge">home-assistant.log</code>. You can have a look at <a href="/components/">the various component pages</a> for instructions on how to setup the components.</p>
<p>See the <a href="/components/logger/">logger</a> component for instructions on how to define the level of logging you require for specific modules.</p>
<p>If you find any errors or want to expand the documentation, please <a href="https://github.com/home-assistant/home-assistant.io/issues">let us know</a>.</p>
<h4><a class="title-link" name="problems-with-dependencies" href="#problems-with-dependencies"></a> Problems with dependencies</h4>
<p>Almost all components have external dependencies to communicate with your devices and services. Sometimes Home Assistant is unable to install the necessary dependencies. If this is the case, it should show up in <code class="highlighter-rouge">home-assistant.log</code>.</p>
<p>The first step is trying to restart Home Assistant and see if the problem persists. If it does, look at the log to see what the error is. If you cant figure it out, please <a href="https://github.com/home-assistant/home-assistant/issues">report it</a> so we can investigate what is going on.</p>
<h4><a class="title-link" name="problems-with-components" href="#problems-with-components"></a> Problems with components</h4>
<p>It can happen that some components either do not work right away or stop working after Home Assistant has been running for a while. If this happens to you, please <a href="https://github.com/home-assistant/home-assistant/issues">report it</a> so that we can have a look.</p>
<h4><a class="title-link" name="multiple-files" href="#multiple-files"></a> Multiple files</h4>
<p>If you are using multiple files for your setup, make sure that the pointers are correct and the format of the files is valid.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">light</span><span class="pi">:</span> <span class="kt">!include</span> <span class="s">devices/lights.yaml</span>
<span class="s">sensor</span><span class="pi">:</span> <span class="kt">!include</span> <span class="s">devices/sensors.yaml</span>
</code></pre>
</div>
<p>Contents of <code class="highlighter-rouge">lights.yaml</code> (notice it does not contain <code class="highlighter-rouge">light: </code>):</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">hyperion</span>
<span class="s">host</span><span class="pi">:</span> <span class="s">192.168.1.98</span>
<span class="s">...</span>
</code></pre>
</div>
<p>Contents of <code class="highlighter-rouge">sensors.yaml</code>:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">mqtt</span>
<span class="s">name</span><span class="pi">:</span> <span class="s2">"</span><span class="s">Room</span><span class="nv"> </span><span class="s">Humidity"</span>
<span class="s">state_topic</span><span class="pi">:</span> <span class="s2">"</span><span class="s">room/humidity"</span>
@ -167,22 +118,13 @@
<span class="s">...</span>
</code></pre>
</div>
<p class="note">
Whenever you report an issue, be aware that we are volunteers who do not have access to every single device in the world nor unlimited time to fix every problem out there.
</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='section'>
<h1 class="title delta">Topics</h1>
@ -369,13 +311,10 @@ Whenever you report an issue, be aware that we are volunteers who do not have ac
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -385,7 +324,6 @@ Whenever you report an issue, be aware that we are volunteers who do not have ac
<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 />
@ -397,7 +335,6 @@ Whenever you report an issue, be aware that we are volunteers who do not have ac
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -405,4 +342,4 @@ Whenever you report an issue, be aware that we are volunteers who do not have ac
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>YAML - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Details about YAML to configure Home Assistant.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/configuration/yaml/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="YAML">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Details about YAML to configure 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="YAML">
<meta name="twitter:description" content="Details about YAML to configure 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="/docs/">Docs</a></li>
@ -64,63 +53,41 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/configuration/yaml.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
YAML
</h1>
</header>
<hr class="divider">
<p>Home Assistant uses the <a href="http://yaml.org/">YAML</a> syntax for configuration. YAML might take a while to get used to but is really powerful in allowing you to express complex configurations.</p>
<p>For each component that you want to use in Home Assistant, you add code in your <code class="highlighter-rouge">configuration.yaml</code> file to specify its settings.
The following example entry specifies that you want to use the <a href="/components/notify">notify component</a> with the <a href="/components/notify.pushbullet">pushbullet platform</a>.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">notify</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">pushbullet</span>
<span class="s">api_key</span><span class="pi">:</span> <span class="s2">"</span><span class="s">o.1234abcd"</span>
<span class="s">name</span><span class="pi">:</span> <span class="s">pushbullet</span>
</code></pre>
</div>
<ul>
<li>A <strong>component</strong> provides the core logic for some functionality (like <code class="highlighter-rouge">notify</code> provides sending notifications).</li>
<li>A <strong>platform</strong> makes the connection to a specific software or hardware platform (like <code class="highlighter-rouge">pushbullet</code> works with the service from pushbullet.com).</li>
</ul>
<p>The basics of YAML syntax are block collections and mappings containing key-value pairs. Each item in a collection starts with a <code class="highlighter-rouge">-</code> while mappings have the format <code class="highlighter-rouge">key: value</code>. If you specify duplicate keys, the last value for a key is used.</p>
<p>Note that indentation is an important part of specifying relationships using YAML. Things that are indented are nested “inside” things that are one level higher. So in the above example, <code class="highlighter-rouge">platform: pushbullet</code> is a property of (nested inside) the <code class="highlighter-rouge">notify</code> component.
Getting the right indentation can be tricky if youre not using an editor with a fixed width font. Tabs are not allowed to be used for indentation. Convention is to use 2 spaces for each level of indentation.
You can use <a href="http://www.yamllint.com/">YAMLLint</a> to check if your YAML-syntax is correct before loading it into Home Assistant which will save you some time.
<em>Please pay attention on not putting in private data, as it is a 3rd-party website not maintained by Home Assistant.</em></p>
<p>Text following a <strong>#</strong> are comments and are ignored by the system.</p>
<p>The next example shows an <a href="/components/input_select">input_select</a> component that uses a block collection for the options values.
The other properties (like name) are specified using mappings. Note that the second line just has <code class="highlighter-rouge">threat:</code> with no value on the same line. Here threat is the name of the input_select and the values for it are everything nested below it.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">input_select</span><span class="pi">:</span>
<span class="s">threat</span><span class="pi">:</span>
<span class="s">name</span><span class="pi">:</span> <span class="s">Threat level</span>
@ -133,9 +100,7 @@ The other properties (like name) are specified using mappings. Note that the sec
<span class="s">initial</span><span class="pi">:</span> <span class="s">0</span>
</code></pre>
</div>
<p>The following example shows nesting a collection of mappings in a mapping. In Home Assistant, this would create two sensors that each use the MQTT platform but have different values for their <code class="highlighter-rouge">state_topic</code> (one of the properties used for MQTT sensors).</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">sensor</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">mqtt</span>
<span class="s">state_topic</span><span class="pi">:</span> <span class="s">sensor/topic</span>
@ -143,19 +108,10 @@ The other properties (like name) are specified using mappings. Note that the sec
<span class="s">state_topic</span><span class="pi">:</span> <span class="s">sensor2/topic</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='section'>
<h1 class="title delta">Topics</h1>
@ -342,13 +298,10 @@ The other properties (like name) are specified using mappings. Note that the sec
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -358,7 +311,6 @@ The other properties (like name) are specified using mappings. Note that the sec
<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 />
@ -370,7 +322,6 @@ The other properties (like name) are specified using mappings. Note that the sec
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -378,4 +329,4 @@ The other properties (like name) are specified using mappings. Note that the sec
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

File diff suppressed because it is too large Load diff

View file

@ -3,17 +3,14 @@
<!--[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>Configuration - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="AppDaemon Configuration">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/appdaemon/configuration/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Configuration">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="AppDaemon Configuration">
<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="Configuration">
<meta name="twitter:description" content="AppDaemon Configuration">
<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="/docs/">Docs</a></li>
@ -64,36 +53,21 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/appdaemon/configuration.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Configuration
</h1>
</header>
<hr class="divider">
<p>When you have appdaemon installed by either method, copy the <code class="highlighter-rouge">conf/appdaemon.cfg.example</code> file to <code class="highlighter-rouge">conf/appdaemon.cfg</code>, then edit the <code class="highlighter-rouge">[AppDaemon]</code> section to reflect your environment:</p>
<div class="highlighter-rouge"><pre class="highlight"><code>[AppDaemon]
ha_url = &lt;some_url&gt;
ha_key = &lt;some key&gt;
@ -112,7 +86,6 @@ module = hello
class = HelloWorld
</code></pre>
</div>
<ul>
<li><code class="highlighter-rouge">ha_url</code> is a reference to your home assistant installation and must include the correct port number and scheme (<code class="highlighter-rouge">http://</code> or <code class="highlighter-rouge">https://</code> as appropriate)</li>
<li><code class="highlighter-rouge">ha_key</code> should be set to your key if you have one, otherwise it can be removed.</li>
@ -123,17 +96,11 @@ class = HelloWorld
<li><code class="highlighter-rouge">latitude</code>, <code class="highlighter-rouge">longitude</code>, <code class="highlighter-rouge">elevation</code>, <code class="highlighter-rouge">timezone</code> - should all be copied from your home assistant configuration file</li>
<li><code class="highlighter-rouge">cert_path</code> (optional) - path to root CA cert directory - use only if you are using self signed certs.</li>
</ul>
<p>The <code class="highlighter-rouge">#Apps</code> section is the configuration for the Hello World program and should be left in place for initial testing but can be removed later if desired, as other Apps are added, App configuration is described in the <a href="API.md">API doc</a>.</p>
<h2><a class="title-link" name="docker" href="#docker"></a> Docker</h2>
<p>For Docker Configuration you need to take a couple of extra things into consideration.</p>
<p>Our Docker image is designed to load your configuration and apps from a volume at <code class="highlighter-rouge">/conf</code> so that you can manage them in your own git repository, or place them anywhere else on the system and map them using the Docker command line.</p>
<p>For example, if you have a local repository in <code class="highlighter-rouge">/Users/foo/ha-config</code> containing the following files:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>git ls-files
configuration.yaml
customize.yaml
@ -143,9 +110,7 @@ apps
apps/magic.py
</code></pre>
</div>
<p>You will need to modify the <code class="highlighter-rouge">appdaemon.cfg</code> file to point to these apps in <code class="highlighter-rouge">/conf/apps</code>:</p>
<div class="highlighter-rouge"><pre class="highlight"><code>[AppDaemon]
ha_url = &lt;some_url&gt;
ha_key = &lt;some key&gt;
@ -159,20 +124,11 @@ elevation = &lt;elevation
timezone = &lt;timezone&gt;
</code></pre>
</div>
<p>You can run Docker and point the conf volume to that directory.</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='section'>
<h1 class="title delta">Topics</h1>
@ -359,13 +315,10 @@ timezone = &lt;timezone&gt;
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -375,7 +328,6 @@ timezone = &lt;timezone&gt;
<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 />
@ -387,7 +339,6 @@ timezone = &lt;timezone&gt;
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -395,4 +346,4 @@ timezone = &lt;timezone&gt;
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Example Apps - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="AppDaemon Example Apps">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/appdaemon/example_apps/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Example Apps">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="AppDaemon Example Apps">
<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="Example Apps">
<meta name="twitter:description" content="AppDaemon Example Apps">
<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="/docs/">Docs</a></li>
@ -64,47 +53,25 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/appdaemon/example_apps.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Example Apps
</h1>
</header>
<hr class="divider">
<p>There are a number of example apps under conf/examples, and the <code class="highlighter-rouge">conf/examples.cfg</code> file gives sample parameters for them.</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='section'>
<h1 class="title delta">Topics</h1>
@ -291,13 +258,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -307,7 +271,6 @@
<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 />
@ -319,7 +282,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -327,4 +289,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>AppDaemon - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="AppDaemon is a loosely coupled, multithreaded, sandboxed Python execution environment for writing automation apps for Home Assistant">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/appdaemon/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="AppDaemon">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="AppDaemon is a loosely coupled, multithreaded, sandboxed Python execution environment for writing automation apps for 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="AppDaemon">
<meta name="twitter:description" content="AppDaemon is a loosely coupled, multithreaded, sandboxed Python execution environment for writing automation apps for 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="/docs/">Docs</a></li>
@ -64,47 +53,25 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/appdaemon.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
AppDaemon
</h1>
</header>
<hr class="divider">
<p>AppDaemon is a loosely coupled, multithreaded, sandboxed python execution environment for writing automation apps for Home Assistant.</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='section'>
<h1 class="title delta">Topics</h1>
@ -291,13 +258,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -307,7 +271,6 @@
<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 />
@ -319,7 +282,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -327,4 +289,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Installation - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="AppDaemon Installation">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/appdaemon/installation/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Installation">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="AppDaemon Installation">
<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="Installation">
<meta name="twitter:description" content="AppDaemon Installation">
<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="/docs/">Docs</a></li>
@ -64,79 +53,45 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/appdaemon/installation.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Installation
</h1>
</header>
<hr class="divider">
<p>Installation is either by <code class="highlighter-rouge">pip3</code> or Docker.</p>
<h2><a class="title-link" name="clone-the-repository" href="#clone-the-repository"></a> Clone the Repository</h2>
<p>For either method you will need to clone the <strong>AppDaemon</strong> repository to the current local directory on your machine.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>git clone https://github.com/acockburn/appdaemon.git
</code></pre>
</div>
<p>Change your working directory to the repository root. Moving forward, we will be working from this directory.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span><span class="nb">cd </span>appdaemon
</code></pre>
</div>
<h2><a class="title-link" name="install-using-docker" href="#install-using-docker"></a> Install using Docker</h2>
<p>To build the Docker image run the following:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>docker build -t appdaemon .
</code></pre>
</div>
<p>(Note the period at the end of the above command)</p>
<h2><a class="title-link" name="install-using-pip3" href="#install-using-pip3"></a> Install using <code class="highlighter-rouge">pip3</code></h2>
<p>Before running <code class="highlighter-rouge">AppDaemon</code> you will need to install the package:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo pip3 install .
</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='section'>
<h1 class="title delta">Topics</h1>
@ -323,13 +278,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -339,7 +291,6 @@
<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 />
@ -351,7 +302,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -359,4 +309,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Operation - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Operation">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/appdaemon/operation/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Operation">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Operation">
<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="Operation">
<meta name="twitter:description" content="Operation">
<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="/docs/">Docs</a></li>
@ -64,47 +53,25 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/appdaemon/operation.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Operation
</h1>
</header>
<hr class="divider">
<p>Since <code class="highlighter-rouge">AppDaemon</code> under the covers uses the exact same APIs as the frontend UI, you typically see it react at about the same time to a given event. Calling back to Home Assistant is also pretty fast especially if they are running on the same machine. In action, observed latency above the built in automation component is usually sub-second.</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='section'>
<h1 class="title delta">Topics</h1>
@ -291,13 +258,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -307,7 +271,6 @@
<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 />
@ -319,7 +282,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -327,4 +289,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Starting at Reboot - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Starting at Reboot">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/appdaemon/reboot/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Starting at Reboot">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Starting at Reboot">
<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="Starting at Reboot">
<meta name="twitter:description" content="Starting at Reboot">
<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="/docs/">Docs</a></li>
@ -64,47 +53,25 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/appdaemon/reboot.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Starting at Reboot
</h1>
</header>
<hr class="divider">
<p>To run <code class="highlighter-rouge">AppDaemon</code> at reboot, I have provided a sample init script in the <code class="highlighter-rouge">./scripts</code> directory. These have been tested on a Raspberry PI - your mileage may vary on other systems. There is also a sample Systemd script.</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='section'>
<h1 class="title delta">Topics</h1>
@ -291,13 +258,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -307,7 +271,6 @@
<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 />
@ -319,7 +282,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -327,4 +289,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Running AppDaemon - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Running AppDaemon">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/appdaemon/running/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Running AppDaemon">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Running AppDaemon">
<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="Running AppDaemon">
<meta name="twitter:description" content="Running AppDaemon">
<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="/docs/">Docs</a></li>
@ -64,54 +53,32 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/appdaemon/running.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Running AppDaemon
</h1>
</header>
<hr class="divider">
<p>As configured, <code class="highlighter-rouge">AppDaemon</code> comes with a single HelloWorld App that will send a greeting to the logfile to show that everything is working correctly.</p>
<h2><a class="title-link" name="docker" href="#docker"></a> Docker</h2>
<p>Assuming you have set the config up as described above for Docker, you can run it with the command:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>docker run -d -v &lt;Path to Config&gt;/conf:/conf --name appdaemon appdaemon:latest
</code></pre>
</div>
<p>In the example above you would use:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>docker run -d -v /Users/foo/ha-config:/conf --name appdaemon appdaemon:latest
</code></pre>
</div>
<p>Where you place the <code class="highlighter-rouge">conf</code> and <code class="highlighter-rouge">conf/apps</code> directory is up to you - it can be in downloaded repostory, or anywhere else on the host, as long as you use the correct mapping in the <code class="highlighter-rouge">docker run</code> command.</p>
<p>You can inspect the logs as follows:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>docker logs appdaemon
2016-08-22 10:08:16,575 INFO Got initial state
2016-08-22 10:08:16,576 INFO Loading Module: /export/hass/appdaemon_test/conf/apps/hello.py
@ -120,19 +87,13 @@
2016-08-22 10:08:16,584 INFO You are now ready to run Apps!
</code></pre>
</div>
<p>Note that for Docker, the error and regular logs are combined.</p>
<h2><a class="title-link" name="pip3" href="#pip3"></a> <code class="highlighter-rouge">pip3</code></h2>
<p>You can then run AppDaemon from the command line as follows:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>appdaemon -c conf/appdaemon.cfg
</code></pre>
</div>
<p>If all is well, you should see something like the following:</p>
<div class="highlighter-rouge"><pre class="highlight"><code>$ appdaemon -c conf/appdaemon.cfg
2016-08-22 10:08:16,575 INFO Got initial state
2016-08-22 10:08:16,576 INFO Loading Module: /export/hass/appdaemon_test/conf/apps/hello.py
@ -141,9 +102,7 @@
2016-08-22 10:08:16,584 INFO You are now ready to run Apps!
</code></pre>
</div>
<h2><a class="title-link" name="appdaemon-arguments" href="#appdaemon-arguments"></a> AppDaemon arguments</h2>
<div class="highlighter-rouge"><pre class="highlight"><code>usage: appdaemon [-h] [-c CONFIG] [-p PIDFILE] [-t TICK] [-s STARTTIME]
[-e ENDTIME] [-i INTERVAL]
[-D {DEBUG,INFO,WARNING,ERROR,CRITICAL}] [-v] [-d]
@ -167,26 +126,14 @@ optional arguments:
-d, --daemon run as a background process
</code></pre>
</div>
<p>-c is the path to the configuration file. If not specified, AppDaemon will look for a file named <code class="highlighter-rouge">appdaemon.cfg</code> first in <code class="highlighter-rouge">~/.homeassistant</code> then in <code class="highlighter-rouge">/etc/appdaemon</code>. If the file is not specified and it is not found in either location, AppDaemon will raise an exception.</p>
<p>-d and -p are used by the init file to start the process as a daemon and are not required if running from the command line.</p>
<p>-D can be used to increase the debug level for internal AppDaemon operations as well as apps using the logging function.</p>
<p>The -s, -i, -t and -s options are for the Time Travel feature and should only be used for testing. They are described in more detail in the API documentation.</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='section'>
<h1 class="title delta">Topics</h1>
@ -373,13 +320,10 @@ optional arguments:
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -389,7 +333,6 @@ optional arguments:
<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 />
@ -401,7 +344,6 @@ optional arguments:
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -409,4 +351,4 @@ optional arguments:
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>AppDaemon Tutorial - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="AppDaemon Tutorial">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/appdaemon/tutorial/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="AppDaemon Tutorial">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="AppDaemon Tutorial">
<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="AppDaemon Tutorial">
<meta name="twitter:description" content="AppDaemon Tutorial">
<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="/docs/">Docs</a></li>
@ -64,40 +53,23 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/appdaemon/tutorial.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
AppDaemon Tutorial
</h1>
</header>
<hr class="divider">
<h2><a class="title-link" name="another-take-on-automation" href="#another-take-on-automation"></a> Another Take on Automation</h2>
<p>If you havent yet read Paulus excellent Blog entry on <a href="https://home-assistant.io/blog/2016/01/19/perfect-home-automation/">Perfect Home Automation</a> I would encourage you to take a look. As a veteran of several Home Automation systems with varying degrees success, it was this article more than anything else that convinced me that Home Assistant had the right philosophy behind it and was on the right track. One of the most important points made is that being able to control your lights from your phone, 9 times out of 10 is harder than using a lightswitch - where Home Automation really comes into its own is when you start removing the need to use a phone or the switch - the “Automation” in Home Automation. A surprisingly large number of systems out there miss this essential point and have limited abilities to automate anything which is why a robust and open system such as Home Assistant is such an important part of the equation in bring this all together in the vast and chaotic ecosystem that is the “Internet of Things”.</p>
<p>So given the importance of Automation, what should Automation allow us to do? I am a pragmatist at heart so I judge individual systems by the ease of accomplishing a few basic but representative tasks:</p>
<ul>
<li>Can the system respond to presence or absence of people?</li>
<li>Can I turn a light on at Sunset +/- a certain amount of time?</li>
@ -106,11 +78,8 @@
<li>Is it open and expandable?</li>
<li>Does it run locally without any reliance on the cloud?</li>
</ul>
<p>In my opinion, Home Assistant accomplishes the majority of these very well with a combination of Automations, Scripts and Templates, and its Restful API.</p>
<p>So why <code class="highlighter-rouge">AppDaemon</code>? AppDaemon is not meant to replace Home Assistant Automations and Scripts, rather complement them. For a lot of things, automations work well and can be very succinct. However, there is a class of more complex automations for which they become harder to use, and appdeamon then comes into its own. It brings quite a few things to the table:</p>
<ul>
<li>New paradigm - some problems require a procedural and/or iterative approach, and <code class="highlighter-rouge">AppDaemon</code> Apps are a much more natural fit for this. Recent enhancements to Home Assistant scripts and templates have made huge strides, but for the most complex scenarios, Apps can do things that Automations cant</li>
<li>Ease of use - AppDaemons API is full of helper functions that make programming as easy and natural as possible. The functions and their operation are as “Pythonic” as possible, experienced Python programmers should feel right at home.</li>
@ -120,17 +89,11 @@
<li>Durable variables and state - variables can be kept between events to keep track of things like the number of times a motion sensor has been activated, or how long it has been since a door opened</li>
<li>All the power of Python - use any of Pythons libraries, create your own modules, share variables, refactor and re-use code, create a single app to do everything, or multiple apps for individual tasks - nothing is off limits!</li>
</ul>
<p>It is in fact a testament to Home Assistants open nature that a component like <code class="highlighter-rouge">AppDaemon</code> can be integrated so neatly and closely that it acts in all ways like an extension of the system, not a second class citizen. Part of the strength of Home Assistants underlying design is that it makes no assumptions whatever about what it is controlling or reacting to, or reporting state on. This is made achievable in part by the great flexibility of Python as a programming environment for Home Assistant, and carrying that forward has enabled me to use the same philosophy for <code class="highlighter-rouge">AppDaemon</code> - it took surprisingly little code to be able to respond to basic events and call services in a completely open ended manner - the bulk of the work after that was adding additonal functions to make things that were already possible easier.</p>
<h2><a class="title-link" name="how-it-works" href="#how-it-works"></a> How it Works</h2>
<p>The best way to show what AppDaemon does is through a few simple examples.</p>
<h3><a class="title-link" name="sunrisesunset-lighting" href="#sunrisesunset-lighting"></a> Sunrise/Sunset Lighting</h3>
<p>Lets start with a simple App to turn a light on every night at sunset and off every morning at sunrise. Every App when first started will have its <code class="highlighter-rouge">initialize()</code> function called which gives it a chance to register a callback for AppDaemonss scheduler for a specific time. In this case we are using <code class="highlighter-rouge">run_at_sunrise()</code> and <code class="highlighter-rouge">run_at_sunset()</code> to register 2 separate callbacks. The argument <code class="highlighter-rouge">0</code> is the number of seconds offset from sunrise or sunset and can be negative or positive. For complex intervals it can be convenient to use Pythons <code class="highlighter-rouge">datetime.timedelta</code> class for calculations. When sunrise or sunset occurs, the appropriate callback function, <code class="highlighter-rouge">sunrise_cb()</code> or <code class="highlighter-rouge">sunset_cb()</code> is called which then makes a call to Home Assistant to turn the porch light on or off by activating a scene. The variables <code class="highlighter-rouge">args["on_scene"]</code> and <code class="highlighter-rouge">args["off_scene"]</code> are passed through from the configuration of this particular App, and the same code could be reused to activate completely different scenes in a different version of the App.</p>
<div class="language-python highlighter-rouge"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">homeassistant.appapi</span> <span class="kn">as</span> <span class="nn">appapi</span>
<span class="k">class</span> <span class="nc">OutsideLights</span><span class="p">(</span><span class="n">appapi</span><span class="o">.</span><span class="n">AppDaemon</span><span class="p">):</span>
@ -147,13 +110,9 @@
</code></pre>
</div>
<p>This is also fairly easy to achieve with Home Assistant automations, but we are just getting started.</p>
<h3>Motion Light</h3>
<p>Our next example is to turn on a light when motion is detected and it is dark, and turn it off after a period of time. This time, the <code class="highlighter-rouge">initialize()</code> function registers a callback on a state change (of the motion sensor) rather than a specific time. We tell AppDaemon that we are only interested in state changesd where the motion detector comes on by adding an additional parameter to the callback registration - <code class="highlighter-rouge">new = "on"</code>. When the motion is detected, the callack function <code class="highlighter-rouge">motion()</code> is called, and we check whether or not the sun has set using a built-in convenience function: <code class="highlighter-rouge">sun_down()</code>. Next, we turn the light on with <code class="highlighter-rouge">turn_on()</code>, then set a timer using <code class="highlighter-rouge">run_in()</code> to turn the light off after 60 seconds, which is another call to the scheduler to execute in a set time from now, which results in <code class="highlighter-rouge">AppDaemon</code> calling <code class="highlighter-rouge">light_off()</code> 60 seconds later using the <code class="highlighter-rouge">turn_off()</code> call to actually turn the light off. This is still pretty simple in code terms:</p>
<div class="language-python highlighter-rouge"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">homeassistant.appapi</span> <span class="kn">as</span> <span class="nn">appapi</span>
<span class="k">class</span> <span class="nc">FlashyMotionLights</span><span class="p">(</span><span class="n">appapi</span><span class="o">.</span><span class="n">AppDaemon</span><span class="p">):</span>
@ -170,11 +129,8 @@
<span class="bp">self</span><span class="o">.</span><span class="n">turn_off</span><span class="p">(</span><span class="s">"light.drive"</span><span class="p">)</span>
</code></pre>
</div>
<p>This is starting to get a little more complex in Home Assistant automations requiring an Automation rule and two separate scripts.</p>
<p>Now lets extend this with a somewhat artificial example to show something that is simple in AppDaemon but very difficult if not impossible using automations. Lets warn someone inside the house that there has been motion outside by flashing a lamp on and off 10 times. We are reacting to the motion as before by turning on the light and setting a timer to turn it off again, but in addition, we set a 1 second timer to run <code class="highlighter-rouge">flash_warning()</code> which when called, toggles the inside light and sets another timer to call itself a second later. To avoid re-triggering forever, it keeps a count of how many times it has been activated and bales out after 10 iterations.</p>
<div class="language-python highlighter-rouge"><pre class="highlight"><code><span class="kn">import</span> <span class="nn">homeassistant.appapi</span> <span class="kn">as</span> <span class="nn">appapi</span>
<span class="k">class</span> <span class="nc">MotionLights</span><span class="p">(</span><span class="n">appapi</span><span class="o">.</span><span class="n">AppDaemon</span><span class="p">):</span>
@ -199,31 +155,16 @@
<span class="bp">self</span><span class="o">.</span><span class="n">run_in</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">flash_warning</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span>
</code></pre>
</div>
<p>Of course if I wanted to make this App or its predecessor reusable I would have provide parameters for the sensor, the light to activate on motion, the warning light and even the number of flashes and delay between flashes.</p>
<p>In addition, Apps can write to <code class="highlighter-rouge">AppDaemon</code>s logfiles, and there is a system of constraints that allows yout to control when and under what circumstances Apps and callbacks are active to keep the logic clean and simple.</p>
<p>I have spent the last few weeks moving all of my (fairly complex) automations over to <code class="highlighter-rouge">APPDaemon</code> and so far it is working very reliably.</p>
<p>Some people will maybe look at all of this and say “what use is this, I can already do all of this”, and that is fine, as I said this is an alternative not a replacement, but I am hopeful that for some users this will seem a more natural, powerful and nimble way of building potentially very complex automations.</p>
<p>If this has whet your appetite, feel free to give it a try.</p>
<p>Happy Automating!</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='section'>
<h1 class="title delta">Topics</h1>
@ -410,13 +351,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -426,7 +364,6 @@
<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 />
@ -438,7 +375,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -446,4 +382,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Updating AppDaemon - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Updating AppDaemon">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/appdaemon/updating/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Updating AppDaemon">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Updating AppDaemon">
<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="Updating AppDaemon">
<meta name="twitter:description" content="Updating AppDaemon">
<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="/docs/">Docs</a></li>
@ -64,60 +53,34 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/appdaemon/updating.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Updating AppDaemon
</h1>
</header>
<hr class="divider">
<p>To update AppDaemon after I have released new code, just run the following command to update your copy:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>git pull origin
</code></pre>
</div>
<p>If you are using pip3 for the install do this:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo pip3 uninstall appdaemon
<span class="gp">$ </span>sudo pip3 install .
</code></pre>
</div>
<p>If you are using docker, rerun the steps to create a new docker image.</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='section'>
<h1 class="title delta">Topics</h1>
@ -304,13 +267,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -320,7 +280,6 @@
<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 />
@ -332,7 +291,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -340,4 +298,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Windows Support - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Windows Support">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/appdaemon/windows/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Windows Support">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Windows Support">
<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="Windows Support">
<meta name="twitter:description" content="Windows Support">
<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="/docs/">Docs</a></li>
@ -64,58 +53,32 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/appdaemon/windows.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Windows Support
</h1>
</header>
<hr class="divider">
<p>AppDaemon runs under windows and has been tested with the official 3.5.2 release of Python. There are a couple of caveats however:</p>
<ul>
<li>The <code class="highlighter-rouge">-d</code> or <code class="highlighter-rouge">--daemonize</code> option is not supported owing to limitations in the Windows implementation of Python.</li>
<li>Some internal diagnostics are disabled. This is not user visible but may hamper troubleshooting of internal issues if any crop up</li>
</ul>
<p>AppDaemon can be installed exactly as per the instructions for every other version using pip3.</p>
<h2><a class="title-link" name="windows-under-the-linux-subsystem" href="#windows-under-the-linux-subsystem"></a> Windows Under the Linux Subsystem</h2>
<p>Windows 10 now supports a full Linux bash environment that is capable of running Python. This is essentially an Ubuntu distribution and works extremely well. It is possible to run AppDaemon in exactly the same way as for Linux distributions, and none of the above Windows Caveats apply to this version. This is the reccomended way to run AppDaemon in a Windows 10 and later environment.</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='section'>
<h1 class="title delta">Topics</h1>
@ -302,13 +265,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -318,7 +278,6 @@
<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 />
@ -330,7 +289,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -338,4 +296,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Dashboard Configuration - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Dashboard Configuration">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/hadashboard/dash_config/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Dashboard Configuration">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Dashboard Configuration">
<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="Dashboard Configuration">
<meta name="twitter:description" content="Dashboard Configuration">
<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="/docs/">Docs</a></li>
@ -64,48 +53,29 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/hadashboard/dash_config.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Dashboard Configuration
</h1>
</header>
<hr class="divider">
<p>(All installations)</p>
<p>Hadashboard is a Dashing application, so make sure to read all the instructions on http://dashing.io to learn how to add widgets to your dashboard, as well as how to create new widgets.</p>
<p>Make a copy of <code class="highlighter-rouge">dashboards/example.erb</code> and call it <code class="highlighter-rouge">main.erb</code>, then edit this file to reference the items you want to display and control and to get the layout that you want. Leave the original <code class="highlighter-rouge">example.erb</code> intact and unchanged so that you dont run into problems when trying to update using the git commands mentioned later in “Updating the Dashboard”.</p>
<p>The basic anatomy of a widget is this:</p>
<div class="language-html highlighter-rouge"><pre class="highlight"><code> <span class="nt">&lt;li</span> <span class="na">data-row=</span><span class="s">""</span> <span class="na">data-col=</span><span class="s">"1"</span> <span class="na">data-sizex=</span><span class="s">"1"</span> <span class="na">data-sizey=</span><span class="s">"1"</span><span class="nt">&gt;</span>
<span class="nt">&lt;div</span> <span class="na">data-id=</span><span class="s">"office"</span> <span class="na">data-view=</span><span class="s">"Hadimmer"</span> <span class="na">data-title=</span><span class="s">"Office Lamp"</span><span class="nt">&gt;&lt;/div&gt;</span>
<span class="nt">&lt;/li&gt;</span>
</code></pre>
</div>
<ul>
<li><strong>data-row</strong>, <strong>data-col</strong>: The position of the widget in the grid.</li>
<li><strong>data-sizex</strong>, <strong>data-sizey</strong>: The size of the widget in terms of grid tile.</li>
@ -115,9 +85,7 @@
<li><strong>data-title</strong>: The title to be displayed on the tile.</li>
<li><strong><em>data-bgcolor</em></strong> (optional) - the background color of the widget.</li>
</ul>
<p>Note that although it is legal in XML terms to split the inner <code class="highlighter-rouge">&lt;div&gt;</code> like this:</p>
<div class="language-html highlighter-rouge"><pre class="highlight"><code><span class="nt">&lt;li</span> <span class="na">data-row=</span><span class="s">""</span> <span class="na">data-col=</span><span class="s">"1"</span> <span class="na">data-sizex=</span><span class="s">"1"</span> <span class="na">data-sizey=</span><span class="s">"1"</span><span class="nt">&gt;</span>
<span class="nt">&lt;div</span> <span class="na">data-id=</span><span class="s">"office"</span>
<span class="na">data-view=</span><span class="s">"Hadimmer"</span>
@ -126,15 +94,10 @@
<span class="nt">&lt;/li&gt;</span>
</code></pre>
</div>
<p>This may break <code class="highlighter-rouge">hapush</code>s parsing of the file, so keep to the line format first presented.</p>
<p>Please, refer to the Dashing website for instructions on how to change the grid and tile size, as well as more general instructions about widgets, their properties, and how to create new widgets.</p>
<h2><a class="title-link" name="supported-widgets" href="#supported-widgets"></a> Supported Widgets</h2>
<p>At this time I have provided support for the following Home Assistant entity types.</p>
<ul>
<li>switch: Widget type <strong>Haswitch</strong></li>
<li>lock: Widget type <strong>Halock</strong></li>
@ -147,111 +110,69 @@
</li>
<li><strong>data-ontime</strong> (optional): The amount of time the scene icon lights up when pressed, in milliseconds, default 1000.</li>
</ul>
<h3><a class="title-link" name="script" href="#script"></a> script</h3>
<p>Widget type <strong><em>Hascript</em></strong></p>
<p><strong>data-ontime</strong> (optional): The amount of time the scene icon lights up when pressed, in milliseconds, default 1000.</p>
<h3><a class="title-link" name="mode" href="#mode"></a> mode</h3>
<p>The <code class="highlighter-rouge">Hamode</code> widget alows you to run a script on activation and to link it with a specified <code class="highlighter-rouge">input_select</code> so the button will be highlighted for certain values of that input select. The usecase for this is that I maintain an <code class="highlighter-rouge">input_select</code> as a flag for the state of the house to simplify other automations. I use scripts to switch between the states, and this feature provides feedback as to the current state by lighting up the appropriate mode button.</p>
<p>A <code class="highlighter-rouge">Hamode</code> widget using this feature will look like this:</p>
<div class="language-html highlighter-rouge"><pre class="highlight"><code><span class="nt">&lt;li</span> <span class="na">data-row=</span><span class="s">"5"</span> <span class="na">data-col=</span><span class="s">"3"</span> <span class="na">data-sizex=</span><span class="s">"2"</span> <span class="na">data-sizey=</span><span class="s">"1"</span><span class="nt">&gt;</span>
<span class="nt">&lt;div</span> <span class="na">data-id=</span><span class="s">"day"</span> <span class="na">data-view=</span><span class="s">"Hamode"</span> <span class="na">data-title=</span><span class="s">"Good Day"</span> <span class="na">data-icon=</span><span class="s">"sun-o"</span> <span class="na">data-changemode=</span><span class="s">"Day"</span> <span class="na">data-input=</span><span class="s">"house_mode"</span><span class="nt">&gt;&lt;/div&gt;</span>
<span class="nt">&lt;/li&gt;</span>
</code></pre>
</div>
<ul>
<li><strong>data-changemode</strong>: The value of the <code class="highlighter-rouge">input_select</code> for which this script button will light up</li>
<li><strong>data-input</strong>: The <code class="highlighter-rouge">input_select</code> entity to use (minus the leading entity type)</li>
</ul>
<h3><a class="title-link" name="input_select-read-only" href="#input_select-read-only"></a> input_select (read only)</h3>
<p>Widget type <strong>Hainputselect</strong></p>
<h3><a class="title-link" name="sensor" href="#sensor"></a> sensor</h3>
<p>Widget type <strong>Hasensor</strong></p>
<p>Text based output of the value of a particular sensor.</p>
<p>The Hasensor widget supports an additional paramater <code class="highlighter-rouge">data-unit</code>. This allows you to set the unit to whatever you want: Centigrade, %, lux or whatever you need for the sensor in question. For a temperature sensor you will need to explicitly include the degree symbol like this:</p>
<div class="language-html highlighter-rouge"><pre class="highlight"><code>data-unit="<span class="ni">&amp;deg;</span>F"
</code></pre>
</div>
<p>If omitted, no units will be shown.</p>
<h3><a class="title-link" name="sensor" href="#sensor"></a> sensor</h3>
<p>Widget type <strong>Hameter</strong></p>
<p>An alternative to the text based <code class="highlighter-rouge">Hasensor</code> that works for numeric values only.</p>
<p>The Hameter widget supports an additional paramater <code class="highlighter-rouge">data-unit</code>. This allows you to set the unit to whatever you want: Centigrade, %, lux or whatever you need for the sensor in question. For a temperature sensor you will need to explicitly include the degree symbol like this:</p>
<div class="language-html highlighter-rouge"><pre class="highlight"><code>data-unit="<span class="ni">&amp;deg;</span>F"
</code></pre>
</div>
<p>If omitted, no units will be shown.</p>
<h3><a class="title-link" name="binary_sensor" href="#binary_sensor"></a> binary_sensor</h3>
<p>Widget type <strong>Habinary</strong></p>
<p>An icon-based option for generic binary sensors. Useful for things like door contact sensors. In addition to the standard widget parameters, Habinary supports two additional parameters:</p>
<ul>
<li><strong>data-iconon</strong>: the icon to display when the sensor state is “on”</li>
<li><strong>data-iconoff</strong>: the icon to display when the sensor state if “off”</li>
</ul>
<p>If no icons are specified, the widget defaults to a flat gray line for “off” and a green bullseye for “on”.</p>
<h3><a class="title-link" name="group" href="#group"></a> group</h3>
<p>Widget type <strong>Hagroup</strong>.</p>
<p>The Hagroup widget uses the homeassistant/turn_on and homeassistant/turn_off API call, so certain functionality will be lost. For example, you will not be able to use control groups of locks or dim lights.</p>
<h2><a class="title-link" name="alarm-control-panel" href="#alarm-control-panel"></a> Alarm Control Panel</h2>
<p>These widgets allow the user to create a working control panel that can be used to control the Manual Alarm Control Panel component (https://home-assistant.io/components/alarm_control_panel.manual). The example dashboard contains an arrangement similar to this:</p>
<p class="img">
<img src="/images/hadashboard/alarm_panel.png" />
The Alarm Panel
</p>
<p>Widget type <strong>Haalarmstatus</strong></p>
<p>The Haalarmstatus widget displays the current status of the alarm_control_panel entity. It will also display the code as it is being entered by the user.</p>
<p>The data-id must be the same as the alarm_control_panel entity_id in Home Assistant.</p>
<p>Widget type <strong>Haalarmdigit</strong></p>
<p>The Haalarmdigit widget is used to create the numeric keypad for entering alarm codes.</p>
<p><code class="highlighter-rouge">data-digit</code> holds the numeric value you wish to enter. The special value of “-“ creates a clear button which will wipe the code and return the Haalarmstatus widget display back to the current alarm state.</p>
<p><code class="highlighter-rouge">data-alarmentity</code> holds the data-id of the Haalarmstatus widget, so that the status widget can be correctly updated. It is mandatory for a clear type digit and optional for normal numeric buttons.</p>
<p>Widget type <strong>Haalarmaction</strong></p>
<p>The Haalarmaction widget creates the arm/disarm/trigger buttons. Bear in mind that alarm triggering does not require a code, so you may not want to put this button near the other buttons in case it is pressed accidentally.</p>
<p>data-action must contain one of the following: arm_home/arm_away/trigger/disarm.</p>
<h3><a class="title-link" name="weather-requires-darksky" href="#weather-requires-darksky"></a> weather (requires DarkSky)</h3>
<p>Widget type <strong>Haweather</strong>.</p>
<p>In order to use the weather widget you must configure the <a href="/components/sensor.darksky/">DarkSky component</a>, and ensure that you configure at least the following monitored conditions in your Home Assistant sensor configuration:</p>
<ul>
<li>temperature</li>
<li>humidity</li>
@ -263,68 +184,48 @@
<li>apparent_temperature</li>
<li>icon</li>
</ul>
<p>The <code class="highlighter-rouge">data-id</code> of the Haweather widget must be set to <code class="highlighter-rouge">weather</code> or the widget will not work.</p>
<p>The Hatemp widget supports an additional paramater <code class="highlighter-rouge">data-unit</code>. This allows you to set the unit to whatever you want: Centigrade, Fahrenheit or even Kelvin if you prefer. You will need to explicitly include the degree symbol like this:</p>
<div class="language-html highlighter-rouge"><pre class="highlight"><code>data-unit="<span class="ni">&amp;deg;</span>F"
</code></pre>
</div>
<p>If omitted, no units will be shown.</p>
<h3><a class="title-link" name="news" href="#news"></a> News</h3>
<p>Widget type <strong><em>News</em></strong> (contributed by <a href="https://community.home-assistant.io/users/kris/activity">KRiS</a>)</p>
<p>This is an RSS widget that can be used for displaying travel information, news etc. on the dashboard. The RSS feed will update every 60 minutes. To configure this, first it is necessary to add your desired feeds in <code class="highlighter-rouge">homeassistant/lib/ha_conf.rb</code> in the <code class="highlighter-rouge">$news_feeds</code> section. By default it comes with 2 sample feeds:</p>
<div class="language-ruby highlighter-rouge"><pre class="highlight"><code><span class="vg">$news_feeds</span> <span class="o">=</span> <span class="p">{</span>
<span class="s2">"Traffic"</span> <span class="o">=&gt;</span> <span class="s2">"http://api.sr.se/api/rss/traffic/2863"</span><span class="p">,</span>
<span class="s2">"News"</span> <span class="o">=&gt;</span> <span class="s2">"http://feeds.bbci.co.uk/news/rss.xml"</span><span class="p">,</span>
<span class="p">}</span>
</code></pre>
</div>
<p>You can add as many as you want. The important point is that the key value (e.g. “Traffic” or “News” in the example above is used to tie the feed to your widget in the dashboard file. Here is an example of the Traffic widget that displays the first feed in the list:</p>
<div class="language-html highlighter-rouge"><pre class="highlight"><code><span class="nt">&lt;li</span> <span class="na">data-row=</span><span class="s">"3"</span> <span class="na">data-col=</span><span class="s">"2"</span> <span class="na">data-sizex=</span><span class="s">"2"</span> <span class="na">data-sizey=</span><span class="s">"2"</span><span class="nt">&gt;</span>
<span class="nt">&lt;div</span> <span class="na">data-id=</span><span class="s">"Traffic"</span> <span class="na">data-view=</span><span class="s">"News"</span> <span class="na">data-title=</span><span class="s">"Traffic"</span> <span class="na">data-interval=</span><span class="s">"30"</span> <span class="na">data-bgcolor=</span><span class="s">"#643EBF"</span><span class="nt">&gt;</span>
<span class="nt">&lt;/li&gt;</span>
</code></pre>
</div>
<p>The value of thee <code class="highlighter-rouge">data-id</code> tag must match the key value in the <code class="highlighter-rouge">$news_feeds</code> configuration.</p>
<ul>
<li><strong>data-interval</strong> (optional): The time in seconds that each entry in the RSS feed is displayed before the next one is shown, default is 30 seconds.</li>
</ul>
<p><strong>The follwing widget types have been deprecated in favor of the more flexible <code class="highlighter-rouge">Hasensor</code> and <code class="highlighter-rouge">Hameter</code> widgets. They will be removed in a future release.</strong></p>
<h3><a class="title-link" name="sensor-humidity" href="#sensor-humidity"></a> sensor (humidity)</h3>
<p>Widget type <strong>Hahumidity</strong>.</p>
<h3><a class="title-link" name="sensor-humidity" href="#sensor-humidity"></a> sensor (humidity)</h3>
<p>Widget type <strong>Hahumiditymeter</strong> (contributed by <a href="https://community.home-assistant.io/users/chanders/activity">Shiv Chanders</a>)</p>
<p>This is an alternative to the the text based humidity widget above, it display the humidity as an animated meter from 0 to 100%.</p>
<h3><a class="title-link" name="sensor-luminance" href="#sensor-luminance"></a> sensor (luminance)</h3>
<p>Widget type <strong>Halux</strong>.</p>
<h3><a class="title-link" name="sensor-temperature" href="#sensor-temperature"></a> sensor (temperature)</h3>
<p>Widget type <strong>Hatemp</strong>.</p>
<p>The Hatemp widget supports an additional paramater <code class="highlighter-rouge">data-unit</code>. This allows you to set the unit to whatever you want: Centigrade, Fahrenheit or even Kelvin if you prefer. You will need to explicitly include the degree symbol like this:</p>
<div class="language-html highlighter-rouge"><pre class="highlight"><code>data-unit="<span class="ni">&amp;deg;</span>F"
</code></pre>
</div>
<p>If omitted, no units will be shown.</p>
<h2><a class="title-link" name="customizing-css-styles" href="#customizing-css-styles"></a> Customizing CSS styles</h2>
<p>If you want to customize the styles of your dashboard and widgets, there are two options:</p>
<ol>
<li>You can edit the application.scss file (and the individual widget .scss files) directly (not recommended; if you pull down updates from the master repository, your changes might conflict/be overwritten)</li>
<li><strong>Create override files (recommended)</strong>
@ -336,19 +237,12 @@
</ol>
</li>
</ol>
<p><strong>Note: The <code class="highlighter-rouge">_variables.scss</code> file (and your customizations from <code class="highlighter-rouge">_variables_custom.scss</code>) get imported into nearly every widgets SCSS file, so it is a best practice to define varaibles for colors in <code class="highlighter-rouge">_variables.scss</code> or <code class="highlighter-rouge">_variables_custom.scss</code> and reference those variables in the widget SCSS.</strong></p>
<h2><a class="title-link" name="changes-and-restarting" href="#changes-and-restarting"></a> Changes and Restarting</h2>
<p>When you make changes to a dashboard, Dashing and <code class="highlighter-rouge">hapush</code> will both automatically reload and apply the changes without a need to restart.</p>
<p>Note: The first time you start Dashing, it can take up to a minute for the initial compilation of the pages to occur. You might get a timeout from your browser. If this occurs, be patient and reload. Subsequent reloads will be a lot quicker.</p>
<h2><a class="title-link" name="multiple-pages" href="#multiple-pages"></a> Multiple Pages</h2>
<p>It is possible to have multiple pages within a dashboard. To do this, you can add an arbitary number of gridster divisions (you need at least one).</p>
<div class="language-html highlighter-rouge"><pre class="highlight"><code><span class="nt">&lt;div</span> <span class="na">class=</span><span class="s">"gridster"</span><span class="nt">&gt;</span> <span class="c">&lt;!-- Main Panel - PAGE 1 --&gt;</span>
<span class="nt">&lt;some</span> <span class="na">widgets</span><span class="nt">&gt;</span>
<span class="err">&lt;</span>/div
@ -357,35 +251,22 @@
<span class="err">&lt;</span>/div
</code></pre>
</div>
<p>The divisions are implicitly numbered from 1 so it is a good idea to comment them. You can then add a widget to switch between pages like so:</p>
<div class="language-html highlighter-rouge"><pre class="highlight"><code><span class="nt">&lt;li</span> <span class="na">data-row=</span><span class="s">"1"</span> <span class="na">data-col=</span><span class="s">"1"</span> <span class="na">data-sizex=</span><span class="s">"1"</span> <span class="na">data-sizey=</span><span class="s">"1"</span><span class="nt">&gt;</span>
<span class="nt">&lt;div</span> <span class="na">data-id=</span><span class="s">"cpage1"</span> <span class="na">data-view=</span><span class="s">"ChangePage"</span> <span class="na">data-icon=</span><span class="s">"cogs"</span> <span class="na">data-title=</span><span class="s">"Upstairs"</span> <span class="na">data-page=</span><span class="s">"3"</span> <span class="na">data-stagger=</span><span class="s">"false"</span> <span class="na">data-fasttransition=</span><span class="s">"true"</span> <span class="na">data-event-click=</span><span class="s">"onClick"</span><span class="nt">&gt;&lt;/div&gt;</span>
<span class="nt">&lt;/li&gt;</span>
</code></pre>
</div>
<ul>
<li><strong><em>data-page</em></strong> : The name of the page to switch to</li>
</ul>
<h2><a class="title-link" name="multiple-dashboards" href="#multiple-dashboards"></a> Multiple Dashboards</h2>
<p>You can also have multiple dashboards, by simply adding a new .erb file to the dashboards directory and navigating to the dashboards via <code class="highlighter-rouge">http://&lt;IP address&gt;:3030/dashboard-file-name-without-extension</code></p>
<p>For example, if you want to deploy multiple devices, you could have one dashboard per room and still only use one hadashboard app installation.</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='section'>
<h1 class="title delta">Topics</h1>
@ -572,13 +453,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -588,7 +466,6 @@
<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 />
@ -600,7 +477,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -608,4 +484,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>HAPush - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="HAPush">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/hadashboard/hapush/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="HAPush">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="HAPush">
<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="HAPush">
<meta name="twitter:description" content="HAPush">
<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="/docs/">Docs</a></li>
@ -64,69 +53,43 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/hadashboard/hapush.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
HAPush
</h1>
</header>
<hr class="divider">
<h1>Installing hapush (Manual install only)</h1>
<p>This is not necessary if you are using Docker as it is already installed.</p>
<p>When you have the dashboard correctly displaying and interacting with Home Assistant you are ready to install the final component - <code class="highlighter-rouge">hapush</code>. Without <code class="highlighter-rouge">hapush</code> the dashboard would not respond to events that happen outside of the hadashboard system. For instance, if someone uses the Home Assistant interface to turn on a light, or even another App or physical switch, there is no way for the Dashboard to reflect this change. This is where <code class="highlighter-rouge">hapush</code> comes in.</p>
<p><code class="highlighter-rouge">hapush</code> is a python daemon that listens to Home Assistants Event Stream and pushes changes back to the dashboard to update it in real time. You may want to create a <a href="https://docs.python.org/3/library/venv.html">Virtual Environment</a> for hapush - at the time of writing there is a conflict in the Event Source versions in use between HA and hapush.</p>
<p>Before running <code class="highlighter-rouge">hapush</code> you will need to add some python prerequisites:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo pip3 install daemonize
<span class="gp">$ </span>sudo pip3 install sseclient
<span class="gp">$ </span>sudo pip3 install configobj
</code></pre>
</div>
<p>Some users are reporting errors with <code class="highlighter-rouge">InsecureRequestWarning</code>:</p>
<div class="highlighter-rouge"><pre class="highlight"><code>Traceback (most recent call last):
File "./hapush.py", line 21, in &lt;module&gt;
from requests.packages.urllib3.exceptions import InsecureRequestWarning
ImportError: cannot import name 'InsecureRequestWarning'
</code></pre>
</div>
<p>This can be fixed with:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo pip3 install --upgrade requests
</code></pre>
</div>
<h2><a class="title-link" name="configuring-hapush-all-installation-methods" href="#configuring-hapush-all-installation-methods"></a> Configuring hapush (all installation methods)</h2>
<p>When you have all the prereqs in place, copy the hapush.cfg.example file to hapush.cfg then edit it to reflect your environment:</p>
<div class="highlighter-rouge"><pre class="highlight"><code>ha_url = "http://192.168.1.10:8123"
ha_key = api_key
dash_host = "192.168.1.10:3030"
@ -134,7 +97,6 @@ dash_dir = "/srv/hass/src/hadashboard/dashboards"
logfile = "/etc/hapush/hapush.log"
</code></pre>
</div>
<ul>
<li><code class="highlighter-rouge">ha_url</code> is a reference to your home assistant installation and must include the correct port number and scheme (<code class="highlighter-rouge">http://</code> or <code class="highlighter-rouge">https://</code> as appropriate)</li>
<li><code class="highlighter-rouge">ha_key</code> should be set to your key if you have one, otherwise it can be removed.</li>
@ -142,19 +104,13 @@ logfile = "/etc/hapush/hapush.log"
<li><code class="highlighter-rouge">dash_dir</code> is the path on the machine that stores your dashboards. This will be the subdirectory <code class="highlighter-rouge">dashboards</code> relative to the path you cloned <code class="highlighter-rouge">hadashboard</code> to. For Docker installs this should be set to <code class="highlighter-rouge">/app/dashboards</code></li>
<li><code class="highlighter-rouge">logfile</code> is the path to where you want <code class="highlighter-rouge">hapush</code> to keep its logs. When run from the command line this is not used - log messages come out on the terminal. When running as a daemon this is where the log information will go. In the example above I created a directory specifically for hapush to run from, although there is no reason you cant keep it in the <code class="highlighter-rouge">hapush</code> subdirectory of the cloned repository. For Docker installs this should be set to <code class="highlighter-rouge">/app/hapush/hapush.log</code></li>
</ul>
<h2><a class="title-link" name="running-hapush" href="#running-hapush"></a> Running hapush</h2>
<p>For a manual installation you can then run hapush from the command line as follows:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>./hapush.py hapush.cfg
</code></pre>
</div>
<p>For docker installs, hapush will be started automatically when you run the startup command.</p>
<p>If all is well, you should start to see <code class="highlighter-rouge">hapush</code> responding to events as they occur. For a docker installation you should see these messages in <code class="highlighter-rouge">hapush/hapush.log</code>.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code>2016-06-19 10:05:59,693 INFO Reading dashboard: /srv/hass/src/hadashboard/dashboards/main.erb
2016-06-19 10:06:12,362 INFO switch.wendy_bedside -&gt; state <span class="o">=</span> on, brightness <span class="o">=</span> 50
2016-06-19 10:06:13,334 INFO switch.andrew_bedside -&gt; state <span class="o">=</span> on, brightness <span class="o">=</span> 50
@ -177,18 +133,10 @@ logfile = "/etc/hapush/hapush.log"
2016-06-19 10:07:51,478 INFO sensor.side_multisensor_relative_humidity_25 -&gt; 52.0
</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='section'>
<h1 class="title delta">Topics</h1>
@ -375,13 +323,10 @@ logfile = "/etc/hapush/hapush.log"
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -391,7 +336,6 @@ logfile = "/etc/hapush/hapush.log"
<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 />
@ -403,7 +347,6 @@ logfile = "/etc/hapush/hapush.log"
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -411,4 +354,4 @@ logfile = "/etc/hapush/hapush.log"
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>HADashboard - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="HADashboard is a dashboard for Home Assistant that is intended to be wall mounted, and is optimized for distance viewing.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/hadashboard/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="HADashboard">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="HADashboard is a dashboard for Home Assistant that is intended to be wall mounted, and is optimized for distance viewing.">
<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="HADashboard">
<meta name="twitter:description" content="HADashboard is a dashboard for Home Assistant that is intended to be wall mounted, and is optimized for distance viewing.">
<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="/docs/">Docs</a></li>
@ -64,55 +53,30 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/hadashboard.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
HADashboard
</h1>
</header>
<hr class="divider">
<p>HADashboard is a dashboard for <a href="https://home-assistant.io/">Home Assistant</a> that is intended to be wall mounted, and is optimized for distance viewing.</p>
<p class="img">
<img src="/images/hadashboard/dash.png" />
Sample Dashboard
</p>
<p>HADashboard was originally created by the excellent work of <a href="https://github.com/FlorianZ/hadashboard">FlorianZ</a> for use with the SmartThings Home Automation system, with notable contributions from the <a href="https://community.smartthings.com/t/home-automation-dashboard/4926">SmartThings Community</a>. I would also like to acknowledge contributions made by <a href="https://github.com/zpriddy/SmartThings_PyDash">zipriddy</a>. This is my port of hadashboard to Home Assistant.</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='section'>
<h1 class="title delta">Topics</h1>
@ -299,13 +263,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -315,7 +276,6 @@
<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 />
@ -327,7 +287,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -335,4 +294,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Installation - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Installation">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/hadashboard/installation/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Installation">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Installation">
<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="Installation">
<meta name="twitter:description" content="Installation">
<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="/docs/">Docs</a></li>
@ -64,190 +53,118 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/hadashboard/installation.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Installation
</h1>
</header>
<hr class="divider">
<p>Installation can be performed using Docker (Contributed by <a href="https://github.com/marijngiesen">marijngiesen</a>) or manually if Docker doesnt work for you. We also have a Raspberry PI version of Docker contributed by <a href="https://community.home-assistant.io/users/snizzleorg/activity">snizzleorg</a></p>
<h2><a class="title-link" name="using-docker-non-raspian" href="#using-docker-non-raspian"></a> Using Docker (Non Raspian)</h2>
<p>Assuming you already have Docker installed, installation is fairly easy.</p>
<h3><a class="title-link" name="clone-the-repository" href="#clone-the-repository"></a> Clone the Repository</h3>
<p>Clone the <strong>hadashboard</strong> repository to the current local directory on your machine.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>git clone https://github.com/home-assistant/hadashboard.git
</code></pre>
</div>
<p>Change your working directory to the repository root. Moving forward, we will be working from this directory.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span><span class="nb">cd </span>hadashboard
</code></pre>
</div>
<h3><a class="title-link" name="build-the-docker-image" href="#build-the-docker-image"></a> Build the docker image</h3>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>docker build -t hadashboard .
</code></pre>
</div>
<p>When the build completes, you can run the dashboard with the following command for unix based systems:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>docker run --name<span class="o">=</span><span class="s2">"hadashboard"</span> -d -v &lt;path_to_hadashboard&gt;/dashboards:/app/dashboards -v &lt;path_to_hadashboard&gt;/lib/ha_conf.rb:/app/lib/ha_conf.rb -v &lt;path_to_hadashboard&gt;/hapush:/app/hapush --net<span class="o">=</span>host hadashboard
</code></pre>
</div>
<p>If you are running docker on windows you should not use the <code class="highlighter-rouge">--net</code> command and explicitly specify the port, aslo for security reason <code class="highlighter-rouge">--net=host</code> should not be used so the following can also be used in unix. This will also set the process to start when the docker process starts so you do not have to worry about reboots. To map the volumes make sure you have ticked the shred drives in the settings. In this example I am using <code class="highlighter-rouge">c:\hadashboard</code> as the location where the git clone was done and mapping to port 3030 on the host.</p>
<div class="language-powershell highlighter-rouge"><pre class="highlight"><code>docker run --restart<span class="o">=</span>always --name<span class="o">=</span><span class="s2">"hadashboard"</span> -p 3030:3030 -d -v C:/hadashboard/dashboards:/app/dashboards -v C:/hadashboard/lib/ha_conf.rb:/app/lib/ha_conf.rb -v C:/hadashboard/hapush:/app/hapush hadashboard
</code></pre>
</div>
<p>This will use all of the same configuration files as specified below in the configuration sections, although you will need to make a few changes to the <code class="highlighter-rouge">hapush</code> configuration to match the dockers filesystem, detailed below.</p>
<p>By default, the docker instance should pick up your timezone but if you want to explicitly set it you can add an environment variable for your specific zone as follows:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code> -e <span class="s2">"TZ=Europe/Amsterdam"</span>
</code></pre>
</div>
<h3><a class="title-link" name="docker-on-raspberry-pi" href="#docker-on-raspberry-pi"></a> Docker on Raspberry Pi</h3>
<p>Raspberry pi needs to use a different docker build file so the build command is slightly different:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo docker build -f Docker-raspi/Dockerfile -t hadashboard .
</code></pre>
</div>
<p>Apart from that the other steps are identical.</p>
<p><em>Note - this is pretty slow even on a PI3, be prepared for it to take an hour or two to build all of the extensions and install everything</em></p>
<h2><a class="title-link" name="manual-installation" href="#manual-installation"></a> Manual Installation</h2>
<h3><a class="title-link" name="clone-the-repository" href="#clone-the-repository"></a> Clone the Repository</h3>
<p>Clone the <strong>hadashboard</strong> repository to the current local directory on your machine.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>git clone https://github.com/home-assistant/hadashboard.git
</code></pre>
</div>
<p>Change your working directory to the repository root. Moving forward, we will be working from this directory.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span><span class="nb">cd </span>hadashboard
</code></pre>
</div>
<h3><a class="title-link" name="2-install-dashing-and-prereqs" href="#2-install-dashing-and-prereqs"></a> 2. Install Dashing and prereqs</h3>
<p>Essentially, you want to make sure that you have Ruby installed on your local machine. Then, install the Dashing gem:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>gem install dashing
</code></pre>
</div>
<p>From your repository root, make sure that all dependencies are available.</p>
<p>Note: on some systems you may also need to install bundler:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>gem install bundler
</code></pre>
</div>
<p>When installed run it:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>bundle
</code></pre>
</div>
<p>Bundle will now install all the ruby prereqs for running dashing.</p>
<p>Note: Prereqs will vary across different machines. So far users have reported requirements for some additional installs to allow the bundle to complete succesfully:</p>
<ul>
<li>ruby-dev - <code class="highlighter-rouge">sudo apt-get install ruby-dev</code></li>
<li>node-js - <code class="highlighter-rouge">sudo apt-get install nodejs</code></li>
<li>libsqlite3-dev - <code class="highlighter-rouge">sudo apt-get install libsqlite3-dev</code></li>
<li>execjs gem - <code class="highlighter-rouge">gem install execjs</code></li>
</ul>
<p>You will need to research what works on your particular architecture and also bear in mind that version numbers may change over time.</p>
<p>Note: This is currently running on various versions of Ruby and there are no strong dependencies however your mileage may vary.</p>
<h2><a class="title-link" name="updating-configuration-manual-and-docker" href="#updating-configuration-manual-and-docker"></a> Updating configuration (Manual and Docker)</h2>
<p>Next, in the <code class="highlighter-rouge">./lib</code> directory, copy the ha_conf.rb.example file to ha_conf.rb and edit its settings to reflect your installation, pointing to the machine Home Assistant is running on and adding your api_key.</p>
<div class="language-ruby highlighter-rouge"><pre class="highlight"><code><span class="vg">$ha_url</span> <span class="o">=</span> <span class="s2">"http://192.168.1.10:8123"</span>
<span class="vg">$ha_apikey</span> <span class="o">=</span> <span class="s2">"your key"</span>
</code></pre>
</div>
<ul>
<li><code class="highlighter-rouge">$ha_url</code> is a reference to your home assistant installation and must include the correct port number and scheme (<code class="highlighter-rouge">http://</code> or <code class="highlighter-rouge">https://</code> as appropriate)</li>
<li><code class="highlighter-rouge">$ha_apikey</code> should be set to your key if you have one, otherwise it can remain blank.</li>
</ul>
<p>The file also contains example newsfeeds for the News widget:</p>
<div class="language-ruby highlighter-rouge"><pre class="highlight"><code><span class="vg">$news_feeds</span> <span class="o">=</span> <span class="p">{</span>
<span class="s2">"Traffic"</span> <span class="o">=&gt;</span> <span class="s2">"http://api.sr.se/api/rss/traffic/2863"</span><span class="p">,</span>
<span class="s2">"News"</span> <span class="o">=&gt;</span> <span class="s2">"http://feeds.bbci.co.uk/news/rss.xml"</span><span class="p">,</span>
<span class="p">}</span>
</code></pre>
</div>
<p>You can leave these alone for now or if you prefer customize them as described in the News widget section.</p>
<p>When you are done, you can start a local webserver like this or if you are on docker it should start when you start the container.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>dashing start
</code></pre>
</div>
<p>Point your browser to <strong>http://localhost:3030</strong> to access the hadashboard on your local machine, and you should see the supplied default dashboard. If you want to access it remotely ensure you have opened any required firewall rules.</p>
<p>If the page never finishes loading and shows up all white, edit the dashboard config to match your own setup, instructions in the next step.</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='section'>
<h1 class="title delta">Topics</h1>
@ -434,13 +351,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -450,7 +364,6 @@
<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 />
@ -462,7 +375,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -470,4 +382,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Reboot - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Reboot">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/hadashboard/reboot/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Reboot">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Reboot">
<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="Reboot">
<meta name="twitter:description" content="Reboot">
<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="/docs/">Docs</a></li>
@ -64,51 +53,27 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/hadashboard/reboot.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Reboot
</h1>
</header>
<hr class="divider">
<p>To run Dashing and <code class="highlighter-rouge">hapush</code> at reboot, I have provided sample init scripts in the <code class="highlighter-rouge">./init</code> directory. These have been tested on a Raspberry Pi - your mileage may vary on other systems.</p>
<p>Instructions for automatically starting a docker install can be found <a href="https://docs.docker.com/engine/admin/host_integration/">here</a>.</p>
<p>For docker you may also want to use docker-compose - there is a sample compose file in the <code class="highlighter-rouge">./init</code> directory.</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='section'>
<h1 class="title delta">Topics</h1>
@ -295,13 +260,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -311,7 +273,6 @@
<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 />
@ -323,7 +284,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -331,4 +291,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Updating HADashboard - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Updating HADashboard">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/hadashboard/updating/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Updating HADashboard">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Updating HADashboard">
<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="Updating HADashboard">
<meta name="twitter:description" content="Updating HADashboard">
<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="/docs/">Docs</a></li>
@ -64,59 +53,33 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/hadashboard/updating.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Updating HADashboard
</h1>
</header>
<hr class="divider">
<p>To update the dashboard after new code has been released, just run the following command to update your copy:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>git pull origin
</code></pre>
</div>
<p>For some releases you may also need to rerun the bundle command:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>bundle
</code></pre>
</div>
<p>For docker users, you will also need to rerun the docker build process.</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='section'>
<h1 class="title delta">Topics</h1>
@ -303,13 +266,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -319,7 +279,6 @@
<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 />
@ -331,7 +290,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -339,4 +297,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Ecosystem - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="External tools for Home Assistant">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Ecosystem">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="External tools for 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="Ecosystem">
<meta name="twitter:description" content="External tools for 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="/docs/">Docs</a></li>
@ -64,48 +53,25 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem.markdowm'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Ecosystem
</h1>
</header>
<hr class="divider">
Ecosystem includes documentation for related tools and projects that extend Home Assistant to new platforms and systems.
</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='section'>
<h1 class="title delta">Topics</h1>
@ -292,13 +258,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -308,7 +271,6 @@
<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 />
@ -320,7 +282,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -328,4 +289,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>ios.conf - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Describes the contents and purpose of ios.conf">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/ios/devices_file/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="ios.conf">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Describes the contents and purpose of ios.conf">
<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="ios.conf">
<meta name="twitter:description" content="Describes the contents and purpose of ios.conf">
<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="/docs/">Docs</a></li>
@ -64,47 +53,25 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/ios/devices_file.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
ios.conf
</h1>
</header>
<hr class="divider">
<p>The <code class="highlighter-rouge">ios.conf</code> file contains the most recent state of all registered iOS devices. Deleting this file will not disable the devices and the file will be recreated the next time a new device is connected or an existing one reconnects.</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='section'>
<h1 class="title delta">Topics</h1>
@ -291,13 +258,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -307,7 +271,6 @@
<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 />
@ -319,7 +282,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -327,4 +289,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>iOS - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Documentation about the Home Assistant iOS app.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/ios/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="iOS">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Documentation about the Home Assistant iOS app.">
<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="iOS">
<meta name="twitter:description" content="Documentation about the Home Assistant iOS app.">
<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="/docs/">Docs</a></li>
@ -64,104 +53,64 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/ios.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
iOS
</h1>
</header>
<hr class="divider">
<p>The Home Assistant for iOS app offers a companion app for iOS which is deeply integrated into both Home Assistant and iOS. Its basic features include:</p>
<ul>
<li>Advanced push notifications</li>
<li>Location tracking</li>
<li>Basic control of all Home Assistant entities</li>
<li>Integration with third party apps</li>
</ul>
<p class="note warning">
Currently, the app is only available via a closed beta. It will be on the App Store within the next few weeks.
</p>
<p class="img">
<img src="/images/ios/control1.png" width="310" height="552" />
An example of a Home Assistant group as seen in the iOS app.
</p>
<h2>Basic requirements</h2>
<ul>
<li>iOS device running at least iOS 9, but iOS 10 is greatly preferred.</li>
<li>Home Assistant 0.31.1 or higher for push notification support.</li>
<li>SSL is strongly recommended. Self-signed SSL certificates will not work due to Apples limitations.</li>
</ul>
<p>The <code class="highlighter-rouge">ios</code> component is the companion component for the Home Assistant iOS app. While not required, adding the <code class="highlighter-rouge">ios</code> component to your setup will greatly enhance the iOS app with new notification, location and sensor functions not possible with a standalone app.</p>
<p>Loading the <code class="highlighter-rouge">ios</code> component will also load the <a href="/components/device_tracker"><code class="highlighter-rouge">device_tracker</code></a>, <a href="/components/zeroconf"><code class="highlighter-rouge">zeroconf</code></a> and <a href="/components/notify"><code class="highlighter-rouge">notify</code></a> platforms.</p>
<h2><a class="title-link" name="setup" href="#setup"></a> Setup</h2>
<h3>Automated Setup</h3>
<p>The <code class="highlighter-rouge">ios</code> component will automatically be loaded under the following circumstances:</p>
<ol>
<li>The <a href="/components/discovery"><code class="highlighter-rouge">discovery</code></a> component is enabled.</li>
<li>You have just installed the app and are at the getting started screen.</li>
</ol>
<p>Automated discovery and component loaded can only happen at first install of the app. You may need to wait a few minutes for the iOS component to load as the <code class="highlighter-rouge">discovery</code> component only scans the network every 5 minutes.</p>
<h3>Manual Setup</h3>
<p>You may also manually load the <code class="highlighter-rouge">ios</code> component by adding the following to your configuration:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
<span class="s">ios</span><span class="pi">:</span>
</code></pre>
</div>
<p>Configuration variables:</p>
<ul>
<li><strong>push</strong> (<em>Optional</em>): Push notification configuration. See the <a href="/ecosystem/ios/notifications/">iOS <code class="highlighter-rouge">notify</code> platform</a> for more information.</li>
</ul>
</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='section'>
<h1 class="title delta">Topics</h1>
@ -348,13 +297,10 @@ Currently, the app is only available via a closed beta. It will be on the App St
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -364,7 +310,6 @@ Currently, the app is only available via a closed beta. It will be on the App St
<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 />
@ -376,7 +321,6 @@ Currently, the app is only available via a closed beta. It will be on the App St
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -384,4 +328,4 @@ Currently, the app is only available via a closed beta. It will be on the App St
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Integration - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Examples of how Home Assistant for iOS can be integrated with other apps">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/ios/integration/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Integration">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Examples of how Home Assistant for iOS can be integrated with other apps">
<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="Integration">
<meta name="twitter:description" content="Examples of how Home Assistant for iOS can be integrated with other apps">
<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="/docs/">Docs</a></li>
@ -64,60 +53,32 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/ios/integration.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Integration
</h1>
</header>
<hr class="divider">
<p>Home Assistant for iOS supports opening from other apps via URL.</p>
<p>Query parameters are passed as a dictionary in the call.</p>
<h2>Call service</h2>
<p>Example: <code class="highlighter-rouge">homeassistant://call_service/device_tracker.see?entity_id=device_tracker.entity</code></p>
<h2>Fire event</h2>
<p>Example <code class="highlighter-rouge">homeassistant://fire_event/custom_event?entity_id=device_tracker.entity</code></p>
<h2>Send one shot location</h2>
<p>Example: <code class="highlighter-rouge">homeassistant://send_location/</code></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='section'>
<h1 class="title delta">Topics</h1>
@ -304,13 +265,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -320,7 +278,6 @@
<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 />
@ -332,7 +289,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -340,4 +296,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Location - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Documentation about the location tracking abilities in Home Assistant for iOS">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/ios/location/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Location">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Documentation about the location tracking abilities in Home Assistant for iOS">
<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="Location">
<meta name="twitter:description" content="Documentation about the location tracking abilities in Home Assistant for iOS">
<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="/docs/">Docs</a></li>
@ -64,74 +53,41 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/ios/location.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Location
</h1>
</header>
<hr class="divider">
<h2><a class="title-link" name="location-tracking-when-outside-a-home-assistant-zone" href="#location-tracking-when-outside-a-home-assistant-zone"></a> Location tracking when outside a Home Assistant zone</h2>
<p>Home Assistant for iOS receives <em>significant location updates</em> from iOS. Whenever an update is received, it is sent to Home Assistant. Roughly, an update is received everytime that your device transfers to a new cellular tower, a significant amount of time has passed (usually a couple hours) or a connection state changes and the system notices your location recently changed.</p>
<p>Apple <a href="https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/LocationAwarenessPG/CoreLocation/CoreLocation.html#//apple_ref/doc/uid/TP40009497-CH2-SW9">defines</a> significant significant-change location updates as:</p>
<blockquote>
<p>The significant-change location service delivers updates only when there has been a significant change in the devices location, such as 500 meters or more.</p>
</blockquote>
<p>They also say in the <a href="https://developer.apple.com/library/content/documentation/Performance/Conceptual/EnergyGuide-iOS/LocationBestPractices.html#//apple_ref/doc/uid/TP40015243-CH24-SW4">Energy Efficiency Guide</a>:</p>
<blockquote>
<p>Significant-change location updates wake the system and your app once every 15 minutes, at minimum, even if no location changes have occurred.</p>
</blockquote>
<p>Finally, I think this answer from <a href="http://stackoverflow.com/a/13331625/486182">Stack Overflow</a> says it best:</p>
<blockquote>
<p>The significant location change is the least accurate of all the location monitoring types. It only gets its updates when there is a cell tower transition or change. This can mean a varying level of accuracy and updates based on where the user is. City area, more updates with more towers. Out of town, interstate, fewer towers and changes.</p>
</blockquote>
<p>Whats the real story on significant-change location updates? Who knows, because Apple keeps it private.</p>
<h2><a class="title-link" name="location-tracking-in-home-assistant-zones" href="#location-tracking-in-home-assistant-zones"></a> Location tracking in Home Assistant zones</h2>
<p>At launch, Home Assistant for iOS sets up geofences for all zones in your Home Assistant configuration. Enter and exit notifications are sent to Home Assistant.</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='section'>
<h1 class="title delta">Topics</h1>
@ -318,13 +274,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -334,7 +287,6 @@
<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 />
@ -346,7 +298,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -354,4 +305,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Actionable notifications - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Making push notifications a two way system">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/ios/notifications/actions/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Actionable notifications">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Making push notifications a two way system">
<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="Actionable notifications">
<meta name="twitter:description" content="Making push notifications a two way system">
<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="/docs/">Docs</a></li>
@ -64,60 +53,38 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/ios/notifications/actions.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Actionable Notifications
</h1>
</header>
<hr class="divider">
<p>Actionable notifications allow you to attach 1-4 custom buttons to a notification. When one of the actions is selected Home Assistant will be notified which action was chosen. This allows you to build complex automations.</p>
<p>Examples of actionable notifications:</p>
<ul>
<li>A notification is sent whenever motion is detected in your home while you are away or asleep. You can add an action to Sound Alarm. When tapped, Home Assistant is notified that the <code class="highlighter-rouge">sound_alarm</code> action was selected. You can add an automation to sound the burglar alarm whenever this event is seen.</li>
<li>Someone rings your front door bell. You can send an action to lock or unlock your front door. When tapped, a notification is sent back to Home Assistant upon which you can build automations.</li>
<li>Send a notification whenever your garage door opens with actions to open and close the garage.</li>
</ul>
<p class="img">
<img src="/images/ios/actions.png" />
Actionable notifications allow the user to send a command back to Home Assistant.
</p>
<h2><a class="title-link" name="overview-of-how-actionable-notifications-work" href="#overview-of-how-actionable-notifications-work"></a> Overview of how actionable notifications work</h2>
<p>In advance of sending a notification:</p>
<ol>
<li>Define a notification category in your Home Assistant configuration which contain 1-4 actions.</li>
<li>At launch iOS app requests notification categories from Home Assistant (can also be done manually in notification settings).</li>
</ol>
<p>When sending a notification:</p>
<ol>
<li>Send a notification with <code class="highlighter-rouge">data.push.category</code> set to a pre-defined notification category identifer.</li>
<li>Push notification delivered to device</li>
@ -125,28 +92,22 @@
<li>Action tapped</li>
<li>Identifier of action sent back to HA as the <code class="highlighter-rouge">actionName</code> property of the event <code class="highlighter-rouge">ios.notification_action_fired</code>, along with other metadata such as the device and category name.</li>
</ol>
<p class="img">
<img src="/images/ios/NotificationActionFlow.png" />
How the iOS device and Home Assistant work together to enable actionable notifications.
</p>
<h2><a class="title-link" name="definitions" href="#definitions"></a> Definitions</h2>
<ul>
<li>Category - A category represents a type of notification that the app might receive. Think of it as a unique group of actions. A categories parameters include:</li>
<li>Action - An action consists of a button title and the information that iOS needs to notify the app when the action is selected. You create separate action objects for distinct action your app supports. An actions parameters include:</li>
</ul>
<h2><a class="title-link" name="category-parameters" href="#category-parameters"></a> Category parameters</h2>
<ul>
<li><strong>name</strong> (<em>Required</em>): A friendly name for this category.</li>
<li><strong>identifier</strong> (<em>Required</em>): A unique identifier for the category. Must be uppercase and have no special characters or spaces.</li>
<li><strong>action</strong> (<em>Required</em>): A list of actions.</li>
</ul>
<h2><a class="title-link" name="action-parameters" href="#action-parameters"></a> Action parameters</h2>
<ul>
<li><strong>identifier</strong> (<em>Required</em>): A unique identifier for this action. Must be uppercase and have no special characters or spaces. Only needs to be unique to the category, not unique globally.</li>
<li><strong>title</strong> (<em>Required</em>): The text to display on the button. Keep it short.</li>
@ -157,9 +118,7 @@
<li><strong>textInputButtonTitle</strong> (<em>Optional</em>): The button label. <em>Required</em> if <code class="highlighter-rouge">behavior</code> is <code class="highlighter-rouge">textInput</code>.</li>
<li><strong>textInputPlaceholder</strong> (<em>Optional</em>): The placeholder text to show in the text input field. Only used if <code class="highlighter-rouge">behavior</code> is <code class="highlighter-rouge">textInput</code> and the device runs iOS 10.</li>
</ul>
<p>Heres a fully built example configuration:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">ios</span><span class="pi">:</span>
<span class="s">push</span><span class="pi">:</span>
<span class="s">categories</span><span class="pi">:</span>
@ -182,10 +141,8 @@
<span class="s">textInputPlaceholder</span><span class="pi">:</span> <span class="s1">'</span><span class="s">Placeholder'</span>
</code></pre>
</div>
<h2><a class="title-link" name="building-automations-for-notification-actions" href="#building-automations-for-notification-actions"></a> Building automations for notification actions</h2>
<p>Here is an example automation to send a notification with a category in the payload:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">alias</span><span class="pi">:</span> <span class="s">Notify iOS app</span>
<span class="s">trigger</span><span class="pi">:</span>
@ -204,9 +161,7 @@
<span class="s">my_custom_data</span><span class="pi">:</span> <span class="s">foo_bar</span>
</code></pre>
</div>
<p>When an action is selected an event named <code class="highlighter-rouge">ios.notification_action_fired</code> will be emitted on the Home Assistant event bus. Below is an example payload.</p>
<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="p">{</span><span class="w">
</span><span class="nt">"sourceDeviceName"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Robbie's iPhone 7 Plus"</span><span class="p">,</span><span class="w">
</span><span class="nt">"sourceDeviceID"</span><span class="p">:</span><span class="w"> </span><span class="s2">"robbies_iphone_7_plus"</span><span class="p">,</span><span class="w">
@ -217,7 +172,6 @@
</span><span class="p">}</span><span class="w">
</span></code></pre>
</div>
<p>Heres an example automation for the given payload:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">alias</span><span class="pi">:</span> <span class="s">Sound the alarm</span>
@ -230,25 +184,15 @@
<span class="s">...</span>
</code></pre>
</div>
<p>Notes:</p>
<ul>
<li><code class="highlighter-rouge">textInput</code> will only exist if <code class="highlighter-rouge">behavior</code> was set to <code class="highlighter-rouge">textInput</code>.</li>
<li><code class="highlighter-rouge">actionData</code> is a dictionary with parameters passed in the <code class="highlighter-rouge">action_data</code> dictionary of the <code class="highlighter-rouge">push</code> dictionary in the original notification.</li>
</ul>
</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='section'>
<h1 class="title delta">Topics</h1>
@ -435,13 +379,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -451,7 +392,6 @@
<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 />
@ -463,7 +403,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -471,4 +410,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Architecture - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="The push notification system layout">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/ios/notifications/architecture/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Architecture">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="The push notification system layout">
<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="Architecture">
<meta name="twitter:description" content="The push notification system layout">
<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="/docs/">Docs</a></li>
@ -64,50 +53,28 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/ios/notifications/architecture.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Architecture
</h1>
</header>
<hr class="divider">
<p class="img">
<img src="/images/ios/PushNotificationLayout.png" />
The push notification infrastructure layout
</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='section'>
<h1 class="title delta">Topics</h1>
@ -294,13 +261,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -310,7 +274,6 @@
<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 />
@ -322,7 +285,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -330,4 +292,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Notification attachments - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Adding attachments to iOS push notifications">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/ios/notifications/attachments/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Notification attachments">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Adding attachments to iOS push notifications">
<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="Notification attachments">
<meta name="twitter:description" content="Adding attachments to iOS push notifications">
<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="/docs/">Docs</a></li>
@ -64,40 +53,24 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/ios/notifications/attachments.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Notification Attachments
</h1>
</header>
<hr class="divider">
<p>iOS 10 adds <em>attachments</em> to notifications. An attachment is an image, video, or audio file which is downloaded to the device when a notification is received and shown alongside the notification. A thumbnail is shown when the notification is not expanded. The full size attachment is shown when the notification is expanded.</p>
<p class="note">
To expand a notification on 3D Touch devices simply force touch any notification. On non-3D Touch devices swipe and tap the “View” button.
</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="pi">-</span> <span class="s">alias</span><span class="pi">:</span> <span class="s">Notify iOS app</span>
<span class="s">trigger</span><span class="pi">:</span>
<span class="s">...</span>
@ -112,67 +85,42 @@ To expand a notification on 3D Touch devices simply force touch any notification
<span class="s">hide-thumbnail:</span><span class="nv"> </span><span class="s">false</span>
</code></pre>
</div>
<p>Notes:</p>
<ul>
<li>The thumbnail of the notification will be the media at the <code class="highlighter-rouge">url</code>.</li>
<li>The notification content is the media at the <code class="highlighter-rouge">url</code>.</li>
<li>Attachment can be used with custom push notification categories.</li>
</ul>
<h2>Example</h2>
<p class="img">
<img src="/images/ios/attachment.png" />
An unexpanded push notification with an attachment.
</p>
<p class="img">
<img src="/images/ios/expanded_attachment.png" />
The same notification but expanded to show the full size attachment
</p>
<h2>Supported media types</h2>
<p>If the attachment does not appear please ensure it is in one of the following formats:</p>
<h3>Audio attachments</h3>
<p>Maximum file size: 5 MB</p>
<p>Allowed Formats: AIFF, WAV, MP3, MPEG4 Audio</p>
<h3>Image attachments</h3>
<p>Maximum file size: 10 MB</p>
<p>Allowed Formats: JPEG, GIF, PNG</p>
<h3>Video attachments</h3>
<p>Maximum file size: 50 MB</p>
<p>Allowed Formats: MPEG, MPEG2, MPEG4, AVI</p>
<h2>Configuration</h2>
<ul>
<li><strong>url</strong> (<em>Required</em>): The URL of content to use as the attachment. This URL <em>must</em> be accessible from the Internet, or the receiving device must be on the same network as the hosted content.</li>
<li><strong>content-type</strong> (<em>Optional</em>): By default, the extension of the URL will be checked to determine the filetype. If there is no extension/it cant be determined you can manually provide a file extension.</li>
<li><strong>hide-thumbnail</strong> (<em>Optional</em>): If set to <code class="highlighter-rouge">true</code> the thumbnail will not show on the notification. The content will only be viewable by expanding.</li>
</ul>
</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='section'>
<h1 class="title delta">Topics</h1>
@ -359,13 +307,10 @@ To expand a notification on 3D Touch devices simply force touch any notification
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -375,7 +320,6 @@ To expand a notification on 3D Touch devices simply force touch any notification
<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 />
@ -387,7 +331,6 @@ To expand a notification on 3D Touch devices simply force touch any notification
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -395,4 +338,4 @@ To expand a notification on 3D Touch devices simply force touch any notification
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Basic Notifications - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Basic notes about iOS notifications">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/ios/notifications/basic/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Basic Notifications">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Basic notes about iOS notifications">
<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="Basic Notifications">
<meta name="twitter:description" content="Basic notes about iOS notifications">
<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="/docs/">Docs</a></li>
@ -64,38 +53,22 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/ios/notifications/basic.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Basic Notifications
</h1>
</header>
<hr class="divider">
<p>The iOS notify platform accepts the standard <code class="highlighter-rouge">title</code>, <code class="highlighter-rouge">message</code> and <code class="highlighter-rouge">target</code> parameters. The iOS notify platform supports targets as services. Assuming that you did not set a <code class="highlighter-rouge">name</code> when configuring the platform you should find all your registered and notification-enabled iOS devices available as notify targets as services with names prefixed “notify.ios_” and then the device name you entered at setup.</p>
<p>Notes:</p>
<ul>
<li>
<p><code class="highlighter-rouge">title</code> only displays on Apple Watch and iOS 10 devices.</p>
@ -104,17 +77,13 @@
<p><code class="highlighter-rouge">target</code> can be used to specific a single device using its PushID, found in <code class="highlighter-rouge">ios.conf</code>. The preferred way of providing a target is through a target specific notify service.</p>
</li>
</ul>
<p class="img">
<img src="/images/ios/example.png" />
A push notification showing all of the basic options <code class="highlighter-rouge">title</code> and <code class="highlighter-rouge">message</code> as well as <code class="highlighter-rouge">subtitle</code> and <a href="/ecosystem/ios/notifications/actions/">actions</a>.
</p>
<h3><a class="title-link" name="enhancing-basic-notifications" href="#enhancing-basic-notifications"></a> Enhancing basic notifications</h3>
<h4>Badge</h4>
<p>You can set the icon badge in the payload:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">alias</span><span class="pi">:</span> <span class="s">Notify iOS app</span>
<span class="s">trigger</span><span class="pi">:</span>
@ -128,10 +97,8 @@
<span class="s">badge</span><span class="pi">:</span> <span class="s">5</span>
</code></pre>
</div>
<h4>Subtitle</h4>
<p>iOS 10 supports a subtitle in addition to the title:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span>
<span class="s">- alias</span><span class="pi">:</span> <span class="s">Notify iOS app</span>
<span class="s">trigger</span><span class="pi">:</span>
@ -144,18 +111,10 @@
<span class="s">subtitle</span><span class="pi">:</span> <span class="s2">"</span><span class="s">Subtitle</span><span class="nv"> </span><span class="s">goes</span><span class="nv"> </span><span class="s">here"</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='section'>
<h1 class="title delta">Topics</h1>
@ -342,13 +301,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -358,7 +314,6 @@
<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 />
@ -370,7 +325,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -378,4 +332,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Dynamic content - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Extend your notifications with dynamic content">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/ios/notifications/content_extensions/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Dynamic content">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Extend your notifications with dynamic content">
<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="Dynamic content">
<meta name="twitter:description" content="Extend your notifications with dynamic content">
<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="/docs/">Docs</a></li>
@ -64,40 +53,24 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/ios/notifications/content_extensions.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Dynamic Content
</h1>
</header>
<hr class="divider">
<p>With the new Content Extension feature found in iOS 10, dynamic content can now be displayed as part of a notification without opening an app.</p>
<h1>Map</h1>
<p>Will show a map with a red tipped pin at the coordinates given.
The map will be centered at the coordinates given.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">service</span><span class="pi">:</span> <span class="s">notify.iOSApp</span>
<span class="s">data</span><span class="pi">:</span>
<span class="s">message</span><span class="pi">:</span> <span class="s">Something happened at home!</span>
@ -109,21 +82,15 @@ The map will be centered at the coordinates given.</p>
<span class="s">longitude</span><span class="pi">:</span> <span class="s">-73.968285</span>
</code></pre>
</div>
<p class="img">
<img src="/images/ios/map.png" />
An example of the map dynamic content.
</p>
<h1>Camera Stream</h1>
<p>The notification thumbnail will be a still image from the camera.
The notification content is a real time MJPEG stream of a camera (assuming the camera supports it).</p>
<p>You can use the attachment parameters <code class="highlighter-rouge">content-type</code> and <code class="highlighter-rouge">hide-thumbnail</code> with camera.</p>
<p>You can view an example <a href="https://www.youtube.com/watch?v=LmYwpxPKW0g">here</a>.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">service</span><span class="pi">:</span> <span class="s">notify.iOSApp</span>
<span class="s">data</span><span class="pi">:</span>
<span class="s">message</span><span class="pi">:</span> <span class="s">Motion detected in the Living Room</span>
@ -133,26 +100,15 @@ The notification content is a real time MJPEG stream of a camera (assuming the c
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">camera.demo_camera</span>
</code></pre>
</div>
<div class="videoWrapper">
<iframe width="560" height="315" src="https://www.youtube.com/embed/LmYwpxPKW0g" frameborder="0" allowfullscreen=""></iframe>
</div>
<h1>Combining with actionable notifications</h1>
<p>As you can see the <code class="highlighter-rouge">category</code> key is used to tell the device what kind of content extension to use. You can use the same category identifiers in your own custom <a href="/ecosystem/ios/notifications/actions/">actions</a> to add actions to the content extension.</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='section'>
<h1 class="title delta">Topics</h1>
@ -339,13 +295,10 @@ The notification content is a real time MJPEG stream of a camera (assuming the c
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -355,7 +308,6 @@ The notification content is a real time MJPEG stream of a camera (assuming the c
<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 />
@ -367,7 +319,6 @@ The notification content is a real time MJPEG stream of a camera (assuming the c
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -375,4 +326,4 @@ The notification content is a real time MJPEG stream of a camera (assuming the c
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Notifications Introduction - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Getting started with iOS notifications">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/ios/notifications/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Notifications Introduction">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Getting started with iOS notifications">
<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="Notifications Introduction">
<meta name="twitter:description" content="Getting started with iOS notifications">
<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="/docs/">Docs</a></li>
@ -64,49 +53,26 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/ios/notifications.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Notifications Introduction
</h1>
</header>
<hr class="divider">
<p>The <code class="highlighter-rouge">ios</code> notify platform enables sending push notifications to the Home Assistant iOS app.</p>
<p>The ios component will automatically load the notify service. No extra configuration is needed or supported.</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='section'>
<h1 class="title delta">Topics</h1>
@ -293,13 +259,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -309,7 +272,6 @@
<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 />
@ -321,7 +283,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -329,4 +290,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Privacy, rate limiting and security - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Notes about important topics relating to push notifications">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/ios/notifications/privacy_security_rate_limits/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Privacy, rate limiting and security">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Notes about important topics relating to push notifications">
<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="Privacy, rate limiting and security">
<meta name="twitter:description" content="Notes about important topics relating to push notifications">
<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="/docs/">Docs</a></li>
@ -64,57 +53,30 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/ios/notifications/privacy_security_rate_limits.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Privacy, Rate Limiting and Security
</h1>
</header>
<hr class="divider">
<h2><a class="title-link" name="privacy" href="#privacy"></a> Privacy</h2>
<p>No notification content is stored on remote servers. Only the required push registration data and a simple counter of the total number of push notifications sent per day per device (for rate limiting purposes) is kept.</p>
<h2><a class="title-link" name="rate-limiting" href="#rate-limiting"></a> Rate limiting</h2>
<p>Currently, you are allowed to send a maximum of 150 push notifications per day per device. This is to ensure that the service remains cheap to maintain. In the future we may add support for upgrading to allow more notifications. The rate limit resets at midnight UTC daily. When a notification is sent your current rate limits (including sent notifications and notifications remaining for the day) will be output to your Home Assistant logs. If an error occurs while sending a notification your rate limit will not be affected.</p>
<h2><a class="title-link" name="security" href="#security"></a> Security</h2>
<p>All traffic between your Home Assistant instance, the push infrastructure, and Apple, is encrypted with SSL.</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='section'>
<h1 class="title delta">Topics</h1>
@ -301,13 +263,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -317,7 +276,6 @@
<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 />
@ -329,7 +287,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -337,4 +294,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Requesting location updates - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Ask the device to send a location update remotely">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/ios/notifications/requesting_location_updates/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Requesting location updates">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Ask the device to send a location update remotely">
<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="Requesting location updates">
<meta name="twitter:description" content="Ask the device to send a location update remotely">
<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="/docs/">Docs</a></li>
@ -64,40 +53,24 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/ios/notifications/requesting_location_updates.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Requesting Location Updates
</h1>
</header>
<hr class="divider">
<p class="note warning">
<strong>Do not rely on this functionality due to the time limits mentioned below.</strong>
</p>
<p>You can force a device to attempt to report its location by sending a special notification.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span>
<span class="s">- alias</span><span class="pi">:</span> <span class="s">Notify iOS app</span>
<span class="s">trigger</span><span class="pi">:</span>
@ -108,21 +81,11 @@
<span class="s">message</span><span class="pi">:</span> <span class="s2">"</span><span class="s">request_location_update"</span>
</code></pre>
</div>
<p>Assuming the device receives the notification, it will attempt to get a location update within 5 seconds and report it to Home Assistant. This is a little bit hit or miss since Apple imposes a maximum time allowed for the app to work with the notification and location updates sometimes take longer than usual due to factors such as waiting for GPS acquisition.</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='section'>
<h1 class="title delta">Topics</h1>
@ -309,13 +272,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -325,7 +285,6 @@
<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 />
@ -337,7 +296,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -345,4 +303,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Notification Sounds - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Adding sounds to notifications">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/ios/notifications/sounds/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Notification Sounds">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Adding sounds to notifications">
<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="Notification Sounds">
<meta name="twitter:description" content="Adding sounds to notifications">
<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="/docs/">Docs</a></li>
@ -64,38 +53,22 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/ios/notifications/sounds.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Notification Sounds
</h1>
</header>
<hr class="divider">
<p>Adding a custom sound to a notification allows you to easily identify the notification without even looking at your device. Home Assistant for iOS comes with some notification sounds pre-installed but you can also upload your own.</p>
<p>Here is an example notification that uses one of the pre-installed sounds.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="pi">-</span> <span class="s">alias</span><span class="pi">:</span> <span class="s">Notify iOS app</span>
<span class="s">trigger</span><span class="pi">:</span>
<span class="s">...</span>
@ -108,15 +81,12 @@
<span class="s">sound</span><span class="pi">:</span> <span class="s2">"</span><span class="s">US-EN-Morgan-Freeman-Roommate-Is-Arriving.wav"</span>
</code></pre>
</div>
<p>Notes:</p>
<ul>
<li>You must use the full filename in the payload (including extension).</li>
</ul>
<h2><a class="title-link" name="custom-push-notification-sounds" href="#custom-push-notification-sounds"></a> Custom push notification sounds</h2>
<p>The app allows you to use your own custom sounds in push notifications. The sounds must be formatted following [Apples requirements][sound-requirements]. You set the filename of the sound in the notification payload. To add sounds:</p>
<ol>
<li>Connect the device to a PC or Mac running the latest version of iTunes.</li>
<li>Go to the device in iTunes.</li>
@ -130,18 +100,14 @@
<li>Go to Settings -&gt; Notification Settings.</li>
<li>Select “Import sounds from iTunes”.</li>
</ol>
<p>Assuming that you correctly formatted the sounds they are now available to use in push notifications.</p>
<p>Notes:</p>
<ul>
<li><strong>Please note that due to a bug in iOS 10 you may need to restart your entire device before notification sounds can be played. This should hopefully be fixed by Apple soon.</strong></li>
<li>Uploading a file with the same name as an existing one will overwrite the original.</li>
<li>You can view what sounds are installed on each device by inspecting the <code class="highlighter-rouge">ios.conf</code> file in your configuration directory. They are listed in the <code class="highlighter-rouge">pushSounds</code> array.</li>
</ul>
<h3><a class="title-link" name="preinstalled-notification-sounds" href="#preinstalled-notification-sounds"></a> Preinstalled notification sounds</h3>
<div class="highlighter-rouge"><pre class="highlight"><code>US-EN-Alexa-Back-Door-Opened.wav
US-EN-Alexa-Back-Door-Unlocked.wav
US-EN-Alexa-Basement-Door-Opened.wav
@ -271,18 +237,10 @@ US-EN-Morgan-Freeman-Welcome-Home.wav
US-EN-Morgan-Freeman-Wife-Is-Arriving.wav
</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='section'>
<h1 class="title delta">Topics</h1>
@ -469,13 +427,10 @@ US-EN-Morgan-Freeman-Wife-Is-Arriving.wav
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -485,7 +440,6 @@ US-EN-Morgan-Freeman-Wife-Is-Arriving.wav
<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 />
@ -497,7 +451,6 @@ US-EN-Morgan-Freeman-Wife-Is-Arriving.wav
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -505,4 +458,4 @@ US-EN-Morgan-Freeman-Wife-Is-Arriving.wav
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>NGINX - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Documentation about setting up Home Assistant with NGINX.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/nginx/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="NGINX">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Documentation about setting up Home Assistant with NGINX.">
<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="NGINX">
<meta name="twitter:description" content="Documentation about setting up Home Assistant with NGINX.">
<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="/docs/">Docs</a></li>
@ -64,99 +53,60 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/nginx.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
NGINX
</h1>
</header>
<hr class="divider">
<p>Using nginx as a proxy for Home Assistant allows you to serve Home Assistant securely over standard ports. This configuration file and instructions will walk you through setting up Home Assistant over a secure connection.</p>
<h3><a class="title-link" name="1-get-a-domain-name-forwarded-to-your-ip" href="#1-get-a-domain-name-forwarded-to-your-ip"></a> 1. Get a domain name forwarded to your IP</h3>
<p>Chances are, you have a dynamic IP Address (your ISP changes your address periodically). If this is true, you can use a Dynamic DNS service to obtain a domain and set it up to update with you IP. If you purchase your own domain name, you will be able to easily get a trusted SSL certificate later.</p>
<h3><a class="title-link" name="2-install-nginx-on-your-server" href="#2-install-nginx-on-your-server"></a> 2 Install nginx on your server</h3>
<p>This will vary depending on your OS. Check out Google for this. After installing, ensure that nginx is not running.</p>
<h3><a class="title-link" name="3-obtain-an-ssl-certificate" href="#3-obtain-an-ssl-certificate"></a> 3. Obtain an SSL certificate</h3>
<p>There are two ways of obtaining an SSL certificate.</p>
<h4><a class="title-link" name="using-lets-encrypt" href="#using-lets-encrypt"></a> Using Lets Encrypt</h4>
<p>If you purchased your own domain, you can use https://letsencrypt.org/ to obtain a free, publicly trusted SSL certificate. This will allow you to work with services like IFTTT. Download and install per the instructions online and get a certificate using the following command.</p>
<div class="highlighter-rouge"><pre class="highlight"><code>./letsencrypt-auto certonly --standalone -d example.com -d www.example.com
</code></pre>
</div>
<p>Instead of example.com, use your domain. You will need to renew this certificate every 90 days.</p>
<h4><a class="title-link" name="using-openssl" href="#using-openssl"></a> Using openssl</h4>
<p>If you do not own your own domain, you may generate a self-signed certificate. This will not work with IFTTT, but it will encrypt all of your Home Assistant traffic.</p>
<div class="highlighter-rouge"><pre class="highlight"><code>openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 9999
sudo cp key.pem cert.pem /etc/nginx/ssl
sudo chmod 600 /etc/nginx/ssl/key.pem /etc/nginx/ssl/cert.pem
sudo chown root:root /etc/nginx/ssl/key.pem /etc/nginx/ssl/cert.pem
</code></pre>
</div>
<h3><a class="title-link" name="4-create-dhparams-file" href="#4-create-dhparams-file"></a> 4. Create dhparams file</h3>
<p>As a fair warning, this file will take a while to generate.</p>
<div class="highlighter-rouge"><pre class="highlight"><code>cd /etc/nginx/ssl
sudo openssl dhparam -out dhparams.pem 2048
</code></pre>
</div>
<h3><a class="title-link" name="5-install-configuration-file-in-nginx" href="#5-install-configuration-file-in-nginx"></a> 5. Install configuration file in nginx.</h3>
<p>Create a new file <code class="highlighter-rouge">/etc/nginx/sites-available/hass</code> and copy the configuration file at the bottom of the page into it.</p>
<h3><a class="title-link" name="6-enable-the-home-assistant-configuration" href="#6-enable-the-home-assistant-configuration"></a> 6. Enable the Home Assistant configuration.</h3>
<div class="highlighter-rouge"><pre class="highlight"><code>cd /etc/nginx/sites-enabled
sudo unlink default
sudo ln ../sites-available/hass default
</code></pre>
</div>
<h3><a class="title-link" name="7-start-nginx" href="#7-start-nginx"></a> 7. Start NGINX.</h3>
<p>Double check this configuration to ensure all settings are correct and start nginx.</p>
<h3><a class="title-link" name="8-port-forwarding" href="#8-port-forwarding"></a> 8. Port forwarding.</h3>
<p>Forward ports 443 and 80 to your server on your router. Do not forward port 8123.</p>
<h3><a class="title-link" name="nginx-config" href="#nginx-config"></a> NGINX Config</h3>
<div class="highlighter-rouge"><pre class="highlight"><code>http {
map $http_upgrade $connection_upgrade {
default upgrade;
@ -212,18 +162,10 @@ sudo ln ../sites-available/hass default
}
</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='section'>
<h1 class="title delta">Topics</h1>
@ -410,13 +352,10 @@ sudo ln ../sites-available/hass default
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -426,7 +365,6 @@ sudo ln ../sites-available/hass default
<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 />
@ -438,7 +376,6 @@ sudo ln ../sites-available/hass default
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -446,4 +383,4 @@ sudo ln ../sites-available/hass default
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Home Assistant Python API - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Basic example how to work with the Home Assistant Python API in a Jupyter notebook.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/notebooks/api/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Home Assistant Python API">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Basic example how to work with the Home Assistant Python API in a Jupyter notebook.">
<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="Home Assistant Python API">
<meta name="twitter:description" content="Basic example how to work with the Home Assistant Python API in a Jupyter notebook.">
<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="/docs/">Docs</a></li>
@ -64,47 +53,25 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/notebooks/api.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Home Assistant Python API
</h1>
</header>
<hr class="divider">
<p>The <a href="/developers/python_api/">Python API</a> allows one to create <a href="http://nbviewer.jupyter.org/github/home-assistant/home-assistant-notebooks/blob/master/home-assistant-python-api.ipynb">interactive notebooks</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='section'>
<h1 class="title delta">Topics</h1>
@ -291,13 +258,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -307,7 +271,6 @@
<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 />
@ -319,7 +282,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -327,4 +289,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Database - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Basic example how to work with stored Home Assistant information in a Jupyter notebook.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/notebooks/database/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Database">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Basic example how to work with stored Home Assistant information in a Jupyter notebook.">
<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="Database">
<meta name="twitter:description" content="Basic example how to work with stored Home Assistant information in a Jupyter notebook.">
<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="/docs/">Docs</a></li>
@ -64,47 +53,25 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/notebooks/database.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Database
</h1>
</header>
<hr class="divider">
<p>The <a href="http://nbviewer.jupyter.org/github/home-assistant/home-assistant-notebooks/blob/master/database-examples.ipynb">Database example</a> shows you the details about how you can work with stored values.</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='section'>
<h1 class="title delta">Topics</h1>
@ -291,13 +258,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -307,7 +271,6 @@
<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 />
@ -319,7 +282,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -327,4 +289,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Graph - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Basic example how to create a graph with a Jupyter notebook.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/notebooks/graph/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Graph">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Basic example how to create a graph with a Jupyter notebook.">
<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="Graph">
<meta name="twitter:description" content="Basic example how to create a graph with a Jupyter notebook.">
<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="/docs/">Docs</a></li>
@ -64,47 +53,25 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/notebooks/graph.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Graph
</h1>
</header>
<hr class="divider">
<p>For graphing this <a href="ha_external_link: http://nbviewer.jupyter.org/github/home-assistant/home-assistant-notebooks/blob/master/graph-single-sensor.ipynb">Jupyter notebook</a> should get you started.</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='section'>
<h1 class="title delta">Topics</h1>
@ -291,13 +258,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -307,7 +271,6 @@
<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 />
@ -319,7 +282,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -327,4 +289,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Jupyter Notebooks - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Jupyter Notebooks to interact offline and online with Home Assistant.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/notebooks/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Jupyter Notebooks">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Jupyter Notebooks to interact offline and online with 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="Jupyter Notebooks">
<meta name="twitter:description" content="Jupyter Notebooks to interact offline and online with 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="/docs/">Docs</a></li>
@ -64,55 +53,30 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/notebooks.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Jupyter Notebooks
</h1>
</header>
<hr class="divider">
<p>The <a href="http://jupyter.org/">Jupyter Notebooks</a> allows you to create and share documents that contain live code, equations, visualizations, and explanatory text directly in your browser. The web application what is formerly known as the IPython Notebook supports over 40 programming languages.</p>
<p>Visit <a href="https://try.jupyter.org/">https://try.jupyter.org/</a> to get a preview before you install it locally.</p>
<p class="img">
<img src="/images/screenshots/jupyter-new.png" />
</p>
<p><a href="http://nbviewer.jupyter.org/github/home-assistant/home-assistant-notebooks/tree/master/">nbviewer</a> is rendering our notebooks online. GitHub is creating a preview as well.</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='section'>
<h1 class="title delta">Topics</h1>
@ -299,13 +263,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -315,7 +276,6 @@
<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 />
@ -327,7 +287,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -335,4 +294,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Installation - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Setup and first steps for Jupyter Notebooks and Home Assistant.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/notebooks/installation/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Installation">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Setup and first steps for Jupyter Notebooks and 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="Installation">
<meta name="twitter:description" content="Setup and first steps for Jupyter Notebooks and 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="/docs/">Docs</a></li>
@ -64,46 +53,28 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/notebooks/installation.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Installation
</h1>
</header>
<hr class="divider">
<p>To run Jupyter Notebooks locally, an installation of <a href="http://jupyter.org/">Jupyter</a> is needed. Consider to run Jupyter in a <a href="/getting-started/installation-virtualenv/">virtualenv</a>.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>pip3 install jupyter matplotlib
</code></pre>
</div>
<p class="note warning">
Certain notebooks hosted in the <a href="https://github.com/home-assistant/home-assistant-notebooks">Home Assistant notebooks repository</a> require access to a running Home Assistant instance or parts of a Home Assistant installation. If you want to run those notebooks, install Home Assistant with <code class="highlighter-rouge">$ pip3 install homeassistant</code> as well.
</p>
<p>Now you are able to start the application.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>jupyter notebook
<span class="o">[</span>I 17:22:18.081 NotebookApp] Writing notebook server cookie secret to /run/user/1000/jupyter/notebook_cookie_secret
<span class="o">[</span>I 17:22:18.921 NotebookApp] Serving notebooks from <span class="nb">local </span>directory: /home/fabaff/home-assistant
@ -112,35 +83,20 @@ Certain notebooks hosted in the <a href="https://github.com/home-assistant/home-
<span class="o">[</span>I 17:22:18.922 NotebookApp] Use Control-C to stop this server and shut down all kernels <span class="o">(</span>twice to skip confirmation<span class="o">)</span>.
</code></pre>
</div>
<p>Open <a href="http://localhost:8888/">http://localhost:8888/</a> in your browser. Press “New” -&gt; “Python3” to open a new notebook.</p>
<p class="img">
<img src="/images/screenshots/jupyter-new.png" />
</p>
<p>You will get an empty notebook with one cell. Cells can contain code or text. To get the output of a cell you need to execute them with “Cell” -&gt; “Run Cells” from the menu or by pressing the icon.</p>
<p class="img">
<img src="/images/screenshots/jupyter-notebook.png" />
</p>
<p>The downloadable version of this notebook is available in the <a href="https://github.com/home-assistant/home-assistant-notebooks/blob/master/first-notebook.ipynb">Home Assistant notebooks repository</a>.</p>
<p>As you can see is the workflow very similar to working directly with a Python shell. One advantage is that you can go back and forth as you please and save your work.</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='section'>
<h1 class="title delta">Topics</h1>
@ -327,13 +283,10 @@ Certain notebooks hosted in the <a href="https://github.com/home-assistant/home-
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -343,7 +296,6 @@ Certain notebooks hosted in the <a href="https://github.com/home-assistant/home-
<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 />
@ -355,7 +307,6 @@ Certain notebooks hosted in the <a href="https://github.com/home-assistant/home-
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -363,4 +314,4 @@ Certain notebooks hosted in the <a href="https://github.com/home-assistant/home-
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Statistics - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Basic example how to create basic statistics with a Jupyter notebook.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/notebooks/stats/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Statistics">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Basic example how to create basic statistics with a Jupyter notebook.">
<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="Statistics">
<meta name="twitter:description" content="Basic example how to create basic statistics with a Jupyter notebook.">
<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="/docs/">Docs</a></li>
@ -64,47 +53,25 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/notebooks/stats.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Statistics
</h1>
</header>
<hr class="divider">
<p>The <a href="http://nbviewer.jupyter.org/github/home-assistant/home-assistant-notebooks/blob/master/database-statistics.ipynb">Statistics notebook</a> gets you started if you want to create statistical analysis of your data.</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='section'>
<h1 class="title delta">Topics</h1>
@ -291,13 +258,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -307,7 +271,6 @@
<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 />
@ -319,7 +282,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -327,4 +289,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>SceneGen - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Scenegen is a scene generation tool for Home Assistant">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/scenegen/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="SceneGen">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Scenegen is a scene generation tool for 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="SceneGen">
<meta name="twitter:description" content="Scenegen is a scene generation tool for 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="/docs/">Docs</a></li>
@ -64,63 +53,38 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/scenegen.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
SceneGen
</h1>
</header>
<hr class="divider">
<p>Scenegen is a scene generation tool for <a href="https://home-assistant.io/">Home Assistant</a> home automation software. It creates scenes by example, by reading the current states of devices and outputting a corresponding scene. Scenegen is written in python using Home Assistants RESTFul API so can be run from anywhere. It currently supports lights and switches only.</p>
<h2><a class="title-link" name="installation" href="#installation"></a> Installation</h2>
<h3><a class="title-link" name="clone-the-repository" href="#clone-the-repository"></a> Clone the Repository</h3>
<p>Clone the <a href="https://github.com/home-assistant/scenegen"><strong>scenegen</strong></a> repository to the current local directory on your machine.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>git clone https://github.com/home-assistant/scenegen.git
</code></pre>
</div>
<p>Change your working directory to the repository root. Moving forward, we will be working from this directory.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span><span class="nb">cd </span>scenegen
</code></pre>
</div>
<h2><a class="title-link" name="install-prerequisites" href="#install-prerequisites"></a> Install Prerequisites</h2>
<p>Before running <code class="highlighter-rouge">SceneGen</code> you will need to add some python prerequisites:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo pip3 install configparser
</code></pre>
</div>
<p>You should now be ready to run <code class="highlighter-rouge">scenegen</code></p>
<h2><a class="title-link" name="basic-operation" href="#basic-operation"></a> Basic Operation</h2>
<div class="highlighter-rouge"><pre class="highlight"><code>usage: scenegen [-h] [-k KEY] [-s SCENENAME] [-m MAPFILE] [-f FILTER]
[-c {xy_color,rgb_color,color_temp,color_name}] [-t TYPES]
url
@ -145,9 +109,7 @@ optional arguments:
</code></pre>
</div>
<p>For basic operation just supply the url and optionally the api key (using the key option) on the command line and scenegen will output a list of all lights and switches with their attributes. Optionally use the <code class="highlighter-rouge">--scenename</code> flag to explicitly set the scenename.</p>
<div class="highlighter-rouge"><pre class="highlight"><code>$ ./scenegen.py https://&lt;some url&gt; -k &lt;some api key&gt;
name: My New Scene
entities:
@ -167,63 +129,40 @@ entities:
brightness: 28
</code></pre>
</div>
<p>This output can be cut and pasted into your configuration.yaml file as required (ensuring correct indentatation of course).</p>
<p>Scenegen supports all documented effects for lights including transitions and flash effects, however generally it is easier to run scenegen to get the basic setup and add any effects manually later.</p>
<p>Note that depending on the type of light there may be a delay in actually setting up its parameters and Home Assistant actually recieving that state. For instance, if you set a scene up with the Hue App, Home Assistant wont see those changes for up to 10 seconds. Turning on a ZWave light might not be seen for an entire poll interval. For this reason, its good practice to wait for a while after the scene is setup before running scenegen. Alternatively, perform all setup using the Home Assistant frontend and it will instantly have the required state for capture.</p>
<h2><a class="title-link" name="advanced-usage" href="#advanced-usage"></a> Advanced Usage</h2>
<p>For a more advanced way to use the output try the following. In configuration.yaml add the following line:</p>
<div class="highlighter-rouge"><pre class="highlight"><code>scene: !include_dir_list scenes
</code></pre>
</div>
<p>This will tell home assistant to look in the subdirectory <code class="highlighter-rouge">scenes</code> for yaml files containing scene information. Each file will be named for the scene it will create and should contain information formatted as above. Then simply run Scenegen and redirect its output to the scenes subdirectory:</p>
<div class="highlighter-rouge"><pre class="highlight"><code>$ ./scenegen.py https://&lt;some url&gt; -k &lt;some api key&gt; &gt; scenes/my_new_scene.yaml
</code></pre>
</div>
<p>This will create a new scene called <code class="highlighter-rouge">my_new_scene</code> which will automatically be picked up by Home Assistant on the next restart.</p>
<h2><a class="title-link" name="colors" href="#colors"></a> Colors</h2>
<p>Scenegen allows colors to be captured, and in fact Home Assistant light entities store up to 4 different ways of specifying the colors. This is redundant for creating scenes so Scenegen picks 1 and goes with it. The default is <code class="highlighter-rouge">color_temp</code> but you can change this with the <code class="highlighter-rouge">--colortype</code> flag, supported options are <code class="highlighter-rouge">xy_color</code>, <code class="highlighter-rouge">rgb_color</code>, <code class="highlighter-rouge">color_temp</code> and <code class="highlighter-rouge">color_name</code>.</p>
<h2><a class="title-link" name="types" href="#types"></a> Types</h2>
<p>By default, Scenegen will list all lights and switches. To restrict the device type use the <code class="highlighter-rouge">--types</code> option and supply a comma separated list (no spaces) of types to output. e.g.:</p>
<div class="highlighter-rouge"><pre class="highlight"><code>./scenegen.py https://&lt;some url&gt; -k &lt;some api key&gt; --types light,switch
</code></pre>
</div>
<p>or:</p>
<div class="highlighter-rouge"><pre class="highlight"><code>./scenegen.py https://&lt;some url&gt; -k &lt;some api key&gt; --types light
</code></pre>
</div>
<p>This will make more sense as and when more types are added.</p>
<h2><a class="title-link" name="maps-and-filters" href="#maps-and-filters"></a> Maps and Filters</h2>
<p>Maps allow you to specify and label various subsets of devices that you want to work on together. A mapfile is specified using the <code class="highlighter-rouge">--mapfile</code> option and is a <code class="highlighter-rouge">.ini</code> style file consisting of section headers and entries. The section headers specify a region or zone or otherwise organized selection of entities you want to filter on, and it is mandatory to have at least one. If you create a map file like this:</p>
<div class="highlighter-rouge"><pre class="highlight"><code>[entities]
light.living_room:
light.dining_room:
</code></pre>
</div>
<p>The trailing colons are necessary to prevent parsing errors for including just keys, as opposed to key=value so just go with it - it reminds us of YAML ;)</p>
<p>If you run scenegen with the <code class="highlighter-rouge">--mapfile</code> argument pointing to that file you will only get output for the listed entities (the name of the section is irrelevant if not using the <code class="highlighter-rouge">--filter</code> option). A more complex mapfile might look like this:</p>
<div class="highlighter-rouge"><pre class="highlight"><code>[Outside]
light.porch:
switch.path_lights:
@ -234,34 +173,20 @@ light.living_room_back:
light.bedside:
</code></pre>
</div>
<p>Again, if you run with that map file it will output all of the entities listed, however you now have the possibility of restricting output devices based on the sections they are in, using the <code class="highlighter-rouge">--filter</code> option and supplying a comma separated list of sections you want to include, for instance:</p>
<div class="highlighter-rouge"><pre class="highlight"><code>./scenegen.py https://&lt;some url&gt; -k &lt;some api key&gt; --mapfile map.cfg --filter "Outside,Living Room"
</code></pre>
</div>
<p>The intended use of the mapfile and filter is that you create a map of all your devices and organize them into zones that you are interested in creating scenes for and use the filter to limit output to that zone. For instance you might want to create 3 or 4 scenes for your living room, and once the map is set up you can easily do so without the addition of unwanted devices.</p>
<h2><a class="title-link" name="updating-scenegen" href="#updating-scenegen"></a> Updating SceneGen</h2>
<p>To update SceneGen after a new version is released, just run the following command to update your copy:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>git pull
</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='section'>
<h1 class="title delta">Topics</h1>
@ -448,13 +373,10 @@ light.bedside:
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -464,7 +386,6 @@ light.bedside:
<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 />
@ -476,7 +397,6 @@ light.bedside:
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -484,4 +404,4 @@ light.bedside:
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Synology - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions how to get Home Assistant up and running on Synology">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/ecosystem/synology/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Synology">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions how to get Home Assistant up and running on Synology">
<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="Synology">
<meta name="twitter:description" content="Instructions how to get Home Assistant up and running on Synology">
<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="/docs/">Docs</a></li>
@ -64,61 +53,35 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/ecosystem/synology.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Synology
</h1>
</header>
<hr class="divider">
<p>Synology NAS are the perfect companion to running Home Assistant.</p>
<h3><a class="title-link" name="http-configuration" href="#http-configuration"></a> HTTP Configuration</h3>
<p>Synology will require some extra configuration to get the Home Assistant frontend working.</p>
<ul>
<li>Copy the Home Assistant specific Reverse Proxy settings from the existing <code class="highlighter-rouge">/etc/nginx/app.d/server.ReverseProxy.conf</code> to <code class="highlighter-rouge">/usr/local/etc/nginx/conf.d/http.HomeAssistant.conf</code></li>
<li>Include these lines in the location declaration:</li>
</ul>
<div class="highlighter-rouge"><pre class="highlight"><code> proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
</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='section'>
<h1 class="title delta">Topics</h1>
@ -305,13 +268,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -321,7 +281,6 @@
<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 />
@ -333,7 +292,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -341,4 +299,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Browsers - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Browser Compatibility List">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/frontend/browsers/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Browsers">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Browser Compatibility List">
<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="Browsers">
<meta name="twitter:description" content="Browser Compatibility List">
<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="/docs/">Docs</a></li>
@ -64,40 +53,23 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/frontend/browsers.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Browsers
</h1>
</header>
<hr class="divider">
<p>Home Assistant requires a web browser to show the frontend and supports all major modern browsers. We dont test the web interface against all available browsers but this page tracks different browsers on various operating systems and should help you to pick a browser which works.</p>
<p>We would appreciate if you help to keep this page up-to-date and add feedback.</p>
<h2><a class="title-link" name="microsoft-windows" href="#microsoft-windows"></a> Microsoft Windows</h2>
<table>
<thead>
<tr>
@ -146,9 +118,7 @@
</tr>
</tbody>
</table>
<h2><a class="title-link" name="macos" href="#macos"></a> macOS</h2>
<table>
<thead>
<tr>
@ -167,9 +137,7 @@
</tr>
</tbody>
</table>
<h2><a class="title-link" name="linux" href="#linux"></a> Linux</h2>
<table>
<thead>
<tr>
@ -254,9 +222,7 @@
</tr>
</tbody>
</table>
<h2><a class="title-link" name="android" href="#android"></a> Android</h2>
<table>
<thead>
<tr>
@ -287,9 +253,7 @@
</tr>
</tbody>
</table>
<h2><a class="title-link" name="ios" href="#ios"></a> iOS</h2>
<table>
<thead>
<tr>
@ -314,19 +278,10 @@
</tr>
</tbody>
</table>
</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='section'>
<h1 class="title delta">Topics</h1>
@ -513,13 +468,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -529,7 +481,6 @@
<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 />
@ -541,7 +492,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -549,4 +499,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Frontend of Home Assistant - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Frontend of Home Assistant.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/frontend/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Frontend of Home Assistant">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Frontend of 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="Frontend of Home Assistant">
<meta name="twitter:description" content="Frontend of 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="/docs/">Docs</a></li>
@ -64,56 +53,30 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/frontend.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Frontend of Home Assistant
</h1>
</header>
<hr class="divider">
<p>The frontend of Home Assistant is built with <a href="https://www.polymer-project.org/">Polymer</a>.</p>
<p class="img">
<img src="/images/screenshots/ui2015.png" />
</p>
<p>The <a href="/cookbook/#user-interface">User Interface section</a> can give you some starting points to expand the frontend.</p>
<p>If you want to work on the frontend, please refer to the <a href="/developers/frontend/">Frontend Development documentation</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='section'>
<h1 class="title delta">Topics</h1>
@ -300,13 +263,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -316,7 +276,6 @@
<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 />
@ -328,7 +287,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -336,4 +294,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Getting started on Mobile - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Android/iOS instructions to add Home Assistant to your homescreen.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/frontend/mobile/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Getting started on Mobile">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Android/iOS instructions to add Home Assistant to your homescreen.">
<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="Getting started on Mobile">
<meta name="twitter:description" content="Android/iOS instructions to add Home Assistant to your homescreen.">
<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="/docs/">Docs</a></li>
@ -64,38 +53,22 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/frontend/mobile.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Getting Started on Mobile
</h1>
</header>
<hr class="divider">
<p>Home Assistant is not available on the Play Store or App Store. Instead, Home Assistant leverages the new W3C <a href="https://w3c.github.io/manifest/">manifest.json</a> support, allowing mobile devices to add the “web app” to your homescreen as if it was native.</p>
<h3><a class="title-link" name="android" href="#android"></a> Android</h3>
<ol>
<li>Open Chrome</li>
<li>Navigate to your Home Assistant instance</li>
@ -103,13 +76,10 @@
<li>Tap on Add to Homescreen</li>
<li>A dialog will popup; tap on Add</li>
</ol>
<p class="img" style="width:500px; margin-left: auto; margin-right: auto;">
<img src="/images/screenshots/android-homescreen-guide.gif" />
</p>
<h3><a class="title-link" name="ios" href="#ios"></a> iOS</h3>
<ol>
<li>Open Safari</li>
<li>Navigate to your Home Assistant instance</li>
@ -117,18 +87,10 @@
<li>Tap on “Add to Home Screen”</li>
<li>A dialog will popup; tap on Add</li>
</ol>
</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='section'>
<h1 class="title delta">Topics</h1>
@ -315,13 +277,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -331,7 +290,6 @@
<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 />
@ -343,7 +301,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -351,4 +308,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Web server fingerprint - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Use nmap to scan your Home Assistant instance.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/frontend/webserver/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Web server fingerprint">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Use nmap to scan your Home Assistant instance.">
<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="Web server fingerprint">
<meta name="twitter:description" content="Use nmap to scan your Home Assistant instance.">
<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="/docs/">Docs</a></li>
@ -64,38 +53,22 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/frontend/webserver.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Web Server Fingerprint
</h1>
</header>
<hr class="divider">
<p>It was only a matter of time until the first queries for tools like <a href="https://www.shodan.io/search?query=Home+Assistant">https://www.shodan.io</a> to search for Home Assistant instances showed up.</p>
<p>To get an idea about how your Home Assistant instance looks to a network scanner, you can use <code class="highlighter-rouge">nmap</code>. The <code class="highlighter-rouge">nmap</code> tool is already available if you are using the <a href="/components/device_tracker/">nmap device tracker</a>.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>nmap -sV -p 8123 --script<span class="o">=</span>http-title,http-headers 192.168.1.3
Starting Nmap 7.12 <span class="o">(</span> https://nmap.org <span class="o">)</span> at 2016-10-06 10:01 CEST
@ -118,19 +91,10 @@ Service detection performed. Please report any incorrect results at https://nmap
Nmap <span class="k">done</span>: 1 IP address <span class="o">(</span>1 host up<span class="o">)</span> scanned <span class="k">in </span>6.70 seconds
</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='section'>
<h1 class="title delta">Topics</h1>
@ -317,13 +281,10 @@ Nmap <span class="k">done</span>: 1 IP address <span class="o">(</span>1 host up
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -333,7 +294,6 @@ Nmap <span class="k">done</span>: 1 IP address <span class="o">(</span>1 host up
<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 />
@ -345,7 +305,6 @@ Nmap <span class="k">done</span>: 1 IP address <span class="o">(</span>1 host up
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -353,4 +312,4 @@ Nmap <span class="k">done</span>: 1 IP address <span class="o">(</span>1 host up
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Common tasks on Hassbian - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions how to do common tasks on Hassbian.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/hassbian/common-tasks/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Common tasks on Hassbian">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions how to do common tasks on Hassbian.">
<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="Common tasks on Hassbian">
<meta name="twitter:description" content="Instructions how to do common tasks on Hassbian.">
<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="/docs/">Docs</a></li>
@ -64,62 +53,38 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/hassbian/common-tasks.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Common Tasks on Hassbian
</h1>
</header>
<hr class="divider">
<h3><a class="title-link" name="login-to-the-raspberry-pi" href="#login-to-the-raspberry-pi"></a> Login to the Raspberry Pi</h3>
<p>To login to your Raspberry Pi running HASSbian your going to be using a ssh client. Depending on your platform there are several alternatives for doing this. Linux and Max OS generally have a ssh client installed. Windows users are recommended to download and install the ssh client <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">Putty</a>.</p>
<p>Connect to the Raspberry Pi over ssh. Default user name is <code class="highlighter-rouge">pi</code> and password is <code class="highlighter-rouge">raspberry</code>.<br />
Linux and Mac OS users execute the following command in a terminal.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>ssh pi@ip-address-of-pi
</code></pre>
</div>
<p>Windows users start <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html">Putty</a>, enter the IP address of the Raspberry Pi in the <em>Host name</em> field and port 22 in the <em>Port</em> field. Then click <em>Open</em> and a terminal window will open. Enter the credentials. Default user name is <code class="highlighter-rouge">pi</code> and password is <code class="highlighter-rouge">raspberry</code>.</p>
<p>Optionally, starting with Windows 10 anniversary update, you can use the built-in <a href="https://msdn.microsoft.com/en-us/commandline/wsl/about">Bash on Windows</a> to use SSH if you have enabled Developer mode and have installed the “Windows Subsystem for Linux (beta)” feature.</p>
<h3><a class="title-link" name="startstoprestart-home-assistant" href="#startstoprestart-home-assistant"></a> Start/Stop/Restart Home Assistant</h3>
<p>Log in as the <code class="highlighter-rouge">pi</code> account account and execute the following commands:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo systemctl stop home-assistant@homeassistant.service
</code></pre>
</div>
<p>Replace <code class="highlighter-rouge">stop</code> with <code class="highlighter-rouge">start</code> or <code class="highlighter-rouge">restart</code> to get the desired functionality.
To get the current state of the <code class="highlighter-rouge">homeassistant.service</code> replace <code class="highlighter-rouge">stop</code> with <code class="highlighter-rouge">status</code>.</p>
<h3><a class="title-link" name="update-home-assistant" href="#update-home-assistant"></a> Update Home Assistant</h3>
<p>Log in as the <code class="highlighter-rouge">pi</code> account and execute the following commands:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo systemctl stop home-assistant@homeassistant.service
<span class="gp">$ </span>sudo su -s /bin/bash homeassistant
<span class="gp">$ </span><span class="nb">source</span> /srv/homeassistant/bin/activate
@ -128,9 +93,7 @@ To get the current state of the <code class="highlighter-rouge">homeassistant.se
<span class="gp">$ </span>sudo systemctl start home-assistant@homeassistant.service
</code></pre>
</div>
<p>This will in order do the following:</p>
<ul>
<li>Stop the Home Assistant service running on HASSbian</li>
<li>Open a shell as the <code class="highlighter-rouge">homeassistant</code> user running the Homeassistant service and that has ownership over the Home Assistant installation.</li>
@ -139,91 +102,62 @@ To get the current state of the <code class="highlighter-rouge">homeassistant.se
<li>Exit the shell and return to the <code class="highlighter-rouge">pi</code> user.</li>
<li>Restart the Home Assistant service.</li>
</ul>
<h3><a class="title-link" name="manually-launch-home-assistant" href="#manually-launch-home-assistant"></a> Manually launch Home Assistant</h3>
<p>Log in as the <code class="highlighter-rouge">pi</code> account and execute the following commands:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo su -s /bin/bash homeassistant
<span class="gp">$ </span><span class="nb">source</span> /srv/homeassistant/bin/activate
<span class="gp">$ </span>hass
</code></pre>
</div>
<p>This will start Home Assistant in your shell and output anything that ends up in the log and more into the console. This will fail if the Home Assistant service is already running so dont forget to <a href="/getting-started/installation-raspberry-pi-image/#startstoprestart-home-assistant-on-hassbian">stop</a> it first.</p>
<h3><a class="title-link" name="check-your-configuration" href="#check-your-configuration"></a> Check your configuration</h3>
<p>Log in as the <code class="highlighter-rouge">pi</code> account and execute the following commands:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo su -s /bin/bash homeassistant
<span class="gp">$ </span><span class="nb">source</span> /srv/homeassistant/bin/activate
<span class="gp">$ </span>hass --script check_config
</code></pre>
</div>
<p>This will output any errors in your configuration files to console.</p>
<h3><a class="title-link" name="read-the-home-assistant-log-file" href="#read-the-home-assistant-log-file"></a> Read the Home Assistant log file</h3>
<p>Log in as the <code class="highlighter-rouge">pi</code> account and execute the following commands:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo su -s /bin/bash homeassistant
<span class="gp">$ </span><span class="nb">cd</span> /home/homeassistant/.homeassistant
<span class="gp">$ </span>nano homeassistant.log
</code></pre>
</div>
<p>This will in order do the following:</p>
<ul>
<li>Open a shell as the <code class="highlighter-rouge">homeassistant</code> user.</li>
<li>Change directory to the Home Assistant configuration directory.</li>
<li>Open the log file in the nano editor.</li>
</ul>
<p>Optionaly, you can also view the log with <code class="highlighter-rouge">journalctl</code>.
Log in as the <code class="highlighter-rouge">pi</code> account and execute the following commands:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo journalctl -fu home-assistant@homeassistant.service
</code></pre>
</div>
<h3><a class="title-link" name="edit-the-home-assistant-configuration" href="#edit-the-home-assistant-configuration"></a> Edit the Home Assistant configuration</h3>
<p>Log in as the <code class="highlighter-rouge">pi</code> account and execute the following commands:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo su -s /bin/bash homeassistant
<span class="gp">$ </span><span class="nb">cd</span> /home/homeassistant/.homeassistant
<span class="gp">$ </span>nano configuration.yaml
</code></pre>
</div>
<p>This will in order do the following:</p>
<ul>
<li>Open a shell as the <code class="highlighter-rouge">homeassistant</code> user.</li>
<li>Change directory to the Home Assistant configuration directory.</li>
<li>Open the configuration file in the nano editor.</li>
</ul>
<p>Its generally recommended that you read the <a href="/getting-started/configuration/">Getting started</a> guide for how to configure Home Assistant.</p>
<h3><a class="title-link" name="change-locale-timezone-and-keyboard-layout" href="#change-locale-timezone-and-keyboard-layout"></a> Change locale, timezone and keyboard layout</h3>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo raspi-config
</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='section'>
<h1 class="title delta">Topics</h1>
@ -410,13 +344,10 @@ Log in as the <code class="highlighter-rouge">pi</code> account and execute the
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -426,7 +357,6 @@ Log in as the <code class="highlighter-rouge">pi</code> account and execute the
<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 />
@ -438,7 +368,6 @@ Log in as the <code class="highlighter-rouge">pi</code> account and execute the
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -446,4 +375,4 @@ Log in as the <code class="highlighter-rouge">pi</code> account and execute the
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Customization - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions to flash the Home Assistant HASSbian image on a Raspberry Pi.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/hassbian/customization/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Customization">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions to flash the Home Assistant HASSbian image on a Raspberry Pi.">
<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="Customization">
<meta name="twitter:description" content="Instructions to flash the Home Assistant HASSbian image on a Raspberry Pi.">
<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="/docs/">Docs</a></li>
@ -64,57 +53,32 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/hassbian/customization.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Customization
</h1>
</header>
<hr class="divider">
<p>To allow you to customize your installation further, we have included a set of Hassbian scripts.</p>
<ul>
<li>Install Samba. Allows anyone on your network to edit your configuration from any computer. This share is unsecured and its usage is not recommended if you share your network with others.</li>
<li>Install Libcec. Adds local <a href="/components/hdmi_cec/">HDMI CEC support</a>.</li>
<li>Install Mossquitto MQTT server. Installs the latest Mosquitto package and client tools from the Mosquitto projects offical repository. Now includes websocket support.</li>
<li>Install Open Z-Wave. Installs Open Z-Wave and prepares for using a USB or GPIO ZWave controller.</li>
</ul>
<p>All of these scripts are available in the directory <code class="highlighter-rouge">/home/pi/hassbian-scripts/</code>. For more information about these scripts have a look at the <a href="https://github.com/home-assistant/hassbian-scripts#the-included-scripts">hassbian-scripts repository</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='section'>
<h1 class="title delta">Topics</h1>
@ -301,13 +265,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -317,7 +278,6 @@
<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 />
@ -329,7 +289,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -337,4 +296,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Hassbian - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions to flash the Home Assistant HASSbian image on a Raspberry Pi.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/hassbian/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Hassbian">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions to flash the Home Assistant HASSbian image on a Raspberry Pi.">
<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="Hassbian">
<meta name="twitter:description" content="Instructions to flash the Home Assistant HASSbian image on a Raspberry Pi.">
<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="/docs/">Docs</a></li>
@ -64,55 +53,31 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/hassbian.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Hassbian
</h1>
</header>
<hr class="divider">
<p>Hassbian is our customized operating system for the Raspberry Pi 3. It is the easiest way of installing Home Assistant.</p>
<ul>
<li><a href="/docs/hassbian/installation/">Install Hassbian</a></li>
<li><a href="/docs/hassbian/customization/">Customize your installation</a></li>
<li><a href="/docs/hassbian/integrations/">Pi specific integrations</a></li>
<li><a href="/docs/hassbian/common-tasks/">Learn how to perform common tasks</a></li>
</ul>
</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='section'>
<h1 class="title delta">Topics</h1>
@ -299,13 +264,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -315,7 +277,6 @@
<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 />
@ -327,7 +288,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -335,4 +295,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Installing Hassbian - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions to flash the Home Assistant HASSbian image on a Raspberry Pi.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/hassbian/installation/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Installing Hassbian">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions to flash the Home Assistant HASSbian image on a Raspberry Pi.">
<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="Installing Hassbian">
<meta name="twitter:description" content="Instructions to flash the Home Assistant HASSbian image on a Raspberry Pi.">
<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="/docs/">Docs</a></li>
@ -64,74 +53,44 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/hassbian/installation.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Installing Hassbian
</h1>
</header>
<hr class="divider">
<p>The easiest way to install Home Assistant on your Raspberry Pi is by using HASSbian: a Raspberry Pi image with Home Assistant built-in. The image will install the latest version of Home Assistant on initial boot (~10 minutes).</p>
<ol>
<li><a href="https://github.com/home-assistant/pi-gen/releases/download/v1.1/image_2017-02-03-HASSbian.zip">Download the Hassbian 1.1 image</a> (359 MB)</li>
<li>Use <a href="https://etcher.io/">Etcher</a> to flash the image to your SD card</li>
<li>Ensure your Raspberry Pi has access to the internet.</li>
<li>Insert SD card to Raspberry Pi and turn it on. Initial installation of Home Assistant will take about 5 minutes.</li>
</ol>
<p>These instructions are also available as a <a href="https://www.youtube.com/watch?v=iIz6XqDwHEk">video</a>. And additioning info is available in this <a href="https://www.youtube.com/watch?v=tCGlQSsQ-Mc">video</a>.</p>
<p>After initial boot, you can reach Home Assistant in your browser at <a href="http://hassbian.local:8123">http://hassbian.local:8123</a>. If you want to login via SSH, the default username is <code class="highlighter-rouge">pi</code> and password is <code class="highlighter-rouge">raspberry</code> (please change this by running <code class="highlighter-rouge">passwd</code>). The Home Assistant configuration is located at <code class="highlighter-rouge">/home/homeassistant/.homeassistant/</code>.</p>
<p>The following extras are included on the image:</p>
<ul>
<li>GPIO pins are ready to use.</li>
<li>Bluetooth is ready to use (supported models only, no Bluetooth LE).</li>
</ul>
<h3><a class="title-link" name="technical-details" href="#technical-details"></a> Technical Details</h3>
<ul>
<li>Home Assistant is installed in a virtual Python environment at <code class="highlighter-rouge">/srv/homeassistant/</code></li>
<li>Home Assistant will be started as a service run by the user <code class="highlighter-rouge">homeassistant</code></li>
<li>The configuration is located at <code class="highlighter-rouge">/home/homeassistant/.homeassistant</code></li>
</ul>
</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='section'>
<h1 class="title delta">Topics</h1>
@ -318,13 +277,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -334,7 +290,6 @@
<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 />
@ -346,7 +301,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -354,4 +308,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Raspberry Pi integrations - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Home Assistant integrations specific to the Raspberry Pi.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/hassbian/integrations/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Raspberry Pi integrations">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Home Assistant integrations specific to the Raspberry Pi.">
<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="Raspberry Pi integrations">
<meta name="twitter:description" content="Home Assistant integrations specific to the Raspberry Pi.">
<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="/docs/">Docs</a></li>
@ -64,134 +53,86 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/hassbian/integrations.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Raspberry Pi Integrations
</h1>
</header>
<hr class="divider">
<p>Some components that are specific for the Raspberry Pi can require some further configuration outside of Home Assistant. All commands below are assumed to be executed with the <code class="highlighter-rouge">pi</code> account. For full documentation of these components refer to the <a href="/components">components</a> page.</p>
<h3><a class="title-link" name="bluetooth-tracker" href="#bluetooth-tracker"></a> Bluetooth Tracker</h3>
<p>The Bluetooth tracker will work on a Raspberry Pi 3 with the built-in Bluetooth module or with a USB Bluetooth device on any of the other Raspberry Pis.</p>
<p>Install the following external dependencies.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo apt-get install bluetooth libbluetooth-dev
</code></pre>
</div>
<p>After this follow the <a href="/components/device_tracker.bluetooth_tracker/">Bluetooth Tracker component</a> and <a href="/components/device_tracker/">Device Tracker page</a> pages.</p>
<h3><a class="title-link" name="raspberry-pi-camera" href="#raspberry-pi-camera"></a> Raspberry Pi Camera</h3>
<p>The Raspberry Pi Camera is a specific camera for the Raspberry Pi boards. For more information about the camera I suggest reading the <a href="https://www.raspberrypi.org/documentation/usage/camera/">documentation</a> from the Raspberry Pi foundation.</p>
<p>To use the camera it needs to be enabled with the <code class="highlighter-rouge">raspi-config</code> utility.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo raspi-config
</code></pre>
</div>
<p>Select <code class="highlighter-rouge">Enable camera</code> choose <code class="highlighter-rouge">&lt;Yes&gt;</code> and hit <code class="highlighter-rouge">Enter</code>, then go to <code class="highlighter-rouge">Finish</code> and youll be prompted to reboot.</p>
<p>After reboot add your <code class="highlighter-rouge">homeassistant</code> account to the <code class="highlighter-rouge">video</code> group.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo adduser homeassistant video
</code></pre>
</div>
<p>After this follow the <a href="/components/camera.rpi_camera/">Raspberry Pi Camera component</a> page.</p>
<h3><a class="title-link" name="raspberry-pi-gpio" href="#raspberry-pi-gpio"></a> Raspberry Pi GPIO</h3>
<p>Each of the following devices are connected to the GPIO pins on the Raspberry Pi.
For more details about the GPIO layout, visit the <a href="https://www.raspberrypi.org/documentation/usage/gpio/">documentation</a> from the Raspberry Pi foundation.</p>
<p>Since these are not normally used some extra permission will need to be added.
In general the permission that is needed is granted by adding the <code class="highlighter-rouge">homeassistant</code> account to the <code class="highlighter-rouge">gpio</code> group.</p>
<h3><a class="title-link" name="raspberry-pi-cover" href="#raspberry-pi-cover"></a> Raspberry Pi Cover</h3>
<p>Add your <code class="highlighter-rouge">homeassistant</code> account to the <code class="highlighter-rouge">gpio</code> group</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo adduser homeassistant gpio
</code></pre>
</div>
<p>After this follow the <a href="/components/cover.rpi_gpio/">Raspberry Pi Cover component</a> page.</p>
<h3><a class="title-link" name="dht-sensor" href="#dht-sensor"></a> DHT Sensor</h3>
<p>Add your <code class="highlighter-rouge">homeassistant</code> account to the <code class="highlighter-rouge">gpio</code> group</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo adduser homeassistant gpio
</code></pre>
</div>
<p>After this follow the <a href="/components/sensor.dht/">DHT Sensor component</a> page.</p>
<h3><a class="title-link" name="raspberry-pi-gpio-binary-sensor" href="#raspberry-pi-gpio-binary-sensor"></a> Raspberry PI GPIO Binary Sensor</h3>
<p>Add your <code class="highlighter-rouge">homeassistant</code> account to the <code class="highlighter-rouge">gpio</code> group</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo adduser homeassistant gpio
</code></pre>
</div>
<p>After this follow the <a href="/components/binary_sensor.rpi_gpio/">Raspberry PI GPIO Binary Sensor component</a> page.</p>
<h3><a class="title-link" name="raspberry-pi-gpio-switch" href="#raspberry-pi-gpio-switch"></a> Raspberry PI GPIO Switch</h3>
<p>Add your <code class="highlighter-rouge">homeassistant</code> account to the <code class="highlighter-rouge">gpio</code> group.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo adduser homeassistant gpio
</code></pre>
</div>
<p>After this follow the <a href="/components/switch.rpi_gpio/">Raspberry PI GPIO Switch component</a> page.</p>
<h3><a class="title-link" name="raspberry-pi-rf-switch" href="#raspberry-pi-rf-switch"></a> Raspberry Pi RF Switch</h3>
<p>Add your <code class="highlighter-rouge">homeassistant</code> account to the <code class="highlighter-rouge">gpio</code> group</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo adduser homeassistant gpio
</code></pre>
</div>
<p>After this follow the <a href="/components/switch.rpi_rf/">Raspberry Pi RF Switch component</a> page.</p>
<h3><a class="title-link" name="one-wire-sensor" href="#one-wire-sensor"></a> One wire Sensor</h3>
<p>The One wire sensor requires that support for it is enabled on the Raspberry Pi and that the One Wire device is connected to GPIO pin 4.
To enable One Wire support add the following line to the end of <code class="highlighter-rouge">/boot/config.txt</code></p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">dtoverlay=w1-gpio</span>
</code></pre>
</div>
<p>After this follow the <a href="/components/sensor.onewire/">One Wire Sensor component</a> page.</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='section'>
<h1 class="title delta">Topics</h1>
@ -378,13 +319,10 @@ To enable One Wire support add the following line to the end of <code class="hig
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -394,7 +332,6 @@ To enable One Wire support add the following line to the end of <code class="hig
<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 />
@ -406,7 +343,6 @@ To enable One Wire support add the following line to the end of <code class="hig
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -414,4 +350,4 @@ To enable One Wire support add the following line to the end of <code class="hig
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Upgrading Hassbian - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions how to upgrade Hasbian to the latest version.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/hassbian/upgrading/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Upgrading Hassbian">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions how to upgrade Hasbian to the latest version.">
<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="Upgrading Hassbian">
<meta name="twitter:description" content="Instructions how to upgrade Hasbian to the latest version.">
<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="/docs/">Docs</a></li>
@ -64,46 +53,28 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/hassbian/upgrading.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Upgrading Hassbian
</h1>
</header>
<hr class="divider">
<p>HASSbian is based on Raspbian and uses the same repositories. Any changes to Raspbian will be reflected in HASSbian. To update and upgrade system packages and installed software (excluding Home Assistant) do the following.
Log in as the <code class="highlighter-rouge">pi</code> account and execute the following commands:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo apt-get update
<span class="gp">$ </span>sudo apt-get -y upgrade
</code></pre>
</div>
<h4><a class="title-link" name="updating-home-assistant" href="#updating-home-assistant"></a> Updating Home Assistant</h4>
<p>To update the Home Assistant installation execute the following command as the <code class="highlighter-rouge">pi</code> user.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo systemctl stop home-assistant@homeassistant.service
<span class="gp">$ </span>sudo su -s /bin/bash homeassistant
<span class="gp">$ </span><span class="nb">source</span> /srv/homeassistant/bin/activate
@ -112,27 +83,16 @@ Log in as the <code class="highlighter-rouge">pi</code> account and execute the
<span class="gp">$ </span>sudo systemctl start home-assistant@homeassistant.service
</code></pre>
</div>
<h4><a class="title-link" name="upgrading-the-hassbian-scripts" href="#upgrading-the-hassbian-scripts"></a> Upgrading the hassbian-scripts</h4>
<p>To update the hassbian-scripts directory execute the following command as the <code class="highlighter-rouge">pi</code> user.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span><span class="nb">cd</span> /home/pi/hassbian-scripts
<span class="gp">$ </span>git pull
</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='section'>
<h1 class="title delta">Topics</h1>
@ -319,13 +279,10 @@ Log in as the <code class="highlighter-rouge">pi</code> account and execute the
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -335,7 +292,6 @@ Log in as the <code class="highlighter-rouge">pi</code> account and execute the
<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 />
@ -347,7 +303,6 @@ Log in as the <code class="highlighter-rouge">pi</code> account and execute the
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -355,4 +310,4 @@ Log in as the <code class="highlighter-rouge">pi</code> account and execute the
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Documentation - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Documentation for Home Assistant">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Documentation">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="website">
<meta property="og:description" content="Documentation for 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="Documentation">
<meta name="twitter:description" content="Documentation for 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="/docs/">Docs</a></li>
@ -64,36 +53,21 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/docs/index.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Documentation
</h1>
</header>
<hr class="divider">
<p>The documentation covers from beginner to advanced topic around the installation, the setup, the configuration, and the usage of Home Assistant.</p>
<div class="text-center hass-option-cards">
<a class="option-card" href="/docs/hassbian/installation/">
<div class="img-container">
@ -132,22 +106,12 @@
<div class="title">iOS</div>
</a>
</div>
<p><br /></p>
<p>To see what Home Assistant can do, take a look at the <a href="/demo">demo 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='section'>
<h1 class="title delta">Topics</h1>
@ -334,13 +298,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -350,7 +311,6 @@
<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 />
@ -362,7 +322,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -370,4 +329,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Installation on ArchLinux - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Installation of Home Assistant on your ArchLinux computer.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/installation/archlinux/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Installation on ArchLinux">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Installation of Home Assistant on your ArchLinux computer.">
<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="Installation on ArchLinux">
<meta name="twitter:description" content="Installation of Home Assistant on your ArchLinux computer.">
<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="/docs/">Docs</a></li>
@ -64,66 +53,38 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/installation/archlinux.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Installation on ArchLinux
</h1>
</header>
<hr class="divider">
<p><a href="https://www.archlinux.org/">ArchLinux</a> is a lightweight and flexible Linux distribution. There are official packages optimized for the i686 and x86-64 architectures available.</p>
<p>Install the needed Python packages.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo pacman -S python
<span class="gp">$ </span>sudo pacman -S python-pip
</code></pre>
</div>
<p>and Home Assistant itself.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>pip3 install homeassistant
</code></pre>
</div>
<p>Home Assistant is part of the <a href="https://aur.archlinux.org/packages/home-assistant/">AUR</a>. This meand that it can be installed directly with <code class="highlighter-rouge">pacman</code>:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo pacman -S home-assistant
</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='section'>
<h1 class="title delta">Topics</h1>
@ -310,13 +271,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -326,7 +284,6 @@
<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 />
@ -338,7 +295,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -346,4 +302,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Installation on a Armbian system - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions to install Home Assistant on an Armbian-powered systems.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/installation/armbian/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Installation on a Armbian system">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions to install Home Assistant on an Armbian-powered systems.">
<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="Installation on a Armbian system">
<meta name="twitter:description" content="Instructions to install Home Assistant on an Armbian-powered systems.">
<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="/docs/">Docs</a></li>
@ -64,60 +53,34 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/installation/armbian.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Installation on a Armbian System
</h1>
</header>
<hr class="divider">
<p><a href="https://www.armbian.com">armbian</a> runs on a wide-variety of <a href="https://www.armbian.com/download/">ARM development boards</a>. Currently there are around 50 boards supported inclusive the OrangePi family, Cubieboard, Pine64, and Odroid.</p>
<p>Setup Python and <code class="highlighter-rouge">pip</code></p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo apt-get update
<span class="gp">$ </span>sudo apt-get install python3-dev python3-pip
</code></pre>
</div>
<p>Install Home Assistant.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>pip3 install homeassistant
</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='section'>
<h1 class="title delta">Topics</h1>
@ -304,13 +267,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -320,7 +280,6 @@
<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 />
@ -332,7 +291,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -340,4 +298,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Installation on CentOS/RHEL - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Installation of Home Assistant on your CentOS/RHEL computer.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/installation/centos/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Installation on CentOS/RHEL">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Installation of Home Assistant on your CentOS/RHEL computer.">
<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="Installation on CentOS/RHEL">
<meta name="twitter:description" content="Installation of Home Assistant on your CentOS/RHEL computer.">
<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="/docs/">Docs</a></li>
@ -64,68 +53,41 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/installation/centos.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Installation on CentOS/RHEL
</h1>
</header>
<hr class="divider">
<p>To run Python 3.x on <a href="https://www.centos.org/">CentOS</a> or RHEL (Red Hat Enterprise Linux), <a href="https://www.softwarecollections.org/en/scls/rhscl/rh-python34/">Software Collections</a> needs to be activated first.</p>
<p>There are effort in progress to bring Python 3.4 to <a href="https://fedoraproject.org/wiki/EPEL">Extra Packages for Enterprise Linux (EPEL)</a> which will allow you to follow the <a href="/docs/installation/fedora/">Fedora Instructions</a>.</p>
<h3><a class="title-link" name="using-software-collections" href="#using-software-collections"></a> Using Software Collections</h3>
<p>First of all install the software collection repository as root. For example, on CentOS:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>yum install centos-release-scl
</code></pre>
</div>
<p>Then install the Python 3.5 package:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>yum install rh-python35
</code></pre>
</div>
<p>Once installed, switch to your homeassistant user (if youve set one up), enable the software collection and check that it has set up the new version of Python:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>scl <span class="nb">enable </span>rh-python35 bash
<span class="gp">$ </span>python --version
Python 3.5.1
</code></pre>
</div>
<p>You will be in a command shell set up with Python 3.5 as your default version. The virtualenv and pip commands will be correct for this version, so you can now create a virtual environment and install home assistant following the main <a href="https://home-assistant.io/docs/installation/virtualenv/#step-4-set-up-the-virtualenv">instructions</a>.</p>
<p>You will need to enable the software collection each time you log on before you activate your virtual environment.</p>
<h3><a class="title-link" name="systemd-with-software-collections" href="#systemd-with-software-collections"></a> Systemd with Software Collections</h3>
<p>To autostart homeassistant using systemd follow the main <a href="https://home-assistant.io/docs/autostart/systemd/">instructions</a> and adjust the template as follows:</p>
<div class="highlighter-rouge"><pre class="highlight"><code>[Unit]
Description=Home Assistant
After=network.target
@ -143,18 +105,10 @@ ExecStart=/usr/bin/scl enable rh-python35 -- /srv/homeassistant/bin/hass -c "/ho
WantedBy=multi-user.target
</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='section'>
<h1 class="title delta">Topics</h1>
@ -341,13 +295,10 @@ WantedBy=multi-user.target
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -357,7 +308,6 @@ WantedBy=multi-user.target
<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 />
@ -369,7 +319,6 @@ WantedBy=multi-user.target
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -377,4 +326,4 @@ WantedBy=multi-user.target
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Installation on Docker - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions to install Home Assistant on a Docker.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/installation/docker/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Installation on Docker">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions to install Home Assistant on a Docker.">
<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="Installation on Docker">
<meta name="twitter:description" content="Instructions to install Home Assistant on a Docker.">
<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="/docs/">Docs</a></li>
@ -64,66 +53,40 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/installation/docker.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Installation on Docker
</h1>
</header>
<hr class="divider">
<p>Installation with Docker is straightforward. Adjust the following command so that <code class="highlighter-rouge">/path/to/your/config/</code> points at the folder where you want to store your config and run it:</p>
<h3><a class="title-link" name="linux" href="#linux"></a> Linux</h3>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>docker run -d --name<span class="o">=</span><span class="s2">"home-assistant"</span> -v /path/to/your/config:/config -v /etc/localtime:/etc/localtime:ro --net<span class="o">=</span>host homeassistant/home-assistant
</code></pre>
</div>
<h3><a class="title-link" name="macos" href="#macos"></a> macOS</h3>
<p>When using <code class="highlighter-rouge">boot2docker</code> on macOS you are unable to map the local time to your Docker container. Use <code class="highlighter-rouge">-e "TZ=America/Los_Angeles"</code> instead of <code class="highlighter-rouge">-v /etc/localtime:/etc/localtime:ro</code>. Replace “America/Los_Angeles” with <a href="http://en.wikipedia.org/wiki/List_of_tz_database_time_zones">your timezone</a>.</p>
<p>Additionally, if your expectation is that you will be able to browse directly to <code class="highlighter-rouge">http://localhost:8123</code> on your macOS host, then you will also need to replace the <code class="highlighter-rouge">--net=host</code> switch with <code class="highlighter-rouge">-p 8123:8123</code>. This is currently the only way to forward ports on to your actual host (macOS) machine instead of the virtual machine inside <code class="highlighter-rouge">xhyve</code>. More detail on this can be found in <a href="https://forums.docker.com/t/should-docker-run-net-host-work/14215/10">the docker forums</a>.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>docker run -d --name<span class="o">=</span><span class="s2">"home-assistant"</span> -v /path/to/your/config:/config -e <span class="s2">"TZ=America/Los_Angeles"</span> -p 8123:8123 homeassistant/home-assistant
</code></pre>
</div>
<h3><a class="title-link" name="windows" href="#windows"></a> Windows</h3>
<p>When running Home Assistant in Docker on Windows, you may have some difficulty getting ports to map for routing (since the <code class="highlighter-rouge">--net=host</code> switch actually applies to the hypervisors network interface). To get around this, you will need to add port proxy ipv4 rules to your local Windows machine, like so (Replacing 192.168.1.10 with whatever your Windows IP is, and 10.0.50.2 with whatever your Docker containers IP is):</p>
<div class="highlighter-rouge"><pre class="highlight"><code>netsh interface portproxy add v4tov4 listenaddress=192.168.1.10 listenport=8123 connectaddress=10.0.50.2 connectport=8123
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8123 connectaddress=10.0.50.2 connectport=8123
</code></pre>
</div>
<p>This will let you access your Home Assistant portal from http://localhost:8123, and if you forward port 8123 on your router to your machine IP, the traffic will be forwarded on through to the docker container.</p>
<h3><a class="title-link" name="synology-nas" href="#synology-nas"></a> Synology NAS</h3>
<p>As Synology within DSM now supports Docker (with a neat UI), you can simply install Home Assistant using docker without the need for command-line. For details about the package (including compatability-information, if your NAS is supported), see https://www.synology.com/en-us/dsm/app_packages/Docker</p>
<p>The steps would be:</p>
<ul>
<li>Install “Docker” package on your Synology NAS</li>
@ -141,7 +104,6 @@ netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8123 conne
<li>Click on “Next” and then “Apply”</li>
<li>Your Home Assistant within Docker should now run</li>
</ul>
<p>Remark: to update your Home Assistant on your Docker within Synology NAS, you just have to do the following:</p>
<ul>
<li>Go to the Docker-app and move to “Image”-section</li>
@ -152,29 +114,17 @@ netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8123 conne
<li>Right-click on it and select “Action”-&gt;”Clear”. You wont loose any data, as all files are stored in your config-directory</li>
<li>Start the container again - it will then boot up with the new Home Assistant image</li>
</ul>
<h3><a class="title-link" name="restart" href="#restart"></a> Restart</h3>
<p>This will launch Home Assistant and serve the web interface from port 8123 on your Docker host.</p>
<p>If you change the configuration you have to restart the server. To do that you have 2 options.</p>
<ol>
<li>You can go to the <img src="/images/screenshots/developer-tool-services-icon.png" alt="service developer tool icon" class="no-shadow" height="38" /> service developer tools, select the service <code class="highlighter-rouge">homeassistant/restart</code> and click “Call Service”.</li>
<li>Or you can restart it from an terminal by running <code class="highlighter-rouge">docker restart home-assistant</code></li>
</ol>
</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='section'>
<h1 class="title delta">Topics</h1>
@ -361,13 +311,10 @@ netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8123 conne
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -377,7 +324,6 @@ netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8123 conne
<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 />
@ -389,7 +335,6 @@ netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8123 conne
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -397,4 +342,4 @@ netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=8123 conne
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Installation on Fedora - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Installation of Home Assistant on your Fedora computer.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/installation/fedora/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Installation on Fedora">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Installation of Home Assistant on your Fedora computer.">
<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="Installation on Fedora">
<meta name="twitter:description" content="Installation of Home Assistant on your Fedora computer.">
<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="/docs/">Docs</a></li>
@ -64,60 +53,33 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/installation/fedora.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Installation on Fedora
</h1>
</header>
<hr class="divider">
<p><a href="https://fedoraproject.org">Fedora</a> is an operating system based on the Linux kernel, developed by the community-supported Fedora Project. There are releases for x86 and x86_64 including ARM and other architectures.</p>
<p>Install the development package of Python.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo dnf -y install python3-devel
</code></pre>
</div>
<p>and Home Assistant itself.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>pip3 install homeassistant
</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='section'>
<h1 class="title delta">Topics</h1>
@ -304,13 +266,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -320,7 +279,6 @@
<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 />
@ -332,7 +290,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -340,4 +297,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Installation of Home Assistant - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions how to install Home Assistant to launch on start.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/installation/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Installation of Home Assistant">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions how to install Home Assistant to launch on start.">
<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="Installation of Home Assistant">
<meta name="twitter:description" content="Instructions how to install Home Assistant to launch on start.">
<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="/docs/">Docs</a></li>
@ -64,36 +53,21 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/installation.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Installation of Home Assistant
</h1>
</header>
<hr class="divider">
<p>Home Assistant provides multiple ways to be installed. A requirement is that you have <a href="https://www.python.org/downloads/">Python</a> installed. For Windows we require at least <strong>Python 3.5</strong> and for other operating systems at least <strong>Python 3.4.2</strong>.</p>
<div class="text-center hass-option-cards">
<a class="option-card" href="/docs/hassbian/installation/">
<div class="img-container">
@ -162,33 +136,18 @@
<div class="title">Vagrant</div>
</a>
</div>
<p>Once Home Assistant is installed, execute the following code in a console/terminal to check if the setup was successful:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>hass
</code></pre>
</div>
<p>The first start may take a minute or two because the needed packages will be downloaded and installed. The web interface will be served on <a href="http://localhost:8123">http://localhost:8123</a>.</p>
<p>For more details about <code class="highlighter-rouge">hass</code>, please refer to the <a href="/docs/tools/hass/">tools section</a>.</p>
<p>If youre running a Linux-based platform, we suggest you follow the <a href="/docs/installation/virtualenv/">VirtualEnv instructions</a> to avoid using <code class="highlighter-rouge">root</code>.</p>
<p>It may be needed that you install additional library depending on the platforms/components you want to use.</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='section'>
<h1 class="title delta">Topics</h1>
@ -375,13 +334,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -391,7 +347,6 @@
<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 />
@ -403,7 +358,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -411,4 +365,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Installation on macOS - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Installation of Home Assistant on your macOS system.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/installation/macos/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Installation on macOS">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Installation of Home Assistant on your macOS system.">
<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="Installation on macOS">
<meta name="twitter:description" content="Installation of Home Assistant on your macOS system.">
<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="/docs/">Docs</a></li>
@ -64,57 +53,31 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/installation/macos.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Installation on macOS
</h1>
</header>
<hr class="divider">
<p><a href="http://www.apple.com/macos/">macOS</a> is available by default on Apple computer. If you run a different operating system, please refer to the other section of the documentation.</p>
<p>To run Home Assistant on macOS you need to install Python first. Download Python from https://www.python.org/downloads/mac-osx/ and follow the instructions of the installer.</p>
<p>Open a terminal and install Home Assistant.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>pip3 install homeassistant
</code></pre>
</div>
<p>Check this <a href="https://www.youtube.com/watch?v=hej6ipN86ls">video</a> for the installation on macOS.</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='section'>
<h1 class="title delta">Topics</h1>
@ -301,13 +264,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -317,7 +277,6 @@
<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 />
@ -329,7 +288,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -337,4 +295,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Installation on your computer - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Installation of Home Assistant on your computer.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/installation/python/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Installation on your computer">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Installation of Home Assistant on your computer.">
<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="Installation on your computer">
<meta name="twitter:description" content="Installation of Home Assistant on your computer.">
<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="/docs/">Docs</a></li>
@ -64,70 +53,41 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/installation/python.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Installation on Your Computer
</h1>
</header>
<hr class="divider">
<p>Once Python is installed, execute the following code in a console:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>pip3 install homeassistant
<span class="gp">$ </span>hass --open-ui
</code></pre>
</div>
<p>Running these commands will:</p>
<ul>
<li>Install Home Assistant</li>
<li>Launch Home Assistant and serve the web interface on <a href="http://localhost:8123">http://localhost:8123</a></li>
</ul>
<p>If youre running a Linux-based platform, we suggest you follow the <a href="/docs/installation/virtualenv/">VirtualEnv instructions</a> to avoid using <code class="highlighter-rouge">root</code>.</p>
<p>Video tutorials of this process for various operating systems are available here:</p>
<ul>
<li><a href="https://www.youtube.com/watch?v=X27eVvuqwnY">Windows 10</a></li>
<li><a href="https://www.youtube.com/watch?v=hej6ipN86ls">macOS</a></li>
<li><a href="https://www.youtube.com/watch?v=SXaAG1lGNH0">Ubuntu 14.04</a></li>
</ul>
</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='section'>
<h1 class="title delta">Topics</h1>
@ -314,13 +274,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -330,7 +287,6 @@
<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 />
@ -342,7 +298,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -350,4 +305,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Raspberry Pi All-In-One Installer - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Home Assistant is an open-source home automation platform running on Python 3.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/installation/raspberry-pi-all-in-one/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Raspberry Pi All-In-One Installer">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="">
<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="Raspberry Pi All-In-One Installer">
<meta name="twitter:description" content="">
<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="/docs/">Docs</a></li>
@ -64,70 +53,44 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/installation/raspberry-pi-all-in-one.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Raspberry Pi All-In-One Installer
</h1>
</header>
<hr class="divider">
<p>The <a href="https://github.com/home-assistant/fabric-home-assistant">Raspberry Pi All-In-One Installer</a> deploys a complete Home Assistant server including support for MQTT with websockets, Z-Wave, and the Open-Zwave Control Panel.</p>
<p>The only requirement is that you have a Raspberry Pi with a fresh installation of <a href="https://www.raspberrypi.org/downloads/raspbian/">Raspbian</a> connected to your network.</p>
<p class="note">
Note that as of 2016-11-30 SSH is disabled by default in the official Raspbian images. Adding an empty file called <code class="highlighter-rouge">ssh</code> to <code class="highlighter-rouge">/boot/</code> or the FAT32 partition will enable it. More information is on the Raspberry Pi Foundation <a href="https://www.raspberrypi.org/blog/page/2/?fish#a-security-update-for-raspbian-pixel">Blog</a>
</p>
<ul>
<li>Login to Raspberry Pi. For example with <code class="highlighter-rouge">ssh pi@your_raspberry_pi_ip</code></li>
<li>Run the following command</li>
</ul>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>curl -O https://raw.githubusercontent.com/home-assistant/fabric-home-assistant/master/hass_rpi_installer.sh <span class="o">&amp;&amp;</span> sudo chown pi:pi hass_rpi_installer.sh <span class="o">&amp;&amp;</span> bash hass_rpi_installer.sh
</code></pre>
</div>
<p class="note warning">
Note this command is one-line and not run as sudo.
</p>
<p>Installation will take approx. 1-2 hours depending on the Raspberry Pi model the installer is being run against. The installer will identitfy what Raspberry PI hardware revision you are using and adjust commands accordingly. A complete log of the install is located at: <code class="highlighter-rouge">/home/pi/fabric-home-assistant/installation_report.txt</code> The installer has been updated to simply log any errors encountered, but resume installing. Please consult the “installation report” if your install encountered issues.</p>
<p><a href="http://www.bruhautomation.com">BRUH automation</a> has created <a href="https://www.youtube.com/watch?v=VGl3KTrYo6s">a tutorial video</a> explaining how to install Raspbian on your Raspberry Pi and install Home Assistant using the All-In-One Installer.</p>
<p>Once rebooted, your Raspberry Pi will be up and running with Home Assistant. You can access it at <a href="http://your_raspberry_pi_ip:8123">http://your_raspberry_pi_ip:8123</a>.</p>
<p>The Home Assistant configuration is located at <code class="highlighter-rouge">/home/homeassistant/.homeassistant</code> (or <code class="highlighter-rouge">/home/hass/.homeassistant</code> if installed prior to December 2016). The <a href="https://virtualenv.pypa.io/en/latest/">virtualenv</a> with the Home Assistant installation is located at <code class="highlighter-rouge">/srv/homeassistant/homeassistant_venv</code>. As part of the secure installation, a new user (<strong>homeassistant</strong>) is added to your Raspberry Pi to run Home Assistant. This is a system account and does not have login or other abilities by design. When editing your <code class="highlighter-rouge">configuration.yaml</code> files, you will need to run the commands with <code class="highlighter-rouge">sudo</code> or by switching user.</p>
<p class="note note">
<em>Windows users</em>: Setting up WinSCP to allow this seemlessly is at the end of this page.
</p>
<p>By default, installation makes use of a Python Virtualenv. If you wish to not follow this recommendation, you may add the flag <code class="highlighter-rouge">-n</code> to the end of the install command specified above.</p>
<p>The All-In-One Installer script will do the following automatically:</p>
<ul>
<li>Create all needed directories</li>
<li>Create needed service accounts</li>
@ -140,11 +103,8 @@ Note that as of 2016-11-30 SSH is disabled by default in the official Raspbian i
<li>Build openzwave-control-panel in <code class="highlighter-rouge">/srv/homeassistant/src/open-zwave-control-panel</code></li>
<li>Add Home Assistant to systemd services to start at boot</li>
</ul>
<h3><a class="title-link" name="upgrading" href="#upgrading"></a> Upgrading</h3>
<p>To upgrade the All-In-One setup manually:</p>
<ul>
<li>Login to Raspberry Pi <code class="highlighter-rouge">ssh pi@your_raspberry_pi_ip</code></li>
<li>Change to homeassistant user <code class="highlighter-rouge">sudo su -s /bin/bash homeassistant</code></li>
@ -152,38 +112,28 @@ Note that as of 2016-11-30 SSH is disabled by default in the official Raspbian i
<li>Update HA <code class="highlighter-rouge">pip3 install --upgrade homeassistant</code></li>
<li>Type <code class="highlighter-rouge">exit</code> to logout the hass user and return to the <code class="highlighter-rouge">pi</code> user.</li>
</ul>
<p class="note note">
If you deployed Home Assistant via the AiO installer prior to December 2016, replace <code class="highlighter-rouge">sudo su -s /bin/bash homeassistant</code> with <code class="highlighter-rouge">sudo su -s /bin/bash hass</code> and <code class="highlighter-rouge">source /srv/homeassistant/homeassistant_venv/bin/activate</code> with <code class="highlighter-rouge">source /srv/hass/hass_venv/bin/activate</code></p>
<p>To upgrade with fabric:</p>
<ul>
<li>Login to Raspberry Pi <code class="highlighter-rouge">ssh pi@your_raspberry_pi_ip</code></li>
<li>Change to <code class="highlighter-rouge">cd ~/fabric-home-assistant</code></li>
<li>Run <code class="highlighter-rouge">fab upgrade_homeassistant</code></li>
</ul>
<p>After upgrading, you can restart Home Assistant a few different ways:</p>
<ul>
<li>Restarting the Raspberry Pi <code class="highlighter-rouge">sudo reboot</code></li>
<li>Restarting the Home-Assistant Service <code class="highlighter-rouge">sudo systemctl restart home-assistant.service</code></li>
</ul>
<h3><a class="title-link" name="to-change-the-mqtt-default-password" href="#to-change-the-mqtt-default-password"></a> To change the MQTT default password</h3>
<ul>
<li>Login to Raspberry Pi <code class="highlighter-rouge">ssh pi@your_raspberry_pi_ip</code></li>
<li>Change password <code class="highlighter-rouge">sudo mosquitto_passwd /etc/mosquitto/pwfile pi</code></li>
<li>Restart mosquitto <code class="highlighter-rouge">sudo systemctl restart mosquitto.service</code></li>
<li>Be sure to update your <code class="highlighter-rouge">configuration.yaml</code> to reflect the new password.</li>
</ul>
<h3><a class="title-link" name="using-the-ozwcp-web-application" href="#using-the-ozwcp-web-application"></a> Using the OZWCP web application</h3>
<p>To launch the OZWCP web application:</p>
<ul>
<li>Make sure Home Assistant is not running! So stop that first</li>
<li>Login to Raspberry Pi <code class="highlighter-rouge">ssh pi@your_raspberry_pi_ip</code></li>
@ -192,36 +142,21 @@ If you deployed Home Assistant via the AiO installer prior to December 2016, rep
<li>Open a web browser to <code class="highlighter-rouge">http://your_pi_ip:8888</code></li>
<li>Specify your zwave controller, for example <code class="highlighter-rouge">/dev/ttyACM0</code> and hit initialize</li>
</ul>
<p class="note note">
If you deployed Home Assistant via the AiO installer prior to December 2016, replace <code class="highlighter-rouge">cd /srv/homeassistant/src/open-zwave-control-panel/</code> with <code class="highlighter-rouge">cd /srv/hass/src/open-zwave-control-panel/</code>
</p>
<p class="note warning">
Dont check the USB box regardless of using a USB based device.
</p>
<h3><a class="title-link" name="using-the-gpios" href="#using-the-gpios"></a> Using the GPIOs</h3>
<p>The (<strong>homeassistant</strong>) user is added to the GPIO group as part of the install now.</p>
<h3><a class="title-link" name="winscp" href="#winscp"></a> WinSCP</h3>
<p>If you are Windows users who is using <a href="https://winscp.net/">WinSCP</a>, please note that after running the installer, you will need to modify settings allowing you to “switch users” to edit your configuration files.</p>
<p>First create a new session on WinSCP using Protocol <strong>SCP</strong> pointing to your Pi IP address and port 22 and then modify the needed setting by click on <strong>Advanced…</strong> -&gt; <strong>Environment</strong> -&gt; <strong>SCP/Shell</strong> -&gt; <strong>Shell</strong> and selecting <code class="highlighter-rouge">sudo su -</code>.</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='section'>
<h1 class="title delta">Topics</h1>
@ -408,13 +343,10 @@ Dont check the USB box regardless of using a USB based device.
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -424,7 +356,6 @@ Dont check the USB box regardless of using a USB based device.
<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 />
@ -436,7 +367,6 @@ Dont check the USB box regardless of using a USB based device.
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -444,4 +374,4 @@ Dont check the USB box regardless of using a USB based device.
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Manual installation on a Raspberry Pi - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions to install Home Assistant on a Raspberry Pi runnning Raspbian Lite.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/installation/raspberry-pi/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Manual installation on a Raspberry Pi">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions to install Home Assistant on a Raspberry Pi runnning Raspbian Lite.">
<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="Manual installation on a Raspberry Pi">
<meta name="twitter:description" content="Instructions to install Home Assistant on a Raspberry Pi runnning Raspbian Lite.">
<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="/docs/">Docs</a></li>
@ -64,79 +53,51 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/installation/raspberry-pi.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Manual Installation on a Raspberry Pi
</h1>
</header>
<hr class="divider">
<p>This installation of Home Assistant requires the Raspberry Pi to run <a href="https://www.raspberrypi.org/downloads/raspbian/">Raspbian Lite</a>. The installation will be installed in a <a href="/docs/installation/virtualenv">Virtual Environment</a> with minimal overhead. Instructions assume this is a new installation of Raspbian Lite.</p>
<p>Connect to the Raspberry Pi over SSH. Default password is <code class="highlighter-rouge">raspberry</code>.
You will need to enable SSH access. The Raspberry Pi website has instructions <a href="https://www.raspberrypi.org/documentation/remote-access/ssh/">here</a>.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>ssh pi@ipadress
</code></pre>
</div>
<p>Changing the default password is encouraged.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>passwd
</code></pre>
</div>
<p>Update the system.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo apt-get update
<span class="gp">$ </span>sudo apt-get upgrade -y
</code></pre>
</div>
<p>Install the dependencies.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo apt-get install python3 python3-venv python3-pip
</code></pre>
</div>
<p>Add an account for Home Assistant called <code class="highlighter-rouge">homeassistant</code>.
Since this account is only for running Home Assistant the extra arguments of <code class="highlighter-rouge">-rm</code> is added to create a system account and create a home directory.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo useradd -rm homeassistant
</code></pre>
</div>
<p>Next we will create a directory for the installation of Home Assistant and change the owner to the <code class="highlighter-rouge">homeassistant</code> account.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span><span class="nb">cd</span> /srv
<span class="gp">$ </span>sudo mkdir homeassistant
<span class="gp">$ </span>sudo chown homeassistant:homeassistant homeassistant
</code></pre>
</div>
<p>Next up is to create and change to a virtual environment for Home Assistant. This will be done as the <code class="highlighter-rouge">homeassistant</code> account.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo su -s /bin/bash homeassistant
<span class="gp">$ </span><span class="nb">cd</span> /srv/homeassistant
<span class="gp">$ </span>python3 -m venv .
@ -144,31 +105,18 @@ Since this account is only for running Home Assistant the extra arguments of <co
</code></pre>
</div>
<p>Once you have activated the virtual environment you will notice the prompt change and then you can install Home Assistant.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="o">(</span>homeassistant<span class="o">)</span> homeassistant@raspberrypi:/srv/homeassistant <span class="nv">$ </span>pip3 install homeassistant
</code></pre>
</div>
<p>Start Home Assistant for the first time. This will complete the installation, create the <code class="highlighter-rouge">.homeasssistant</code> configuration directory in the <code class="highlighter-rouge">/home/homeassistant</code> directory and install any basic dependencies.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="o">(</span>homeassistant<span class="o">)</span> <span class="nv">$ </span>hass
</code></pre>
</div>
<p>You can now reach your installation on your Raspberry Pi over the web interface on <a href="http://ipaddress:8123">http://ipaddress:8123</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='section'>
<h1 class="title delta">Topics</h1>
@ -355,13 +303,10 @@ Since this account is only for running Home Assistant the extra arguments of <co
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -371,7 +316,6 @@ Since this account is only for running Home Assistant the extra arguments of <co
<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 />
@ -383,7 +327,6 @@ Since this account is only for running Home Assistant the extra arguments of <co
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -391,4 +334,4 @@ Since this account is only for running Home Assistant the extra arguments of <co
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Installation on a Synology NAS - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions to install Home Assistant on a Synology NAS.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/installation/synology/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Installation on a Synology NAS">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions to install Home Assistant on a Synology NAS.">
<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="Installation on a Synology NAS">
<meta name="twitter:description" content="Instructions to install Home Assistant on a Synology NAS.">
<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="/docs/">Docs</a></li>
@ -64,97 +53,64 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/installation/synology.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Installation on a Synology NAS
</h1>
</header>
<hr class="divider">
<p>There are 2 alternatives, when using Home Assistant on Synology NAS:</p>
<ol>
<li>using Docker</li>
<li>directly running on DSM</li>
</ol>
<p>Option 1 is described on the <a href="/docs/installation/docker/">Docker installation page</a>, whereas Option 2 is described below.</p>
<p>The following configuration has been tested on Synology 413j running DSM 6.0-7321 Update 1.</p>
<p>Running these commands will:</p>
<ul>
<li>Install Home Assistant</li>
<li>Enable Home Assistant to be launched on <a href="http://localhost:8123">http://localhost:8123</a></li>
</ul>
<p>Using the Synology webadmin:</p>
<ul>
<li>Install python3 using the Synology Package Center</li>
<li>Create homeassistant user and add to the “users” group</li>
</ul>
<p>SSH onto your synology &amp; login as admin or root</p>
<ul>
<li>Log in with your own administrator account</li>
<li>Switch to root using:</li>
</ul>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo -i
</code></pre>
</div>
<p>Check the path to python3 (assumed to be /volume1/@appstore/py3k/usr/local/bin)</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="c"># cd /volume1/@appstore/py3k/usr/local/bin</span>
</code></pre>
</div>
<p>Install PIP (Pythons package management system)</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="c"># ./python3 -m ensurepip</span>
</code></pre>
</div>
<p>Use PIP to install Homeassistant package</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="c"># ./python3 -m pip install homeassistant</span>
</code></pre>
</div>
<p>Create homeassistant config directory &amp; switch to it</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="c"># mkdir /volume1/homeassistant</span>
<span class="c"># cd /volume1/homeassistant</span>
</code></pre>
</div>
<p>Hint: alternatively you can also create a “Shared Folder” via Synology WebUI (e.g. via “File Station”) - this has the advantage that the folder is visible via “File Station”.</p>
<p>Create hass-daemon file using the following code (edit the variables in uppercase if necessary)</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="c">#!/bin/sh</span>
<span class="c"># Package</span>
@ -259,29 +215,21 @@ esac
</span></code></pre>
</div>
<p>Create links to python folders to make things easier in the future:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="c"># ln -s /volume1/@appstore/py3k/usr/local/bin python3</span>
<span class="c"># ln -s /volume1/@appstore/py3k/usr/local/lib/python3.5/site-packages/homeassistant</span>
</code></pre>
</div>
<p>Set the owner and permissions on your config folder</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="c"># chown -R homeassistant:users /volume1/homeassistant</span>
<span class="c"># chmod -R 664 /volume1/homeassistant</span>
</code></pre>
</div>
<p>Make the daemon file executable:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="c"># chmod 777 /volume1/homeassistant/hass-daemon</span>
</code></pre>
</div>
<p>Update your firewall (if it is turned on on the Synology device):</p>
<ul>
<li>Go to your Synology control panel</li>
<li>Go to security</li>
@ -293,56 +241,37 @@ esac
<li>Click on OK</li>
<li>Click on OK again</li>
</ul>
<p>Copy your configuration.yaml file into the config folder
Thats it… youre all set to go</p>
<p>Here are some useful commands:</p>
<ul>
<li>Start Home Assistant:</li>
</ul>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo /volume1/homeassistant/hass-daemon start
</code></pre>
</div>
<ul>
<li>Stop Home Assistant:</li>
</ul>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo /volume1/homeassistant/hass-daemon stop
</code></pre>
</div>
<ul>
<li>Restart Home Assistant:</li>
</ul>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo /volume1/homeassistant/hass-daemon restart
</code></pre>
</div>
<ul>
<li>Upgrade Home Assistant::</li>
</ul>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>/volume1/@appstore/py3k/usr/local/bin/python3 -m pip install --upgrade homeassistant
</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='section'>
<h1 class="title delta">Topics</h1>
@ -529,13 +458,10 @@ Thats it… youre all set to go</p>
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -545,7 +471,6 @@ Thats it… youre all set to go</p>
<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 />
@ -557,7 +482,6 @@ Thats it… youre all set to go</p>
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -565,4 +489,4 @@ Thats it… youre all set to go</p>
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Troubleshooting installation problems - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Common installation problems and their solutions.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/installation/troubleshooting/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Troubleshooting installation problems">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Common installation problems and their solutions.">
<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="Troubleshooting installation problems">
<meta name="twitter:description" content="Common installation problems and their solutions.">
<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="/docs/">Docs</a></li>
@ -64,109 +53,66 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/installation/troubleshooting.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Troubleshooting Installation Problems
</h1>
</header>
<hr class="divider">
<p>It can happen that you run into trouble while installing Home Assistant. This page is here to help you solve the most common problems.</p>
<h4><a class="title-link" name="pip3-command-not-found" href="#pip3-command-not-found"></a> pip3: command not found</h4>
<p>This utility should have been installed as part of the Python 3.4 installation. Check if Python 3.4 is installed by running <code class="highlighter-rouge">python3 --version</code>. If it is not installed, <a href="https://www.python.org/getit/">download it here</a>.</p>
<p>If you are able to successfully run <code class="highlighter-rouge">python3 --version</code> but not <code class="highlighter-rouge">pip3</code>, install Home Assistant by running the following command instead:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>python3 -m pip install homeassistant
</code></pre>
</div>
<p>On a Debian system, you can also install python3 by <code class="highlighter-rouge">sudo apt-get install python3</code>, and pip3 by <code class="highlighter-rouge">sudo apt-get install python3-pip</code>.</p>
<h4><a class="title-link" name="no-module-named-pip" href="#no-module-named-pip"></a> No module named pip</h4>
<p><a href="https://pip.pypa.io/en/stable/">Pip</a> should come bundled with the latest Python 3 but is omitted by some distributions. If you are unable to run <code class="highlighter-rouge">python3 -m pip --version</code> you can install <code class="highlighter-rouge">pip</code> by <a href="https://bootstrap.pypa.io/get-pip.py">downloading the installer</a> and running it with Python 3:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>python3 get-pip.py
</code></pre>
</div>
<h4><a class="title-link" name="libyaml-is-not-found-or-a-compiler-error" href="#libyaml-is-not-found-or-a-compiler-error"></a> libyaml is not found or a compiler error</h4>
<p>On a Debian system, install the Python 3 YAML library by <code class="highlighter-rouge">sudo apt-get install python3-yaml</code>.</p>
<h4><a class="title-link" name="distutilserrorsdistutilsoptionerror-must-supply-either-home-or-prefixexec-prefix----not-both" href="#distutilserrorsdistutilsoptionerror-must-supply-either-home-or-prefixexec-prefix----not-both"></a> distutils.errors.DistutilsOptionError: must supply either home or prefix/exec-prefix not both</h4>
<p>This is a known issue if youre on a Mac using Homebrew to install Python. Please follow <a href="https://github.com/Homebrew/brew/blob/master/docs/Homebrew-and-Python.md#note-on-pip-install---user">these instructions</a> to resolve it.</p>
<h4><a class="title-link" name="no-access-to-the-frontend" href="#no-access-to-the-frontend"></a> No access to the frontend</h4>
<p>In newer Linux distributions (at least Fedora &gt; 22/CentOS 7) the access to a host is very limited. This means that you cant access the Home Assistant frontend that is running on a host outside of the host machine. Windows and macOS machines may also have issues with this.</p>
<p>To fix this you will need to open your machines firewall for TCP traffic to port 8123. The method for doing this will vary depending on your operating system and the firewall you have installed. Below are some suggestions to try. Google is your friend here.</p>
<ul>
<li><a href="http://windows.microsoft.com/en-us/windows/open-port-windows-firewall#1TC=windows-7">Windows instructions</a></li>
<li><a href="https://support.apple.com/en-us/HT201642">macOS instructions</a></li>
</ul>
<p>For systems with <strong>firewalld</strong> (Fedora, CentOS/RHEL, etc.):</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo firewall-cmd --permanent --add-port<span class="o">=</span>8123/tcp
<span class="gp">$ </span>sudo firewall-cmd --reload
</code></pre>
</div>
<p>For UFW systems (Ubuntu, Debian, Raspbian, etc.):</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo ufw allow 8123/tcp
</code></pre>
</div>
<p>For <code class="highlighter-rouge">iptables</code> systems (was the default for older distributions):</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>iptables -I INPUT -p tcp --dport 8123 -j ACCEPT
<span class="gp">$ </span>iptables-save &gt; /etc/network/iptables.rules <span class="c"># your rules may be saved elsewhere</span>
</code></pre>
</div>
<h4><a class="title-link" name="after-upgrading-your-browser-login-gets-stuck-at-the-loading-data-step" href="#after-upgrading-your-browser-login-gets-stuck-at-the-loading-data-step"></a> After upgrading, your browser login gets stuck at the “loading data” step</h4>
<p>After upgrading to a new version, you may notice your browser gets stuck at the “loading data” login screen. Close the window/tab and go into your browser settings and delete all the cookies for your URL. You can then log back in and it should work.</p>
<p>Android Chrome
chrome -&gt; settings -&gt; site settings -&gt; storage -&gt; search for your URL for home assistant-&gt; “clear &amp; reset”</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='section'>
<h1 class="title delta">Topics</h1>
@ -353,13 +299,10 @@ chrome -&gt; settings -&gt; site settings -&gt; storage -&gt; search for your UR
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -369,7 +312,6 @@ chrome -&gt; settings -&gt; site settings -&gt; storage -&gt; search for your UR
<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 />
@ -381,7 +323,6 @@ chrome -&gt; settings -&gt; site settings -&gt; storage -&gt; search for your UR
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -389,4 +330,4 @@ chrome -&gt; settings -&gt; site settings -&gt; storage -&gt; search for your UR
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Updating Home Assistant - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Step to update Home Assistant.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/installation/updating/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Updating Home Assistant">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Step to update 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="Updating Home Assistant">
<meta name="twitter:description" content="Step to update 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="/docs/">Docs</a></li>
@ -64,83 +53,49 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/installation/updating.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Updating Home Assistant
</h1>
</header>
<hr class="divider">
<p class="note warning">
The upgrade process differs depending on the installation you have, so please review the documentation that is specific to your install <a href="/docs/hassbian/common-tasks/#update-home-assistant">HASSbian</a>, <a href="/docs/installation/raspberry-pi-all-in-one/#upgrading">Raspberry Pi All-In-One Installer</a>, <a href="/docs/installation/vagrant/">Vagrant</a>, or <a href="/docs/installation/virtualenv/#upgrading-home-assistant">Virtualenv</a>.
</p>
<p>The default way to update Home Assistant to the latest release, when available, is:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>pip3 install --upgrade homeassistant
</code></pre>
</div>
<p>After updating, you must restart Home Assistant for the changes to take effect. This means that you will have to restart <code class="highlighter-rouge">hass</code> itself or the <a href="/docs/autostart/">autostarting</a> daemon (if applicable)</p>
<p class="note">
To avoid permission errors, the upgrade must be run as the same user as the installation was completed, again review the documentation specific to your install <a href="/docs/hassbian/installation/">HASSbian</a>, <a href="/docs/installation/raspberry-pi-all-in-one/">Raspberry Pi All-In-One Installer</a>, <a href="/docs/installation/vagrant/">Vagrant</a>, or <a href="/docs/installation/virtualenv">Virtualenv</a>.
</p>
<p><a href="http://www.bruhautomation.com">BRUH automation</a> has created <a href="https://www.youtube.com/watch?v=tuG2rs1Cl2Y">a tutorial video</a> explaining how to upgrade Home Assistant.</p>
<h4><a class="title-link" name="run-a-specific-version" href="#run-a-specific-version"></a> Run a specific version</h4>
<p>In the event that a Home Assistant version doesnt play well with your hardware setup, you can downgrade to a previous release:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>pip3 install <span class="nv">homeassistant</span><span class="o">==</span>0.XX.X
</code></pre>
</div>
<h4><a class="title-link" name="run-the-development-version" href="#run-the-development-version"></a> Run the development version</h4>
<p>If you want to stay on the bleeding-edge Home Assistant development branch, you can upgrade to <code class="highlighter-rouge">dev</code>.</p>
<p class="note warning">
The “dev” branch is likely to be unstable. Potential consequences include loss of data and instance corruption.
</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>pip3 install --upgrade git+git://github.com/home-assistant/home-assistant.git@dev
</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='section'>
<h1 class="title delta">Topics</h1>
@ -327,13 +282,10 @@ The upgrade process differs depending on the installation you have, so please re
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -343,7 +295,6 @@ The upgrade process differs depending on the installation you have, so please re
<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 />
@ -355,7 +306,6 @@ The upgrade process differs depending on the installation you have, so please re
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -363,4 +313,4 @@ The upgrade process differs depending on the installation you have, so please re
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Installation on Vagrant - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions to run Home Assistant on a Vagrant VM.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/installation/vagrant/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Installation on Vagrant">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions to run Home Assistant on a Vagrant VM.">
<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="Installation on Vagrant">
<meta name="twitter:description" content="Instructions to run Home Assistant on a Vagrant VM.">
<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="/docs/">Docs</a></li>
@ -64,134 +53,82 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/installation/vagrant.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Installation on Vagrant
</h1>
</header>
<hr class="divider">
<p>A <code class="highlighter-rouge">Vagrantfile</code> is available into <code class="highlighter-rouge">virtualization/vagrant</code> folder for quickly spinning up a Linux virtual machine running Home Assistant. This can be beneficial for those who want to experiment with Home Assistant and/or developers willing to easily test local changes and run test suite against them. In the same <code class="highlighter-rouge">virtualization/vagrant</code> folder theres also a <code class="highlighter-rouge">provision.sh</code> shell script which provides an easy way to interact with the Home Assistant instance running within the Vagrant VM.</p>
<p class="note">
Vagrant is intended for testing/development only. It is NOT recommended for permanent installations.
</p>
<h2><a class="title-link" name="install-vagrant" href="#install-vagrant"></a> Install Vagrant</h2>
<p>You must have <a href="https://www.vagrantup.com/downloads.html">Vagrant</a> and <a href="https://www.virtualbox.org/wiki/Downloads">Virtualbox</a> installed on your workstation. Vagrant and Virtualbox support all the main platforms, including Windows, MacOS and Linux.</p>
<h2><a class="title-link" name="get-home-assistant-source-code" href="#get-home-assistant-source-code"></a> Get Home Assistant source code</h2>
<p>Download the Home Assistant source code by either downloading the .zip file from <a href="https://github.com/home-assistant/home-assistant/releases">GitHub releases page</a> or by using <a href="https://git-scm.com/">Git</a></p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>git clone https://github.com/home-assistant/home-assistant.git
<span class="gp">$ </span><span class="nb">cd </span>home-assistant/virtualization/vagrant
</code></pre>
</div>
<p class="note">
The following instructions will assume you changed your working directory to be <code class="highlighter-rouge">home-assistant/virtualization/vagrant</code>. This is mandatory because Vagrant will look for informations about the running VM inside that folder and wont work otherwise
</p>
<p class="note">
When using Vagrant on Windows, change gits <code class="highlighter-rouge">auto.crlf</code> to input before cloning the Home Assistant repository. With input setting git wont automatically change line endings from Unix LF to Windows CRLF. Shell scripts executed during provision wont work with Windows line endings.
</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>git config --global core.autocrlf input
</code></pre>
</div>
<h2><a class="title-link" name="create-the-vagrant-vm-and-start-home-assistant" href="#create-the-vagrant-vm-and-start-home-assistant"></a> Create the Vagrant VM and start Home Assistant</h2>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>./provision.sh setup
</code></pre>
</div>
<p>This will download and start a virtual machine using Virtualbox, which will internally setup the development environment necessary to start Home Assistant. The whole process might take up to 30 minutes to complete, depending on Internet connection speed and workstation resources. After the VM has started successfully, the Home Assistant frontend will be accessible locally from your browser at <a href="http://localhost:8123">http://localhost:8123</a></p>
<h2><a class="title-link" name="stopping-vagrant" href="#stopping-vagrant"></a> Stopping Vagrant</h2>
<p>To shutdown the Vagrant host:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>./provision.sh stop
</code></pre>
</div>
<p>To start it again:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>./provision.sh start
</code></pre>
</div>
<h2><a class="title-link" name="restarting-home-assistant-process-to-test-changes" href="#restarting-home-assistant-process-to-test-changes"></a> Restarting Home Assistant process to test changes</h2>
<p>The root <code class="highlighter-rouge">home-assistant</code> directory on your workstation will be mirrored with <code class="highlighter-rouge">/home-assistant</code> inside the VM. In <code class="highlighter-rouge">virtualization/vagrant</code> theres also a <code class="highlighter-rouge">config</code> folder that you can use to drop configuration files (Check the <a href="/docs/configuration/">Configuration section</a> in the docmentation for more information about how to configure Home Assistant).</p>
<p>Any changes made to the local directory on your workstation will be available from the Vagrant host, so to apply your changes to the Home Assistant process, just restart it using the provided <code class="highlighter-rouge">provision.sh</code> wrapper script:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>./provision.sh restart
</code></pre>
</div>
<p class="note">
This command will only restart the Home Assistant process inside the Vagrant VM, it will not reboot the virtual machine. If thats what you want, the right command is <code>vagrant reload</code>
</p>
<h2><a class="title-link" name="run-test-suite-tox" href="#run-test-suite-tox"></a> Run test suite (Tox)</h2>
<p>To run tests against the local version of Home Assistant code:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>./provision.sh tests
</code></pre>
</div>
<h2><a class="title-link" name="cleanup" href="#cleanup"></a> Cleanup</h2>
<p>To completely remove the VM</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>./provision.sh destroy
</code></pre>
</div>
<p>To completely remove the VM <strong>and</strong> setup a fresh new environment:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>./provision.sh recreate
</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='section'>
<h1 class="title delta">Topics</h1>
@ -378,13 +315,10 @@ This command will only restart the Home Assistant process inside the Vagrant VM,
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -394,7 +328,6 @@ This command will only restart the Home Assistant process inside the Vagrant VM,
<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 />
@ -406,7 +339,6 @@ This command will only restart the Home Assistant process inside the Vagrant VM,
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -414,4 +346,4 @@ This command will only restart the Home Assistant process inside the Vagrant VM,
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Installation in virtualenv - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions how to install Home Assistant in a virtual environment.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/installation/virtualenv/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Installation in virtualenv">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions how to install Home Assistant in a virtual environment.">
<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="Installation in virtualenv">
<meta name="twitter:description" content="Instructions how to install Home Assistant in a virtual environment.">
<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="/docs/">Docs</a></li>
@ -64,147 +53,90 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/installation/virtualenv.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Installation in Virtualenv
</h1>
</header>
<hr class="divider">
<p>There are several reasons why it makes sense to run Home Assistant in a virtual environment. A <a href="https://virtualenv.pypa.io/en/latest/">virtualenv</a> encapsulates all aspect of a Python environment within a single directory tree. That means the Python packages you install for Home Assistant wont interact with the rest of your system and vice-versa. It means a random upgrade for some other program on your computer wont break Home Assistant, and it means you dont need to install Python packages as root.</p>
<p>Virtualenvs are pretty easy to setup. This example will walk through one method of setting one up (there are certainly others). Well be using Debian in this example (as many Home Assistant users are running Raspbian on a Raspberry Pi), but all of the Python related steps should be the same on just about any platform.</p>
<h3><a class="title-link" name="step-0-install-some-dependencies" href="#step-0-install-some-dependencies"></a> Step 0: Install some dependencies</h3>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo apt-get update
<span class="gp">$ </span>sudo apt-get upgrade
<span class="gp">$ </span>sudo apt-get install python-pip python3-dev
<span class="gp">$ </span>sudo pip install --upgrade virtualenv
</code></pre>
</div>
<h3><a class="title-link" name="step-1-create-a-home-assistant-user--group" href="#step-1-create-a-home-assistant-user--group"></a> Step 1: Create a Home Assistant user &amp; group</h3>
<p>This step is optional, but its a good idea to give services like Home Assistant their own user. It gives you more granular control over permissions, and reduces the exposure to the rest of your system in the event there is a security related bug in Home Assistant. This is a reasonably Linux oriented step, and will look different on other operating systems (or even other Linux distributions).</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo adduser --system homeassistant
<span class="gp">$ </span>sudo addgroup homeassistant
</code></pre>
</div>
<p>Home Assistant stores its configuration in <code class="highlighter-rouge">$HOME/.homeassistant</code> by default, so in this case, it would be in <code class="highlighter-rouge">/home/homeassistant/.homeassistant</code></p>
<p>If you plan to use a Z-Wave controller, you will need to add this user to the <code class="highlighter-rouge">dialout</code> group</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo usermod -G dialout -a homeassistant
</code></pre>
</div>
<h3><a class="title-link" name="step-2-create-a-directory-for-home-assistant" href="#step-2-create-a-directory-for-home-assistant"></a> Step 2: Create a directory for Home Assistant</h3>
<p>This can be anywhere you want. As example we put it in <code class="highlighter-rouge">/srv</code>. You also need to change the ownership of the directory to the user you created above (if you created one).</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo mkdir /srv/homeassistant
<span class="gp">$ </span>sudo chown homeassistant:homeassistant /srv/homeassistant
</code></pre>
</div>
<h3><a class="title-link" name="step-3-become-the-new-user" href="#step-3-become-the-new-user"></a> Step 3: Become the new user</h3>
<p>This is obviously only necessary if you created a <code class="highlighter-rouge">homeassistant</code> user, but if you did, be sure to switch to that user whenever you install things in your virtualenv, otherwise youll end up with mucked up permissions.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo su -s /bin/bash homeassistant
</code></pre>
</div>
<p>The <code class="highlighter-rouge">su</code> command means switch user. We use the -s flag because the <code class="highlighter-rouge">homeassistant</code> user is a system user and doesnt have a default shell by default (to prevent attackers from being able to log in as that user).</p>
<h3><a class="title-link" name="step-4-set-up-the-virtualenv" href="#step-4-set-up-the-virtualenv"></a> Step 4: Set up the virtualenv</h3>
<p>All this step does is stick a Python environment in the directory were using. Thats it. Its just a directory. Theres nothing special about it, and it is entirely self-contained.</p>
<p>It will include a <code class="highlighter-rouge">bin</code> directory, which will contain all the executables used in the virtualenv (including hass itself). It also includes a script called <code class="highlighter-rouge">activate</code> which we will use to activate the virtualenv.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>virtualenv -p python3 /srv/homeassistant
</code></pre>
</div>
<h3><a class="title-link" name="step-5-activate-the-virtualenv" href="#step-5-activate-the-virtualenv"></a> Step 5: Activate the virtualenv</h3>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span><span class="nb">source</span> /srv/homeassistant/bin/activate
</code></pre>
</div>
<p>After that, your prompt should include <code class="highlighter-rouge">(homeassistant)</code>.</p>
<h3><a class="title-link" name="step-6-install-home-assistant" href="#step-6-install-home-assistant"></a> Step 6: Install Home Assistant</h3>
<p>Once your virtualenv has been activated, you dont need to <code class="highlighter-rouge">sudo</code> any of your <code class="highlighter-rouge">pip</code> commands. <code class="highlighter-rouge">pip</code> will be installing things in the virtualenv, which the <code class="highlighter-rouge">homeassistant</code> user has permission to modify.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">(homeassistant)$ </span>pip3 install --upgrade homeassistant
</code></pre>
</div>
<p>And thats it… you now have Home Assistant installed, and you can be sure that every bit of it is contained in <code class="highlighter-rouge">/srv/homeassistant</code>.</p>
<h3><a class="title-link" name="finally-run-home-assistant" href="#finally-run-home-assistant"></a> Finally… Run Home Assistant</h3>
<p>There are two ways to launch Home Assistant. If you are <strong>in</strong> the virtualenv, you can just run <code class="highlighter-rouge">hass</code> and it will work as normal. If the virtualenv is not activated, you just use the <code class="highlighter-rouge">hass</code> executable in the <code class="highlighter-rouge">bin</code> directory mentioned earlier. There is one caveat… Because Home Assistant stores its configuration in the users home directory, we need to be the user <code class="highlighter-rouge">homeassistant</code> user or specify the configuration with <code class="highlighter-rouge">-c</code>.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo -u homeassistant -H /srv/homeassistant/bin/hass
</code></pre>
</div>
<p>The <code class="highlighter-rouge">-H</code> flag is important. It sets the <code class="highlighter-rouge">$HOME</code> environment variable to <code class="highlighter-rouge">/home/homeassistant</code> so <code class="highlighter-rouge">hass</code> can find its configuration.</p>
<h3><a class="title-link" name="upgrading-home-assistant" href="#upgrading-home-assistant"></a> Upgrading Home Assistant</h3>
<p>Upgrading Home Assistant is simple, just repeat steps 3, 5 and 6.</p>
<h3><a class="title-link" name="starting-home-assistant-on-boot" href="#starting-home-assistant-on-boot"></a> Starting Home Assistant on boot</h3>
<p>The <a href="/getting-started/autostart/">autostart instructions</a> will work just fine, just be sure to replace <code class="highlighter-rouge">/usr/bin/hass</code> with <code class="highlighter-rouge">/srv/homeassistant/bin/hass</code> and specify the <code class="highlighter-rouge">homeassistant</code> user where appropriate.</p>
<h3><a class="title-link" name="installing-python-openzwave-in-a-virtualenv" href="#installing-python-openzwave-in-a-virtualenv"></a> Installing python-openzwave in a virtualenv</h3>
<p>If you want to use Z-Wave devices, you will need to install <code class="highlighter-rouge">python-openzwave</code> in your virtualenv. This requires a small tweak to the instructions in <a href="/getting-started/z-wave/">the Z-Wave Getting Started documentation</a></p>
<p>Install the dependencies as normal (Note: you will need to do this as your normal user, since <code class="highlighter-rouge">homeassistant</code> isnt a sudoer).</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo apt-get install cython3 libudev-dev python3-sphinx python3-setuptools git
</code></pre>
</div>
<p>Then, activate your virtualenv (steps 3 and 5 above) and upgrade cython.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">(homeassistant)$ </span>pip3 install --upgrade <span class="nv">cython</span><span class="o">==</span>0.24.1
</code></pre>
</div>
<p>Finally, get and install <code class="highlighter-rouge">python-openzwave</code>.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">(homeassistant)$ </span>mkdir /srv/homeassistant/src
<span class="gp">(homeassistant)$ </span><span class="nb">cd</span> /srv/homeassistant/src
<span class="gp">(homeassistant)$ </span>git clone https://github.com/OpenZWave/python-openzwave.git
@ -214,18 +146,10 @@
<span class="gp">(homeassistant)$ </span><span class="nv">PYTHON_EXEC</span><span class="o">=</span><span class="sb">`</span>which python3<span class="sb">`</span> make install
</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='section'>
<h1 class="title delta">Topics</h1>
@ -412,13 +336,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -428,7 +349,6 @@
<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 />
@ -440,7 +360,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -448,4 +367,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Installation on a Windows system - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions to install Home Assistant on a Microsoft Windows system.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/installation/windows/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Installation on a Windows system">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions to install Home Assistant on a Microsoft Windows system.">
<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="Installation on a Windows system">
<meta name="twitter:description" content="Instructions to install Home Assistant on a Microsoft Windows system.">
<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="/docs/">Docs</a></li>
@ -64,62 +53,35 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/installation/windows.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
Installation on a Windows System
</h1>
</header>
<hr class="divider">
<p>To run Home Assistant on Microsoft Windows installation you need to install Python first. Download Python for https://www.python.org/downloads/windows/ and follow the instructions of the installer.</p>
<p>Start</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">C:\...\&gt; </span>pip3 install homeassistant
<span class="gp">C:\...\&gt; </span>py -m homeassistant --open-ui
</code></pre>
</div>
<p>For autostarting Home Assistant please refer to this <a href="https://community.home-assistant.io/t/autostart-on-windows/3504">guide</a>.</p>
<p>Check this <a href="https://www.youtube.com/watch?v=X27eVvuqwnY">video</a> for the installation on Windows 10.</p>
<p class="note warning">
The Microsoft Windows platform is not a primary target to install home Assistant. Also, not all tools and third-party modules will work.
</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='section'>
<h1 class="title delta">Topics</h1>
@ -306,13 +268,10 @@ The Microsoft Windows platform is not a primary target to install home Assistant
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -322,7 +281,6 @@ The Microsoft Windows platform is not a primary target to install home Assistant
<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 />
@ -334,7 +292,6 @@ The Microsoft Windows platform is not a primary target to install home Assistant
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -342,4 +299,4 @@ The Microsoft Windows platform is not a primary target to install home Assistant
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>MQTT Birth and Last will - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions how to setup MQTT birth and last will messages within Home Assistant.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/docs/mqtt/birth_will/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="MQTT Birth and Last will">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions how to setup MQTT birth and last will messages 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="MQTT Birth and Last will">
<meta name="twitter:description" content="Instructions how to setup MQTT birth and last will messages 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="/docs/">Docs</a></li>
@ -64,38 +53,22 @@
</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">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_docs/mqtt/birth_will.markdown'>Edit this page on GitHub</a></div>
<header>
<h1 class="title indent">
MQTT Birth and Last Will
</h1>
</header>
<hr class="divider">
<p>MQTT supports so-called Birth and Last Will and Testament (LWT) messages. The former is used to send a message after the service has started, and the latter is used to notify other clients about an ungracefully disconnected client.</p>
<p>To integrate MQTT Birth and Last Will messages into Home Assistant, add the following section 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">mqtt</span><span class="pi">:</span>
<span class="s">birth_message</span><span class="pi">:</span>
@ -106,9 +79,7 @@
<span class="s">payload</span><span class="pi">:</span> <span class="s1">'</span><span class="s">offline'</span>
</code></pre>
</div>
<p>Configuration variables:</p>
<ul>
<li><strong>birth_message</strong> (<em>Optional</em>):
<ul>
@ -127,18 +98,10 @@
</ul>
</li>
</ul>
</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='section'>
<h1 class="title delta">Topics</h1>
@ -325,13 +288,10 @@
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -341,7 +301,6 @@
<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 />
@ -353,7 +312,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -361,4 +319,4 @@
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
</body>
</html>
</html>

Some files were not shown because too many files have changed in this diff Show more