251 lines
No EOL
11 KiB
HTML
251 lines
No EOL
11 KiB
HTML
<!doctype html>
|
||
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
|
||
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
|
||
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
|
||
<!--[if gt IE 8]><!--> <html> <!--<![endif]-->
|
||
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||
<title>Automating Home Assistant - Home Assistant</title>
|
||
<meta name="author" content="Paulus Schoutsen">
|
||
<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/getting-started/automation/">
|
||
|
||
<meta property="fb:app_id" content="338291289691179">
|
||
<meta property="og:title" content="Automating Home Assistant">
|
||
<meta property="og:site_name" content="Home Assistant">
|
||
<meta property="og:url" content="https://home-assistant.io/getting-started/automation/">
|
||
<meta property="og:type" content="website">
|
||
<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/home-assistant-logo-2164x2164.png">
|
||
|
||
<meta name="twitter:card" content="summary">
|
||
<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/home-assistant-logo-2164x2164.png">
|
||
|
||
<link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet">
|
||
<link href="/atom.xml" rel="alternate" title="Home Assistant" type="application/atom+xml">
|
||
<link rel='shortcut icon' href='/images/favicon.ico' />
|
||
<link rel='icon' type='image/png' href='/images/favicon-192x192.png' sizes='192x192' />
|
||
</head>
|
||
|
||
<body >
|
||
|
||
<header>
|
||
<div class="grid-wrapper">
|
||
<div class="grid">
|
||
|
||
<div class="grid__item three-tenths lap-two-sixths palm-one-whole ha-title">
|
||
<a href="/" class="site-title">
|
||
<img width='40' src='/demo/favicon-192x192.png'>
|
||
<span>Home Assistant</span>
|
||
</a>
|
||
</div>
|
||
|
||
<div class="grid__item seven-tenths lap-four-sixths palm-one-whole">
|
||
<nav>
|
||
<input type="checkbox" id="toggle">
|
||
<label for="toggle" class="toggle" data-open="Main Menu" data-close="Close Menu"></label>
|
||
<ul class="menu pull-right">
|
||
|
||
<li><a href='/getting-started/'>Getting started</a></li>
|
||
<li><a href='/components/'>Components</a></li>
|
||
<li><a href='/cookbook/'>Examples</a></li>
|
||
<li><a href="/developers/">Developers</a></li>
|
||
<li><a href="/blog/">Blog</a></li>
|
||
<li><a href="/help/">Need help?</a></li>
|
||
</ul>
|
||
</nav>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
</header>
|
||
|
||
|
||
|
||
<div class="grid-wrapper">
|
||
<div class="grid grid-center">
|
||
|
||
<div class="grid__item two-thirds lap-one-whole palm-one-whole">
|
||
|
||
|
||
<article class="page">
|
||
|
||
|
||
|
||
|
||
<header>
|
||
<h1 class="title indent">
|
||
Automating Home Assistant
|
||
</h1>
|
||
</header>
|
||
<hr class="divider">
|
||
|
||
|
||
<p>When all your devices are set up it’s time to put the cherry on the pie: automation. Home Assistant offers <a href="/components/#automation">a few built-in automations</a> but mainly you’ll be using the automation component to set up your own rules.</p>
|
||
|
||
<h3><a class="title-link" name="the-basics-of-automation" href="#the-basics-of-automation"></a> The basics of automation</h3>
|
||
|
||
<p>Every automation rule consists of triggers, an action to be performed and optional conditions.</p>
|
||
|
||
<p>Triggers can be anything observed in Home Assistant. For example, it can be a certain point in time or a person coming home, which can be observed by the state changing from <code>not_home</code> to <code>home</code>.</p>
|
||
|
||
<p>Actions will call services within Home Assistant. For example, turn a light on, set the temperature on your thermostat or activate a scene.</p>
|
||
|
||
<p>Conditions are used to prevent actions from firing unless certain conditions are met. For example, it is possible to only turn on the light if someone comes home and it is after a certain point in time.</p>
|
||
|
||
<p>The difference between a condition and a trigger can be confusing. The difference is that the trigger looks at the event that is happening, e.g., a car engine turning on. Conditions looks at the current state of the system, e.g., is the car engine 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 are based on the internal state of Home Assistant. This is available for exploring in the app using the developer tools. The first icon will show you the available services and the second icon will show you the current devices.</p>
|
||
|
||
<p>Each device is represented in Home Assistant as an entity consisting of the following parts:</p>
|
||
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Name</th>
|
||
<th>Description</th>
|
||
<th>Example</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>Entity ID</td>
|
||
<td>Unique identifier for the entity.</td>
|
||
<td><code>light.kitchen</code></td>
|
||
</tr>
|
||
<tr>
|
||
<td>State</td>
|
||
<td>The current state of the device.</td>
|
||
<td><code>home</code></td>
|
||
</tr>
|
||
<tr>
|
||
<td>Attributes</td>
|
||
<td>Extra data related to the device and/or current state.</td>
|
||
<td><code>brightness</code></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<p>A service can be called to have Home Assistant perform an action. Turn on a light, run a script or enable a scene. Each service has a domain and a name. For example the service <code>light.turn_on</code> is capable of turning on any light device in your system. Services can be passed parameters to for example tell which device to turn on or what color to use.</p>
|
||
|
||
<h3><a class="title-link" name="further-reading" href="#further-reading"></a> Further reading</h3>
|
||
|
||
<p>We went over the basics of creating a home automation rule. Now, go automate!</p>
|
||
|
||
<ul>
|
||
<li>Learn about the available <a href="/getting-started/automation-trigger/">automation triggers</a></li>
|
||
<li>Learn about the available <a href="/getting-started/automation-condition/">automation conditions</a></li>
|
||
<li>Learn about <a href="/components/script/">scripts</a> to help you trigger multiple actions and delays</li>
|
||
<li>Learn about <a href="/components/scene/">scenes</a> to help you set many entities at once to your liking</li>
|
||
<li>Setup a <a href="/components/#notifications">notification platform</a> to sent yourself messages</li>
|
||
<li>For more advanced automation using Python, write your own <a href="/developers/creating_components/">custom component</a>.</li>
|
||
<li>Check out the <a href="http://events.linuxfoundation.org/sites/events/files/slides/OpenIoT%202016%20-%20Automating%20your%20Home%20with%20Home%20Assistant.pdf">slides</a> from <a href="http://events.linuxfoundation.org/events/openiot-summit">OpenIoT 2016 summit</a></li>
|
||
</ul>
|
||
|
||
<p class="note warning">
|
||
Whenever you write the value <code>on</code> or <code>off</code>, surround it with quotes to avoid
|
||
the YAML parser interpreting the values as booleans.
|
||
</p>
|
||
|
||
|
||
</article>
|
||
|
||
|
||
</div>
|
||
|
||
|
||
<aside id="sidebar" class="grid__item one-third lap-one-whole palm-one-whole">
|
||
<div class="grid">
|
||
|
||
|
||
<section class="aside-module grid__item one-whole lap-one-half">
|
||
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.io/tree/master/source/getting-started/automation.markdown'>Edit this page on GitHub</a></div>
|
||
<div class='section'>
|
||
<h1 class="title delta">Getting Started Guide</h1>
|
||
<ul class='divided sidebar-menu'>
|
||
<li>
|
||
<a href='/getting-started/'>Installation </a>
|
||
<ul>
|
||
<li><a href='/getting-started/installation-raspberry-pi/'>Raspberry Pi </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 Instructions </a></li>
|
||
<li><a href='/getting-started/troubleshooting/'>Troubleshooting </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
Configuration
|
||
<ul>
|
||
<li><a href='/getting-started/configuration/'>Configuration.yaml </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>
|
||
<li><a href='/getting-started/troubleshooting-configuration/'>Troubleshooting configuration.yaml </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<a class='active' href='/getting-started/automation/'>Automation </a>
|
||
<ul>
|
||
<li><a href='/getting-started/automation-create-first/'>Tutorial </a></li>
|
||
<li><a href='/getting-started/automation-trigger/'>Triggers </a></li>
|
||
<li><a href='/getting-started/automation-condition/'>Conditions </a></li>
|
||
<li><a href='/getting-started/automation-action/'>Actions </a></li>
|
||
</ul>
|
||
</li>
|
||
<li>
|
||
<a href='/getting-started/autostart/'>Auto-start Home Assistant </a>
|
||
<ul>
|
||
<li><a href='/getting-started/autostart-systemd/'>Linux - SystemD </a></li>
|
||
<li><a href='/getting-started/autostart-upstart/'>Linux - Upstart </a></li>
|
||
<li><a href='/getting-started/autostart-macos/'>macOS </a></li>
|
||
<li><a href='/getting-started/autostart-synology/'>Synology NAS </a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a href='/topics/'>Advanced Topics</a></li>
|
||
<li><a href='/getting-started/android/'>Add to Android Homescreen </a></li>
|
||
</ul>
|
||
</div>
|
||
</section>
|
||
|
||
</div>
|
||
</aside>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<footer>
|
||
<div class="grid-wrapper">
|
||
<div class="grid">
|
||
<div class="grid__item">
|
||
<div class="copyright">
|
||
<a rel="me" href='https://twitter.com/home_assistant'><i class="icon-twitter"></i></a>
|
||
<a rel="me" href='https://github.com/home-assistant/home-assistant'><i class="icon-github"></i></a>
|
||
|
||
<div class="credit">
|
||
Website powered by <a href='http://jekyllrb.com/'>Jekyll</a> and the <a href='https://github.com/coogie/oscailte'>Oscalite theme</a>.<br />
|
||
Hosted by <a href='https://pages.github.com/'>GitHub</a> and served by <a href='https://cloudflare.com'>CloudFlare</a>.
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
<script>
|
||
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
|
||
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
|
||
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
|
||
s.parentNode.insertBefore(g,s)}(document,'script'));
|
||
</script>
|
||
</body>
|
||
</html> |