663 lines
38 KiB
HTML
663 lines
38 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>MQTT Light - Home Assistant</title>
|
||
<meta name="author" content="Home Assistant">
|
||
<meta name="description" content="Instructions how to setup MQTT lights within Home Assistant.">
|
||
<meta name="viewport" content="width=device-width">
|
||
<link rel="canonical" href="https://home-assistant.io/components/light.mqtt/">
|
||
<meta property="fb:app_id" content="338291289691179">
|
||
<meta property="og:title" content="MQTT Light">
|
||
<meta property="og:site_name" content="Home Assistant">
|
||
<meta property="og:url" content="https://home-assistant.io/components/light.mqtt/">
|
||
<meta property="og:type" content="article">
|
||
<meta property="og:description" content="Instructions how to setup MQTT lights within 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="MQTT Light">
|
||
<meta name="twitter:description" content="Instructions how to setup MQTT lights within 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">
|
||
MQTT Light
|
||
</h1>
|
||
</header>
|
||
<hr class="divider">
|
||
<p>The <code class="highlighter-rouge">mqtt</code> light platform lets you control your MQTT enabled lights. It supports setting brightness, color temperature, effects, flashing, on/off, RGB colors, transitions, XY colors and white values.</p>
|
||
<p>In an ideal scenario, the MQTT device will have a state topic to publish state changes. If these messages are published with a <code class="highlighter-rouge">RETAIN</code> flag, the MQTT light will receive an instant state update after subscription and will start with the correct state. Otherwise, the initial state of the switch will be <code class="highlighter-rouge">false</code> / <code class="highlighter-rouge">off</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 the device (message from <code class="highlighter-rouge">state_topic</code>).</p>
|
||
<p>Optimistic mode can be forced, even if the <code class="highlighter-rouge">state_topic</code> is available. Try to enable it, if experiencing incorrect light operation.</p>
|
||
<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="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">mqtt</span>
|
||
<span class="s">command_topic</span><span class="pi">:</span> <span class="s2">"</span><span class="s">office/rgb1/light/switch"</span>
|
||
</code></pre>
|
||
</div>
|
||
<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="name" href="#name"></a> name</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">The name of the light.</span></p>
|
||
<p class="default">Default value: MQTT Light</p>
|
||
</dd>
|
||
<dt><a class="title-link" name="command_topic" href="#command_topic"></a> command_topic</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Required)</span><span class="description">The MQTT topic to publish commands to change the switch state.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="brightness_command_topic" href="#brightness_command_topic"></a> brightness_command_topic</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">The MQTT topic to publish commands to change the light’s brightness.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="brightness_scale" href="#brightness_scale"></a> brightness_scale</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="integer">integer</span>)</span><span class="required">(Optional)</span><span class="description">Defines the maximum brightness value (i.e. 100%) of the MQTT device.</span></p>
|
||
<p class="default">Default value: 255</p>
|
||
</dd>
|
||
<dt><a class="title-link" name="brightness_state_topic" href="#brightness_state_topic"></a> brightness_state_topic</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">The MQTT topic subscribed to receive brightness state updates.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="brightness_value_template" href="#brightness_value_template"></a> brightness_value_template</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">Defines a <a href="/docs/configuration/templating/#processing-incoming-data">template</a> to extract the brightness value.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="color_temp_command_topic" href="#color_temp_command_topic"></a> color_temp_command_topic</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">The MQTT topic to publish commands to change the light’s color temperature state. The color temperature command slider has a range of 157 to 500 mireds (micro reciprocal degrees).</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="color_temp_state_topic" href="#color_temp_state_topic"></a> color_temp_state_topic</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">The MQTT topic subscribed to receive color temperature state updates.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="color_temp_value_template" href="#color_temp_value_template"></a> color_temp_value_template</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">Defines a <a href="/topics/templating/">template</a> to extract the color temperature value.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="effect_command_topic" href="#effect_command_topic"></a> effect_command_topic</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">The MQTT topic to publish commands to change the light’s effect state.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="effect_state_topic" href="#effect_state_topic"></a> effect_state_topic</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">The MQTT topic subscribed to receive effect state updates.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="effect_value_template" href="#effect_value_template"></a> effect_value_template</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">Defines a <a href="/docs/configuration/templating/#processing-incoming-data">template</a> to extract the effect value.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="effect_list" href="#effect_list"></a> effect_list</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string list">string list</span>)</span><span class="required">(Optional)</span><span class="description">The list of effects the light supports.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="on_command_type" href="#on_command_type"></a> on_command_type</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">Defines when on the payload_on is sent. Using <code class="highlighter-rouge">last</code> (the default) will send any style (brightness, color, etc) topics first and then a <code class="highlighter-rouge">payload_on</code> to the <code class="highlighter-rouge">command_topic</code>. Using <code class="highlighter-rouge">first</code> will send the <code class="highlighter-rouge">payload_on</code> and then any style topics. Using <code class="highlighter-rouge">brightness</code> will only send brightness commands instead of the <code class="highlighter-rouge">payload_on</code> to turn the light on.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="optimistic" href="#optimistic"></a> optimistic</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="boolean">boolean</span>)</span><span class="required">(Optional)</span><span class="description">Flag that defines if switch works in optimistic mode.</span></p>
|
||
<p class="default">Default value: <code class="highlighter-rouge">true</code> if no state topic defined, else <code class="highlighter-rouge">false</code>.</p>
|
||
</dd>
|
||
<dt><a class="title-link" name="payload_on" href="#payload_on"></a> payload_on</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">The payload that represents enabled state.</span></p>
|
||
<p class="default">Default value: true</p>
|
||
</dd>
|
||
<dt><a class="title-link" name="payload_off" href="#payload_off"></a> payload_off</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">The payload that represents disabled state.</span></p>
|
||
<p class="default">Default value: false</p>
|
||
</dd>
|
||
<dt><a class="title-link" name="qos" href="#qos"></a> qos</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="integer">integer</span>)</span><span class="required">(Optional)</span><span class="description">The maximum QoS level of the state topic.</span></p>
|
||
<p class="default">Default value: 0</p>
|
||
</dd>
|
||
<dt><a class="title-link" name="retain" href="#retain"></a> retain</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="boolean">boolean</span>)</span><span class="required">(Optional)</span><span class="description">If the published message should have the retain flag on or not.</span></p>
|
||
<p class="default">Default value: false</p>
|
||
</dd>
|
||
<dt><a class="title-link" name="rgb_command_template" href="#rgb_command_template"></a> rgb_command_template</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">Defines a <a href="/docs/configuration/templating/#processing-incoming-data">template</a> to compose message which will be sent to <code class="highlighter-rouge">rgb_command_topic</code>. Available variables: <code class="highlighter-rouge">red</code>, <code class="highlighter-rouge">green</code> and <code class="highlighter-rouge">blue</code>.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="rgb_command_topic" href="#rgb_command_topic"></a> rgb_command_topic</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">The MQTT topic to publish commands to change the light’s RGB state.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="rgb_state_topic" href="#rgb_state_topic"></a> rgb_state_topic</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">The MQTT topic subscribed to receive RGB state updates.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="rgb_value_template" href="#rgb_value_template"></a> rgb_value_template</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">Defines a <a href="/docs/configuration/templating/#processing-incoming-data">template</a> to extract the RGB value.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="state_topic" href="#state_topic"></a> state_topic</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">The MQTT topic subscribed to receive state updates.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="state_value_template" href="#state_value_template"></a> state_value_template</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">Defines a <a href="/docs/configuration/templating/#processing-incoming-data">template</a> to extract the state value. The template should match the payload <code class="highlighter-rouge">on</code> and <code class="highlighter-rouge">off</code> values, so if your light uses <code class="highlighter-rouge">power on</code> to turn on, your <code class="highlighter-rouge">state_value_template</code> string should return <code class="highlighter-rouge">power on</code> when the switch is on. For example if the message is just <code class="highlighter-rouge">on</code>, your <code class="highlighter-rouge">state_value_template</code> should be <code class="highlighter-rouge">power </code>.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="white_value_command_topic" href="#white_value_command_topic"></a> white_value_command_topic</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">The MQTT topic to publish commands to change the light’s white value.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="white_value_state_topic" href="#white_value_state_topic"></a> white_value_state_topic</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">The MQTT topic subscribed to receive white value updates.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="white_value_template" href="#white_value_template"></a> white_value_template</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">Defines a <a href="/docs/configuration/templating/#processing-incoming-data">template</a> to extract the white value.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="xy_command_topic" href="#xy_command_topic"></a> xy_command_topic</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">The MQTT topic to publish commands to change the light’s XY state.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="xy_state_topic" href="#xy_state_topic"></a> xy_state_topic</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">The MQTT topic subscribed to receive XY state updates.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="xy_value_template" href="#xy_value_template"></a> xy_value_template</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">Defines a <a href="/docs/configuration/templating/#processing-incoming-data">template</a> to extract the XY value.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="availability_topic" href="#availability_topic"></a> availability_topic</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">The MQTT topic subscribed to receive availability (online/offline) updates.</span></p>
|
||
</dd>
|
||
<dt><a class="title-link" name="payload_available" href="#payload_available"></a> payload_available</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">The payload that represents the available state.</span></p>
|
||
<p class="default">Default value: online</p>
|
||
</dd>
|
||
<dt><a class="title-link" name="payload_not_available" href="#payload_not_available"></a> payload_not_available</dt>
|
||
<dd>
|
||
<p class="desc"><span class="type">(<span class="string">string</span>)</span><span class="required">(Optional)</span><span class="description">The payload that represents the unavailable state.</span></p>
|
||
<p class="default">Default value: offline</p>
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
<p class="note warning">
|
||
Make sure that your topics match exactly. <code class="highlighter-rouge">some-topic/</code> and <code class="highlighter-rouge">some-topic</code> are different topics.
|
||
</p>
|
||
<p class="note warning">
|
||
XY and RGB can not be used at the same time. If both are provided, XY overrides RGB.
|
||
</p>
|
||
<h2><a class="title-link" name="comparison-of-light-mqtt-platforms" href="#comparison-of-light-mqtt-platforms"></a> Comparison of light MQTT platforms</h2>
|
||
<table>
|
||
<thead>
|
||
<tr>
|
||
<th>Function</th>
|
||
<th><a href="https://home-assistant.io/components/light.mqtt/"><code class="highlighter-rouge">mqtt</code></a></th>
|
||
<th><a href="https://home-assistant.io/components/light.mqtt_json/"><code class="highlighter-rouge">mqtt_json</code></a></th>
|
||
<th><a href="https://home-assistant.io/components/light.mqtt_template/"><code class="highlighter-rouge">mqtt_template</code></a></th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>Brightness</td>
|
||
<td>✔</td>
|
||
<td>✔</td>
|
||
<td>✔</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Color temperature</td>
|
||
<td>✔</td>
|
||
<td>✔</td>
|
||
<td>✔</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Effects</td>
|
||
<td>✔</td>
|
||
<td>✔</td>
|
||
<td>✔</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Flashing</td>
|
||
<td>✘</td>
|
||
<td>✔</td>
|
||
<td>✔</td>
|
||
</tr>
|
||
<tr>
|
||
<td>RGB Color</td>
|
||
<td>✔</td>
|
||
<td>✔</td>
|
||
<td>✔</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Transitions</td>
|
||
<td>✘</td>
|
||
<td>✔</td>
|
||
<td>✔</td>
|
||
</tr>
|
||
<tr>
|
||
<td>XY Color</td>
|
||
<td>✔</td>
|
||
<td>✔</td>
|
||
<td>✘</td>
|
||
</tr>
|
||
<tr>
|
||
<td>White Value</td>
|
||
<td>✔</td>
|
||
<td>✔</td>
|
||
<td>✔</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
<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 sensor.</p>
|
||
<h3><a class="title-link" name="brightness-and-rgb-support" href="#brightness-and-rgb-support"></a> Brightness and RGB support</h3>
|
||
<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="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="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>
|
||
<h3><a class="title-link" name="brightness-and-no-rgb-support" href="#brightness-and-no-rgb-support"></a> Brightness and no RGB support</h3>
|
||
<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="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="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">brightness_state_topic</span><span class="pi">:</span> <span class="s1">'</span><span class="s">office/rgb1/light/brightness'</span>
|
||
<span class="s">brightness_command_topic</span><span class="pi">:</span> <span class="s1">'</span><span class="s">office/rgb1/light/brightness/set'</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>
|
||
<h3><a class="title-link" name="brightness-without-on-commands" href="#brightness-without-on-commands"></a> Brightness without on commands</h3>
|
||
<p>To enable a light that sends only brightness topics to turn it on, add the following to your <code class="highlighter-rouge">configuration.yaml</code> file. The <code class="highlighter-rouge">command_topic</code> is only used to send an off command in this case:</p>
|
||
<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="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">Brightness</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/light/status"</span>
|
||
<span class="s">command_topic</span><span class="pi">:</span> <span class="s2">"</span><span class="s">office/light/switch"</span>
|
||
<span class="s">payload_off</span><span class="pi">:</span> <span class="s2">"</span><span class="s">OFF"</span>
|
||
<span class="s">brightness_state_topic</span><span class="pi">:</span> <span class="s1">'</span><span class="s">office/rgb1/light/brightness'</span>
|
||
<span class="s">brightness_command_topic</span><span class="pi">:</span> <span class="s1">'</span><span class="s">office/rgb1/light/brightness/set'</span>
|
||
<span class="s">on_command_type</span><span class="pi">:</span> <span class="s1">'</span><span class="s">brightness'</span>
|
||
</code></pre>
|
||
</div>
|
||
<h3><a class="title-link" name="implementations" href="#implementations"></a> Implementations</h3>
|
||
<ul>
|
||
<li>A <a href="https://github.com/mertenats/open-home-automation/tree/master/ha_mqtt_light">basic example</a> using a nodeMCU board (ESP8266) to control its built-in LED (on/off).</li>
|
||
<li>Another <a href="https://github.com/mertenats/open-home-automation/tree/master/ha_mqtt_rgb_light">example</a> to control a RGB LED (on/off, brightness, and colors).</li>
|
||
</ul>
|
||
</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/light.mqtt.markdown'>Edit this page on GitHub</a></div>
|
||
<div class='brand-logo-container section'>
|
||
<img src='/images/supported_brands/mqtt.png' />
|
||
</div>
|
||
<div class='section'>
|
||
IoT class<sup><a href='/blog/2016/02/12/classifying-the-internet-of-things/#classifiers'><i class="icon-info-sign"></i></a></sup>: depends
|
||
</div>
|
||
<div class='section'>
|
||
Source:
|
||
<a href='https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/light/mqtt.py'>light/mqtt.py</a>
|
||
</div>
|
||
<div class='section'>
|
||
This is a platform for
|
||
<a href='/components/light/'>the Lights component</a>.
|
||
</div>
|
||
<div class='section'>
|
||
<h1 class='title delta'>Related components</h1>
|
||
<ul class='divided'>
|
||
<li><a href='/components/mqtt/'>
|
||
MQTT
|
||
</a></li>
|
||
<li><a href='/components/alarm_control_panel.mqtt/'>
|
||
MQTT Alarm Control Panel
|
||
</a></li>
|
||
<li><a href='/components/binary_sensor.mqtt/'>
|
||
MQTT Binary Sensor
|
||
</a></li>
|
||
<li><a href='/components/camera.mqtt/'>
|
||
MQTT Camera
|
||
</a></li>
|
||
<li><a href='/components/cover.mqtt/'>
|
||
MQTT Cover
|
||
</a></li>
|
||
<li><a href='/components/device_tracker.mqtt/'>
|
||
MQTT Device Tracker
|
||
</a></li>
|
||
<li><a href='/components/fan.mqtt/'>
|
||
MQTT Fan
|
||
</a></li>
|
||
<li><a href='/components/climate.mqtt/'>
|
||
MQTT HVAC
|
||
</a></li>
|
||
<li><a href='/components/lock.mqtt/'>
|
||
MQTT Lock
|
||
</a></li>
|
||
<li><a href='/components/notify.mqtt/'>
|
||
MQTT Notifications
|
||
</a></li>
|
||
<li><a href='/components/sensor.mqtt/'>
|
||
MQTT Sensor
|
||
</a></li>
|
||
<li><a href='/components/switch.mqtt/'>
|
||
MQTT Switch
|
||
</a></li>
|
||
<li><a href='/components/vacuum.mqtt/'>
|
||
MQTT Vacuum
|
||
</a></li>
|
||
</ul>
|
||
</div>
|
||
<div class='section'>
|
||
<h1 class="title delta">Category Light</h1>
|
||
<ul class='divided'>
|
||
<li>
|
||
<a href='/components/light.ads/'>ADS Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.abode/'>Abode Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.avion/'>Avi-on</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.wemo/'>Belkin WeMo Lights</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.blinksticklight/'>Blinkstick</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.blinkt/'>Blinkt!</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.enocean/'>EnOcean Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.flux_led/'>Flux Led/MagicLight</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.greenwave/'>Greenwave Reality (TCP Connected) Lights</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.hive/'>Hive Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.homematic/'>Homematic Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.hyperion/'>Hyperion</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.ihc/'>IHC Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.tradfri/'>IKEA Trådfri lights</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.isy994/'>ISY994 Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.insteon_local/'>Insteon (Local) Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.insteon_hub/'>Insteon Hub Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.insteon_plm/'>Insteon PLM Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.knx/'>KNX Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.lifx/'>LIFX</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.decora/'>Leviton Decora</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.decora_wifi/'>Leviton Decora Wi-Fi</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.limitlessled/'>LimitlessLED</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.litejet/'>LiteJet Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.lutron_caseta/'>Lutron Caseta Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.lutron/'>Lutron Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.mqtt_json/'>MQTT JSON Light</a>
|
||
</li>
|
||
<li>
|
||
MQTT Light
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.mqtt_template/'>MQTT Template Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.mochad/'>Mochad Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.mysensors/'>MySensors Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.osramlightify/'>Osram Lightify</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.rpi_gpio_pwm/'>PWM LED</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.hue/'>Philips Hue Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.piglow/'>Piglow</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.qwikswitch/'>QwikSwitch Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.rflink/'>RFLink Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.rfxtrx/'>RFXtrx Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.scsgate/'>SCSGate Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.sensehat/'>Sense HAT Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.skybell/'>Skybell Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.tplink/'>TP-Link Bulb</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.tellstick/'>TellStick Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.template/'>Template Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.tikteck/'>Tikteck</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.velbus/'>Velbus lights</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.vera/'>Vera Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.wink/'>Wink Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.x10/'>X10</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.xiaomi_aqara/'>Xiaomi Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.xiaomi_miio/'>Xiaomi Philips Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.yeelightsunflower/'>Yeelight Sunflower Bulb</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.yeelight/'>Yeelight Wifi Bulb</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.zwave/'>Z-Wave Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.zengge/'>Zengge</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.zha/'>ZigBee Home Automation Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.zigbee/'>ZigBee Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.deconz/'>deCONZ lights</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.iglo/'>iGlo</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.mystrom/'>myStrom WiFi Bulb</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>
|