home-assistant.github.io/components/alarm_control_panel.manual/index.html
2017-12-17 16:27:07 +00:00

349 lines
22 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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

<!doctype html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Manual Alarm Control Panel - Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Instructions how to integrate manual alarms into Home Assistant.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/components/alarm_control_panel.manual/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Manual Alarm Control Panel">
<meta property="og:site_name" content="Home Assistant">
<meta property="og:url" content="https://home-assistant.io/components/alarm_control_panel.manual/">
<meta property="og:type" content="article">
<meta property="og:description" content="Instructions how to integrate manual alarms into 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="Manual Alarm Control Panel">
<meta name="twitter:description" content="Instructions how to integrate manual alarms into Home Assistant.">
<meta name="twitter:image" content="https://home-assistant.io/images/default-social.png">
<link href="/stylesheets/screen.css" media="screen, projection, print" 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 class='site-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>
<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>
<li><a href='#' class='show-search'><i class="icon-search"></i></a></li>
</ul>
</nav>
<div class='search-container' style='display: none'>
<div class='search'>
<i class="icon-search"></i>
<input id='search' placeholder='Search the docs…'>
<a href='#' class='close'><i class="icon-remove-sign"></i></a>
</div>
</div>
</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">
Manual Alarm Control Panel
</h1>
</header>
<hr class="divider">
<p>This platform enables you to set manual alarms in Home Assistant.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
<span class="s">alarm_control_panel</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">manual</span>
</code></pre>
</div>
<p>Configuration variables:</p>
<ul>
<li><strong>name</strong> (<em>Optional</em>): The name of the alarm. Default is “HA Alarm”.</li>
<li><strong>code</strong> (<em>Optional</em>): If defined, specifies a code to enable or disable the alarm in the frontend.</li>
<li><strong>code_template</strong> (<em>Optional</em>): If defined, returns a code to enable or disable the alarm in the frontend; an empty string disables checking the code. Inside the template, the variables <strong>from_state</strong> and <strong>to_state</strong> identify the current and desired state. Only one of <strong>code</strong> and <strong>code_template</strong> can be specified.</li>
<li><strong>delay_time</strong> (<em>Optional</em>): The time in seconds of the pending time before triggering the alarm. Default is 0 seconds.</li>
<li><strong>pending_time</strong> (<em>Optional</em>): The time in seconds of the pending time before effecting a state change. Default is 60 seconds.</li>
<li><strong>trigger_time</strong> (<em>Optional</em>): The time in seconds of the trigger time in which the alarm is firing. Default is 120 seconds.</li>
<li><strong>disarm_after_trigger</strong> (<em>Optional</em>): If true, the alarm will automatically disarm after it has been triggered instead of returning to the previous state.</li>
<li><strong>armed_custom_bypass/armed_home/armed_away/armed_night/disarmed/triggered</strong> (<em>Optional</em>): State specific settings
<ul>
<li><strong>delay_time</strong> (<em>Optional</em>): State specific setting for <strong>delay_time</strong> (all states except <strong>triggered</strong>)</li>
<li><strong>pending_time</strong> (<em>Optional</em>): State specific setting for <strong>pending_time</strong> (all states except <strong>disarmed</strong>)</li>
<li><strong>trigger_time</strong> (<em>Optional</em>): State specific setting for <strong>trigger_time</strong> (all states except <strong>triggered</strong>)</li>
</ul>
</li>
</ul>
<h2><a class="title-link" name="state-machine" href="#state-machine"></a> State machine</h2>
<p>The state machine of the manual alarm component is complex but powerful. The
transitions are timed according to three values, <strong>delay_time</strong>, <strong>pending_time</strong>
and <strong>trigger_time</strong>. The values in turn can come from the default configuration
variable or from a state-specific override.</p>
<p>When the alarm is armed, its state first goes to <strong>pending</strong> for a number
of seconds equal to the destination states <strong>pending_time</strong>, and then
transitions to one of the “armed” states. Note that <strong>code_template</strong>
never receives “pending” in the <strong>to_state</strong> variable; instead,
<strong>to_state</strong> contains the state which the user has requested. However,
<strong>from_state</strong> <em>can</em> contain “pending”.</p>
<p>When the alarm is triggered, its state goes to <strong>pending</strong> for a number of
seconds equal to the previous states <strong>delay_time</strong> plus the triggered
states <strong>pending_time</strong>. Then the alarm transitions to the “triggered”
states. The code is never checked when triggering the alarm, so the
<strong>to_state</strong> variable of <strong>code_template</strong> cannot ever contain “triggered”
either; again, <strong>from_state</strong> <em>can</em> contain “triggered”.</p>
<p>The alarm remains in the “triggered” state for a number of seconds equal to the
previous states <strong>trigger_time</strong>. Then, depending on <strong>disarm_after_trigger</strong>,
it goes back to either the previous state or <strong>disarmed</strong>. If the previous
states <strong>trigger_time</strong> is zero, the transition to “triggered” is entirely
blocked and the alarm remains in the armed state.</p>
<p>Each of the settings is useful in different scenarios. <strong>pending_time</strong> gives
you some time to leave the building (for “armed” states) or to disarm the alarm
(for the “triggered” state).</p>
<p><strong>delay_time</strong> can also be used to allow some time to disarm the alarm, but with
more flexibility. For example, you could specify a delay time for the
“armed away” state, in order to avoid triggering the alarm while the
garage door opens, but not for the “armed home” state.</p>
<p><strong>trigger_time</strong> is useful to disable the alarm when disarmed, but it can also
be used for example to sound the siren for a shorter time during the night.</p>
<p>In the config example below:</p>
<ul>
<li>
<p>the disarmed state never triggers the alarm;</p>
</li>
<li>
<p>the armed_home state will leave no time to leave the building or disarm the alarm;</p>
</li>
<li>
<p>while other states state will give 30 seconds to leave the building before triggering the alarm, and 20 seconds to disarm the alarm when coming back.</p>
</li>
</ul>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
<span class="s">alarm_control_panel</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">manual</span>
<span class="s">name</span><span class="pi">:</span> <span class="s">Home Alarm</span>
<span class="s">code</span><span class="pi">:</span> <span class="s">1234</span>
<span class="s">pending_time</span><span class="pi">:</span> <span class="s">30</span>
<span class="s">delay_time</span><span class="pi">:</span> <span class="s">20</span>
<span class="s">trigger_time</span><span class="pi">:</span> <span class="s">4</span>
<span class="s">disarmed</span><span class="pi">:</span>
<span class="s">trigger_time</span><span class="pi">:</span> <span class="s">0</span>
<span class="s">armed_home</span><span class="pi">:</span>
<span class="s">pending_time</span><span class="pi">:</span> <span class="s">0</span>
<span class="s">delay_time</span><span class="pi">:</span> <span class="s">0</span>
</code></pre>
</div>
<h2><a class="title-link" name="examples" href="#examples"></a> Examples</h2>
<p>In this section, you find some real-life examples of how to use this panel.</p>
<h3><a class="title-link" name="sensors" href="#sensors"></a> Sensors</h3>
<p>Using sensors to trigger the alarm.</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">Trigger</span><span class="nv"> </span><span class="s">alarm</span><span class="nv"> </span><span class="s">while</span><span class="nv"> </span><span class="s">armed</span><span class="nv"> </span><span class="s">away'</span>
<span class="s">trigger</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">state</span>
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">sensor.pir1</span>
<span class="s">to</span><span class="pi">:</span> <span class="s1">'</span><span class="s">active'</span>
<span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">state</span>
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">sensor.pir2</span>
<span class="s">to</span><span class="pi">:</span> <span class="s1">'</span><span class="s">active'</span>
<span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">state</span>
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">sensor.door</span>
<span class="s">to</span><span class="pi">:</span> <span class="s1">'</span><span class="s">open'</span>
<span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">state</span>
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">sensor.window</span>
<span class="s">to</span><span class="pi">:</span> <span class="s1">'</span><span class="s">open'</span>
<span class="s">condition</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">condition</span><span class="pi">:</span> <span class="s">state</span>
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">alarm_control_panel.ha_alarm</span>
<span class="s">state</span><span class="pi">:</span> <span class="s">armed_away</span>
<span class="s">action</span><span class="pi">:</span>
<span class="s">service</span><span class="pi">:</span> <span class="s">alarm_control_panel.alarm_trigger</span>
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">alarm_control_panel.ha_alarm</span>
</code></pre>
</div>
<p>Sending a notification when the alarm is triggered.</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">Send</span><span class="nv"> </span><span class="s">notification</span><span class="nv"> </span><span class="s">when</span><span class="nv"> </span><span class="s">alarm</span><span class="nv"> </span><span class="s">triggered'</span>
<span class="s">trigger</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">state</span>
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">alarm_control_panel.ha_alarm</span>
<span class="s">to</span><span class="pi">:</span> <span class="s1">'</span><span class="s">triggered'</span>
<span class="s">action</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">service</span><span class="pi">:</span> <span class="s">notify.notify</span>
<span class="s">data</span><span class="pi">:</span>
<span class="s">message</span><span class="pi">:</span> <span class="s2">"</span><span class="s">ALARM!</span><span class="nv"> </span><span class="s">The</span><span class="nv"> </span><span class="s">alarm</span><span class="nv"> </span><span class="s">has</span><span class="nv"> </span><span class="s">been</span><span class="nv"> </span><span class="s">triggered"</span>
</code></pre>
</div>
<p>Disarming the alarm when the door is properly unlocked.</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">Disarm</span><span class="nv"> </span><span class="s">alarm</span><span class="nv"> </span><span class="s">when</span><span class="nv"> </span><span class="s">door</span><span class="nv"> </span><span class="s">unlocked</span><span class="nv"> </span><span class="s">by</span><span class="nv"> </span><span class="s">keypad'</span>
<span class="s">trigger</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">state</span>
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">sensor.front_door_lock_alarm_type</span>
<span class="s">to</span><span class="pi">:</span> <span class="s1">'</span><span class="s">19'</span>
<span class="c1"># many z-wave locks use Alarm Type 19 for 'Unlocked by Keypad'</span>
<span class="s">action</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">service</span><span class="pi">:</span> <span class="s">alarm_control_panel.alarm_disarm</span>
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">alarm_control_panel.house_alarm</span>
</code></pre>
</div>
</article>
</div>
<aside id="sidebar" class="grid__item one-third lap-one-whole palm-one-whole">
<div class="grid">
<section class="aside-module grid__item one-whole lap-one-half">
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.github.io/tree/current/source/_components/alarm_control_panel.manual.markdown'>Edit this page on GitHub</a></div>
<div class='brand-logo-container section'>
<img src='/images/supported_brands/home-assistant.png' />
</div>
<div class='section'>
Introduced in release: 0.7.6
</div>
<div class='section'>
Source:
<a href='https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/alarm_control_panel/manual.py'>alarm_control_panel/manual.py</a>
</div>
<div class='section'>
This is a platform for
<a href='/components/alarm_control_panel/'>the Alarm Control Panels component</a>.
</div>
<div class='section'>
<h1 class="title delta">Category Alarm</h1>
<ul class='divided'>
<li>
<a href='/components/alarm_control_panel.abode/'>Abode Alarm Control Panel</a>
</li>
<li>
<a href='/components/alarm_control_panel.alarmdotcom/'>Alarm.com Alarm Control Panel</a>
</li>
<li>
<a href='/components/alarm_control_panel.alarmdecoder/'>AlarmDecoder Alarm Control Panel</a>
</li>
<li>
<a href='/components/alarm_control_panel.ialarm/'>Antifurto365 iAlarm Control Panel</a>
</li>
<li>
<a href='/components/alarm_control_panel.arlo/'>Arlo Control Panel</a>
</li>
<li>
<a href='/components/alarm_control_panel.canary/'>Canary Alarm Control Panel</a>
</li>
<li>
<a href='/components/alarm_control_panel.concord232/'>Concord232 Alarm Control Panel</a>
</li>
<li>
<a href='/components/alarm_control_panel.egardia/'>Egardia / Woonveilig Alarm Control Panel</a>
</li>
<li>
<a href='/components/alarm_control_panel.envisalink/'>Envisalink Alarm</a>
</li>
<li>
<a href='/components/envisalink/'>Envisalink Alarm Control Panel</a>
</li>
<li>
<a href='/components/alarm_control_panel.totalconnect/'>Honeywell TotalConnect Alarm Control Panel</a>
</li>
<li>
<a href='/components/alarm_control_panel.mqtt/'>MQTT Alarm Control Panel</a>
</li>
<li>
Manual Alarm Control Panel
</li>
<li>
<a href='/components/alarm_control_panel.manual_mqtt/'>Manual Alarm Control Panel with MQTT Support</a>
</li>
<li>
<a href='/components/alarm_control_panel.nx584/'>NX584 Alarm Control Panel</a>
</li>
<li>
<a href='/components/alarm_control_panel.satel_integra/'>Satel Integra Alarm Control Panel</a>
</li>
<li>
<a href='/components/alarm_control_panel.simplisafe/'>SimpliSafe Alarm Control Panel</a>
</li>
<li>
<a href='/components/alarm_control_panel.spc/'>Vanderbilt SPC Alarm</a>
</li>
<li>
<a href='/components/alarm_control_panel.verisure/'>Verisure Alarm</a>
</li>
<li>
<a href='/components/alarm_control_panel.wink/'>Wink Alarm</a>
</li>
</ul>
</div>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
<div class="grid__item">
<div class="copyright">
<a rel="me" href='https://twitter.com/home_assistant'><i class="icon-twitter"></i></a>
<a rel="me" href='https://facebook.com/homeassistantio'><i class="icon-facebook"></i></a>
<a rel="me" href='https://plus.google.com/110560654828510104551'><i class="icon-google-plus"></i></a>
<a rel="me" href='https://github.com/home-assistant/home-assistant'><i class="icon-github"></i></a>
<div class="credit">
Contact us at <a href='mailto:hello@home-assistant.io'>hello@home-assistant.io</a> (no support!).<br>
Website powered by <a href='http://jekyllrb.com/'>Jekyll</a> and the <a href='https://github.com/coogie/oscailte'>Oscalite theme</a>.<br />
Hosted by <a href='https://pages.github.com/'>GitHub</a> and served by <a href='https://cloudflare.com'>CloudFlare</a>.
</div>
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a><br /><span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">home-assistant.io</span> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.
</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>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.css" />
<script type="text/javascript" src="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.js"></script>
<script type="text/javascript">
docsearch({
apiKey: 'ae96d94b201c5444c8a443093edf3efb',
indexName: 'home-assistant',
inputSelector: '#search',
debug: false // Set debug to true if you want to inspect the dropdown
});
document.querySelector('.search .close').addEventListener('click', function(ev) {
ev.preventDefault();
document.querySelector('.search-container').style.display = 'none';
});
document.querySelector('.show-search').addEventListener('click', function(ev) {
ev.preventDefault();
document.querySelector('.search-container').style.display = 'block';
document.getElementById('toggle').checked = false;
document.querySelector('.search-container input').focus();
});
</script>
</body>
</html>