212 lines
No EOL
8.9 KiB
HTML
212 lines
No EOL
8.9 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>Command line switches support - Home Assistant</title>
|
|
<meta name="author" content="Paulus Schoutsen">
|
|
|
|
<meta name="description" content="Instructions how to have a switch call command line commands.">
|
|
|
|
<meta name="viewport" content="width=device-width">
|
|
<link rel="canonical" href="https://home-assistant.io">
|
|
|
|
<meta property="fb:app_id" content="338291289691179">
|
|
<meta property="og:title" content="Command line switches support">
|
|
<meta property="og:site_name" content="Home Assistant">
|
|
<meta property="og:url" content="https://home-assistant.io/components/switch.command_switch.html/">
|
|
<meta property="og:type" content="website">
|
|
<meta property="og:description" content="Instructions how to have a switch call command line commands.">
|
|
<meta property="og: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='/images/favicon-192x192.png'> Home Assistant
|
|
</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>
|
|
<ul>
|
|
<li><a href='/getting-started/'>Installing Home Assistant</a></li>
|
|
<li><a href='/getting-started/configuration.html'>Configuration basics</a></li>
|
|
<li><a href='/getting-started/devices.html'>Adding devices</a></li>
|
|
<li><a href='/getting-started/automation.html'>Automation</a></li>
|
|
<li><a href='/components/'>Component overview</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a href="/developers/">Developers</a>
|
|
<ul>
|
|
<li><a href="/developers/architecture.html">Architecture</a></li>
|
|
<li><a href="/developers/frontend.html">Frontend development</a></li>
|
|
<li><a href="/developers/creating_components.html">
|
|
Creating components
|
|
</a></li>
|
|
<li><a href="/developers/add_new_platform.html">
|
|
Adding platform support
|
|
</a></li>
|
|
<li><a href="/developers/api.html">API</a></li>
|
|
<li><a href="/developers/credits.html">Credits</a></li>
|
|
</ul>
|
|
</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">
|
|
Command Line Switches Support
|
|
</h1>
|
|
</header>
|
|
<hr class="divider">
|
|
|
|
|
|
<p><img src='/images/supported_brands/utilities-terminal.png' class='brand pull-right' />
|
|
A switch platform that issues specific commands when it is turned on and off. This might very well become our most platform as it allows anyone to integrate any type of switch into Home Assistant that can be controlled from the command line, including calling other scripts!</p>
|
|
|
|
<p>To enable it, add the following lines to your <code>configuration.yaml</code>:</p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
<span class='line-number'>3</span>
|
|
<span class='line-number'>4</span>
|
|
<span class='line-number'>5</span>
|
|
<span class='line-number'>6</span>
|
|
<span class='line-number'>7</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="c1"># Example configuration.yaml entry</span>
|
|
</span><span class='line'><span class="l-Scalar-Plain">switch</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">platform</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">command_switch</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">switches</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">kitchen_light</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">oncmd</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">switch_command on kitchen</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">offcmd</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">switch_command off kitchen</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
<p>Configuration variables:</p>
|
|
|
|
<ul>
|
|
<li><strong>switches</strong> (<em>Required</em>): The array that contains all command switches.
|
|
|
|
<ul>
|
|
<li><strong>entry</strong> (<em>Required</em>): Name of the command switch. Multiple entries are possible.
|
|
|
|
<ul>
|
|
<li><strong>oncmd</strong> (<em>Required</em>): The action to take for on.</li>
|
|
<li><strong>offcmd</strong> (<em>Required</em>): The action to take for off.</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
<p>The example below is doing the same as the <a href="/components/switch.arest.html">aREST switch</a>. The commandline tool <code>[curl](http://curl.haxx.se/)</code> is used to toogle a pin which is controllable through REST.</p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
<span class='line-number'>3</span>
|
|
<span class='line-number'>4</span>
|
|
<span class='line-number'>5</span>
|
|
<span class='line-number'>6</span>
|
|
<span class='line-number'>7</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="c1"># Example configuration.yaml entry</span>
|
|
</span><span class='line'><span class="l-Scalar-Plain">switch</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">platform</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">command_switch</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">switches</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">arest_pin4</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">oncmd</span><span class="p-Indicator">:</span> <span class="s">"/usr/bin/curl</span><span class="nv"> </span><span class="s">-X</span><span class="nv"> </span><span class="s">GET</span><span class="nv"> </span><span class="s">http://192.168.1.10/digital/4/1"</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">offcmd</span><span class="p-Indicator">:</span> <span class="s">"/usr/bin/curl</span><span class="nv"> </span><span class="s">-X</span><span class="nv"> </span><span class="s">GET</span><span class="nv"> </span><span class="s">http://192.168.1.10/digital/4/0"</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<footer>
|
|
<div class="grid-wrapper">
|
|
<div class="grid">
|
|
<div class="grid__item">
|
|
<p class="copyright">
|
|
<span class="credit">Powered by <a href="http://octopress.org">Octopress</a>, <a href='http://jekyllrb.com/'>Jekyll</a> and the <a href='https://github.com/coogie/oscailte'>Oscalite theme</a>. Hosted by <a href='https://pages.github.com/'>GitHub</a> and served by <a href='https://cloudflare.com'>CloudFlare</a>.</span>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</footer>
|
|
|
|
<!--[if lt IE 7]>
|
|
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
|
|
<![endif]-->
|
|
|
|
|
|
|
|
|
|
<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> |