Site updated at 2016-08-22 08:21:42 UTC

This commit is contained in:
Travis CI 2016-08-22 08:21:43 +00:00
parent f9d65cbe57
commit 4acb07bf8e
559 changed files with 18878 additions and 21688 deletions

View file

@ -89,53 +89,49 @@
<hr class="divider">
<p>The <code>mqtt</code> light platform let you control your MQTT enabled light.</p>
<p>The <code class="highlighter-rouge">mqtt</code> light platform let you control your MQTT enabled light.</p>
<p>In an ideal scenario, the MQTT device will have a state topic to publish state changes. If these messages are published with RETAIN flag, the MQTT switch will receive an instant state update after subscription and will start with correct state. Otherwise, the initial state of the switch will be false/off.</p>
<p>When a state topic is not available, the light will work in optimistic mode. In this mode, the light will immediately change state after every command. Otherwise, the light will wait for state confirmation from device (message from <code>state_topic</code>).</p>
<p>When a state topic is not available, the light will work in optimistic mode. In this mode, the light will immediately change state after every command. Otherwise, the light will wait for state confirmation from device (message from <code class="highlighter-rouge">state_topic</code>).</p>
<p>Optimistic mode can be forced, even if state topic is available. Try to enable it, if experiencing incorrect light operation.</p>
<p>To enable a light with brightness and RGB support in your installation, add the following to your <code>configuration.yaml</code> file:</p>
<p>To enable a light with brightness and RGB support in your installation, add the following to your <code class="highlighter-rouge">configuration.yaml</code> file:</p>
<div class="highlighter-coderay"><div class="CodeRay">
<div class="code"><pre><span class="comment"># Example configuration.yml entry</span>
<span class="key">light</span>:
<span class="key">platform</span>: <span class="string"><span class="content">mqtt</span></span>
<span class="key">name</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">Office Light RGB</span><span class="delimiter">&quot;</span></span>
<span class="key">state_topic</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">office/rgb1/light/status</span><span class="delimiter">&quot;</span></span>
<span class="key">command_topic</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">office/rgb1/light/switch</span><span class="delimiter">&quot;</span></span>
<span class="key">brightness_state_topic</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">office/rgb1/brightness/status</span><span class="delimiter">&quot;</span></span>
<span class="key">brightness_command_topic</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">office/rgb1/brightness/set</span><span class="delimiter">&quot;</span></span>
<span class="key">rgb_state_topic</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">office/rgb1/rgb/status</span><span class="delimiter">&quot;</span></span>
<span class="key">rgb_command_topic</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">office/rgb1/rgb/set</span><span class="delimiter">&quot;</span></span>
<span class="key">state_value_template</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">{{ value_json.state }}</span><span class="delimiter">&quot;</span></span>
<span class="key">brightness_value_template</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">{{ value_json.brightness }}</span><span class="delimiter">&quot;</span></span>
<span class="key">rgb_value_template</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">{{ value_json.rgb | join(',') }}</span><span class="delimiter">&quot;</span></span>
<span class="key">qos</span>: <span class="string"><span class="content">0</span></span>
<span class="key">payload_on</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">ON</span><span class="delimiter">&quot;</span></span>
<span class="key">payload_off</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">OFF</span><span class="delimiter">&quot;</span></span>
<span class="key">optimistic</span>: <span class="string"><span class="content">false</span></span>
</pre></div>
</div>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yml entry</span>
<span class="s">light</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">mqtt</span>
<span class="s">name</span><span class="pi">:</span> <span class="s2">"</span><span class="s">Office</span><span class="nv"> </span><span class="s">Light</span><span class="nv"> </span><span class="s">RGB"</span>
<span class="s">state_topic</span><span class="pi">:</span> <span class="s2">"</span><span class="s">office/rgb1/light/status"</span>
<span class="s">command_topic</span><span class="pi">:</span> <span class="s2">"</span><span class="s">office/rgb1/light/switch"</span>
<span class="s">brightness_state_topic</span><span class="pi">:</span> <span class="s2">"</span><span class="s">office/rgb1/brightness/status"</span>
<span class="s">brightness_command_topic</span><span class="pi">:</span> <span class="s2">"</span><span class="s">office/rgb1/brightness/set"</span>
<span class="s">rgb_state_topic</span><span class="pi">:</span> <span class="s2">"</span><span class="s">office/rgb1/rgb/status"</span>
<span class="s">rgb_command_topic</span><span class="pi">:</span> <span class="s2">"</span><span class="s">office/rgb1/rgb/set"</span>
<span class="s">state_value_template</span><span class="pi">:</span> <span class="s2">"</span><span class="s">{{</span><span class="nv"> </span><span class="s">value_json.state</span><span class="nv"> </span><span class="s">}}"</span>
<span class="s">brightness_value_template</span><span class="pi">:</span> <span class="s2">"</span><span class="s">{{</span><span class="nv"> </span><span class="s">value_json.brightness</span><span class="nv"> </span><span class="s">}}"</span>
<span class="s">rgb_value_template</span><span class="pi">:</span> <span class="s2">"</span><span class="s">{{</span><span class="nv"> </span><span class="s">value_json.rgb</span><span class="nv"> </span><span class="s">|</span><span class="nv"> </span><span class="s">join(',')</span><span class="nv"> </span><span class="s">}}"</span>
<span class="s">qos</span><span class="pi">:</span> <span class="s">0</span>
<span class="s">payload_on</span><span class="pi">:</span> <span class="s2">"</span><span class="s">ON"</span>
<span class="s">payload_off</span><span class="pi">:</span> <span class="s2">"</span><span class="s">OFF"</span>
<span class="s">optimistic</span><span class="pi">:</span> <span class="s">false</span>
</code></pre>
</div>
<p>To enable a light with brightness (no RGB version) in your installation, add the following to your <code>configuration.yaml</code> file:</p>
<p>To enable a light with brightness (no RGB version) in your installation, add the following to your <code class="highlighter-rouge">configuration.yaml</code> file:</p>
<div class="highlighter-coderay"><div class="CodeRay">
<div class="code"><pre><span class="comment"># Example configuration.yml entry</span>
<span class="key">light</span>:
<span class="key">platform</span>: <span class="string"><span class="content">mqtt</span></span>
<span class="key">name</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">Office light</span><span class="delimiter">&quot;</span></span>
<span class="key">state_topic</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">office/rgb1/light/status</span><span class="delimiter">&quot;</span></span>
<span class="key">command_topic</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">office/rgb1/light/switch</span><span class="delimiter">&quot;</span></span>
<span class="key">qos</span>: <span class="string"><span class="content">0</span></span>
<span class="key">payload_on</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">ON</span><span class="delimiter">&quot;</span></span>
<span class="key">payload_off</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">OFF</span><span class="delimiter">&quot;</span></span>
<span class="key">optimistic</span>: <span class="string"><span class="content">false</span></span>
</pre></div>
</div>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yml entry</span>
<span class="s">light</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">mqtt</span>
<span class="s">name</span><span class="pi">:</span> <span class="s2">"</span><span class="s">Office</span><span class="nv"> </span><span class="s">light"</span>
<span class="s">state_topic</span><span class="pi">:</span> <span class="s2">"</span><span class="s">office/rgb1/light/status"</span>
<span class="s">command_topic</span><span class="pi">:</span> <span class="s2">"</span><span class="s">office/rgb1/light/switch"</span>
<span class="s">qos</span><span class="pi">:</span> <span class="s">0</span>
<span class="s">payload_on</span><span class="pi">:</span> <span class="s2">"</span><span class="s">ON"</span>
<span class="s">payload_off</span><span class="pi">:</span> <span class="s2">"</span><span class="s">OFF"</span>
<span class="s">optimistic</span><span class="pi">:</span> <span class="s">false</span>
</code></pre>
</div>
<p>Configuration variables:</p>
@ -159,7 +155,7 @@
</ul>
<p class="note warning">
Make sure that your topics match exact. <code>some-topic/</code> and <code>some-topic</code> are different topics.
Make sure that your topics match exact. <code class="highlighter-rouge">some-topic/</code> and <code class="highlighter-rouge">some-topic</code> are different topics.
</p>
<p>A basic example using a nodeMCU board (ESP8266) to control its built-in led (on/off) can be found <a href="https://github.com/mertenats/open-home-automation/tree/master/ha_mqtt_light">here</a>. <a href="https://github.com/mertenats/open-home-automation/tree/master/ha_mqtt_rgb_light">Here</a> is another example to control a RGB led (on/off, brightness and colors).</p>