339 lines
No EOL
16 KiB
HTML
339 lines
No EOL
16 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>Philips Hue - Home Assistant</title>
|
||
<meta name="author" content="Home Assistant">
|
||
<meta name="description" content="Instructions how to setup Philips Hue within Home Assistant.">
|
||
|
||
<meta name="viewport" content="width=device-width">
|
||
<link rel="canonical" href="https://home-assistant.io/components/light.hue/">
|
||
|
||
<meta property="fb:app_id" content="338291289691179">
|
||
<meta property="og:title" content="Philips Hue">
|
||
<meta property="og:site_name" content="Home Assistant">
|
||
<meta property="og:url" content="https://home-assistant.io/components/light.hue/">
|
||
<meta property="og:type" content="article">
|
||
<meta property="og:description" content="Instructions how to setup Philips Hue 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="Philips Hue">
|
||
<meta name="twitter:description" content="Instructions how to setup Philips Hue within 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">
|
||
<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='/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="/ecosystem/">Ecosystem</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>
|
||
</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">
|
||
Philips Hue
|
||
</h1>
|
||
</header>
|
||
<hr class="divider">
|
||
|
||
|
||
<p>Philips Hue support is integrated into Home Assistant as a light platform. The preferred way to setup the Philips Hue platform is by enabling the <a href="/components/discovery/">discovery component</a>.</p>
|
||
|
||
<p>Once discovered, if you have a custom default view, locate <code class="highlighter-rouge">configurator.philips_hue</code> in the entities list ( < > ) and add it to a group in <code class="highlighter-rouge">configuration.yaml</code>. Restart Home Assistant so that the configurator is visible in the Home Assistant dashboard. Once Home Assistant is restarted, locate and click on <code class="highlighter-rouge">configurator.philips_hue</code> to bring up the initiation dialog. This will prompt you to press the Hue button to register the Hue hub in home assistant. Once complete, the configurator entity isn’t needed anymore and can be removed from any visible group in <code class="highlighter-rouge">configuration.yaml</code>.</p>
|
||
|
||
<p>Restarting Home Assistant once more should result in the Hue lights listed as “light” entities. Add these light entities to configuration.yaml and restart home assistant once more to complete the installation.</p>
|
||
|
||
<p>If you want to enable the component without relying on the <a href="/components/discovery/">discovery component</a>, add the following lines to your <code class="highlighter-rouge">configuration.yaml</code>:</p>
|
||
|
||
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
|
||
<span class="s">light</span><span class="pi">:</span>
|
||
<span class="s">platform</span><span class="pi">:</span> <span class="s">hue</span>
|
||
<span class="s">host</span><span class="pi">:</span> <span class="s">DEVICE_IP_ADDRESS</span>
|
||
</code></pre>
|
||
</div>
|
||
|
||
<p>Configuration variables:</p>
|
||
|
||
<ul>
|
||
<li><strong>host</strong> (<em>Required</em>): IP address of the device, eg. 192.168.1.10.</li>
|
||
<li><strong>allow_unreachable</strong> (<em>Optional</em>): This will allow unreachable bulbs to report their state correctly. By default <em>name</em> from the device is used.</li>
|
||
<li><strong>filename</strong> (<em>Optional</em>): Make this unique if specifying multiple Hue hubs.</li>
|
||
</ul>
|
||
|
||
<h3><a class="title-link" name="using-hue-groups-in-home-assistant" href="#using-hue-groups-in-home-assistant"></a> Using Hue Groups in Home Assistant</h3>
|
||
|
||
<p>The Hue API allows you to group lights. Home Assistant also supports grouping of entities natively, but sometimes it can be usefull to use Hue Groups to group light bulbs. By doing so, Home Assistant only needs to send one API call to change the state of all the bulbs in those groups instead of one call for every light in the group. This causes all the bulbs to change state simultaniously.</p>
|
||
|
||
<p>These Hue Groups can be a <code class="highlighter-rouge">Luminaire</code>, <code class="highlighter-rouge">Lightsource</code>, <code class="highlighter-rouge">LightGroup</code> or <code class="highlighter-rouge">Room</code>. The <code class="highlighter-rouge">Luminaire</code> and <code class="highlighter-rouge">Lightsource</code> can’t be created manually since the Hue bridge manages these automatically based on the discovered bulbs. The <code class="highlighter-rouge">Room</code> and <code class="highlighter-rouge">LightGroup</code> can be created manually trough the API, or the mobile app. A bulb can only exist in one <code class="highlighter-rouge">Room</code>, but can exist in multiple <code class="highlighter-rouge">LightGroup</code>. The <code class="highlighter-rouge">LightGroup</code> can be usefull to link certain bulbs together since.</p>
|
||
|
||
<p>The 2nd generation Hue app only allows to create a <code class="highlighter-rouge">Room</code>. You need to use the first generation app or the API to create a <code class="highlighter-rouge">LightGroup</code>.</p>
|
||
|
||
<p>Example:</p>
|
||
|
||
<p>To create a <code class="highlighter-rouge">LightGroup</code> named <code class="highlighter-rouge">Ceiling lights</code> that contains the lights 1, 2 and 3, execute the following command:</p>
|
||
|
||
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>curl -XPOST -d <span class="s1">'{"name": "Ceiling lights", "lights": ["1", "2", "3"]}'</span> http://<bridge>/api/<username>/groups
|
||
</code></pre>
|
||
</div>
|
||
|
||
<p>The <code class="highlighter-rouge"><username></code> is the string that is used to register Home Assistant on the bridge, you can find it in the <code class="highlighter-rouge">phue.conf</code> file in your configuration path. <code class="highlighter-rouge"><bridge></code> is the IP address or hostname of your Hue bridge.</p>
|
||
|
||
<p>You can find out the ids of your lights by executing the following command:</p>
|
||
|
||
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>curl http://<bridge>/api/<username>/lights
|
||
</code></pre>
|
||
</div>
|
||
|
||
<p>Home Assistant will automatically detect your new <code class="highlighter-rouge">LightGroup</code> and add it to the interface.</p>
|
||
|
||
<p class="note warning">
|
||
To support Hue Light Groups, your bridge needs to have at least firmware 1.13 (released on June 3, 2016).
|
||
</p>
|
||
|
||
<p>More information can be found on the <a href="https://www.developers.meethue.com/documentation/groups-api#22_create_group">Philips Hue API documentation</a> website.</p>
|
||
|
||
<h3><a class="title-link" name="using-hue-scenes-in-home-assistant" href="#using-hue-scenes-in-home-assistant"></a> Using Hue Scenes in Home Assistant</h3>
|
||
|
||
<p>The Hue platform has it’s own concept of Scenes for setting the colors of a group of lights at once. Hue Scenes are very cheap, get created by all kinds of apps (as it is the only way to have 2 or more lights change at the same time), and are rarely deleted. A typical Hue hub might have hundreds of scenes stored in them, many that you’ve never used, almost all very poorly named.</p>
|
||
|
||
<p>To avoid user interface overload we don’t expose Scenes directly. Instead there is a <a href="/components/light/#service-lighthue_activate_scene">light.hue_activate_scene</a> service which can be used by <code class="highlighter-rouge">automation</code> or <code class="highlighter-rouge">script</code> components. For
|
||
instance:</p>
|
||
|
||
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">script</span><span class="pi">:</span>
|
||
<span class="s">porch_on</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">light.hue_activate_scene</span>
|
||
<span class="s">data</span><span class="pi">:</span>
|
||
<span class="s">group_name</span><span class="pi">:</span> <span class="s2">"</span><span class="s">Porch"</span>
|
||
<span class="s">scene_name</span><span class="pi">:</span> <span class="s2">"</span><span class="s">Porch</span><span class="nv"> </span><span class="s">Orange"</span>
|
||
</code></pre>
|
||
</div>
|
||
|
||
<p><em>** Finding Group and Scene Names **</em></p>
|
||
|
||
<p>How do you find these names?</p>
|
||
|
||
<p>The easiest way to do this is only use the scenes from the 2nd generation Hue app. That is organized by Room (Group) and Scene
|
||
Name. Use the values of Room name and Scene name that you see in the app. You can test these work on the <code class="highlighter-rouge">dev-service</code> console of your Home Assistant instance.</p>
|
||
|
||
<p>Alternatively, you can dump all rooms and scene names using this <a href="https://gist.github.com/sdague/5479b632e0fce931951c0636c39a9578">gist</a>. This does <strong>not</strong> tell you which groups and scenes work together but it’s sufficient to get values that you can test in the <code class="highlighter-rouge">dev-service</code> console.</p>
|
||
|
||
<p><em>** Caveats **</em></p>
|
||
|
||
<p>The Hue API doesn’t activate Scenes directly, only on a Hue Group (typically Rooms, especially if using the 2nd gen app). But Hue Scenes don’t actually reference their group. So heuristic matching is used.</p>
|
||
|
||
<p>Neither Group names or Scene names are guaranteed unique in Hue. If you are getting non deterministic behavior, adjust your Hue scenes via the App to be more identifying.</p>
|
||
|
||
<p>The Hue hub has limitted spaces for Scenes, and will delete Scenes if new ones get created that would overflow that space. The API docs say this is based on Least Recently Used.</p>
|
||
|
||
|
||
</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.hue.markdown'>Edit this page on GitHub</a></div>
|
||
<div class='brand-logo-container section'>
|
||
<img src='/images/supported_brands/philips_hue.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>: Local Polling
|
||
</div>
|
||
<div class='section'>
|
||
Introduced in release: pre 0.7
|
||
</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">Category Light</h1>
|
||
<ul class='divided'>
|
||
<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.enocean/'>EnOcean Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.flux_led/'>Flux Led/MagicLight</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.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.lifx/'>LIFX</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.mqtt_json/'>MQTT JSON Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.mqtt/'>MQTT Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.mqtt_template/'>MQTT Template Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.mysensors/'>MySensors Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.osramlightify/'>Osram Lightify</a>
|
||
</li>
|
||
<li>
|
||
Philips Hue
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.qwikswitch/'>QwikSwitch 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.tellstick/'>TellStick Light</a>
|
||
</li>
|
||
<li>
|
||
<a href='/components/light.tikteck/'>Tikteck</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.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.zigbee/'>ZigBee Light</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>.<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>
|
||
</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>
|
||
</body>
|
||
</html> |