Site updated at 2017-09-23 00:58:45 UTC
This commit is contained in:
parent
68f6da8d25
commit
a675f41451
95 changed files with 698 additions and 440 deletions
|
@ -8,7 +8,7 @@
|
|||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||||
<title>Template Cover - Home Assistant</title>
|
||||
<meta name="author" content="Home Assistant">
|
||||
<meta name="description" content="Instructions how to integrate Template covers into Home Assistant.">
|
||||
<meta name="description" content="Instructions how to integrate Template Covers into Home Assistant.">
|
||||
<meta name="viewport" content="width=device-width">
|
||||
<link rel="canonical" href="https://home-assistant.io/components/cover.template/">
|
||||
<meta property="fb:app_id" content="338291289691179">
|
||||
|
@ -16,12 +16,12 @@
|
|||
<meta property="og:site_name" content="Home Assistant">
|
||||
<meta property="og:url" content="https://home-assistant.io/components/cover.template/">
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:description" content="Instructions how to integrate Template covers into Home Assistant.">
|
||||
<meta property="og:description" content="Instructions how to integrate Template Covers 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="Template Cover">
|
||||
<meta name="twitter:description" content="Instructions how to integrate Template covers into Home Assistant.">
|
||||
<meta name="twitter:description" content="Instructions how to integrate Template Covers into 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">
|
||||
|
@ -74,15 +74,18 @@
|
|||
</h1>
|
||||
</header>
|
||||
<hr class="divider">
|
||||
<p>The <code class="highlighter-rouge">template</code> platform can create covers that combine components and provides the ability to run scripts or invoke services for each of the open, close, stop, position, and tilt commands of a cover.</p>
|
||||
<p>To enable Template covers in your installation, add the following to your <code class="highlighter-rouge">configuration.yaml</code> file:</p>
|
||||
<p>The <code class="highlighter-rouge">template</code> platform can create covers that combine components and provides
|
||||
the ability to run scripts or invoke services for each of the open, close,
|
||||
stop, position, and tilt commands of a cover.</p>
|
||||
<p>To enable Template Covers in your installation, add the following 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">cover</span><span class="pi">:</span>
|
||||
<span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">template</span>
|
||||
<span class="s">covers</span><span class="pi">:</span>
|
||||
<span class="s">garage_door</span><span class="pi">:</span>
|
||||
<span class="s">friendly_name</span><span class="pi">:</span> <span class="s2">"</span><span class="s">Garage</span><span class="nv"> </span><span class="s">Door"</span>
|
||||
<span class="s">value_template</span><span class="pi">:</span> <span class="s2">"</span><span class="s">'{{is_state('sensor.garage_door</span><span class="nv"> </span><span class="s">></span><span class="nv"> </span><span class="s">0'}}'"</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">states('sensor.garage_door')|float</span><span class="nv"> </span><span class="s">></span><span class="nv"> </span><span class="s">0</span><span class="nv"> </span><span class="s">}}"</span>
|
||||
<span class="s">open_cover</span><span class="pi">:</span>
|
||||
<span class="s">service</span><span class="pi">:</span> <span class="s">script.open_garage_door</span>
|
||||
<span class="s">close_cover</span><span class="pi">:</span>
|
||||
|
@ -91,55 +94,127 @@
|
|||
<span class="s">service</span><span class="pi">:</span> <span class="s">script.stop_garage_door</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
<p>Configuration variables:</p>
|
||||
<ul>
|
||||
<li><strong>covers</strong> array (<em>Required</em>): List of your coverss.
|
||||
<ul>
|
||||
<li><strong>open_cover</strong> (<em>Optional</em>): Defines an <a href="/getting-started/automation/">action</a> to run when the cover is opened. If <code class="highlighter-rouge">open_cover</code> is specified, <code class="highlighter-rouge">close_cover</code> must also be specified. At least one of <code class="highlighter-rouge">open_cover</code> and <code class="highlighter-rouge">set_cover_position</code> must be specified.</li>
|
||||
<li><strong>close_cover</strong> (<em>Optional</em>): Defines an <a href="/getting-started/automation/">action</a> to run when the cover is closed.</li>
|
||||
<li><strong>stop_cover</strong> (<em>Optional</em>): Defines an <a href="/getting-started/automation/">action</a> to run when the cover is stopped.</li>
|
||||
<li><strong>set_cover_position</strong> (<em>Optional</em>): Defines an <a href="/getting-started/automation/">action</a> to run when the cover is set to a specific value (between 0 and 100).</li>
|
||||
<li><strong>set_cover_tilt_position</strong> (<em>Optional</em>): Defines an <a href="/getting-started/automation/">action</a> to run when the cover tilt is set to a specific value (between 0 and 100).</li>
|
||||
<li><strong>value_template</strong> (<em>Optional</em>): Defines a <a href="/topics/templating/">template</a> to get the state of the cover. Valid values are open/true or closed/false. <code class="highlighter-rouge">value_template</code> and <code class="highlighter-rouge">position_template</code> cannot be specified concurrently.</li>
|
||||
<li><strong>position_template</strong> (<em>Optional</em>): Defines a <a href="/topics/templating/">template</a> to get the state of the cover. Legal values are numbers between 0 (closed) and 100 (open). <code class="highlighter-rouge">value_template</code> and <code class="highlighter-rouge">position_template</code> cannot be specified concurrently.</li>
|
||||
<li><strong>tilt_template</strong> (<em>Optional</em>): Defines a <a href="/topics/templating/">template</a> to get the tilt state of the cover. Legal values are numbers between 0 (closed) and 100 (open).</li>
|
||||
<li><strong>optimistic</strong> (<em>Optional</em>): Force cover position to use optimistic mode. Value is either <code class="highlighter-rouge">true</code> or <code class="highlighter-rouge">false</code>. <a href="#optimistic-mode">See below</a> for more details.</li>
|
||||
<li><strong>tilt_optimistic</strong> (<em>Optional</em>): Force cover tilt position to use optimistic mode. Value is either <code class="highlighter-rouge">true</code> or <code class="highlighter-rouge">false</code>. <a href="#optimistic mode">See below</a> for more details.</li>
|
||||
<li><strong>icon_template</strong> (<em>Optional</em>): Defines a <a href="/topics/templating/">template</a> to specify which icon to use. Either <code class="highlighter-rouge">value_template</code> or <code class="highlighter-rouge">position_template</code> must be specified.</li>
|
||||
<li><strong>friendly_name</strong> (<em>Optional</em>): Name to use in the frontend.</li>
|
||||
<li><strong>entity_id</strong> (<em>Optional</em>): Add a list of entity IDs so the switch only reacts to state changes of these entities. This will reduce the number of times the cover will try to update it’s state.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2><a class="title-link" name="optitmistic-mode" href="#optitmistic-mode"></a> Optitmistic Mode</h2>
|
||||
<p>In optmistic mode, the cover position state is maintained internally. This mode is automatically enabled if neither <code class="highlighter-rouge">value_template</code> or <code class="highlighter-rouge">position_template</code> are sepcified. Note that this is unlikely to be very reliable without some feedback mechanism, since there is otherwise no way to know if the cover is moving properly. The cover can be forced into optimistic mode by using the <code class="highlighter-rouge">optimistic</code> attribute. There is an equivalent mode for tilt-position that is enabled when <code class="highlighter-rouge">tilt_template</code> is not specified or when the <code class="highlighter-rouge">tilt-optimistic</code> attribute is used.</p>
|
||||
<div class="config-vars">
|
||||
<h3><a class="title-link" name="configuration-variables" href="#configuration-variables"></a> Configuration Variables</h3>
|
||||
<dl class="">
|
||||
<dt><a class="title-link" name="covers" href="#covers"></a> covers</dt>
|
||||
<dd>
|
||||
<p class="desc"><span class="type">(<span class="map">map</span>)</span><span class="required">(Required)</span><span class="description">List of your covers.</span></p>
|
||||
</dd>
|
||||
<dd>
|
||||
<dl class="nested">
|
||||
<dt><a class="title-link" name="friendly_name" href="#friendly_name"></a> friendly_name</dt>
|
||||
<dd>
|
||||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">Name to use in the frontend.</span></p>
|
||||
</dd>
|
||||
<dt><a class="title-link" name="entity_id" href="#entity_id"></a> entity_id</dt>
|
||||
<dd>
|
||||
<p class="desc"><span class="type">(<span class="string list">string | list</span>)</span><span class="required">(Optional)</span><span class="description">Add a list of entity IDs so the switch only reacts to state changes of these entities. This will reduce the number of times the cover will try to update its state.</span></p>
|
||||
</dd>
|
||||
<dt><a class="title-link" name="value_template" href="#value_template"></a> value_template</dt>
|
||||
<dd>
|
||||
<p class="desc"><span class="type">(<span class="template"><a href="/docs/configuration/templating/">template</a></span>)</span><span class="required">(Exclusive)</span><span class="description">Defines a template to get the state of the cover. Valid values are <code class="highlighter-rouge">open</code>/<code class="highlighter-rouge">true</code> or <code class="highlighter-rouge">closed</code>/<code class="highlighter-rouge">false</code>. <a href="#value_template"><code class="highlighter-rouge">value_template</code></a> and <a href="#position_template"><code class="highlighter-rouge">position_template</code></a> cannot be specified concurrently.</span></p>
|
||||
</dd>
|
||||
<dt><a class="title-link" name="position_template" href="#position_template"></a> position_template</dt>
|
||||
<dd>
|
||||
<p class="desc"><span class="type">(<span class="template"><a href="/docs/configuration/templating/">template</a></span>)</span><span class="required">(Exclusive)</span><span class="description">Defines a template to get the state of the cover. Legal values are numbers between <code class="highlighter-rouge">0</code> (closed) and <code class="highlighter-rouge">100</code> (open). <a href="#value_template"><code class="highlighter-rouge">value_template</code></a> and <a href="#position_template"><code class="highlighter-rouge">position_template</code></a> cannot be specified concurrently.</span></p>
|
||||
</dd>
|
||||
<dt><a class="title-link" name="icon_template" href="#icon_template"></a> icon_template</dt>
|
||||
<dd>
|
||||
<p class="desc"><span class="type">(<span class="template"><a href="/docs/configuration/templating/">template</a></span>)</span><span class="required">(Optional)</span><span class="description">Defines a template to specify which icon to use.</span></p>
|
||||
</dd>
|
||||
<dt><a class="title-link" name="open_cover" href="#open_cover"></a> open_cover</dt>
|
||||
<dd>
|
||||
<p class="desc"><span class="type">(<span class="action"><a href="/docs/scripts/">action</a></span>)</span><span class="required">(Inclusive)</span><span class="description">Defines an action to run when the cover is opened. If <a href="#open_cover"><code class="highlighter-rouge">open_cover</code></a> is specified, <a href="#close_cover"><code class="highlighter-rouge">close_cover</code></a> must also be specified. At least one of <a href="#open_cover"><code class="highlighter-rouge">open_cover</code></a> and <a href="#set_cover_position"><code class="highlighter-rouge">set_cover_position</code></a> must be specified.</span></p>
|
||||
</dd>
|
||||
<dt><a class="title-link" name="close_cover" href="#close_cover"></a> close_cover</dt>
|
||||
<dd>
|
||||
<p class="desc"><span class="type">(<span class="action"><a href="/docs/scripts/">action</a></span>)</span><span class="required">(Inclusive)</span><span class="description">Defines an action to run when the cover is closed.</span></p>
|
||||
</dd>
|
||||
<dt><a class="title-link" name="stop_cover" href="#stop_cover"></a> stop_cover</dt>
|
||||
<dd>
|
||||
<p class="desc"><span class="type">(<span class="action"><a href="/docs/scripts/">action</a></span>)</span><span class="required">(Optional)</span><span class="description">Defines an action to run when the cover is stopped.</span></p>
|
||||
</dd>
|
||||
<dt><a class="title-link" name="set_cover_position" href="#set_cover_position"></a> set_cover_position</dt>
|
||||
<dd>
|
||||
<p class="desc"><span class="type">(<span class="action"><a href="/docs/scripts/">action</a></span>)</span><span class="required">(Optional)</span><span class="description">Defines an action to run when the cover is set to a specific value (between <code class="highlighter-rouge">0</code> and <code class="highlighter-rouge">100</code>).</span></p>
|
||||
</dd>
|
||||
<dt><a class="title-link" name="set_cover_tilt_position" href="#set_cover_tilt_position"></a> set_cover_tilt_position</dt>
|
||||
<dd>
|
||||
<p class="desc"><span class="type">(<span class="action"><a href="/docs/scripts/">action</a></span>)</span><span class="required">(Optional)</span><span class="description">Defines an action to run when the cover tilt is set to a specific value (between <code class="highlighter-rouge">0</code> and <code class="highlighter-rouge">100</code>).</span></p>
|
||||
</dd>
|
||||
<dt><a class="title-link" name="optimistic" href="#optimistic"></a> optimistic</dt>
|
||||
<dd>
|
||||
<p class="desc"><span class="type">(<span class="bool">bool</span>)</span><span class="required">(Optional)</span><span class="description">Force cover position to use <a href="#optimistic-mode">optimistic mode</a>.</span></p>
|
||||
<p class="default">Default value: false</p>
|
||||
</dd>
|
||||
<dt><a class="title-link" name="tilt_optimistic" href="#tilt_optimistic"></a> tilt_optimistic</dt>
|
||||
<dd>
|
||||
<p class="desc"><span class="type">(<span class="bool">bool</span>)</span><span class="required">(Optional)</span><span class="description">Force cover tilt position to use <a href="#optimistic-mode">optimistic mode</a>.</span></p>
|
||||
<p class="default">Default value: false</p>
|
||||
</dd>
|
||||
<dt><a class="title-link" name="tilt_template" href="#tilt_template"></a> tilt_template</dt>
|
||||
<dd>
|
||||
<p class="desc"><span class="type">(<span class="template"><a href="/docs/configuration/templating/">template</a></span>)</span><span class="required">(Optional)</span><span class="description">Defines a template to get the tilt state of the cover. Legal values are numbers between <code class="highlighter-rouge">0</code> (closed) and <code class="highlighter-rouge">100</code> (open).</span></p>
|
||||
</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
</dl>
|
||||
</div>
|
||||
<h2><a class="title-link" name="considerations" href="#considerations"></a> Considerations</h2>
|
||||
<p>If you are using the state of a platform that takes extra time to load, the
|
||||
Template Cover may get an <code class="highlighter-rouge">unknown</code> state during startup. This results
|
||||
in error messages in your log file until that platform has completed loading.
|
||||
If you use <code class="highlighter-rouge">is_state()</code> function in your template, you can avoid this situation.
|
||||
For example, you would replace
|
||||
<code class="highlighter-rouge"><span class="p">{</span><span class="err">{</span><span class="w"> </span><span class="err">states.switch.source.state</span><span class="w"> </span><span class="err">==</span><span class="w"> </span><span class="err">'on'</span><span class="w"> </span><span class="p">}</span><span class="err">}</span></code>
|
||||
with this equivalent that returns <code class="highlighter-rouge">true</code>/<code class="highlighter-rouge">false</code> and never gives an unknown
|
||||
result:
|
||||
<code class="highlighter-rouge"><span class="p">{</span><span class="err">{</span><span class="w"> </span><span class="err">is_state('switch.source',</span><span class="w"> </span><span class="err">'on')</span><span class="w"> </span><span class="p">}</span><span class="err">}</span></code></p>
|
||||
<h2><a class="title-link" name="optimistic-mode" href="#optimistic-mode"></a> Optimistic Mode</h2>
|
||||
<p>In optimistic mode, the cover position state is maintained internally. This
|
||||
mode is automatically enabled if neither <a href="#value_template"><code class="highlighter-rouge">value_template</code></a> or
|
||||
<a href="#position_template"><code class="highlighter-rouge">position_template</code></a> are specified. Note that this is
|
||||
unlikely to be very reliable without some feedback mechanism, since there is
|
||||
otherwise no way to know if the cover is moving properly. The cover can be
|
||||
forced into optimistic mode by using the <a href="#optimistic"><code class="highlighter-rouge">optimistic</code></a>
|
||||
attribute. There is an equivalent mode for <code class="highlighter-rouge">tilt_position</code> that is enabled
|
||||
when <a href="#tilt_template"><code class="highlighter-rouge">tilt_template</code></a> is not specified or when the
|
||||
<a href="#tilt_optimistic"><code class="highlighter-rouge">tilt_optimistic</code></a> attribute is used.</p>
|
||||
<h2><a class="title-link" name="examples" href="#examples"></a> Examples</h2>
|
||||
<p>In this section you will find some real life examples of how to use this cover.</p>
|
||||
<h3><a class="title-link" name="garage-door" href="#garage-door"></a> Garage Door</h3>
|
||||
<p>This example converts a garage door with a controllable switch and position sensor into a cover.</p>
|
||||
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code>
|
||||
<span class="s">cover</span><span class="pi">:</span>
|
||||
<p>This example converts a garage door with a controllable switch and position
|
||||
sensor into a cover.</p>
|
||||
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">cover</span><span class="pi">:</span>
|
||||
<span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">template</span>
|
||||
<span class="s">covers</span><span class="pi">:</span>
|
||||
<span class="s">garage_door</span><span class="pi">:</span>
|
||||
<span class="s">friendly_name</span><span class="pi">:</span> <span class="s1">'</span><span class="s">Garage</span><span class="nv"> </span><span class="s">Door'</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">sensor.garage_door</span><span class="nv"> </span><span class="s">}}"</span>
|
||||
<span class="s">friendly_name</span><span class="pi">:</span> <span class="s2">"</span><span class="s">Garage</span><span class="nv"> </span><span class="s">Door"</span>
|
||||
<span class="s">position_template</span><span class="pi">:</span> <span class="s2">"</span><span class="s">{{</span><span class="nv"> </span><span class="s">states('sensor.garage_door')</span><span class="nv"> </span><span class="s">}}"</span>
|
||||
<span class="s">open_cover</span><span class="pi">:</span>
|
||||
<span class="s">service</span><span class="pi">:</span> <span class="s">switch.turn_on</span>
|
||||
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">switch.garage_door</span>
|
||||
<span class="s">data</span><span class="pi">:</span>
|
||||
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">switch.garage_door</span>
|
||||
<span class="s">close_cover</span><span class="pi">:</span>
|
||||
<span class="s">service</span><span class="pi">:</span> <span class="s">switch.turn_off</span>
|
||||
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">switch.garage_door</span>
|
||||
<span class="s">data</span><span class="pi">:</span>
|
||||
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">switch.garage_door</span>
|
||||
<span class="s">stop_cover</span><span class="pi">:</span>
|
||||
<span class="s">service</span><span class="pi">:</span> <span class="s">switch.turn_on</span>
|
||||
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">switch.garage_door</span>
|
||||
<span class="s">icon_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">not</span><span class="nv"> </span><span class="s">is_state('sensor.garage_door',</span><span class="nv"> </span><span class="s">'on')</span><span class="nv"> </span><span class="s">%}mdi:garage-open{%</span><span class="nv"> </span><span class="s">else</span><span class="nv"> </span><span class="s">%}mdi:garage{%</span><span class="nv"> </span><span class="s">endif</span><span class="nv"> </span><span class="s">%}"</span>
|
||||
<span class="s">data</span><span class="pi">:</span>
|
||||
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">switch.garage_door</span>
|
||||
<span class="s">icon_template</span><span class="pi">:</span> <span class="pi">>-</span>
|
||||
<span class="no">{% if states('sensor.garage_door')|float > 0 %}</span>
|
||||
<span class="no">mdi:garage-open</span>
|
||||
<span class="no">{% else %}</span>
|
||||
<span class="no">mdi:garage</span>
|
||||
<span class="no">{% endif %}</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
<h3><a class="title-link" name="multi-covers" href="#multi-covers"></a> Multi Covers</h3>
|
||||
<h3><a class="title-link" name="multiple-covers" href="#multiple-covers"></a> Multiple Covers</h3>
|
||||
<p>This example allows you to control two or more covers at once.</p>
|
||||
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code>
|
||||
<span class="s">homeassistant</span><span class="pi">:</span>
|
||||
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">homeassistant</span><span class="pi">:</span>
|
||||
<span class="s">customize</span><span class="pi">:</span>
|
||||
<span class="s">all_covers</span><span class="pi">:</span>
|
||||
<span class="s">assume_state</span><span class="pi">:</span> <span class="s">true</span>
|
||||
|
@ -148,7 +223,7 @@
|
|||
<span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">template</span>
|
||||
<span class="s">covers</span><span class="pi">:</span>
|
||||
<span class="s">all_covers</span><span class="pi">:</span>
|
||||
<span class="s">friendly_name</span><span class="pi">:</span> <span class="s1">'</span><span class="s">All</span><span class="nv"> </span><span class="s">Covers'</span>
|
||||
<span class="s">friendly_name</span><span class="pi">:</span> <span class="s2">"</span><span class="s">All</span><span class="nv"> </span><span class="s">Covers"</span>
|
||||
<span class="s">open_cover</span><span class="pi">:</span>
|
||||
<span class="s">service</span><span class="pi">:</span> <span class="s">script.cover_all_open</span>
|
||||
<span class="s">close_cover</span><span class="pi">:</span>
|
||||
|
@ -158,30 +233,23 @@
|
|||
<span class="s">set_cover_position</span><span class="pi">:</span>
|
||||
<span class="s">service</span><span class="pi">:</span> <span class="s">script.cover_all_set_position</span>
|
||||
<span class="s">data_template</span><span class="pi">:</span>
|
||||
<span class="s">position</span><span class="pi">:</span> <span class="s2">"</span><span class="s">{{</span><span class="nv"> </span><span class="s">position</span><span class="nv"> </span><span class="s">}}"</span>
|
||||
<span class="s">value_template</span><span class="pi">:</span> <span class="pi">></span>
|
||||
<span class="no">{% if is_state('sensor.all_covers', 'open') %}</span>
|
||||
<span class="no">open</span>
|
||||
<span class="no">{% else %}</span>
|
||||
<span class="no">closed</span>
|
||||
<span class="no">{% endif %}</span>
|
||||
|
||||
<span class="s">icon_template</span><span class="pi">:</span> <span class="pi">></span>
|
||||
<span class="s">position</span><span class="pi">:</span> <span class="s2">"</span><span class="s">{{</span><span class="nv"> </span><span class="s">position</span><span class="nv"> </span><span class="s">}}"</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">is_state('sensor.all_covers',</span><span class="nv"> </span><span class="s">'open')</span><span class="nv"> </span><span class="s">}}"</span>
|
||||
<span class="s">icon_template</span><span class="pi">:</span> <span class="pi">>-</span>
|
||||
<span class="no">{% if is_state('sensor.all_covers', 'open') %}</span>
|
||||
<span class="no">mdi:window-open</span>
|
||||
<span class="no">{% else %}</span>
|
||||
<span class="no">mdi:window-closed</span>
|
||||
<span class="no">{% endif %}</span>
|
||||
|
||||
<span class="s">entity_id</span><span class="pi">:</span>
|
||||
<span class="pi">-</span> <span class="s">cover.bedroom</span>
|
||||
<span class="pi">-</span> <span class="s">cover.livingroom</span>
|
||||
<span class="no">entity_id:</span>
|
||||
<span class="no">- cover.bedroom</span>
|
||||
<span class="no">- cover.livingroom</span>
|
||||
|
||||
<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">template</span>
|
||||
<span class="s">sensors</span><span class="pi">:</span>
|
||||
<span class="s">all_covers</span><span class="pi">:</span>
|
||||
<span class="s">value_template</span><span class="pi">:</span> <span class="pi">></span>
|
||||
<span class="s">value_template</span><span class="pi">:</span> <span class="pi">>-</span>
|
||||
<span class="no">{% if is_state('cover.bedroom', 'open') %}</span>
|
||||
<span class="no">open</span>
|
||||
<span class="no">{% elif is_state('cover.livingroom', 'open') %}</span>
|
||||
|
@ -189,52 +257,52 @@
|
|||
<span class="no">{% else %}</span>
|
||||
<span class="no">closed</span>
|
||||
<span class="no">{% endif %}</span>
|
||||
|
||||
<span class="s">entity_id</span><span class="pi">:</span>
|
||||
<span class="pi">-</span> <span class="s">cover.bedroom</span>
|
||||
<span class="pi">-</span> <span class="s">cover.livingroom</span>
|
||||
<span class="no">entity_id:</span>
|
||||
<span class="no">- cover.bedroom</span>
|
||||
<span class="no">- cover.livingroom</span>
|
||||
|
||||
<span class="s">script</span><span class="pi">:</span>
|
||||
<span class="s">cover_all_open</span><span class="pi">:</span>
|
||||
<span class="s">sequence</span><span class="pi">:</span>
|
||||
<span class="pi">-</span> <span class="s">service</span><span class="pi">:</span> <span class="s">cover.open_cover</span>
|
||||
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">cover.bedroom</span>
|
||||
<span class="pi">-</span> <span class="s">service</span><span class="pi">:</span> <span class="s">cover.open_cover</span>
|
||||
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">cover.livingroom</span>
|
||||
<span class="s">data</span><span class="pi">:</span>
|
||||
<span class="s">entity_id</span><span class="pi">:</span>
|
||||
<span class="pi">-</span> <span class="s">cover.bedroom</span>
|
||||
<span class="pi">-</span> <span class="s">cover.livingroom</span>
|
||||
<span class="s">cover_all_stop</span><span class="pi">:</span>
|
||||
<span class="s">sequence</span><span class="pi">:</span>
|
||||
<span class="pi">-</span> <span class="s">service</span><span class="pi">:</span> <span class="s">cover.stop_cover</span>
|
||||
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">cover.bedroom</span>
|
||||
<span class="pi">-</span> <span class="s">service</span><span class="pi">:</span> <span class="s">cover.stop_cover</span>
|
||||
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">cover.livingroom</span>
|
||||
<span class="s">data</span><span class="pi">:</span>
|
||||
<span class="s">entity_id</span><span class="pi">:</span>
|
||||
<span class="pi">-</span> <span class="s">cover.bedroom</span>
|
||||
<span class="pi">-</span> <span class="s">cover.livingroom</span>
|
||||
<span class="s">cover_all_close</span><span class="pi">:</span>
|
||||
<span class="s">sequence</span><span class="pi">:</span>
|
||||
<span class="pi">-</span> <span class="s">service</span><span class="pi">:</span> <span class="s">cover.close_cover</span>
|
||||
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">cover.bedroom</span>
|
||||
<span class="pi">-</span> <span class="s">service</span><span class="pi">:</span> <span class="s">cover.close_cover</span>
|
||||
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">cover.livingroom</span>
|
||||
<span class="s">data</span><span class="pi">:</span>
|
||||
<span class="s">entity_id</span><span class="pi">:</span>
|
||||
<span class="pi">-</span> <span class="s">cover.bedroom</span>
|
||||
<span class="pi">-</span> <span class="s">cover.livingroom</span>
|
||||
<span class="s">cover_all_set_position</span><span class="pi">:</span>
|
||||
<span class="s">sequence</span><span class="pi">:</span>
|
||||
<span class="pi">-</span> <span class="s">service</span><span class="pi">:</span> <span class="s">cover.set_cover_position</span>
|
||||
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">cover.bedroom</span>
|
||||
<span class="s">data_template</span><span class="pi">:</span>
|
||||
<span class="s">position</span><span class="pi">:</span> <span class="s2">"</span><span class="s">{{</span><span class="nv"> </span><span class="s">position</span><span class="nv"> </span><span class="s">}}"</span>
|
||||
<span class="pi">-</span> <span class="s">service</span><span class="pi">:</span> <span class="s">cover.set_cover_position</span>
|
||||
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">cover.livingroom</span>
|
||||
<span class="s">data_template</span><span class="pi">:</span>
|
||||
<span class="s">entity_id</span><span class="pi">:</span>
|
||||
<span class="pi">-</span> <span class="s">cover.bedroom</span>
|
||||
<span class="pi">-</span> <span class="s">cover.livingroom</span>
|
||||
<span class="s">position</span><span class="pi">:</span> <span class="s2">"</span><span class="s">{{</span><span class="nv"> </span><span class="s">position</span><span class="nv"> </span><span class="s">}}"</span>
|
||||
|
||||
<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">Close</span><span class="nv"> </span><span class="s">covers</span><span class="nv"> </span><span class="s">at</span><span class="nv"> </span><span class="s">night'</span>
|
||||
<span class="pi">-</span> <span class="s">alias</span><span class="pi">:</span> <span class="s2">"</span><span class="s">Close</span><span class="nv"> </span><span class="s">covers</span><span class="nv"> </span><span class="s">at</span><span class="nv"> </span><span class="s">night"</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">sun</span>
|
||||
<span class="s">event</span><span class="pi">:</span> <span class="s">sunset</span>
|
||||
<span class="s">offset</span><span class="pi">:</span> <span class="s1">'</span><span class="s">+00:30:00'</span>
|
||||
<span class="s">action</span><span class="pi">:</span>
|
||||
<span class="s">service</span><span class="pi">:</span> <span class="s">cover.set_cover_position</span>
|
||||
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">cover.all_covers</span>
|
||||
<span class="s">data_template</span><span class="pi">:</span>
|
||||
<span class="s">position</span><span class="pi">:</span> <span class="s">25</span>
|
||||
<span class="pi">-</span> <span class="s">service</span><span class="pi">:</span> <span class="s">cover.set_cover_position</span>
|
||||
<span class="s">data</span><span class="pi">:</span>
|
||||
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">cover.all_covers</span>
|
||||
<span class="s">position</span><span class="pi">:</span> <span class="s">25</span>
|
||||
</code></pre>
|
||||
</div>
|
||||
</article>
|
||||
|
@ -269,7 +337,7 @@
|
|||
Template Sensor
|
||||
</a></li>
|
||||
<li><a href='/components/switch.template/'>
|
||||
Template switch
|
||||
Template Switch
|
||||
</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue