Site updated at 2016-06-05 14:12:13 UTC

This commit is contained in:
Travis CI 2016-06-05 14:12:13 +00:00
parent 78f980f8ba
commit 2d7d7cbeaa
53 changed files with 679 additions and 252 deletions

View file

@ -105,115 +105,7 @@
You will have to restart Home Assistant each time you make changes in <code>configuration.yaml</code> in order for these to take effect.
</p>
<h3><a class="title-link" name="yaml" href="#yaml"></a> YAML</h3>
<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>configuraton.yaml</code> file to specify its settings.<br />
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="highlighter-coderay"><div class="CodeRay">
<div class="code"><pre><span class="key">notify</span>:
<span class="key">platform</span>: <span class="string"><span class="content">pushbullet</span></span>
<span class="key">api_key</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">o.1234abcd</span><span class="delimiter">&quot;</span></span>
<span class="key">name</span>: <span class="string"><span class="content">pushbullet</span></span>
</pre></div>
</div>
</div>
<ul>
<li>A <strong>component</strong> provides the core logic for some functionality (like <code>notify</code> provides sending notifications).</li>
<li>A <strong>platform</strong> makes the connection to a specific software or hardware platform (like <code>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>-</code> while mappings have the format <code>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>platform: pushbullet</code> is a property of (nested inside) the <code>notify</code> component.<br />
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.</p>
<p>Lines that start with <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.<br />
The other properties (like name) are specified using mappings. Note that the second line just has <code>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="highlighter-coderay"><div class="CodeRay">
<div class="code"><pre><span class="key">input_select</span>:
<span class="key">threat</span>:
<span class="key">name</span>: <span class="string"><span class="content">Threat level</span></span>
<span class="comment"># A collection is used for options</span>
<span class="key">options</span>:
- <span class="string"><span class="content">0</span></span>
- <span class="string"><span class="content">1</span></span>
- <span class="string"><span class="content">2</span></span>
- <span class="string"><span class="content">3</span></span>
<span class="key">initial</span>: <span class="string"><span class="content">0</span></span>
</pre></div>
</div>
</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>state_topic</code> (one of the properties used for MQTT sensors).</p>
<div class="highlighter-coderay"><div class="CodeRay">
<div class="code"><pre><span class="key">sensor</span>:
- <span class="string"><span class="content">platform: mqtt</span></span>
<span class="key">state_topic</span>: <span class="string"><span class="content">sensor/topic</span></span>
- <span class="string"><span class="content">platform: mqtt</span></span>
<span class="key">state_topic</span>: <span class="string"><span class="content">sensor2/topic</span></span>
</pre></div>
</div>
</div>
<h3><a class="title-link" name="setting-up-the-basic-info" href="#setting-up-the-basic-info"></a> Setting up the basic info</h3>
<p>By default Home Assistant will try to detect your location and will automatically select a temperature unit and time zone based on your location. You can overwrite this by adding the following information to your <code>configuration.yaml</code>:</p>
<div class="highlighter-coderay"><div class="CodeRay">
<div class="code"><pre><span class="key">homeassistant</span>:
<span class="comment"># Omitted values in this section will be auto detected using freegeoip.io</span>
<span class="comment"># Location required to calculate the time the sun rises and sets</span>
<span class="key">latitude</span>: <span class="string"><span class="content">32.87336</span></span>
<span class="key">longitude</span>: <span class="string"><span class="content">117.22743</span></span>
<span class="comment"># C for Celsius, F for Fahrenheit</span>
<span class="key">temperature_unit</span>: <span class="string"><span class="content">C</span></span>
<span class="comment"># Pick yours from here:</span>
<span class="comment"># http://en.wikipedia.org/wiki/List_of_tz_database_time_zones</span>
<span class="key">time_zone</span>: <span class="string"><span class="content">America/Los_Angeles</span></span>
<span class="comment"># Name of the location where Home Assistant is running</span>
<span class="key">name</span>: <span class="string"><span class="content">Home</span></span>
</pre></div>
</div>
</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>The first thing you will want to add is a password for the web interface. Use your favourite text editor to open <code>configuration.yaml</code> and edit the <code>http</code> section:</p>
<div class="highlighter-coderay"><div class="CodeRay">
<div class="code"><pre><span class="key">http</span>:
<span class="key">api_password</span>: <span class="string"><span class="content">YOUR_PASSWORD</span></span>
</pre></div>
</div>
</div>
<p>See the <a href="/components/http/">HTTP component documentation</a> for more options like HTTPS encryption.</p>
<h3><a class="title-link" name="setting-up-your-phone-or-tablet" href="#setting-up-your-phone-or-tablet"></a> Setting up your phone or tablet</h3>
<p>Home Assistant runs as a self-hosted web application and contains support to be added to your home screen. If youre on Android you can follow <a href="/getting-started/android/">the visual guide</a>. For other devices, open Home Assistant on your mobile browser and tap the add to home screen option.</p>
<h3><a class="title-link" name="remote-access" href="#remote-access"></a> Remote access</h3>
<p>To make Home Assistant accessible while away from home, you will have to setup port forwarding from your router to port 8123 on the computer that is hosting Home Assistant. Instructions on how to do this can be found by searching <code>&lt;Router model&gt; port forwarding instructions</code>.</p>
<p>Some Internet service providers will only offer dynamic IPs. This can cause you to be unable to access 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>You should definitely consider to encrypt your traffic if you are accessing your Home Assistant installation from abroad. 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>
<h3><a href="/getting-started/devices/">Next step: Setting up devices »</a></h3>
<h3><a href="/getting-started/yaml/">Next step: Get familiar with YAML »</a></h3>
</article>
@ -238,15 +130,16 @@ The other properties (like name) are specified using mappings. Note that the sec
<li><a href='/getting-started/installation-raspberry-pi-all-in-one/'>Raspberry Pi All-In-One Installer </a></li>
<li><a href='/getting-started/installation-docker/'>Docker </a></li>
<li><a href='/getting-started/installation-synology/'>Synology NAS </a></li>
<li><a href='/getting-started/installation-virtualenv/'>VirtualEnv Linux </a></li>
<li><a href='/getting-started/installation-virtualenv/'>Virtualenv Linux </a></li>
<li><a href='/getting-started/updating/'>Updating </a></li>
<li><a href='/getting-started/troubleshooting/'>Troubleshooting </a></li>
</ul>
</li>
<li>
Configuration
<a class='active' href='/getting-started/configuration/'>Configuration </a>
<ul>
<li><a class='active' href='/getting-started/configuration/'>Configuration.yaml </a></li>
<li><a href='/getting-started/yaml/'>YAML </a></li>
<li><a href='/getting-started/basic/'>Basic information </a></li>
<li><a href='/getting-started/devices/'>Setting up devices </a></li>
<li><a href='/getting-started/customizing-devices/'>Customizing devices and services </a></li>
<li><a href='/getting-started/presence-detection/'>Presence Detection </a></li>