Site updated at 2016-12-06 08:23:42 UTC

This commit is contained in:
Travis CI 2016-12-06 08:23:42 +00:00
parent 9db92b7101
commit d8f8521198
1358 changed files with 236897 additions and 220 deletions

310
blog/posts/10/index.html Normal file
View file

@ -0,0 +1,310 @@
<!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>Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Home Assistant is an open-source home automation platform running on Python 3.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/posts/10/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Home Assistant">
<meta property="og:site_name" content="Home Assistant">
<meta property="og:url" content="https://home-assistant.io/blog/posts/10/">
<meta property="og:type" content="website">
<meta property="og:description" content="">
<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="Home Assistant">
<meta name="twitter:description" content="">
<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="listing">
<header>
<h1 class="beta">
<a href="/blog/2014/12/26/home-control-home-automation-and-the-smart-home/">Home Control, Automation &amp; the Smart Home</a>
</h1>
<div class="meta clearfix">
<time datetime="2014-12-26T18:23:13+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> December 26, 2014</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> four minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Internet-of-Things</li>
</ul>
</span>
<a class='comments'
href="/blog/2014/12/26/home-control-home-automation-and-the-smart-home/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>The internet has been buzzing over the last year about home automation. A lot of different terms fly around like the internet of things, home automation and the smart home.
This article will try to explain how they all relate.</p>
<p>The first thing to introduce is the <strong>Internet of Things</strong> (IoT). This refers to a new generation of devices that cannot only be controlled by humans via buttons or remotes but also provide an interface to communicate with other devices and applications. For example, an IoT-capable coffee machine could receive commands to create different types of coffee and be able to broadcast the amount of water left in its resevoir.</p>
<p>There is no widely adopted open standard for smart device communication. This prevents a lot of devices to communicate with one another. And even if they could, most devices are not designed to manage other devices. To solve this we need a device to be able to communicate with and manage all these connected devices. This device is called a <strong>hub</strong>.</p>
<p>As a bare minimum a hub has to keep track of the state of each device and should be able to control them if possible. For example, it has to know which lights are on or off and offer a way to control the lights. For a sensor it only has to know the value. A hub with these capabilities offers <strong>home control</strong>.</p>
<p class="img">
<a href="/images/screenshots/nexus_7_dashboard.png">
<img alt="Hub dashboard example" src="/images/screenshots/nexus_7_dashboard.png" />
</a>
Example of a hubs dashboard. Showing the state of 2 persons, 4 lights and the sun.
</p>
<a class="btn pull-right" href="/blog/2014/12/26/home-control-home-automation-and-the-smart-home/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2014/12/18/website-launched/">Website launched!</a>
</h1>
<div class="meta clearfix">
<time datetime="2014-12-18T23:24:45+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> December 18, 2014</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> Less than one minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Website</li>
</ul>
</span>
<a class='comments'
href="/blog/2014/12/18/website-launched/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>I finally took the time to setup a simple website to help people getting started with Home Assistant. The process was super smooth thanks to the great tools <a href="http://jekyllrb.com">Jekyll</a> and <a href="http://octopress.org">Octopress</a> and the great services <a href="https://pages.github.com">GitHub Pages</a> and <a href="https://cloudflare.com">CloudFlare</a>.</p>
</div>
</article>
<hr>
<div class="pagination">
<a class="btn pull-right" href="/blog/posts/9">Newer &rarr;</a>
</div>
</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">
<h1 class="title delta">About Home Assistant</h1>
<ul class="divided">
<li>
Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control.
</li>
<li><a href='/getting-started/'>Get started with Home Assistant</a></li>
<li><a href='/demo/'>Try the online demo</a></li>
<li><a class="twitter-follow-button" href="https://twitter.com/Home_Assistant">Follow Home Assistant on Twitter</a></li>
<li><div class="fb-like" data-href="https://www.facebook.com/homeassistantio/" data-layout="standard" data-action="like" data-size="small" data-show-faces="true" data-share="false"></div></li>
</ul>
</section>
<div id="fb-root"></div>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.async=true;js.src='//platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
<script>(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(d.getElementById(id)){return;}js=d.createElement(s);js.id=id;js.async=true;js.src="//connect.facebook.net/en_US/all.js#appId=338291289691179&xfbml=1";fjs.parentNode.insertBefore(js,fjs);}(document,'script','facebook-jssdk'));</script>
<section class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Categories</h1>
<ul class="divided">
<li><a href="/blog/categories/community/">Community</a></li>
<li><a href="/blog/categories/device-tracking/">Device Tracking</a></li>
<li><a href="/blog/categories/esp8266/">ESP8266</a></li>
<li><a href="/blog/categories/how-to/">How To</a></li>
<li><a href="/blog/categories/internet-of-things/">Internet of Things</a></li>
<li><a href="/blog/categories/iot-data/">IoT Data</a></li>
<li><a href="/blog/categories/mqtt/">MQTT</a></li>
<li><a href="/blog/categories/micropython/">Micropython</a></li>
<li><a href="/blog/categories/organisation/">Organisation</a></li>
<li><a href="/blog/categories/owntracks/">OwnTracks</a></li>
<li><a href="/blog/categories/presence-detection/">Presence Detection</a></li>
<li><a href="/blog/categories/public-service-announcement/">Public Service Announcement</a></li>
<li><a href="/blog/categories/release-notes/">Release Notes</a></li>
<li><a href="/blog/categories/survey/">Survey</a></li>
<li><a href="/blog/categories/talks/">Talks</a></li>
<li><a href="/blog/categories/technology/">Technology</a></li>
<li><a href="/blog/categories/user-stories/">User Stories</a></li>
<li><a href="/blog/categories/video/">Video</a></li>
<li><a href="/blog/categories/website/">Website</a></li>
<li><a href="/blog/categories/ibeacons/">iBeacons</a></li>
</ul>
</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>
<script>
var disqus_shortname = 'home-assistant';
var disqus_script = 'count.js';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}());
</script>
</body>
</html>

1054
blog/posts/2/index.html Normal file

File diff suppressed because it is too large Load diff

930
blog/posts/3/index.html Normal file
View file

@ -0,0 +1,930 @@
<!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>Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Home Assistant is an open-source home automation platform running on Python 3.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/posts/3/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Home Assistant">
<meta property="og:site_name" content="Home Assistant">
<meta property="og:url" content="https://home-assistant.io/blog/posts/3/">
<meta property="og:type" content="website">
<meta property="og:description" content="">
<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="Home Assistant">
<meta name="twitter:description" content="">
<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="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/07/19/visualizing-your-iot-data/">Visualize your IoT data</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-07-19T16:00:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> July 19, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Fabian Affolter</span>
<span><i class='icon-time'></i> five minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>How-To</li>
<li>IoT-Data</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/07/19/visualizing-your-iot-data/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p><img src="/images/blog/2016-07-reporting/mpl-sensor.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 12px;" width="200" /></p>
<p>The <a href="/components/history/">history component</a> is tracking everything that is going on within Home Assistant. This means that you have access to all stored information about your home. Our history is not a full-fledged graphical processing and visualization component as you may know from systems and network monitoring tools. The current limitation is that you only can select a day for a visual output of your information and not a period. Also, there is no possibility to drill down on a specific entity.</p>
<p>This blog post will show you ways to export data for reporting, visualization, or further analysis of automation rules.</p>
<a class="btn pull-right" href="/blog/2016/07/19/visualizing-your-iot-data/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/07/16/sqlalchemy-knx-join-simplisafe/">0.24: SQLAlchemy, KNX, Join by Joaoapps, and SimpliSafe.</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-07-16T12:00:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> July 16, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Fabian Affolter</span>
<span><i class='icon-time'></i> three minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/07/16/sqlalchemy-knx-join-simplisafe/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Its time for Home Assistant 0.24 and its full of new integration for your Home. It contains some structural changes to our history which requires action from your end, so please keep reading.</p>
<p><a href="https://www.mapquest.com/">MapQuest</a> discontinued their free and direct tile access by Monday, July 11, 2016. With <a href="https://carto.com/">CARTO</a> we found a very cool and suitable solution. They allow us to use their tile for the map. Thank you, <a href="https://carto.com/">CARTO</a>.</p>
<p><a href="https://github.com/rhooper/">Roy Hooper</a> did an amazing job migrating the history support from being tied to SQLite to use the ORM SQLAlchemy instead. This means that you can now use <strong>any</strong> SQL backend for the history. So besides SQLite you can now databases like MySQL or PostgreSQL. However, this does require that you install <a href="http://www.sqlalchemy.org/">SQLAlchemy</a> and run a command to migrate your existing history over. We tried to make the process as seamless as possible by introducing a new command line script:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>pip3 install SQLAlchemy
<span class="gp">$ </span>hass --script db_migrator --config /path/to/config
</code></pre>
</div>
<p>You can omit the <code class="highlighter-rouge">--config</code> option if you use the default configuration directory. Run the script with <code class="highlighter-rouge">--help</code> to get more options.</p>
<p><img src="/images/supported_brands/yahooweather.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/joaoapps_join.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/knx.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/tp-link.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /></p>
<ul>
<li>Config: Improved support for storing <a href="/topics/secrets/">secrets</a> (<a href="https://github.com/kellerza/">@kellerza</a>)</li>
<li>Sensor: Support for <a href="/components/sensor.yweather/">Yahoo! Weather</a> (<a href="https://github.com/pvizeli/">@pvizeli</a>)</li>
<li>Add scripts to command line to expose advanced options (<a href="https://github.com/balloob/">@balloob</a>)</li>
<li>Alarm: <a href="/components/alarm_control_panel.simplisafe/">SimpliSafe</a> is now supported (<a href="https://github.com/w1ll1am23/">@w1ll1am23</a>)</li>
<li>Core: Switch to SQLAlchemy for the Recorder component (<a href="https://github.com/rhooper/">@rhooper</a>)</li>
<li>Support for <a href="/components/joaoapps_join/">Join by Joaoapps</a> added incl. <a href="/components/notify.joaoapps_join/">Join Notify</a> (<a href="https://github.com/nkgilley">@nkgilley</a>)</li>
<li>Media Player: <a href="/components/media_player.plex/">Plex</a> will no longer spam the logs if server goes offline (<a href="https://github.com/dale3h/">@dale3h</a>)</li>
<li>Sensor: <a href="/components/sensor.apcupsd/">APCUPSd Sensor</a> now supports names, icons and units (<a href="https://github.com/dale3h/">@dale3h</a>)</li>
<li>Lock: <a href="/components/lock.verisure/">Verisure</a> entities will now use name instead of serial number for entity id (<a href="https://github.com/turbokongen/">@turbokongen</a>)</li>
<li><a href="/components/statsd/">StatsD</a> can now also export attributes (<a href="https://github.com/bah2830/">@bah2830</a>)</li>
<li>Support for <a href="/components/knx/">KNX</a> added (<a href="https://github.com/usul27">@usul27</a>)</li>
<li>Switch: <a href="/components/switch.tplink/">TPLink</a> HS100/HS110 now supported (<a href="https://github.com/GadgetReactor">@GadgetReactor</a>)</li>
<li>Stability fixes for <a href="//components/rfxtrx/">RFXtrx</a> (<a href="https://github.com/danielhiversen">@Danielhiversen</a>)</li>
<li>Tweaks to <a href="/components/zwave/">Z-Wave</a> (<a href="https://github.com/turbokongen/">@turbokongen</a>)</li>
<li>Light: <a href="/components/light/">Brightness</a> now clamped to 0-255 (<a href="https://github.com/keatontaylor">@keatontaylor</a>)</li>
<li>Thermostat: <a href="/components/thermostat.radiotherm/">Radiotherm</a> HVAC mode now supported (<a href="https://github.com/danieljkemp">@danieljkemp</a>)</li>
<li>Sensor: <a href="/components/sensor.google_travel_time/">Google Travel</a> times can now use dynamic locations for start/end (<a href="https://github.com/bah2830/">@bah2830</a>)</li>
<li>Notify: Allow sending photos to <a href="/components/notify.telegram/">Telegram</a> (<a href="https://github.com/pvizeli/">@pvizeli</a>)</li>
<li>Frontend: Improve loading times (<a href="https://github.com/balloob/">@balloob</a>)</li>
<li>Frontend: Fix stream not reconnecting after standby (<a href="https://github.com/balloob/">@balloob</a>)</li>
<li>Frontend: Wait up to two seconds for new state before resetting toggle after toggling state (<a href="https://github.com/balloob/">@balloob</a>)</li>
</ul>
<h3><a class="title-link" name="hotfix-0241---july-21" href="#hotfix-0241---july-21"></a> Hotfix 0.24.1 - July 21</h3>
<p>Quick hot fix after we found a bug in the migrator where it wouldnt work with a database in a non-standard location. Thanks to <a href="https://github.com/n8henrie/">@n8henrie</a> and <a href="https://github.com/AlucardZero/">@AlucardZero</a>.</p>
<h3><a class="title-link" name="breaking-changes" href="#breaking-changes"></a> Breaking changes</h3>
<ul>
<li>Migrating existing databases (see above).</li>
<li>The <a href="/components/sensor.apcupsd/">APCUPSd Sensor</a> was updated. This will need that you modify your <code class="highlighter-rouge">configuration.yaml</code> file.</li>
<li>Entity IDs of Verisure locks will change. This is a one time change but should improve readability.</li>
</ul>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/07/06/pocketchip-running-home-assistant/">PocketCHIP running Home Assistant</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-07-06T05:00:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> July 06, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Fabian Affolter</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>How-To</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/07/06/pocketchip-running-home-assistant/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p><img src="/images/blog/2016-07-pocketchip/pocketchip-logo.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 12px;" width="200" />
Over a year ago I participated in the <a href="https://www.kickstarter.com/projects/1598272670/chip-the-worlds-first-9-computer/description">kickstarter campaign</a> for “CHIP - The Worlds First Nine Dollar Computer” by <a href="https://www.nextthing.co/">Next Thing Co.</a>. I went for the PocketCHIP because of the idea. Display, built-in storage (thus no need for SD cards), battery-powered, and a keyboard are pretty nice features. Last week a package arrives…</p>
<a class="btn pull-right" href="/blog/2016/07/06/pocketchip-running-home-assistant/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/07/01/envisalink-homematic-hdmi-cec-and-sony-bravia-tv/">0.23: Envisalink, Homematic, HDMI-CEC and Sony Bravia TV</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-07-01T00:31:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> July 1, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> three minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/07/01/envisalink-homematic-hdmi-cec-and-sony-bravia-tv/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Its time for Home Assistant 0.23 and its full of goodies. Its also the release that bumps us over a 1000 tests and to 94% test coverage! Also our install issues on the Raspberry Pi and Synology have been resolved.</p>
<p>This release brings support for two new ecosystems: <a href="/components/envisalink/">Envisalink</a> and <a href="/components/homematic/">Homematic</a>. We can now also control your TV via HDMI using <a href="/components/hdmi_cec/">HDMI-CEC</a> (which works on the Pi!) and another cool feature is the <a href="/components/persistent_notification/">persistent notifications</a> which allow you to add a notification to the frontend till dismissed.</p>
<p><a href="/components/wink/">Wink</a> support has been dramatically improved by migrating to the PubNub API. This allows Wink to push changes from their system to Home Assistant. This change came just in time as somehow our Wink integration was causing a lot of requests to their servers. Thanks to Wink for letting us know so we could solve it instead of blocking us.</p>
<p>On the config side, you can now <a href="/topics/secrets/">store your passwords</a> in your OS keyring or just in a standalone file. We also got a new service to reload the core config so no reboots needed anymore after changing customize settings!</p>
<p><img src="/images/supported_brands/bravia.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/eyezon.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/homematic.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/openexchangerates.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /></p>
<ul>
<li>Support for <a href="/components/envisalink/">Envisalink</a> added (<a href="/components/alarm_control_panel.envisalink/">alarm control panel</a>, <a href="/components/binary_sensor.envisalink/">binary sensor</a>, <a href="/components/sensor.envisalink/">sensor</a>) (<a href="https://github.com/cinntax/">@cinntax</a>)</li>
<li>Support for <a href="/components/homematic/">Homematic</a> added (<a href="/components/binary_sensor.homematic/">binary sensor</a>, <a href="/components/light.homematic/">light</a>, <a href="/components/rollershutter.homematic/">rollershutter</a>, <a href="/components/sensor.homematic/">sensor</a>, <a href="/components/switch.homematic/">switch</a>) (<a href="https://github.com/pvizeli/">@pvizeli</a>, <a href="https://github.com/danielperna84/">@danielperna84</a>)</li>
<li>New <a href="/components/hdmi_cec/">HDMI-CEC</a> component (<a href="https://github.com/happyleavesaoc/">@happyleavesaoc</a>, <a href="https://github.com/lukas-hetzenecker/">@lukas-hetzenecker</a>)</li>
<li>Major rewrite of <a href="/components/wink/">Wink</a> which now pushes changes to Home Assistant (<a href="https://github.com/w1ll1am23/">@w1ll1am23</a>)</li>
<li>Core: new add <a href="/getting-started/customizing-devices/#reloading-customize">reload core config service</a> (<a href="https://github.com/balloob/">@balloob</a>)</li>
<li>Support for <a href="/components/persistent_notification/">persistent notifications</a> added (<a href="https://github.com/fabaff/">@fabaff</a>, <a href="https://github.com/balloob/">@balloob</a>)</li>
<li>Garage door: <a href="/components/garage_door.zwave/">Z-Wave</a> support added (<a href="https://github.com/turbokongen/">@turbokongen</a>)</li>
<li>Rollershutter: <a href="/components/rollershutter.zwave/">Z-Wave</a> support added (<a href="https://github.com/turbokongen/">@turbokongen</a>)</li>
<li>Media Player: <a href="/components/media_player.braviatv/">Sony Bravia TV</a> now supported (<a href="https://github.com/aparraga/">@aparraga</a>)</li>
<li>Sensor: <a href="/components/sensor.fixer/">Fixer.io</a> now supported (<a href="https://github.com/fabaff/">@fabaff</a>)</li>
<li>Garage door: Control any garage door using <a href="/components/garage_door.rpi_gpio/">Raspberry Pi GPIO pins</a> (<a href="https://github.com/kellerza/">@kellerza</a>)</li>
<li>Sensor: <a href="/components/sensor.openexchangerates/">OpenExchangeRates</a> support added (<a href="https://github.com/arsaboo/">@arsaboo</a>)</li>
<li>Notify: <a href="/components/notify.pushover/">Pushover</a> now supports target device, sound, url and priority (<a href="https://github.com/dale3h/">@dale3h</a>)</li>
<li>Sensor: <a href="/components/sensor.netatmo/">Netatmo</a> now supports wind, battery and radio signals (<a href="https://github.com/Jypy/">@Jypy</a>)</li>
<li>Log successful and failed login attemps (<a href="https://github.com/fabaff/">@fabaff</a>)</li>
<li>Config: allow <a href="/topics/secrets/">extracting account info</a> into OS keyring or separate YAML file (<a href="https://github.com/kellerza/">@kellerza</a>)</li>
<li>Core: add option to not filter out duplicate states per entity (<a href="https://github.com/philipbl/">@philipbl</a>)</li>
<li>HTTP: Follow Mozilla SSL recommendations (<a href="https://github.com/danieljkemp/">@danieljkemp</a>, <a href="https://github.com/AlucardZero/">@AlucardZero</a>)</li>
<li>Light: <a href="/components/light.zwave/">Z-Wave colorbulb</a> support added (<a href="https://github.com/armills/">@armills</a>)</li>
<li>Core: new elevation config option added (<a href="https://github.com/balloob/">@balloob</a>)</li>
<li>Sensor: <a href="/components/sensor.onewire/">OneWire</a> support extended with support for DS18S20, DS1822, DS1825 and DS28EA00 temperature sensors + support for bus masters which use fuse to mount device tree. (<a href="https://github.com/Ardetus/">@Ardetus</a>)</li>
<li>Lock: <a href="/components/lock.vera/">Vera</a> now supported (<a href="https://github.com/rhooper/">@rhooper</a>)</li>
<li>HTTP: Migrate to CherryPy WSGI server to fix install and runtime problems (<a href="https://github.com/balloob/">@balloob</a>)</li>
</ul>
<h3><a class="title-link" name="breaking-changes" href="#breaking-changes"></a> Breaking changes</h3>
<ul>
<li>Homematic thermostat configuration has changed and now depends on the new <a href="/components/homematic/">Homematic</a> component.</li>
</ul>
<h3><a class="title-link" name="hotfix-0231---july-2" href="#hotfix-0231---july-2"></a> Hotfix 0.23.1 - July 2</h3>
<ul>
<li>Bump PyVera to 0.2.13 to fix traceback and pyvera thread dying related to bug (<a href="https://github.com/rhooper/">@rhooper</a>)</li>
<li>HTTP - SSL: Check for OP_NO_COMPRESSION support before trying to use it (<a href="https://github.com/AlucardZero/">@AlucardZero</a>)</li>
<li>Wink: Downgraded pubnub to work around pycryptodome conflicts (<a href="https://github.com/w1ll1am23/">@w1ll1am23</a>)</li>
</ul>
<h3><a class="title-link" name="faq" href="#faq"></a> FAQ</h3>
<ul>
<li><code class="highlighter-rouge">elevation: </code> was introduced to the configuration for weather/sunrise data. For existing <a href="https://home-assistant.io/getting-started/basic/">configurations</a> add the value shown in the warning <code class="highlighter-rouge">[homeassistant.config] Incomplete core config. Auto detected elevation: 665</code> to your <code class="highlighter-rouge">configuration.yaml</code> file.</li>
</ul>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/06/23/usb-webcams-and-home-assistant/">Using USB webcams with Home Assistant</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-06-23T06:00:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> June 23, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Fabian Affolter</span>
<span><i class='icon-time'></i> four minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>How-To</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/06/23/usb-webcams-and-home-assistant/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p><img src="/images/blog/2016-06-cranberry/motion.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 12px;" width="200" />
In the past month I was thinking about ways to integrate USB webcams into Home Assistant again. The main reason was that this would give those devices a second life and enable one to benefit from low-cost video surveillance. There are a couple of options available like <a href="http://www.pygame.org/hifi.html">pygame</a> or <a href="http://www.simplecv.org/">SimpleCV</a> but I never finished something. With the <a href="https://home-assistant.io/components/camera.local_file/">Local File camera platform</a> by <a href="https://github.com/Landrash">Landrash</a> and <a href="http://lavrsen.dk/foswiki/bin/view/Motion/WebHome">motion</a> you could integrate a local USB webcam with a few very easy steps.</p>
<p>In this blog post I am using a Fedora 24 (will most likely work on other distributions too) installation with Home Assistant 0.22.1 on a Foxconn nT-330i with an old <a href="http://support.logitech.com/en_us/product/quickcam-sphere-af">Logitech QuickCam Orbit AF</a> and a <a href="http://support.logitech.com/en_us/product/hd-webcam-c270">Logitech HD Webcam C270</a>. As a start only the Quickcam is used. No multi-camera setup for now.</p>
<a class="btn pull-right" href="/blog/2016/06/23/usb-webcams-and-home-assistant/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/06/18/pandora-bt-home-hub-5-and-local-file-camera/">0.22: Pandora, BT Home Hub 5 and local file camera.</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-06-18T18:06:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> June 18, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/06/18/pandora-bt-home-hub-5-and-local-file-camera/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Its time for the 0.22 release. This was a pretty rough release cycle and we had to issue two hot fixes for our core improvements. But it seems now that all is good and a lot of people have reported that their installs are faster than ever and the occasional quirks no longer occur.</p>
<p>We are aware that our new web stack has caused issues installing Home Assistant on ARM-based platforms. This sadly includes the Raspberry Pi and Synology NAS systems. Were working on getting to a better solution. For Raspberry Pi, the <a href="/getting-started/installation-raspberry-pi-all-in-one/">All-in-One installer</a> will take care of everything for you. Were working on updating our <a href="/getting-started/installation-raspberry-pi/">standalone Raspberry Pi installation guide</a>.</p>
<p>There are two cool things that I want to highlight in this release. The first is Pandora support. This is based on the CLI player called pianobar. This means that your machine running Home Assistant can be connected to the speakers and provide your house with tunes.</p>
<p class="img">
<img src="/images/screenshots/pandora_player.png" />
</p>
<p>Another cool addition is the local file camera. This seems very basic at first but will allow you to generate a graph with your favorite 3rd party graphing tool and display it on your Home Assistant dashboard. Were looking forward to see what you can do with this!</p>
<p><img src="/images/supported_brands/pandora.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/bt.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /></p>
<ul>
<li>Media Player: <a href="/components/media_player.pandora/">Pandora</a> media player now supported (<a href="https://github.com/partofthething/">@partofthething</a>)</li>
<li>Device Tracker: <a href="/components/device_tracker.bt_home_hub_5/">BT Home Hub 5</a> now supported (<a href="https://github.com/lwis/">@lwis</a>)</li>
<li>Camera: New <a href="/components/camera.local_file/">local file</a> platform shows any image as camera (<a href="https://github.com/Landrash/">@Landrash</a>)</li>
<li>Add <a href="/components/media_player.sonos/">Sonos</a> snapshot and restore services (<a href="https://github.com/dansullivan86/">@dansullivan86</a>)</li>
<li>Device Tracker: <a href="/components/device_tracker.asuswrt/">AsusWRT</a> in Access Point mode now supported (<a href="https://github.com/linjef/">@linjef</a>)</li>
<li>Device Tracker: <a href="/components/device_tracker.asuswrt/">AsusWRT</a> login using public key now supported (<a href="https://github.com/mtreinish/">@mtreinish</a>)</li>
<li>Device Tracker: <a href="/components/device_tracker.asuswrt/">AsusWRT</a> protocol to use is now auto detected (<a href="https://github.com/persandstrom/">@persandstrom</a>)</li>
<li>Camera: <a href="/components/netatmo/">Netatmo</a> now supported (<a href="https://github.com/jabesq/">@jabesq</a>)</li>
<li>API documentation added in <a href="https://github.com/home-assistant/home-assistant/blob/dev/docs/swagger.yaml">Swagger.yaml format</a> (<a href="https://github.com/wind/">@wind-rider</a>)</li>
<li>Media Player: <a href="/components/media_player.cast/">Cast</a> devices can now be stopped (<a href="https://github.com/michaelarnauts/">@michaelarnauts</a>)</li>
<li>MySensors: <a href="/components/mysensors/">IR switch device</a> and service now supported (<a href="https://github.com/MartinHjelmare/">@MartinHjelmare</a>)</li>
<li>Bloomsky: <a href="/components/sensor.bloomsky/">Voltage sensor</a> now supported (<a href="https://github.com/arsaboo/">@arsaboo</a>)</li>
<li>Sensor: New <a href="/components/sensor.plex/">Plex sensor</a> monitors friends streaming from your Plex server (<a href="https://github.com/nkgilley/">@nkgilley</a>)</li>
<li>Component <a href="/components/shell_command/">shell command</a> can now use templates to render arguments (<a href="https://github.com/partofthething/">@partofthething</a>)</li>
<li>Rollershutter: <a href="/components/rollershutter.wink/">Wink</a> is now supported (<a href="https://github.com/philk/">@philk</a>)</li>
<li>Alexa: Updated <a href="/components/alexa/#working-with-scenes">documentation</a> to show how to call scripts and scenes (@acockburn)</li>
<li>Sensor: <a href="/components/sensor.snmp/">SNMP</a> is now supported (<a href="https://github.com/fabaff/">@fabaff</a>)</li>
<li>Sensor: Support for Swiss hydrological data (<a href="https://github.com/fabaff/">@fabaff</a>)</li>
</ul>
<h3><a class="title-link" name="breaking-change" href="#breaking-change"></a> Breaking change</h3>
<ul>
<li>The new Netatmo support caused us to change how Netatmo are configured. Its now done via its own component.</li>
</ul>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">netatmo</span><span class="pi">:</span>
<span class="s">api_key</span><span class="pi">:</span> <span class="s">API_KEY</span>
<span class="s">secret_key</span><span class="pi">:</span> <span class="s">SECRET_KEY</span>
<span class="s">username</span><span class="pi">:</span> <span class="s">username</span>
<span class="s">password</span><span class="pi">:</span> <span class="s">password</span>
</code></pre>
</div>
<h3><a class="title-link" name="hotfix-0221---june-20" href="#hotfix-0221---june-20"></a> Hotfix 0.22.1 - June 20</h3>
<ul>
<li>Insteon Hub lights will load again</li>
</ul>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/06/13/home-assistant-at-pycon-2016/">Home Assistant at PyCon 2016</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-06-13T01:06:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> June 13, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Video</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/06/13/home-assistant-at-pycon-2016/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Its been already almost two weeks ago that a few of the Home Assistant developers headed towards Portland for <a href="https://us.pycon.org/2016/">PyCon 2016</a> - the conference about everything Python. We were there to learn all the nifty tricks to make our code better but most of all, to talk Home Automation.</p>
<p class="img">
<img src="/images/blog/2016-06-pycon/crew.jpg" alt="Home Assistant developers" />
Couple of Home Assistant devs. Left to right: <a href="https://github.com/balloob/">Paulus (@balloob)</a>, <a href="https://github.com/infamy/">Alex (@infamy)</a>, <a href="https://github.com/rmkraus/">Ryan (@rmkraus)</a>.
</p>
<p>On Monday I (Paulus) gave a presentation about Home Assistant to an audience of over 400 people! It was a bit scary at first but after a couple of minutes it went all great including some great questions afterwards. Slides can be found <a href="https://docs.google.com/presentation/d/1F1pGOoSf0dD79Dl5dgys0ll7xiuIA4XiQeNeJ-xlqMg/edit">here</a> and the talk is embedded right below:</p>
<div class="videoWrapper">
<iframe width="560" height="315" src="https://www.youtube.com/embed/UhccJacWhdM" frameborder="0" allowfullscreen=""></iframe>
</div>
<p>One of the things that really impressed me was the amount of people that approached us to tell how they love Home Assistant, how it has replaced their previous solution, how they enjoyed contributing to Home Assistant and how helpful our community is. It makes me proud of Home Assistant and especially our community.</p>
<a class="btn pull-right" href="/blog/2016/06/13/home-assistant-at-pycon-2016/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/06/08/super-fast-web-enocean-lirc/">0.21: Improved Web and support for EnOcean, LIRC and Osram Lightify</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-06-08T01:06:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> June 8, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/06/08/super-fast-web-enocean-lirc/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Its time for release 0.21 and it contains massive core improvements: replacement of our home grown HTTP stack with a standardized WSGI stack. This will improve performance, speed, security and make future development of advanced HTTP features a breeze.</p>
<p>This work was driven by the amazing Josh Wright. His knowledge, high standards and drive for security has helped improve Home Assistant a lot ever since he started helping out. Hip hip hurray for Josh!</p>
<p>Alright, time for the changes:</p>
<p><img src="/images/supported_brands/enocean.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/osramlightify.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/lirc.gif" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /></p>
<ul>
<li>New HTTP stack based on WSGI (<a href="https://github.com/JshWright">@JshWright</a>, <a href="https://github.com/balloob">@balloob</a>)</li>
<li>Frontend: lots of performance improvements (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Initial support for EnOcean <a href="/components/light.enocean/">lights</a>, <a href="/components/sensor.enocean/">sensors</a> and <a href="/components/switch.enocean/">switches</a> added (<a href="https://github.com/rubund">@rubund</a>)</li>
<li>Light: <a href="/components/light.osramlightify/">Osram Lightify</a> is now supported (<a href="https://github.com/olimpiurob">@olimpiurob</a>)</li>
<li>Light: <a href="/components/insteon_hub/">Insteon Hub</a> now supports brightness (<a href="https://github.com/wkonkel">@wkonkel</a>)</li>
<li>Add support for adding HA as Windows 10 tile (<a href="https://github.com/fabaff">@fabaff</a>)</li>
<li>Condition: <a href="/getting-started/scripts-conditions/#time-condition">time condition</a> can now cross midnight (<a href="https://github.com/jaharkes">@jaharkes</a>)</li>
<li>Template based sensors should now throw less warnings (<a href="https://github.com/Bart274">@Bart274</a>)</li>
<li>New <a href="/components/lirc/">LIRC component</a> allows receiving IR commands (<a href="https://github.com/partofthething">@partofthething</a>)</li>
<li>The <a href="/components/feedreader/">Feedreader</a> component will now persist data to disk to prevent duplicate events (<a href="https://github.com/shaftoe">@shaftoe</a>)</li>
<li>Sun: azimuth attribute added (<a href="https://github.com/fabaff">@fabaff</a>)</li>
<li>New <a href="/components/switch.flux/">Flux like switch platform</a> to change light intensity in the evening (<a href="https://github.com/nkgilley">@nkgilley</a>)</li>
<li>We no longer crash if you live in a part of the world where the sun never sets (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Rollershutter: <a href="/components/rfxtrx/">RFXTRX</a> now supported (<a href="https://github.com/jacobtomlinson">@jacobtomlinson</a>)</li>
<li>Switch: <a href="/components/switch.template/">Template switches</a> can now execute scripts (<a href="https://github.com/kellerza">@kellerza</a>)</li>
<li>Z-Wave: automatically heal the network at midnight (<a href="https://github.com/infamy">@infamy</a>)</li>
<li>Sensor: <a href="/components/sensor.dte_energy_bridge/">DTE Energy Bridge</a> now supported (<a href="https://github.com/kylehendricks">@kylehendricks</a>)</li>
<li>Media Player: <a href="/components/media_player.kodi/">Kodi</a> now supports different turn off commands (<a href="https://github.com/armills">@armills</a>)</li>
</ul>
<h3>Breaking Changes</h3>
<ul>
<li>Our work in the WSGI stack is not fully done yet. We still have a minor issues where retrieving the error log in the about screen can raise an encoding error</li>
<li>The API used to incorrectly accept a JSON body with form-url-encoded headers. Our cURL examples on the website used to be wrong and have <a href="/developers/rest_api/">been updated</a>.</li>
<li>Make sure your configuration.yaml file contains <code class="highlighter-rouge">frontend:</code> to serve the frontend</li>
</ul>
<h3>Hotfixes 0.21.1 and 0.21.2</h3>
<p>We released two hotfixes to address some issues that couldnt wait till the next release.</p>
<h5>0.21.1 - June 12</h5>
<ul>
<li>Add eventlet to base requirements to resolve some installation issues (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>GTFS will filter out routes in the wrong direction (<a href="https://github.com/imrehg">@imrehg</a>)</li>
<li>Recover from rare error condition from LIRC (<a href="https://github.com/partofthething">@partofthething</a>)</li>
<li>Z-Wave autoheal will no longer raise exception (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Alexa will now execute the script before making reply (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Fix MJPEG camera streaming (<a href="https://github.com/stjohnjohnson">@stjohnjohnson</a>)</li>
<li>Fix frontend in older browsers (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Fix history in more info dialog being cut off (<a href="https://github.com/balloob">@balloob</a>)</li>
</ul>
<h5>0.21.2 - June 15</h5>
<ul>
<li>Fix input_select calling the set_option service again when changed (<a href="https://github.com/persandstrom">@persandstrom</a>)</li>
<li>Fix more info dialog not being able to open on Safari (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Add support for OPTIONS HTTP command to get CORS working (<a href="https://github.com/JshWright">@JshWright</a>)</li>
</ul>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/06/01/community-highlights/">Community Highlights</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-06-01T18:34:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> June 1, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> 1 minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Community</li>
<li>Video</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/06/01/community-highlights/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Our community is amazingly helpful and creative. If you havent been there yet, make sure to stop by our <a href="https://gitter.im/home-assistant/home-assistant">chat room</a> and come hang out with us. In this blog post I want to highlight a few recent awesome projects and videos from the community.</p>
<h3><a class="title-link" name="scenegen---cli-for-making-scenes" href="#scenegen---cli-for-making-scenes"></a> SceneGen - cli for making scenes</h3>
<p><a href="https://github.com/acockburn/scenegen">SceneGen</a> is a new command line utility developed by <a href="https://github.com/acockburn">Andrew Cockburn</a> that helps with creating scene configurations for Home Assistant. To use it, you put your house in the preferred state, run SceneGen and it will print the scene configuration for your current states.</p>
<h3><a class="title-link" name="videos" href="#videos"></a> Videos</h3>
<p><a href="https://partofthething.com">Nick Touran</a> has been working on integrating IR remotes with Home Assistant. He made it into a component which should be available in the next release which should arrive in a couple of days. In the meanwhile, he wrote up <a href="https://partofthething.com/thoughts/?p=1010">a blog post</a> and has put out a video showing the new integration, very cool!</p>
<div class="videoWrapper">
<iframe width="560" height="315" src="https://www.youtube.com/embed/6I_Lfpda0hc" frameborder="0" allowfullscreen=""></iframe>
</div>
<p>Ben from <a href="http://www.bruhautomation.com/">BRUH Automation</a> has put out another great video how to get started tracking your location in Home Assistant using MQTT and OwnTracks.</p>
<div class="videoWrapper">
<iframe width="560" height="315" src="https://www.youtube.com/embed/VaWdvVVYU3A" frameborder="0" allowfullscreen=""></iframe>
</div>
<p>Muhammed Kilic has created a video how to make your Home Assistant instance accessible from the internet using the free dynamic DNS service DuckDNS.</p>
<div class="videoWrapper">
<iframe width="560" height="315" src="https://www.youtube.com/embed/UM15pRk56h8" frameborder="0" allowfullscreen=""></iframe>
</div>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/05/26/ibeacons-how-to-track-things-that-cant-track-themselves-part-ii/">iBeacons: How to track things that cant track themselves (part II)</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-05-26T11:06:12+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> May 26, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Greg Dowling</span>
<span><i class='icon-time'></i> eight minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Device-Tracking</li>
<li>OwnTracks</li>
<li>iBeacons</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/05/26/ibeacons-how-to-track-things-that-cant-track-themselves-part-ii/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p><em>This post is by Home Assistant contributor <a href="https://github.com/pavoni">Greg Dowling</a>.</em></p>
<p>In <a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better">Part 1</a> I talked about using iBeacons to improve presence tracking. In part 2 Ill talk about how to track things like keys that cant track themselves by using iBeacons.</p>
<h3><a class="title-link" name="tracking-things-using-ibeacons" href="#tracking-things-using-ibeacons"></a> Tracking things using iBeacons</h3>
<p>In the first part I mentioned that iBeacons just send out <em>Im here</em> packets, and we used this to trigger an update when your phone came close to a fixed beacon.</p>
<p>But beacons dont have to be fixed.</p>
<p>Your phone knows roughly where it is located (based on mobile phone masts, Wi-Fi networks or GPS). If your phone sees an <em>Im here</em> message then it knows the beacon is close.</p>
<p>If your phone can remember (or tell a server) where it was when it last saw the iBeacon - then it knows where the beacon was. So the result of this is that you can track where an iBeacon was - even though the iBeacon doesnt have any tracking technology itself.</p>
<p>So if you put an iBeacon on your keys or in your car - then you can track them.</p>
<p class="img">
<img width="200" src="/images/blog/2016-05-ibeacons/keys_with_beacon.jpg" />
Here are my keys - with a Estimote Nearable iBeacon stuck to them. Ugly but effective!
</p>
<a class="btn pull-right" href="/blog/2016/05/26/ibeacons-how-to-track-things-that-cant-track-themselves-part-ii/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<div class="pagination">
<a class="btn pull-left" href="/blog/posts/4">&larr; Older</a>
<a class="btn pull-right" href="/blog/posts/2">Newer &rarr;</a>
</div>
</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">
<h1 class="title delta">About Home Assistant</h1>
<ul class="divided">
<li>
Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control.
</li>
<li><a href='/getting-started/'>Get started with Home Assistant</a></li>
<li><a href='/demo/'>Try the online demo</a></li>
<li><a class="twitter-follow-button" href="https://twitter.com/Home_Assistant">Follow Home Assistant on Twitter</a></li>
<li><div class="fb-like" data-href="https://www.facebook.com/homeassistantio/" data-layout="standard" data-action="like" data-size="small" data-show-faces="true" data-share="false"></div></li>
</ul>
</section>
<div id="fb-root"></div>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.async=true;js.src='//platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
<script>(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(d.getElementById(id)){return;}js=d.createElement(s);js.id=id;js.async=true;js.src="//connect.facebook.net/en_US/all.js#appId=338291289691179&xfbml=1";fjs.parentNode.insertBefore(js,fjs);}(document,'script','facebook-jssdk'));</script>
<section class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Categories</h1>
<ul class="divided">
<li><a href="/blog/categories/community/">Community</a></li>
<li><a href="/blog/categories/device-tracking/">Device Tracking</a></li>
<li><a href="/blog/categories/esp8266/">ESP8266</a></li>
<li><a href="/blog/categories/how-to/">How To</a></li>
<li><a href="/blog/categories/internet-of-things/">Internet of Things</a></li>
<li><a href="/blog/categories/iot-data/">IoT Data</a></li>
<li><a href="/blog/categories/mqtt/">MQTT</a></li>
<li><a href="/blog/categories/micropython/">Micropython</a></li>
<li><a href="/blog/categories/organisation/">Organisation</a></li>
<li><a href="/blog/categories/owntracks/">OwnTracks</a></li>
<li><a href="/blog/categories/presence-detection/">Presence Detection</a></li>
<li><a href="/blog/categories/public-service-announcement/">Public Service Announcement</a></li>
<li><a href="/blog/categories/release-notes/">Release Notes</a></li>
<li><a href="/blog/categories/survey/">Survey</a></li>
<li><a href="/blog/categories/talks/">Talks</a></li>
<li><a href="/blog/categories/technology/">Technology</a></li>
<li><a href="/blog/categories/user-stories/">User Stories</a></li>
<li><a href="/blog/categories/video/">Video</a></li>
<li><a href="/blog/categories/website/">Website</a></li>
<li><a href="/blog/categories/ibeacons/">iBeacons</a></li>
</ul>
</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>
<script>
var disqus_shortname = 'home-assistant';
var disqus_script = 'count.js';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}());
</script>
</body>
</html>

878
blog/posts/4/index.html Normal file
View file

@ -0,0 +1,878 @@
<!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>Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Home Assistant is an open-source home automation platform running on Python 3.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/posts/4/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Home Assistant">
<meta property="og:site_name" content="Home Assistant">
<meta property="og:url" content="https://home-assistant.io/blog/posts/4/">
<meta property="og:type" content="website">
<meta property="og:description" content="">
<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="Home Assistant">
<meta name="twitter:description" content="">
<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="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/05/22/get-started-with-all-in-one-installer/">Raspberry Pi all-in-one installer</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-05-22T16:06:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> May 22, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> Less than one minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Video</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/05/22/get-started-with-all-in-one-installer/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>We are always hard at work at the virtual Home Assistant headquarters to make it easier for you to get started with Home Assistant. Thats why <a href="https://github.com/jbags81">@jbags81</a> recently introduced the <a href="/getting-started/installation-raspberry-pi-all-in-one/">all-in-one installer</a>. It allows you to get up and running with a complete Home Assistant setup by entering one line of code into your Raspberry Pi running Raspbian Jessie:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code>wget -Nnv https://raw.githubusercontent.com/home-assistant/fabric-home-assistant/master/hass_rpi_installer.sh <span class="o">&amp;&amp;</span> bash hass_rpi_installer.sh;
</code></pre>
</div>
<p>This feature wouldnt be complete if it wasnt accompanied by a new video by Ben from <a href="http://www.bruhautomation.com">BRUH Automation</a>. The video shows how to install Raspbian Jessie on your Raspberry Pi and use the new installation script to get a full Home Assistant system up and running.</p>
<div class="videoWrapper">
<iframe width="560" height="315" src="https://www.youtube.com/embed/VGl3KTrYo6s" frameborder="0" allowfullscreen=""></iframe>
</div>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/05/21/release-020/">0.20: Roku, Last.fm, AWS, Twilio</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-05-21T18:06:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> May 21, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/05/21/release-020/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p><img src="/images/supported_brands/roku.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/lastfm.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/gpmdp.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="100" /><img src="/images/supported_brands/twilio.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="100" /><img src="/images/supported_brands/aws_lambda.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="100" /><img src="/images/supported_brands/aws_sns.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="100" /><img src="/images/supported_brands/aws_sqs.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="100" /></p>
<p>Tons of new supported things in 0.20.</p>
<ul>
<li>Restarting now supported without forking (<a href="https://github.com/jaharkes">@jaharkes</a>)</li>
<li>Add <a href="/components/recorder/">purge days option</a> to recorder component (<a href="https://github.com/justyns">@justyns</a>, <a href="https://github.com/infamy">@infamy</a>)</li>
<li>Generic load_platform mechanism for entity components (<a href="https://github.com/kellerza">@kellerza</a>)</li>
<li>Template: new <a href="/topics/templating/#home-assistant-template-extensions"><code class="highlighter-rouge">relative_time</code></a> function to render ie. <code class="highlighter-rouge">7 seconds ago</code> (<a href="https://github.com/robbiet480">@robbiet480</a>)</li>
<li>Sensor: <a href="/components/sensor.supervisord/">supervisord</a> now supported (<a href="https://github.com/happyleavesaoc">@happyleavesaoc</a>)</li>
<li>Docker: we should no longer get SSL errors with requests (<a href="https://github.com/lwis">@lwis</a>)</li>
<li>Media Player: <a href="/components/media_player.gpmdp/">Google Play Music Desktop Player</a> now supported (<a href="https://github.com/GreenTurtwig">@GreenTurtwig</a>)</li>
<li>Notify: <a href="/components/notify.twilio_sms/">Twilio SMS</a> platform added (<a href="https://github.com/robbiet480">@robbiet480</a>)</li>
<li>Device Tracker: <a href="/components/device_tracker.asuswrt/">Asus WRT</a> will now default to SSH (but telnet is still an option) (<a href="https://github.com/froz">@froz</a>)</li>
<li>Support <a href="/components/sensor.nest/">Nest Protect</a> smoke alarms (<a href="https://github.com/khabi">@khabi</a>)</li>
<li>Configurator: allow supplying a link to the user (<a href="https://github.com/mnestor">@mnestor</a>)</li>
<li>Media Player: <a href="/components/media_player.roku/">Roku</a> now supported (<a href="https://github.com/bah2830">@bah2830</a>)</li>
<li>Sensor: <a href="/components/sensor.lastfm/">Last.fm</a> now supported (<a href="https://github.com/darookee">@darookee</a>, <a href="https://github.com/GreenTurtwig">@GreenTurtwig</a>)</li>
<li>Notify: Amazon <a href="/components/notify.aws_lambda/">Lambda</a>, <a href="/components/notify.aws_sns/">SNS</a>, <a href="/components/notify.aws_sqs/">SQS</a> now supported (<a href="https://github.com/robbiet480">@robbiet480</a>)</li>
<li>Light: allow human readable colors in turn_on command (<a href="https://github.com/robbiet480">@robbiet480</a>)</li>
<li>YAML: new include dir options <a href="/topics/splitting_configuration/#advanced-usage"><code class="highlighter-rouge">!include_dir_merge_list</code></a> and <a href="/topics/splitting_configuration/#advanced-usage"><code class="highlighter-rouge">!include_dir_merge_named</code></a> (<a href="https://github.com/happyleavesaoc">@happyleavesaoc</a>)</li>
<li>Media Player: <a href="/components/media_player.lg_netcast/">LG Netcast TVs</a> now supported (<a href="https://github.com/wokar">@wokar</a>)</li>
<li>Media Player: Allow enqueuing media on Sonos (<a href="https://github.com/shaftoe">@shaftoe</a>)</li>
<li>Notify: <a href="/components/notify.ecobee/">Ecobee thermostats</a> now supported (<a href="https://github.com/nkgilley">@nkgilley</a>)</li>
<li>Sensor: <a href="/components/sensor.moldindicator/">Mold indicator</a> added (<a href="https://github.com/xifle">@xifle</a>)</li>
<li>Export to <a href="/components/logentries/">Logentries</a> support added (<a href="https://github.com/omgapuppy">@omgapuppy</a>)</li>
<li>Group more info dialog allows control of group domain if available (<a href="https://github.com/fignuts">@fignuts</a>)</li>
</ul>
<h3><a class="title-link" name="breaking-changes" href="#breaking-changes"></a> Breaking changes</h3>
<ul>
<li>Asus WRT will now default to SSH with Telnet being an option</li>
</ul>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">device_tracker</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">asuswrt</span>
<span class="s">protocol</span><span class="pi">:</span> <span class="s">telnet</span>
</code></pre>
</div>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/05/18/why-we-use-polymer/">Why we use web components and Polymer</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-05-18T00:09:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> May 18, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> three minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Technology</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/05/18/why-we-use-polymer/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Ive been planning to write this post for a while now as we get questions like this a lot: <em>“Why does Home Assistant use Polymer? Why not React, Redux and what not?”</em></p>
<p>Its understandable, Polymer is quite the underdog in the world of web frameworks. A corporate backer does not guarantee popularity or an active community and this shows in the number of projects using Polymer.</p>
<p>Still, <a href="https://home-assistant.io/demo">we use Polymer and its awesome</a>. To explain why, Ill be referencing the React workflow quite a bit, as they do a lot of things right, and show how it is done in Polymer.</p>
<p>Polymer gives us components for the web, just like React, but based on web standards: <a href="https://www.w3.org/standards/techs/components#w3c_all">web components</a>, <a href="https://www.w3.org/TR/css-variables/">CSS variables</a>. These standards dont have wide browser support yet but its being implemented by every major browser: Its the future. For now they are being polyfilled and that works just fine but in the future the Home Assistant web app will be able to run native in the browsers == fast.</p>
<a class="btn pull-right" href="/blog/2016/05/18/why-we-use-polymer/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/05/12/video-configuring-home-assistant/">Video: How To Configure Home Assistant</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-05-12T00:09:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> May 12, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> Less than one minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Video</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/05/12/video-configuring-home-assistant/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Ben from <a href="http://www.bruhautomation.com">BRUH Automation</a> authors a lot of great videos about how he is using Home Assistant and how you can get started with it too. The video below will walk you through how to configure Home Assistant. Enjoy!</p>
<p>Make sure to subscribe to <a href="https://www.youtube.com/channel/UCLecVrux63S6aYiErxdiy4w">his YouTube channel</a> for more Home Assistant videos.</p>
<div class="videoWrapper">
<iframe width="560" height="315" src="https://www.youtube.com/embed/hFDVB2H6TNo" frameborder="0" allowfullscreen=""></iframe>
</div>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/05/07/empowering-scripts-and-alexa/">0.19: Empowering scripts and Alexa</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-05-07T18:06:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> May 7, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> three minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/05/07/empowering-scripts-and-alexa/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>This release is big. Until now, our automations and scripts have been very static. Starting today it should all be a bit more dynamic.</p>
<p><strong>Scripts</strong> are now available in automations and when responding to Alexa/Amazon Echo. Both of these components will now expose data to be used in script templates (including <code class="highlighter-rouge">from_state</code> !). Passing data to script entities is available by passing the data to the script services.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span>
<span class="s">trigger</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">mqtt</span>
<span class="s">topic</span><span class="pi">:</span> <span class="s">some/notify/topic</span>
<span class="s">action</span><span class="pi">:</span>
<span class="s">service</span><span class="pi">:</span> <span class="s">notify.notify</span>
<span class="s">data_template</span><span class="pi">:</span>
<span class="s">message</span><span class="pi">:</span>
<span class="s">automation 2</span><span class="pi">:</span>
<span class="s">trigger</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">state</span>
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">light.hue</span>
<span class="s">action</span><span class="pi">:</span>
<span class="s">service</span><span class="pi">:</span> <span class="s">notify.notify</span>
<span class="s">data_template</span><span class="pi">:</span>
<span class="s">message</span><span class="pi">:</span> <span class="s">is now</span>
</code></pre>
</div>
<p><strong>Entity Namespaces</strong> allow you to influence the entity ids for a specific platform. For example you can turn <code class="highlighter-rouge">light.living_room</code> into <code class="highlighter-rouge">light.holiday_home_living_room</code> with the following config:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><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">entity_namespace</span><span class="pi">:</span> <span class="s">holiday_home</span>
</code></pre>
</div>
<ul>
<li>Automation: allow <a href="/getting-started/scripts/">script syntax</a> for action (<a href="https://github.com/balloob/">@balloob</a>)</li>
<li>Automation: expose <a href="/getting-started/automation-templating/#available-trigger-data"><code class="highlighter-rouge">trigger</code> variable</a> to script templates (<a href="https://github.com/balloob/">@balloob</a>)</li>
<li>Script: allow passing variables for script templates in the <a href="/components/script/#passing-parameters-in-service-calls">script service calls</a> (<a href="https://github.com/balloob/">@balloob</a>)</li>
<li>Alexa/Amazon Echo: allow <a href="/getting-started/scripts/">script syntax</a> for action (<a href="https://github.com/balloob/">@balloob</a>)</li>
<li>Alexa/Amazon Echo: <a href="/components/alexa/#configuring-home-assistant">expose intent variables</a> to script templates (<a href="https://github.com/balloob/">@balloob</a>)</li>
<li>Script syntax: <a href="/getting-started/scripts-conditions/">conditions now supported</a> to interrupt execution (<a href="https://github.com/balloob/">@balloob</a>)</li>
<li>Automation: use <a href="/getting-started/scripts-conditions/">new condition syntax</a> (<a href="https://github.com/balloob/">@balloob</a>)</li>
<li>Script syntax: two new conditions <a href="/getting-started/scripts-conditions/#and-condition"><code class="highlighter-rouge">and</code></a> and <a href="/getting-started/scripts-conditions/#or-condition"><code class="highlighter-rouge">or</code></a> to combine conditions (<a href="https://github.com/balloob/">@balloob</a>)</li>
<li>Any platform: Allow setting <a href="/topics/platform_options/#entity-namespace">entity namespace</a> to prefix entity_ids. (<a href="https://github.com/balloob/">@balloob</a>)</li>
<li>Switch: <a href="/components/switch.rpi_rf/">Raspberry Pi generic 433 Mhz GPIO adapters</a> now supported (<a href="https://github.com/milaq/">@milaq</a>)</li>
<li>Z-Wave: use more sane defaults (<a href="https://github.com/danieljkemp/">@danieljkemp</a>)</li>
<li>Media Player: <a href="/components/media_player.snapcast/">Snapcast</a> now supports picking a source (<a href="https://github.com/happyleavesaoc/">@happyleavesaoc</a>)</li>
<li>MySensors: major cleanup (<a href="https://github.com/MartinHjelmare/">@MartinHjelmare</a>)</li>
<li>Binary Sensor: <a href="/components/sensor.command_line/">Command line sensor</a> now supports classes (<a href="https://github.com/fabaff/">@fabaff</a>)</li>
<li>MQTT: <a href="/components/mqtt/">allow client key authentication</a> (<a href="https://github.com/timharton/">@timharton</a>)</li>
<li>Sensor: <a href="/components/sensor.forecast/">Forecast.io</a> now supports minutely, hourly and daily summaries (<a href="https://github.com/aceat64/">@aceat64</a>)</li>
<li>Media Player: <a href="/components/media_player.pioneer/">Pioneer AVR</a> now supported (<a href="https://github.com/kylehendricks/">@kylehendricks</a>)</li>
<li>Switch: <a href="/components/switch.acer_projector/">Acer Projectors</a> now supported (<a href="https://github.com/deisi/">@deisi</a>)</li>
<li>New <a href="/components/hvac/">HVAC component</a> added with Z-Wave support (<a href="https://github.com/turbokongen/">@turbokongen</a>)</li>
<li>Support added for <a href="/components/octoprint/">OctoPrint</a> (<a href="https://github.com/w1ll1am23/">@w1ll1am23</a>)</li>
<li>Configuration.yaml can now refer to environment variables using <code class="highlighter-rouge">!env_var</code> (<a href="https://github.com/bah2830/">@bah2830</a>)</li>
<li>Lock: <a href="/components/lock.zwave/">Z-Wave</a> now supported (<a href="https://github.com/devdelay/">@devdelay</a>)</li>
<li>New <a href="/components/dweet/">Dweet component</a> to export data (<a href="https://github.com/fabaff/">@fabaff</a>)</li>
<li>Media Player now supports stop command + initial kodi support (<a href="https://github.com/hmronline/">@hmronline</a>)</li>
<li>Zigbee: push updates now supported (<a href="https://github.com/flyte/">@flyte</a>)</li>
<li>Wink devices with battery level will now show these (<a href="https://github.com/w1ll1am23/">@w1ll1am23</a>)</li>
<li>Templates: new <a href="/topics/templating/#home-assistant-template-extensions"><code class="highlighter-rouge">as_timestamp</code></a> method now available (<a href="https://github.com/srcLurker/">@srcLurker</a>)</li>
<li>API: Add [<code class="highlighter-rouge">/api/discovery_info</code>] with basic instance info (<a href="https://github.com/robbiet480/">@robbiet480</a>)</li>
<li>Sensor: <a href="/components/sensor.google_travel_time/">Google Maps travel time</a> added (<a href="https://github.com/Danielhiversen/">@Danielhiversen</a>)</li>
<li>HTTP: Allow adding <a href="/components/http/">CORS headers</a> (<a href="https://github.com/robbiet480/">@robbiet480</a>)</li>
<li>Sensor: <a href="/components/sensor.fitbit/">Fitbit</a> support added (<a href="https://github.com/robbiet480/">@robbiet480</a>)</li>
<li>Bug fixes and tweaks by <a href="https://github.com/turbokongen/">@turbokongen</a>, <a href="https://github.com/danieljkemp/">@danieljkemp</a>, <a href="https://github.com/Danielhiversen/">@Danielhiversen</a>, <a href="https://github.com/TheRealLink/">@TheRealLink</a>, <a href="https://github.com/persandstrom/">@persandstrom</a>, <a href="https://github.com/sander76/">@sander76</a>, <a href="https://github.com/fabaff/">@fabaff</a>, <a href="https://github.com/ishults/">@ishults</a>, <a href="https://github.com/Bart274/">@Bart274</a>, <a href="https://github.com/robbiet480/">@robbiet480</a>, <a href="https://github.com/Cinntax/">@Cinntax</a>, <a href="https://github.com/blackdog70/">@blackdog70</a>, <a href="https://github.com/gwendalg/">@gwendalg</a>, <a href="https://github.com/JshWright/">@JshWright</a>, <a href="https://github.com/kylehendricks/">@kylehendricks</a>, <a href="https://github.com/bradsk88/">@bradsk88</a>, <a href="https://github.com/shaftoe/">@shaftoe</a>, <a href="https://github.com/molobrakos/">@molobrakos</a>, <a href="https://github.com/bah2830/">@bah2830</a>, <a href="https://github.com/nkgilley/">@nkgilley</a></li>
</ul>
<h3>Deprecations</h3>
<ul>
<li>Conditions in automations should now specify which condition to use with <code class="highlighter-rouge">condition:</code> instead of <code class="highlighter-rouge">platform:</code>. For example <code class="highlighter-rouge">condition: state</code>.</li>
<li>RFXtrx has a new config format.</li>
</ul>
<p>Old RFXtrx config format:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code> <span class="s">devices</span><span class="pi">:</span>
<span class="s">123efab1</span><span class="pi">:</span>
<span class="s">name</span><span class="pi">:</span> <span class="s">My DI.0 light device</span>
<span class="s">packetid</span><span class="pi">:</span> <span class="s">1b2200000890efab1213f60</span>
</code></pre>
</div>
<p>New RFXtrx config format:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code> <span class="s">devices</span><span class="pi">:</span>
<span class="s">1b2200000890efab1213f60</span><span class="pi">:</span>
<span class="s">name</span><span class="pi">:</span> <span class="s">My DI.0 light device</span>
</code></pre>
</div>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/05/06/open-iot-summit-talk/">Talk: Automating your home with Home Assistant (OpenIoT Summit)</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-05-06T14:09:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> May 6, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> Less than one minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Talks</li>
<li>Video</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/05/06/open-iot-summit-talk/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>At the beginning of April I gave a talk about Home Assistant at the OpenIoT summit in San Diego. I talk about the Home Assistant architecture and explain how to get started integrating your devices. Big thanks to my employer AppFolio (<a href="http://www.appfolioinc.com/jobs-openings">were hiring!</a>) for letting me attend. <a href="https://docs.google.com/presentation/d/1P2WsmwGSSni4gAriY5IA0-m-FUGO1kno3gIkRYz20Kw/edit#slide=id.p">Slides.</a></p>
<div class="videoWrapper">
<iframe width="560" height="315" src="https://www.youtube.com/embed/4-6rTwKl6ww" frameborder="0" allowfullscreen=""></iframe>
</div>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-04-30T06:50:09+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> April 30, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Greg Dowling</span>
<span><i class='icon-time'></i> nine minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>OwnTracks</li>
<li>Presence-Detection</li>
<li>iBeacons</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p><em>This post is by Home Assistant contributor <a href="https://github.com/pavoni">Greg Dowling</a>.</em></p>
<p>In 2013 Apple introduced iBeacons: a class of Bluetooth low energy (LE) devices that broadcast their identifier to nearby devices, including most smartphones. At first glance its hard to imagine why they might be useful. In this two part blog Ill try and explain why they are useful and how you can use them with Home Assistant.</p>
<p>The reason I started using iBeacons was to improve presence detection (and I think thats the case with most people) so thats what Ill discuss in <em>part 1</em>. In <em>part 2</em> Ill talk about using iBeacons to track devices that cant track themselves.</p>
<h3><a class="title-link" name="using-beacons-to-improve-owntracks-location-data" href="#using-beacons-to-improve-owntracks-location-data"></a> Using beacons to improve OwnTracks location data</h3>
<p>When you use OwnTracks in standard <em>major move</em> mode (which is kind to your phone battery) it sometimes fails to update when youd like it to. In my case I found that it would often send a location update as I was on my way home, but then not update when I got home. The result would be that Home Assistant would think I was 500M away from home, and take quite a while to notice I was home. It would also mean that the automation that should turn on my lights when I got home didnt work very well! There were a few times when my phone location updated at 2am and turned the lights on for me. Fortunately my wife is very patient!</p>
<p>Luckily, OwnTracks supports iBeacons so I could use them to make presence detection more reliable. When OwnTracks sees a beacon it recognises, it will send an update. This means that if you put a beacon at your front door - OwnTracks will see it within a few seconds of you arriving home - and send an update saying it has seen this iBeacon.</p>
<a class="btn pull-right" href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-04-20T06:10:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> April 21, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> three minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Its time for 0.18. This release cycle is 2 days shorter than usual as Ill be travelling to Europe. This also means that it can take some more time before you get feedback on PRs.</p>
<p>Since the last release we have moved all Home Assistant source code etc into its own <a href="https://github.com/home-assistant">organisation on GitHub</a>. Were growing up! This sadly did cause us to have to move all Docker images. Check the breaking changes section for more info.</p>
<p><a href="/demo/"><img src="/images/blog/2016-04-release-18/media_player.png" style="box-shadow: none; border: 0;" /></a></p>
<p><img src="/images/supported_brands/bluetooth.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/webos.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/rss.gif" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/eq3.gif" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/thinkingcleaner.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="100" /></p>
<ul>
<li>Media Player: redesign in the UI! (<a href="https://github.com/DesignFirst/">@DesignFirst</a>, <a href="https://github.com/balloob/">@balloob</a>)</li>
<li>New component: <a href="/components/zeroconf/">Zeroconf</a> for Home Assistant discovery (<a href="https://github.com/robbiet480/">@robbiet480</a>)</li>
<li>Garage door: <a href="/components/garage_door.mqtt/">MQTT</a> now supported (<a href="https://github.com/joelash/">@joelash</a>)</li>
<li>Thermostat: <a href="/components/thermostat.homematic/">Homematic platform</a> now supports Max! devices (<a href="https://github.com/bimbar/">@bimbar</a>)</li>
<li>New component Thinkingcleaner (<a href="/components/switch.thinkingcleaner/">switch</a>/<a href="/components/sensor.thinkingcleaner/">sensor</a>) to integrate your Roomba into Home Assistant (<a href="https://github.com/TheRealLink/">@TheRealLink</a>)</li>
<li>New component: <a href="/components/upnp/">upnp</a> to automatically open a upnp port on your router for Home Assistant (<a href="https://github.com/robbiet480/">@robbiet480</a>)</li>
<li>Thermostat: <a href="/components/thermostat.eq3btsmart/">EQ3 Bluetooth Smart Thermostats</a> now supported (<a href="https://github.com/bimbar/">@bimbar</a>)</li>
<li>New component <a href="/components/feedreader/">Feedreader</a> will track RSS feeds (<a href="https://github.com/shaftoe/">@shaftoe</a>)</li>
<li>Device Tracker: <a href="/components/device_tracker.bluetooth_tracker/">Bluetooth tracking platform</a> added (<a href="https://github.com/vmulpuru/">@vmulpuru</a>)</li>
<li>Media Player: <a href="/components/media_player.webostv/">LG WebOS TVs</a> now supported (<a href="https://github.com/TheRealLink/">@TheRealLink</a>)</li>
<li>Notify: <a href="/components/notify.webostv/">LG WebOS TVs</a> now supported (<a href="https://github.com/TheRealLink/">@TheRealLink</a>)</li>
<li>HTTP: Use constant time comparison for auth (<a href="https://github.com/JshWright/">@JshWright</a>)</li>
<li>Config and service validations (<a href="https://github.com/jaharkes/">@jaharkes</a>, <a href="https://github.com/Danielhiversen/">@Danielhiversen</a>)</li>
<li>MySensors: Entity IDs will more clearly differentiate between node ID and child ID (<a href="https://github.com/oeysteinhansen/">@oeysteinhansen</a>)</li>
<li>MySensors: Add support for <a href="/components/mysensors/">ethernet gateway</a> (<a href="https://github.com/MartinHjelmare/">@MartinHjelmare</a>)</li>
<li>Media player: <a href="/components/media_player.plex/">Plex</a> will now monitor the server and add clients as they pop up (<a href="https://github.com/infamy/">@infamy</a>)</li>
<li>Core: We now use iso8601 for datetimes (<a href="https://github.com/balloob/">@balloob</a>).</li>
<li>Media Player: <a href="/components/media_player.mpd/">MPD</a> now supports service to play playlists (<a href="https://github.com/Cinntax/">@Cinntax</a>)</li>
<li>Z-Wave should be a little bit more stable (<a href="https://github.com/Turbokongen/">@Turbokongen</a>)</li>
<li>Media Player: <a href="/components/media_player.sonos/">Sonos</a> will now only add visible devices (<a href="https://github.com/jpmossin/">@jpmossin</a>)</li>
<li>Light: <a href="/components/light.wink/">Wink</a> will now allow controlling the colors (<a href="https://github.com/bradsk88/">@bradsk88</a>)</li>
</ul>
<h3>Breaking changes</h3>
<ul>
<li>We have migrated our datetime format to be iso8601. This will only impact you if you are consuming the date times from the API directly. You can ignore this if you are just using Home Assistant via configuration and the frontend.</li>
<li>The constant <code class="highlighter-rouge">TEMP_CELCIUS</code> is now correctly called <code class="highlighter-rouge">TEMP_CELSIUS</code>. Old one is deprecated and will eventually be removed.</li>
<li>The location of the Docker image has changed. There was no possibility for us to keep maintaining the old image (as it was bound to the GitHub repo under my name) or to make a redirect. So if you are using the Home Assistant Docker image, change it to run <code class="highlighter-rouge">homeassistant/home-assistant:latest</code> for the latest release and <code class="highlighter-rouge">homeassistant/home-assistant:dev</code> for the latest dev version.</li>
<li>MySensors received two big changes that will cause you to update your configs. See <a href="/components/mysensors/">component page</a> for new example config.
<ol>
<li>All MySensors entity IDs are different! There was an error in the naming that caused MySensors to append node ID and child ID instead of separating them with an underscore. This has been fixed but will cause all your MySensors entity IDs to change. This is a one time breaking change.</li>
<li>The second change is that we now support the TCP ethernet gateway. This is causing a slight change to the config format: you have to change <code class="highlighter-rouge">port:</code> under <code class="highlighter-rouge">gateways</code> to <code class="highlighter-rouge">device:</code>.</li>
</ol>
</li>
</ul>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/04/19/to-infinity-and-beyond/">To Infinity and Beyond 🚀</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-04-19T05:44:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> April 19, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Organisation</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/04/19/to-infinity-and-beyond/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>After 2.5 years I think we can proudly say: Home Assistant is a success. I write <em>we</em> because Home Assistant is no longer a one-person side project. It has become the side project of many people who spend countless hours on making Home Assistant the best home automation software out there. To acknowledge this we migrated the repositories from being under my name to be under our own <a href="https://github.com/home-assistant/">organisation on GitHub</a>.</p>
<p>On our journey weve reached many noteworthy milestones:</p>
<ul>
<li>#1 on HackerNews</li>
<li>Featured on ProductHunt</li>
<li>Trending repository on GitHub</li>
<li>3000 stars on GitHub</li>
<li>1.5 million page views on our website</li>
<li>Speaker at OpenIoT Summit 2016</li>
</ul>
<p>All these accomplishments are a nice pat on the back but our journey is far from over. There are a lot of challenges ahead if we want to become the go to solution for home automation <em>for everyone</em>.</p>
<p>Until now the focus has been on making a platform that developers love to use. A platform that is simple but customizable. A platform that is both powerful and reliable. But most important: a platform that is local and open. Home Assistant does a great job at all these things.</p>
<p>There will be some major challenges ahead of us to target groups other than developers. Easy installation and easy configuration being the #1. Im sure that well be able to eventually achieve these goals. I cant say yet how or when. As with everything Home Assistant, well take tiny steps, gathering feedback along the way to make sure were solving the right problems.</p>
<p>I am confident that we will get there because we are set up for success: we have a robust architecture, high test coverage and an active community of world class developers and users. On top of that, we use Python which allows us to move fast and tackle complex problems in elegant ways. It is so easy to learn that it allows any programmer, experienced or not, to contribute support for devices and services. Its as simple as <a href="/developers/platform_example_sensor/#code">filling in the blanks</a>.</p>
<p>I would like to put out a big thank you to all our contributors who make Home Assistant what it is today. It doesnt matter if it is form of code, documentation or giving support in our <a href="https://gitter.im/home-assistant/home-assistant">chat room</a> or <a href="https://community.home-assistant.io/">forums</a>. You. all. rock.</p>
<p>Cheers to the future!</p>
<p>Paulus</p>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/04/17/updated-documentation/">Updated documentation</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-04-17T06:09:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> April 17, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> 1 minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Website</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/04/17/updated-documentation/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>One of the main complaints that we receive is something along the lines “I read that X is possible yet I am unable to find it on the website.”. This post is to announce that we have taken the first steps to improve it by revamping the <a href="/getting-started/">getting started</a> and <a href="/developers/">developers</a> sections. Its still a work in progress but we now have a solid foundation to build on for the future 👍.</p>
<p>Our documentation has been going through various phases. Initially it was just the README in our GitHub repository. I discovered Jekyll and GitHub pages in December 2014 and created home-assistant.io. I more or less broke the README in 5 pages and <a href="/blog/2014/12/18/website-launched/">called it a website</a>. Back then we had a whopping <a href="https://github.com/home-assistant/home-assistant.io/blob/86bb2df430ce267ab2123d51592d3f068ae509b5/source/components/index.markdown">11 components</a>.</p>
<p>As Home Assistant grew, so did our documentation. <a href="https://github.com/fabaff">Fabian Affolter</a> does an amazing job in making sure there is at least a documentation stub for each new feature that lands. And thats quite a feat given our <a href="https://home-assistant.io/blog/categories/release-notes/">frequent releases</a>! But despite all the efforts, the documentation outgrew our existing documentation organisation.</p>
<p>Today it has been almost 1.5 years since we started the website. We now have <a href="/components/">264 components and platforms</a> under our belt and have been honored with 1.5 million page views ✨. And hopefully we now also have documentation that our community deserves.</p>
<p>Finally, if you see some content that could use more clarifcation or is outdated, dont hesitate to use the Edit in GitHub link that is present on each page.</p>
</div>
</article>
<hr>
<div class="pagination">
<a class="btn pull-left" href="/blog/posts/5">&larr; Older</a>
<a class="btn pull-right" href="/blog/posts/3">Newer &rarr;</a>
</div>
</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">
<h1 class="title delta">About Home Assistant</h1>
<ul class="divided">
<li>
Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control.
</li>
<li><a href='/getting-started/'>Get started with Home Assistant</a></li>
<li><a href='/demo/'>Try the online demo</a></li>
<li><a class="twitter-follow-button" href="https://twitter.com/Home_Assistant">Follow Home Assistant on Twitter</a></li>
<li><div class="fb-like" data-href="https://www.facebook.com/homeassistantio/" data-layout="standard" data-action="like" data-size="small" data-show-faces="true" data-share="false"></div></li>
</ul>
</section>
<div id="fb-root"></div>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.async=true;js.src='//platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
<script>(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(d.getElementById(id)){return;}js=d.createElement(s);js.id=id;js.async=true;js.src="//connect.facebook.net/en_US/all.js#appId=338291289691179&xfbml=1";fjs.parentNode.insertBefore(js,fjs);}(document,'script','facebook-jssdk'));</script>
<section class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Categories</h1>
<ul class="divided">
<li><a href="/blog/categories/community/">Community</a></li>
<li><a href="/blog/categories/device-tracking/">Device Tracking</a></li>
<li><a href="/blog/categories/esp8266/">ESP8266</a></li>
<li><a href="/blog/categories/how-to/">How To</a></li>
<li><a href="/blog/categories/internet-of-things/">Internet of Things</a></li>
<li><a href="/blog/categories/iot-data/">IoT Data</a></li>
<li><a href="/blog/categories/mqtt/">MQTT</a></li>
<li><a href="/blog/categories/micropython/">Micropython</a></li>
<li><a href="/blog/categories/organisation/">Organisation</a></li>
<li><a href="/blog/categories/owntracks/">OwnTracks</a></li>
<li><a href="/blog/categories/presence-detection/">Presence Detection</a></li>
<li><a href="/blog/categories/public-service-announcement/">Public Service Announcement</a></li>
<li><a href="/blog/categories/release-notes/">Release Notes</a></li>
<li><a href="/blog/categories/survey/">Survey</a></li>
<li><a href="/blog/categories/talks/">Talks</a></li>
<li><a href="/blog/categories/technology/">Technology</a></li>
<li><a href="/blog/categories/user-stories/">User Stories</a></li>
<li><a href="/blog/categories/video/">Video</a></li>
<li><a href="/blog/categories/website/">Website</a></li>
<li><a href="/blog/categories/ibeacons/">iBeacons</a></li>
</ul>
</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>
<script>
var disqus_shortname = 'home-assistant';
var disqus_script = 'count.js';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}());
</script>
</body>
</html>

979
blog/posts/5/index.html Normal file
View file

@ -0,0 +1,979 @@
<!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>Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Home Assistant is an open-source home automation platform running on Python 3.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/posts/5/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Home Assistant">
<meta property="og:site_name" content="Home Assistant">
<meta property="og:url" content="https://home-assistant.io/blog/posts/5/">
<meta property="og:type" content="website">
<meta property="og:description" content="">
<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="Home Assistant">
<meta name="twitter:description" content="">
<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="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/04/09/onkyo-panasonic-gtfs-and-config-validation/">0.17: Onkyo, Panasonic, GTFS and config validation</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-04-09T06:10:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> April 9, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> 1 minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/04/09/onkyo-panasonic-gtfs-and-config-validation/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Another awesome release ready to hit your homes. YAML can be hard for beginners and more experienced automators. So to help catch those pesky errors that sneak into your files weve been hard at work to introduce config validation! Especially huge thanks to <a href="https://github.com/jaharkes/">@jaharkes</a> for his hard work on this. Config validation is still in its early stages. More common platforms and components have been added but we didnt do everything yet.</p>
<p>When we encounter an invalid config we will now write a warning to your logs. You can see those in the frontend by clicking on the last developer tool. Were looking into options to make it more clear - it is a work in progress.</p>
<p>Another big thing is the addition of GTFS support. You probably dont know it, but GTFS is the standard that public transit companies all over the world use to distribute their schedule. This means that you can now have the time of the next bus/train/etc right in your frontend.</p>
<p><img src="/images/supported_brands/onkyo.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/loop.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/panasonic.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /></p>
<ul>
<li>Config validation (<a href="https://github.com/balloob/">@balloob</a>, <a href="https://github.com/jaharkes/">@jaharkes</a>)</li>
<li>Sensor: <a href="/components/sensor.gtfs/">GTFS</a> support (public transit open standard) (<a href="https://github.com/robbiet480/">@robbiet480</a>)</li>
<li>Camera: <a href="/components/camera.rpi_camera/">Raspberry PI</a> support added (<a href="https://github.com/LucaSoldi/">@LucaSoldi</a>)</li>
<li>Z-Wave: improved startup reliability (<a href="https://github.com/srcLurker/">@srcLurker</a>)</li>
<li>Media Player: <a href="/components/media_player.onkyo/">Onkyo receiver</a> now supported (<a href="https://github.com/danieljkemp/">@danieljkemp</a>)</li>
<li>Sensor: <a href="/components/sensor.loop_energy/">Loop Energy</a> now supported (<a href="https://github.com/pavoni/">@pavoni</a>)</li>
<li>Thermostat: <a href="/components/thermostat.zwave/">Z-Wave</a> now supported (<a href="https://github.com/coteyr/">@coteyr</a>, <a href="https://github.com/turbokongen/">@turbokongen</a>, <a href="https://github.com/luxus/">@luxus</a>)</li>
<li>Sensor: <a href="/components/sensor.nzbget/">NZBGet</a> now supported (<a href="https://github.com/justyns/">@justyns</a>)</li>
<li>Media Player: <a href="/components/media_player.panasonic_viera/">Panasonic Viera TV</a> now supported (<a href="https://github.com/florianholzapfel/">@florianholzapfel</a>)</li>
<li>Thermostats: Use whole degrees if user uses Fahrenheit (<a href="https://github.com/JshWright/">@JshWright</a>)</li>
<li>Frontend: more material love (<a href="https://github.com/balloob/">@balloob</a>)</li>
</ul>
<h3>Breaking changes</h3>
<p>As of now we are not aware of any breaking changes. However, it might be that Home Assistant will not start for you because of an invalid configuration. A common mistake that people are making is that they are still referring to <code class="highlighter-rouge">execute_service</code> in their script configs. This should be <code class="highlighter-rouge">service</code>.</p>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/04/07/static-website/">Static website</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-04-07T06:28:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> April 7, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Fabian Affolter</span>
<span><i class='icon-time'></i> 1 minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>How-To</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/04/07/static-website/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>The frontend of Home Assistant is served with the help of a local web server. If you have <a href="/getting-started/devices/#customizing-devices-and-services">customized</a> your installation you already use this functionality. The content of your folder <code class="highlighter-rouge">www</code> in your Home Assistant configuration directory (<code class="highlighter-rouge">.homeassistant</code>) is available under <code class="highlighter-rouge">/local</code> (eg. <a href="https://localhost:8123/local">https://localhost:8123/local</a>).</p>
<p>But there is more you can do! You can not only host images for customization there but HTML files or even web applications including CSS and Javascript.</p>
<p class="img">
<img src="/images/blog/2016-04-display/ha-display.png" />
</p>
<a class="btn pull-right" href="/blog/2016/04/07/static-website/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/04/05/your-hub-should-be-local-and-open/">Your hub should be local and open</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-04-05T04:11:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> April 5, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> 1 minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Internet-of-Things</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/04/05/your-hub-should-be-local-and-open/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Today the news spread that Google will be <a href="https://medium.com/@arlogilbert/the-time-that-tony-fadell-sold-me-a-container-of-hummus-cb0941c762c1#.rmppks86a">shutting down the Revolv hubs</a>. And shutting down here doesnt mean they stop selling or supporting them - no, they are sending an update to each hub to turn your perfectly fine home automation hub into a useless piece of plastic. The fact that this seemed like a good idea by Google astonishes me. If anything, they should have gone the same route as <a href="https://discuss.ninjablocks.com/t/ninja-blocks-whats-been-happening-whats-happening-next/3608">ninjasphere</a>: open it all up and let people decide on the fate of their <em>own</em> hub.</p>
<p>Ive said it <a href="/blog/2016/01/19/perfect-home-automation/#your-system-should-run-at-home-not-in-the-cloud">before</a> but Ill repeat it again:</p>
<blockquote>
<p>The cloud should be treated as an extension to your smart home instead of running it.</p>
</blockquote>
<p>Your hub should not be affected when your internet breaks down or the company that sold you your hub goes out of business. It should work locally so that it can continue to work even long after the vendor goes out of business or decides to kill it. Preferably, your hub should also be open so that the community can take over development after the vendor stops caring.</p>
<p>Unless you can afford losing a product here and there, be cautious when buying IoT products that depend on the cloud from companies that are not well established. The chances are high that they go bankrupt or get acquired and closed. This however is easier said than done as <a href="http://www.gartner.com/newsroom/id/2869521">Gartner</a> predicts that by 2017, 50 percent of IoT solutions will originate in startups that are less than three years old.</p>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/03/26/embedded-mqtt-broker-uber-yamaha-growl/">0.16: Embedded MQTT broker, Uber, Yamaha receivers and Growl</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-03-26T07:10:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> March 26, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/03/26/embedded-mqtt-broker-uber-yamaha-growl/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Party people, 0.16 is here! The big thing with this release is that we have completely removed the barrier to get started by MQTT by being able to launch an embedded MQTT server: <a href="https://github.com/beerfactory/hbmqtt">hbMQTT</a>. Just add <code class="highlighter-rouge">mqtt:</code> to your config and a broker is launched and connected with Home Assistant. See the <a href="/components/mqtt/#use-the-embedded-broker">documentation</a> for more info.</p>
<p>Further in this release a bunch of cool new stuff, bug fixes and rewrites for the Vera and Tellstick component (see breaking changes section at bottom for this!).</p>
<p>Rock on.</p>
<p><img src="/images/supported_brands/message_bird.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/pulseaudio.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/uber.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/gntp.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="100" /><img src="/images/supported_brands/yamaha.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /></p>
<ul>
<li>Device Tracker - <a href="/components/device_tracker.owntracks/">OwnTracks</a>: Allow entry into passive zones using iBeacons (<a href="https://github.com/pavoni">@pavoni</a>)</li>
<li>Tellstick: rewrite to <a href="/components/tellstick/">component</a> to address concurrency issues (<a href="https://github.com/stefan-jonasson">@stefan-jonasson</a>)</li>
<li>Z-Wave: add <a href="/components/zwave/#services">services</a> to heal and soft reset network (<a href="https://github.com/srcLurker">@srcLurker</a>)</li>
<li>New component <a href="/components/input_slider/">input_slider</a> added (<a href="https://github.com/persandstrom">@persandstrom</a>)</li>
<li>Light - <a href="/components/light.hue/">Hue</a>: Option added to ignore unreachable property (<a href="https://github.com/maddox">@maddox</a>)</li>
<li>Notify: <a href="/components/notify.message_bird/">MessageBird</a> support added (<a href="https://github.com/florianholzapfel">@florianholzapfel</a>)</li>
<li>HTTP: Failed login attempts are now logged (<a href="https://github.com/fabaff">@fabaff</a>)</li>
<li>Vera: rewrite to <a href="/components/vera/">component</a> to simplify code and organize for reusability (<a href="https://github.com/pavoni">@pavoni</a>)</li>
<li>Discovery: support for Squeezebox (Logitech media) server added (<a href="https://github.com/jaharkes">@jaharkes</a>)</li>
<li>Discovery: fix uPNP discovery crashing some routers (<a href="https://github.com/jaharkes">@jaharkes</a>)</li>
<li>Switch: <a href="/components/switch.wake_on_lan/">Wake on LAN</a> platform added (<a href="https://github.com/joopert">@joopert</a>)</li>
<li>Services for thermostats, notify and media player will now validate passed in parameters (<a href="https://github.com/MartinHjelmare">@MartinHjelmare</a>)</li>
<li>Switch - <a href="/components/switch.arduino/">Arduino</a>: support for default state and negate port functionality (<a href="https://github.com/tilutza">@tilutza</a>)</li>
<li>Switch: <a href="/components/switch.pulseaudio_loopback/">PulseAudio loopback</a> now supported (<a href="https://github.com/Cinntax">@Cinntax</a>)</li>
<li>Sensor: <a href="/components/sensor.uber/">Uber</a> now supported (<a href="https://github.com/robbiet480">@robbiet480</a>)</li>
<li>Notify: <a href="/components/notify.gntp/">Growl (GNTP)</a> now supported (<a href="https://github.com/robbiet480">@robbiet480</a>)</li>
<li>Media Player: <a href="/components/media_player.yamaha/">Yamaha receivers</a> now supported (<a href="https://github.com/aoakeson">@aoakeson</a>)</li>
</ul>
<h3>Breaking changes</h3>
<ul>
<li>
<p>Automation: support for old deprecated config has been removed</p>
</li>
<li>
<p>Tellstick configuration has changed</p>
</li>
</ul>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">tellstick</span><span class="pi">:</span>
<span class="s">signal_repetitions</span><span class="pi">:</span> <span class="s">X</span>
</code></pre>
</div>
<ul>
<li>Vera configuration has changed</li>
</ul>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">vera</span><span class="pi">:</span>
<span class="s">vera_controller_url</span><span class="pi">:</span> <span class="s">http://192.168.1.161:3480/</span>
<span class="c1"># Optional to exclude devices - this is a list of vera device ids</span>
<span class="s">exclude</span><span class="pi">:</span> <span class="pi">[</span> <span class="nv">13</span><span class="pi">,</span> <span class="nv">14</span><span class="pi">,</span> <span class="nv">16</span><span class="pi">,</span> <span class="nv">20</span><span class="pi">,</span> <span class="nv">23</span><span class="pi">,</span> <span class="nv">72</span><span class="pi">,</span> <span class="nv">73</span><span class="pi">,</span> <span class="nv">74</span><span class="pi">,</span> <span class="nv">75</span><span class="pi">,</span> <span class="nv">76</span><span class="pi">,</span> <span class="nv">77</span><span class="pi">,</span> <span class="nv">78</span><span class="pi">,</span> <span class="nv">88</span><span class="pi">,</span> <span class="nv">89</span><span class="pi">,</span> <span class="nv">99</span><span class="pi">]</span>
<span class="c1"># Optional to import switches as lights - this is a list of vera device ids</span>
<span class="s">lights</span><span class="pi">:</span> <span class="pi">[</span><span class="nv">15</span><span class="pi">,</span> <span class="nv">17</span><span class="pi">,</span> <span class="nv">19</span><span class="pi">,</span> <span class="nv">21</span><span class="pi">,</span> <span class="nv">22</span><span class="pi">,</span> <span class="nv">24</span><span class="pi">,</span> <span class="nv">26</span><span class="pi">,</span> <span class="nv">43</span><span class="pi">,</span> <span class="nv">64</span><span class="pi">,</span> <span class="nv">70</span><span class="pi">,</span> <span class="nv">87</span><span class="pi">]</span>
</code></pre>
</div>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/03/12/z-wave-pep257-templated-service-calls/">0.15: Unforked Open Z-Wave, templated service calls, extended scene support and PEP257 compliance.</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-03-12T18:55:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> March 12, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> 1 minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/03/12/z-wave-pep257-templated-service-calls/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Two weeks has past so here is 0.15! We have been focussing a lot on quality. Making sure the system is more stable and reliable. I usually try to highlight one cool thing in the release notes but this release has 4 exciting announcements!</p>
<ul>
<li><a href="https://github.com/fabaff">@fabaff</a> has upgraded the codebase to follow the PEP257 documentation standard.</li>
<li><a href="https://github.com/PartOfTheThing">@partofthething</a> has migrated us to use the main Python Open Z-Wave library instead of our forked version.</li>
<li>To make our automations more powerful, <a href="https://github.com/persandstrom">@persandstrom</a> added the option to use templates to dynamically create service calls. This works for automation, Alexa, universal media player, template switch. <a href="/topics/service_calls/#use-templates-to-decide-which-service-to-call">Learn more.</a></li>
<li><a href="https://github.com/MartinHjelmare">@MartinHjelmare</a> has upgraded our scene support to now support all built-in services and components.</li>
</ul>
<p>Besides bug fixes, this release also brings:</p>
<p><img src="/images/supported_brands/hunter-douglas-powerview.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /></p>
<ul>
<li>Scene: Converted to a platform based component (<a href="https://github.com/sander76">@sander76</a>)</li>
<li>Scene: <a href="/components/scene.hunterdouglas_powerview/">Hunter Douglas Powerview</a> now supported (<a href="https://github.com/sander76">@sander76</a>)</li>
<li>Lock: <a href="/components/lock.mqtt/">MQTT</a> platform added (<a href="https://github.com/fabaff">@fabaff</a>)</li>
<li>Device Tracker: <a href="/components/device_tracker.owntracks/">OwnTracks</a> will allow filtering inaccurate GPS locations (<a href="https://github.com/HydrelioxGitHub">@HydrelioxGitHub</a>)</li>
<li>Binary Sensor: Wemo Motion now supported (<a href="https://github.com/pavoni">@pavoni</a>, <a href="https://github.com/ryanlaux">@ryanlaux</a>)</li>
</ul>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example using templates for service and data in service call.</span>
<span class="c1"># Works for automation, Alexa, universal media player, template switch.</span>
<span class="s">automation</span><span class="pi">:</span>
<span class="pi">-</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">state</span>
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">switch.bathroom</span>
<span class="s">action</span><span class="pi">:</span>
<span class="s">service_template</span><span class="pi">:</span> <span class="pi">&gt;</span>
<span class="no">{% if is_state('switch.bathroom', 'on') %}</span>
<span class="no">switch.turn_on</span>
<span class="no">{% else %}</span>
<span class="no">switch.turn_off</span>
<span class="no">{% endif %}</span>
<span class="s">data_template</span><span class="pi">:</span>
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">switch.{{ states('input_select.is') }}</span>
</code></pre>
</div>
<h3>Breaking Changes</h3>
<ul>
<li>Media Player: Attributes to call service play_media has been renamed to
<code class="highlighter-rouge">media_content_type</code> and <code class="highlighter-rouge">media_content_id</code>, to match the corresponding media
player state attributes. This change affects automations, scripts and scenes.</li>
</ul>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/02/27/steam-d-link-smart-plugs-and-neurio-energy-sensors/">0.14: Steam, D-Link smart plugs and Neurio Energy Sensors</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-02-27T22:15:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> February 28, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/02/27/steam-d-link-smart-plugs-and-neurio-energy-sensors/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Its been another two weeks which means its time for release: 0.14!</p>
<p><img src="/images/supported_brands/neurio.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/dlink.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/steam.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="90" /></p>
<ul>
<li>Notify: <a href="/components/notify.command_line/">Command line platform</a> added (<a href="https://github.com/stefan-jonasson">@stefan-jonasson</a>)</li>
<li>Sensor: <a href="/components/sensor.verisure/">Verisure</a> mousedetectors now supported (<a href="https://github.com/turbokongen">@turbokongen</a>)</li>
<li>Core: Entities can now expose if they assume their state representation is correct (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Sensor: <a href="/components/sensor.tcp/">TCP</a> platform added (<a href="https://github.com/flyte">@flyte</a>)</li>
<li>Binary Sensor: <a href="/components/binary_sensor.tcp/">TCP</a> platform added (<a href="https://github.com/flyte">@flyte</a>)</li>
<li>Sensor: <a href="/components/sensor.neurio_energy/">Neurio energy sensor</a> now supported (<a href="https://github.com/infamy">@infamy</a>)</li>
<li>Binary Sensor: <a href="/components/binary_sensor.nx584/">nx584</a> support added (<a href="https://github.com/kk7ds">@kk7ds</a>)</li>
<li>Improve and clarify CI testing (<a href="https://github.com/sdague">@sdague</a>)</li>
<li>Automation: State <a href="/getting-started/automation-trigger/#state-trigger">triggers</a> and <a href="/getting-started/automation-condition/#state-condition">conditions</a> now takes optional <code class="highlighter-rouge">for</code> config parameter to only trigger when a state hasnt changed for a certain period of time (<a href="https://github.com/pavoni">@pavoni</a>, <a href="https://github.com/stefan-jonasson">@stefan-jonasson</a>)</li>
<li>Sensor: <a href="/components/sensor.nest/">Nest</a> weather data added (<a href="https://github.com/w1ll1am23">@w1ll1am23</a>)</li>
<li>Device Tracker: <a href="/components/device_tracker.unifi/">Ubiquiti Unifi</a> now supported (<a href="https://github.com/kk7ds">@kk7ds</a>)</li>
<li>Binary Sensor: <a href="/components/binary_sensor.mysensors/">MySensors</a> now supported (<a href="https://github.com/MartinHjelmare">@MartinHjelmare</a>)</li>
<li>Binary Sensor: <a href="/components/binary_sensor.bloomsky/">Bloomsky</a> now supported (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Binary Sensor: <a href="/components/binary_sensor.zwave/">Z-Wave</a> now supported (<a href="https://github.com/tpatja">@tpatja</a>)</li>
<li>Switch: <a href="/components/switch.dlink/">D-Link smart plugs</a> now supported (<a href="https://github.com/LinuxChristian">@LinuxChristian</a>)</li>
<li>Script: Toggle support added (<a href="https://github.com/Andythigpen">@Andythigpen</a>)</li>
<li>Light: <a href="/components/light.wemo/">Wemo</a> now supported (<a href="https://github.com/jaharkes">@jaharkes</a>)</li>
<li>Rollershutter: <a href="/components/rollershutter.command_line/">Command line platform</a> added (<a href="https://github.com/t30">@t30</a>)</li>
<li>Sensor: <a href="/components/sensor.steam_online/">Steam</a> now supported (<a href="https://github.com/GreenTurtwig">@GreenTurtwig</a>)</li>
<li>Binary Sensor: <a href="/components/binary_sensor.wink/">Wink</a> now supported (<a href="https://github.com/w1ll1am23">@w1ll1am23</a>)</li>
<li>Demo has been updated (<a href="https://github.com/kfgoode">@kfgoode</a>)</li>
<li>Frontend: new UI for cameras (<a href="https://github.com/balloob">@balloob</a>)</li>
</ul>
<p class="img">
<img src="/images/blog/2016-02-release-14/screenshot-webcam.png" />
Camera feeds are now directly embedded in the frontend.
</p>
<h3>Backwards incompatible changes</h3>
<ul>
<li>Component: Simple Alarm has been removed. Still available in <a href="https://home-assistant.io/cookbook/python_component_simple_alarm/">the cookbook</a>.</li>
<li>Script: Turning on a <a href="/components/script/">script</a> that is already on is now a no-op instead of skipping current delay.</li>
<li>Wemo switches now have to be set up via the main <a href="/components/wemo/">Wemo component</a></li>
<li>Command line platforms for <a href="/components/switch.command_line/">switch</a>, <a href="/components/sensor.command_line/">sensor</a> and <a href="/components/binary_sensor.command_line/">binary_sensor</a> have been renamed to <code class="highlighter-rouge">command_line</code>.</li>
<li>The rfxtrx sensors entity ids will incur a one time change to move to a stable format. See <a href="/components/sensor.rfxtrx/">the docs</a> for more details.</li>
</ul>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/02/20/community-highlights/">Community Highlights</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-02-20T09:06:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> February 20, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Community</li>
<li>Video</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/02/20/community-highlights/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Home Assistant land has been busy and a lot of people have been creating awesome stuff. Weve added <a href="/cookbook/">a cookbook section</a> to the website full of examples how you can automate different things. Make sure you take a look and share your own recipes too!</p>
<h3><a class="title-link" name="home-automation-demo-by-part-of-the-thing" href="#home-automation-demo-by-part-of-the-thing"></a> Home automation demo by Part of the Thing</h3>
<div class="videoWrapper">
<iframe width="560" height="315" src="https://www.youtube.com/embed/Mc_29EC3aZw" frameborder="0" allowfullscreen=""></iframe>
</div>
<h3><a class="title-link" name="haaska---alexa-skill-adapter-for-home-assistant" href="#haaska---alexa-skill-adapter-for-home-assistant"></a> Haaska - Alexa Skill Adapter for Home Assistant</h3>
<p>Haaska allows you to control lights, switches, and scenes exposed by your Home Assistant instance using an Amazon Echo. This is different from our own <a href="/components/alexa/">Alexa</a> component because it will teach the Amazon Echo directly about the devices instead of teaching it to talk to Home Assistant. It will not allow you to use custom sentences but it will allow you to skip the Ask Home Assistant part when giving commands:</p>
<ul>
<li>“Alexa, set kitchen to twenty percent”</li>
<li>“Alexa, turn on evening scene”</li>
<li>“Alexa, turn off bedroom light”</li>
</ul>
<p><a href="https://github.com/auchter/haaska">Haaska on GitHub</a></p>
<h3><a class="title-link" name="integrating-home-assistant-with-homekit" href="#integrating-home-assistant-with-homekit"></a> Integrating Home Assistant with HomeKit</h3>
<p>Contributor Maddox has created a plugin for HomeBridge, an open-source HomeKit bridge. This will allow you to control your home using Siri on your Apple devices. HomeBridge has recently restructured so youll have to install the plugin separately with the homebridge-homeassistant npm package.</p>
<p>Example config.json entry to load Home Assistant:</p>
<div class="language-json highlighter-rouge"><pre class="highlight"><code><span class="s2">"platforms"</span><span class="err">:</span><span class="w"> </span><span class="p">[</span><span class="w">
</span><span class="p">{</span><span class="w">
</span><span class="nt">"platform"</span><span class="p">:</span><span class="w"> </span><span class="s2">"HomeAssistant"</span><span class="p">,</span><span class="w">
</span><span class="nt">"name"</span><span class="p">:</span><span class="w"> </span><span class="s2">"HomeAssistant"</span><span class="p">,</span><span class="w">
</span><span class="nt">"host"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http://192.168.1.50:8123"</span><span class="p">,</span><span class="w">
</span><span class="nt">"password"</span><span class="p">:</span><span class="w"> </span><span class="s2">"xxx"</span><span class="p">,</span><span class="w">
</span><span class="nt">"supported_types"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="s2">"light"</span><span class="p">,</span><span class="w"> </span><span class="s2">"switch"</span><span class="p">,</span><span class="w"> </span><span class="s2">"media_player"</span><span class="p">,</span><span class="w"> </span><span class="s2">"scene"</span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span><span class="p">]</span><span class="w">
</span></code></pre>
</div>
<p><a href="https://github.com/nfarina/homebridge">HomeBridge on GitHub</a>
<a href="https://github.com/maddox/homebridge-homeassistant">HomeBridge Home Assistant Plugin</a></p>
<h3><a class="title-link" name="custom-alarm-system-with-home-assistant" href="#custom-alarm-system-with-home-assistant"></a> Custom alarm system with Home Assistant</h3>
<p>User thaijames <a href="https://community.home-assistant.io/t/controlling-house-alarm-from-ha/67">describes in the Home Assistant forums</a> how he has created his own NFC-based alarm system using Home Assistant, DIY components and Garfield dolls.</p>
<p class="img">
<img src="/images/blog/2016-02-community-highlights/garfield-nfc.png" />
Hold your NFC tag against the belly of Garfield to unlock the alarm.
</p>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/02/18/multi-room-audio-with-snapcast/">Multi-room audio with Snapcast, Mopidy, and Home Assistant</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-02-18T05:10:56+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> February 18, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> happyleavesaoc</span>
<span><i class='icon-time'></i> four minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>How-To</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/02/18/multi-room-audio-with-snapcast/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Would you like to listen to music in every room in your home, controlled from one source? Then multi-room audio is for you.</p>
<p>Multi-room audio can be achieved by having a computer attached to speakers in every room. On each computer, services run to play and/or control the audio. With this DIY approach, the kind of computer and speakers is very much up to you. It could be your desktop computer with attached powered speakers, your HTPC hooked up to your TV and receiver, a Raspberry Pi with Amp or DAC, or even an Android device.</p>
<p>Youll need two key software packages, besides Home Assistant. The first is <a href="https://www.mopidy.com/">Mopidy</a>, a music server that can play local files, or connect to streaming music services like Spotify. The second is <a href="https://github.com/badaix/snapcast/">Snapcast</a>, which enables synchronized audio streaming across your network. Both can be integrated into Home Assistant. Each room audio device will run an instance of the Snapcast client, and optionally a Mopidy instance. Your server will run a special instance of Mopidy and the Snapcast server.</p>
<p>Finally, you also need a player to control Mopidy. Any MPD-compatible player will work, and there are several <a href="https://docs.mopidy.com/en/latest/ext/web/#ext-web">Mopidy-only web-based options</a> available. On Android, <a href="https://play.google.com/store/apps/details?id=se.anil.remotedy">Remotedy</a> is particularly nice since you can access multiple Mopidy instances in one place.</p>
<p>Home Assistant will provide device status, and volume control for each room. If you want to play music in all your rooms (on all your clients), access the server instance of Mopidy. If you want to play music only in a specific room, access that specific Mopidy instance. If youre using a web UI for Mopidy, you can add links to each instance in Home Assistant with the <a href="/components/weblink/">weblink</a> component.</p>
<p class="img">
<img src="/images/blog/2016-02-snapcast/diagram.png" />
</p>
<a class="btn pull-right" href="/blog/2016/02/18/multi-room-audio-with-snapcast/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/02/13/speedtest-bloomsky-splunk-and-garage-doors/">0.13: Speedtest.net, Bloomsky, Splunk and Garage Doors</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-02-13T06:15:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> February 13, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/02/13/speedtest-bloomsky-splunk-and-garage-doors/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>The focus of 0.13 was on test coverage, big cheers to <a href="https://github.com/rmkraus/">@rmkraus</a> for his hard work on this. Im proud to announce that weve hit the 90% test coverage of the core + important components. A big milestone for the project.</p>
<p class="img">
<img src="/images/blog/2016-02-release-13/input_select__input_boolean__weblink.png" />
Examples of the new <a href="/components/input_select/">input_select</a> and <a href="/components/weblink/">weblink</a> components.
</p>
<p>Not only did we gain a lot of test coverage, we also attracted a lot of new developers that contributed a variety of components and platforms:</p>
<p><img src="/images/supported_brands/speedtest.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="70" /><img src="/images/supported_brands/apcupsd.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/splunk.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/bloomsky.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/ubiquiti.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/networx.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/samsung.png" style="clear: right; margin-left: 5px; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /></p>
<ul>
<li>Core: Add service to restart Home Assistant (<a href="https://github.com/rmkraus/">@rmkraus</a>)</li>
<li>Core: Allow device to report as unavailable (<a href="https://github.com/MartinHjelmare/">@MartinHjelmare</a>)</li>
<li>Core: Allow overriding polling interval in platforms and <a href="/cookbook/customize_polling_interval/">via config</a> (<a href="https://github.com/balloob/">@balloob</a>)</li>
<li>Frontend: support for a <a href="/components/group/">default view</a> have been added to replace the show all view (<a href="https://github.com/balloob/">@balloob</a>)</li>
<li>Component: Added <a href="/components/apcupsd/">apcupsd</a> component (<a href="https://github.com/flyte/">@flyte</a>)</li>
<li>Component: Added component to log values to <a href="/components/splunk/">Splunk</a> (<a href="https://github.com/miniconfig/">@miniconfig</a>)</li>
<li>Component: Added <a href="/components/garage_door/">garage door</a> component including <a href="/components/garage_door.wink/">Wink</a> support (<a href="https://github.com/xrolfex/">@xrolfex</a>)</li>
<li>Component: Added <a href="/components/input_select/">input_select</a> component (<a href="https://github.com/balloob/">@balloob</a>)</li>
<li>Component: Added <a href="/components/proximity/">proximity</a> component to track people closest to a location (<a href="https://github.com/nickwaring/">@nickwaring</a>, <a href="https://github.com/Bart274/">@Bart274</a> )</li>
<li>Component: Added support for <a href="/components/bloomsky/">Bloomsky Weather Station</a> (<a href="https://github.com/haraldnagel/">@haraldnagel</a>)</li>
<li>Component: Added support for pushing stats to <a href="/components/graphite/">graphite</a> (<a href="https://github.com/kk7ds/">@kk7ds</a>)</li>
<li>Component: Added support for <a href="/components/scsgate/">SCSGate</a> devices (<a href="https://github.com/flavio/">@flavio</a>)</li>
<li>Component: Added <a href="/components/weblink/">weblink</a> component to link to other pages (<a href="https://github.com/MagnusKnutas/">@MagnusKnutas</a>)</li>
<li>Component: Support for Ubiquiti mFI <a href="/components/sensor.mfi/">sensors</a> and <a href="/components/switch.mfi/">switchable devices</a> added (<a href="https://github.com/kk7ds/">@kk7ds</a>)</li>
<li>Alarm control panel: Added <a href="/components/alarm_control_panel.nx584/">Caddx/GE/Interlogix NetworX</a> support (<a href="https://github.com/kk7ds/">@kk7ds</a>)</li>
<li>Camera: <a href="/components/camera.mjpeg/">MJPEG</a> cameras will now show real stream instead of a 2fps stream (<a href="https://github.com/stjohnjohnson/">@stjohnjohnson</a>)</li>
<li>Camera: Added <a href="/components/camera.uvc/">Unifi video cameras</a> support (<a href="https://github.com/kk7ds/">@kk7ds</a>)</li>
<li>Device Tracker: <a href="/components/device_tracker.aruba/">Aruba</a> platform now uses SSH instead of telnet (<a href="https://github.com/carlosmgr/">@carlosmgr</a>)</li>
<li>History: Show correct graphs for thermostats (<a href="https://github.com/sdague/">@sdague</a>)</li>
<li>Light: Added <a href="/components/light.mysensors/">MySensors</a> support (<a href="https://github.com/MartinHjelmare/">@MartinHjelmare</a>)</li>
<li>Lock: Added <a href="/components/lock.verisure/">Verisure</a> support (<a href="https://github.com/turbokongen/">@turbokongen</a>)</li>
<li>Media Player: Added <a href="/components/media_player.samsungtv/">Samsung TV</a> support (<a href="https://github.com/stefan-jonasson/">@stefan-jonasson</a>)</li>
<li>Media Player: Added <a href="/components/media_player.snapcast/">Snapcast</a> support (<a href="https://github.com/happyleavesaoc/">@happyleavesaoc</a>)</li>
<li>MQTT: Allow using templates in <a href="/components/mqtt/#publish-service">publish service</a> (<a href="https://github.com/flyte/">@flyte</a>)</li>
<li>Notify: Added <a href="/components/notify.rest/">REST</a> support (<a href="https://github.com/Theb-1/">@Theb-1</a>)</li>
<li>Sensor: Added <a href="/components/sensor.speedtest/">Speedtest.net</a> support (<a href="https://github.com/nkgilley/">@nkgilley</a>)</li>
<li>Switch: Added <a href="/components/switch.template/">template</a> platform (<a href="https://github.com/pavoni/">@pavoni</a>)</li>
<li>Thermostat: Support for <a href="/components/thermostat.honeywell/">Honeywell</a> in the US added (<a href="https://github.com/kk7ds/">@kk7ds</a>)</li>
<li>Z-Wave: Allow <a href="/components/zwave/#configuration">configuring polling</a> and <a href="/components/zwave/#events">support scenes</a> (<a href="https://github.com/lukas-hetzenecker/">@lukas-hetzenecker</a>)</li>
<li>Bug fixes and improvements by <a href="https://github.com/persandstrom/">@persandstrom</a>, <a href="https://github.com/fabaff/">@fabaff</a>, <a href="https://github.com/balloob/">@balloob</a>, <a href="https://github.com/pavoni/">@pavoni</a>, <a href="https://github.com/philipbl/">@philipbl</a>, <a href="https://github.com/MartinHjelmare/">@MartinHjelmare</a>, <a href="https://github.com/rmkraus/">@rmkraus</a>, <a href="https://github.com/molobrakos/">@molobrakos</a>, <a href="https://github.com/lukas-hetzenecker/">@lukas-hetzenecker</a>, <a href="https://github.com/TangoAlpha/">@TangoAlpha</a>, <a href="https://github.com/deisi/">@deisi</a>, <a href="https://github.com/Danielhiversen/">@Danielhiversen</a>, <a href="https://github.com/roqeer/">@roqeer</a>, <a href="https://github.com/jaharkes/">@jaharkes</a></li>
</ul>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/02/12/classifying-the-internet-of-things/">Classifying the Internet of Things</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-02-12T06:31:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> February 12, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> seven minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Internet-of-Things</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/02/12/classifying-the-internet-of-things/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>The core of home automation is knowing whats going on. The faster we know about a state change, the better we can serve the user. If you want to have your lights to turn on when you arrive at home, it doesnt help if it only knows about it after youve already opened the door and manually (!!) turned on the light.</p>
<p>Each smart device consists of the normal device and the piece that makes it smart: the connectivity. The connectivity part of a device can consists of either control, state or both.</p>
<p>State describes what a device is up to right now. For example, a light can be on with a red color and a medium brightness.</p>
<p>Control is about controlling the smart device by sending commands via an API. These commands can vary from configuring how a device works till mimicking how a user would interact with a device. A media player can allow skipping to the next track and a sensor could allow to configure its sensitivity or polling interval.</p>
<p>The Home Assistant APIs are setup to be as convenient as possible. However, a network is always as weak as its weakest link. In our case these are the integrations. Take for example controlling a light that does not report state. The only state Home Assistant can report on after sending a command is the assumed state: what do we expect the state of the light to be if the command worked.</p>
<p>We want our users to get the best home automation experience out there and this starts with making sure they have devices that work well with Home Assistant. Thats why we will start applying the following classifiers to our integrations:</p>
<p><a name="classifiers"></a></p>
<table>
<tr>
<th colspan="2">Classifier</th>
<th>Description</th>
</tr>
<tr>
<td><i class="icon-adjust"></i></td>
<td style="white-space: nowrap;">Assumed State</td>
<td>
We are unable to get the state of the device. Best we can do is to assume the state based on our last command.
</td>
</tr>
<tr>
<td><i class="icon-cloud-upload"></i></td>
<td>Cloud Polling</td>
<td>
Integration of this device happens via the cloud and requires an active internet connection. Polling the state means that an update might be noticed later.
</td>
</tr>
<tr>
<td><i class="icon-cloud-download"></i></td>
<td>Cloud Push</td>
<td>
Integration of this device happens via the cloud and requires an active internet connection. Home Assistant will be notified as soon as a new state is available.
</td>
</tr>
<tr>
<td><i class="icon-download-alt"></i></td>
<td>Local Polling</td>
<td>
Offers direct communication with device. Polling the state means that an update might be noticed later.
</td>
</tr>
<tr>
<td><i class="icon-upload-alt"></i></td>
<td>Local Push</td>
<td>
Offers direct communication with device. Home Assistant will be notified as soon as a new state is available.
</td>
</tr>
</table>
<p>The background to how we got to these classifiers can be read after the break.</p>
<a class="btn pull-right" href="/blog/2016/02/12/classifying-the-internet-of-things/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<div class="pagination">
<a class="btn pull-left" href="/blog/posts/6">&larr; Older</a>
<a class="btn pull-right" href="/blog/posts/4">Newer &rarr;</a>
</div>
</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">
<h1 class="title delta">About Home Assistant</h1>
<ul class="divided">
<li>
Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control.
</li>
<li><a href='/getting-started/'>Get started with Home Assistant</a></li>
<li><a href='/demo/'>Try the online demo</a></li>
<li><a class="twitter-follow-button" href="https://twitter.com/Home_Assistant">Follow Home Assistant on Twitter</a></li>
<li><div class="fb-like" data-href="https://www.facebook.com/homeassistantio/" data-layout="standard" data-action="like" data-size="small" data-show-faces="true" data-share="false"></div></li>
</ul>
</section>
<div id="fb-root"></div>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.async=true;js.src='//platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
<script>(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(d.getElementById(id)){return;}js=d.createElement(s);js.id=id;js.async=true;js.src="//connect.facebook.net/en_US/all.js#appId=338291289691179&xfbml=1";fjs.parentNode.insertBefore(js,fjs);}(document,'script','facebook-jssdk'));</script>
<section class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Categories</h1>
<ul class="divided">
<li><a href="/blog/categories/community/">Community</a></li>
<li><a href="/blog/categories/device-tracking/">Device Tracking</a></li>
<li><a href="/blog/categories/esp8266/">ESP8266</a></li>
<li><a href="/blog/categories/how-to/">How To</a></li>
<li><a href="/blog/categories/internet-of-things/">Internet of Things</a></li>
<li><a href="/blog/categories/iot-data/">IoT Data</a></li>
<li><a href="/blog/categories/mqtt/">MQTT</a></li>
<li><a href="/blog/categories/micropython/">Micropython</a></li>
<li><a href="/blog/categories/organisation/">Organisation</a></li>
<li><a href="/blog/categories/owntracks/">OwnTracks</a></li>
<li><a href="/blog/categories/presence-detection/">Presence Detection</a></li>
<li><a href="/blog/categories/public-service-announcement/">Public Service Announcement</a></li>
<li><a href="/blog/categories/release-notes/">Release Notes</a></li>
<li><a href="/blog/categories/survey/">Survey</a></li>
<li><a href="/blog/categories/talks/">Talks</a></li>
<li><a href="/blog/categories/technology/">Technology</a></li>
<li><a href="/blog/categories/user-stories/">User Stories</a></li>
<li><a href="/blog/categories/video/">Video</a></li>
<li><a href="/blog/categories/website/">Website</a></li>
<li><a href="/blog/categories/ibeacons/">iBeacons</a></li>
</ul>
</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>
<script>
var disqus_shortname = 'home-assistant';
var disqus_script = 'count.js';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}());
</script>
</body>
</html>

797
blog/posts/6/index.html Normal file
View file

@ -0,0 +1,797 @@
<!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>Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Home Assistant is an open-source home automation platform running on Python 3.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/posts/6/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Home Assistant">
<meta property="og:site_name" content="Home Assistant">
<meta property="og:url" content="https://home-assistant.io/blog/posts/6/">
<meta property="og:type" content="website">
<meta property="og:description" content="">
<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="Home Assistant">
<meta name="twitter:description" content="">
<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="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/02/09/Smarter-Smart-Things-with-MQTT-and-Home-Assistant/">Smarter SmartThings with MQTT and Home Assistant</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-02-09T07:44:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> February 09, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Jeremiah Wuenschel and St. John Johnson</span>
<span><i class='icon-time'></i> nine minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>How-To</li>
<li>MQTT</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/02/09/Smarter-Smart-Things-with-MQTT-and-Home-Assistant/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p><em>This is a guest post by Home Assistant users <a href="https://github.com/jer">Jeremiah Wuenschel</a> and <a href="https://github.com/stjohnjohnson">St. John Johnson</a>.</em></p>
<p>So you own a <a href="http://smartthings.com">SmartThings</a> Hub. You probably bought it when you were looking to get into the whole Home Automation hobby because it worked with pretty much everything and offered you the ability to automate <strong>anything.</strong> After a week of ownership, you realized that building dashboards and automating required writing way more Groovy then you expected. Then one day you were browsing <a href="https://www.reddit.com/r/homeautomation">reddit</a> and discovered the amazingness that is Home Assistant! A solution that offered dashboards, graphs, working support for Nest, and REAL EASY automation!</p>
<p>You spent your weekend getting everything set up, showing it off to your significant other, but in the end you got stumped when it came to integrating with all your existing SmartThings toys. What do I do now? Should I buy another hub? Should I just buy a Z-Wave stick?</p>
<p>Thats where we came in. We wanted a solution that can bridge the awesomeness of Home Assistant with the SmartThings hub that works with almost everything.</p>
<p class="img">
<img src="/images/blog/2016-02-smartthings/splash.png" />
</p>
<a class="btn pull-right" href="/blog/2016/02/09/Smarter-Smart-Things-with-MQTT-and-Home-Assistant/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/01/30/insteon-lifx-twitter-and-zigbee/">0.12: Insteon, LIFX, Twitter and ZigBee</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-01-30T08:22:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> January 30, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/01/30/insteon-lifx-twitter-and-zigbee/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Another sprint has come to an end and it seems that we have not slowed down a single bit 🚀. 0.12 is full of new components, platforms and organizational additions.</p>
<p>I would like to give a shout out to <a href="https://github.com/pavoni">Greg Dowling (@pavoni)</a> as every release includes new work from him. He is constantly adding support for new platforms or improving the reliablity of existing components and platforms. Keep up the good work!</p>
<p>This release includes a very frequent requested feature: the ability to organize entities in different tabs in the frontend. See <a href="/demo/">the demo</a> to see this in action and read more in the <a href="/components/group/">group documentation</a> how to get started.</p>
<p class="img">
<a href="/demo/"><img src="/images/blog/2016-01-release-12/views.png" /></a>
Example of the new views in the frontend. <a href="/components/group/">Learn more.</a>
</p>
<p><img src="/images/supported_brands/insteon.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/lifx.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/twitter.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/zigbee.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/google_voice.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /></p>
<ul>
<li>Binary sensor: <a href="/components/binary_sensor.command/">command sensor</a> added (<a href="https://github.com/Bart274">@Bart274</a>)</li>
<li><a href="/components/nest/">Nest</a> support extended to include sensors and binary sensors (<a href="https://github.com/joshughes">@joshughes</a>)</li>
<li>Light: <a href="/components/light.lifx/">LIFX</a> platform added (<a href="https://github.com/TangoAlpha">@TangoAlpha</a>)</li>
<li>Notify: <a href="/components/notify.twitter/">Twitter</a> platform added (<a href="https://github.com/HydrelioxGitHub">@HydrelioxGitHub</a>)</li>
<li>Sensor: <a href="/components/sensor.template/">Template</a> platform added (<a href="https://github.com/pavoni">@pavoni</a>)</li>
<li>Switch: <a href="/components/wink/">Wink</a> platform now supports sirens (<a href="https://github.com/w1ll1am23">@w1ll1am23</a>)</li>
<li><a href="/components/insteon_hub/">Insteon hub</a> support added (<a href="https://github.com/FreekingDean">@FreekingDean</a>)</li>
<li><a href="/components/statsd/">Statsd</a> component added (<a href="https://github.com/michaelkuty">@michaelkuty</a>)</li>
<li>Light: <a href="/components/light.rfxtrx/">Rfxtrx</a> platform now supports dimming (<a href="https://github.com/turbokongen">@turbokongen</a>)</li>
<li>Time scheduling (including <a href="/getting-started/automation-trigger/#time-trigger">time automation</a>) now works with intervals (ie. <code class="highlighter-rouge">/5</code>) (<a href="https://github.com/kennedyshead">@kennedyshead</a>)</li>
<li>Sensor: <a href="/components/sensor.onewire/">onewire</a> support added (<a href="https://github.com/deisi">@deisi</a>)</li>
<li><a href="/components/zigbee/">Zigbee</a> support added (<a href="https://github.com/flyte">@flyte</a>)</li>
<li>Device Tracker: <a href="/components/device_tracker.owntracks/">OwnTracks</a> can now track iBeacons (<a href="https://github.com/pavoni">@pavoni</a>)</li>
<li>Notify: <a href="/components/notify.google_voice/">Google Voice SMS</a> platform added (<a href="https://github.com/w1ll1am23">@w1ll1am23</a>)</li>
<li>Toggle service added to <code class="highlighter-rouge">homeassistant</code>, <code class="highlighter-rouge">switch</code>, <code class="highlighter-rouge">light</code> and <code class="highlighter-rouge">media_player</code> (<a href="https://github.com/rmkraus">@rmkraus</a>)</li>
<li><a href="/components/thermostat/">Thermostat</a> services added to control fans (<a href="https://github.com/auchter">@auchter</a>)</li>
<li>Improved Python automation: Event helpers are now also available as decorators for custom components (<a href="https://github.com/rmkraus">@rmkraus</a>)</li>
<li>Frontend: support added for tabs to show <a href="/components/group/">different views</a> of your house (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Bugfixes by <a href="https://github.com/molobrakos">@molobrakos</a>, <a href="https://github.com/MartinHjelmare">@MartinHjelmare</a>, <a href="https://github.com/pavoni">@pavoni</a>, <a href="https://github.com/trollkarlen">@trollkarlen</a>, <a href="https://github.com/zmrow">@zmrow</a>, <a href="https://github.com/maddox">@maddox</a>, <a href="https://github.com/persandstrom">@persandstrom</a>, <a href="https://github.com/happyleavesaoc">@happyleavesaoc</a>, <a href="https://github.com/balloob">@balloob</a>, <a href="https://github.com/fabaff">@fabaff</a>, <a href="https://github.com/stefan-jonasson">@stefan-jonasson</a>, <a href="https://github.com/haraldnagel">@haraldnagel</a>.</li>
</ul>
<h3><a class="title-link" name="backwards-incompatible-changes" href="#backwards-incompatible-changes"></a> Backwards incompatible changes</h3>
<ul>
<li>Nest config has moved from thermostat to the <a href="/components/nest/">Nest component</a>.</li>
<li>Entity IDs for Z-Wave devices are now generated in a deterministic way causing all IDs to change starting this release. This is a one time change. <a href="/blog/2016/10/22/flash-briefing-updater-hacktoberfest/">(Changed again in 0.31)</a></li>
</ul>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/01/19/perfect-home-automation/">Perfect Home Automation</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-01-19T08:20:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> January 19, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> five minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Internet-of-Things</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/01/19/perfect-home-automation/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>People often ask me about my vision for Home Assistant. Before I can describe where I want to go with Home Assistant, I should first talk about how home automation would look in my ideal world. This will be the aim of this post. Im not going to focus on protocols, networks or specific hubs. Thats all implementation details. Instead, this post will focus on what is most important: the interaction between the users and their home.</p>
<h3><a class="title-link" name="you-should-not-have-to-adapt-to-technology" href="#you-should-not-have-to-adapt-to-technology"></a> You should not have to adapt to technology.</h3>
<p>When people start using home automation, they always experience home control first: being able to control devices in new ways using a phone or computer. They believe the future is now and their app will be their remote for their lives. They only focus on what they are getting, not on what they are losing. You install some light bulbs and all of a sudden you are no longer able to use the light switches. Youll arrive at home at night and have to pull out your phone, open the app, let it connect and finally youll be able to turn on the light. All while turning the light on could have been a switch away.</p>
<p>Yes, you can solve this with presence detection. What if your phone runs out of battery? Youll have to resort to the switch again.</p>
<p>If you find that using your new home devices is cumbersome, the promise of home automation technology has failed you. Your lights should work with both a switch (or button) at the entrance of your room and via presence detection. Honestly, there are hardly any valid use cases for being able to control lights from your phone except for showing off.</p>
<a class="btn pull-right" href="/blog/2016/01/19/perfect-home-automation/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2016/01/17/extended-support-for-diy-solutions/">0.11: Extended support for DIY solutions</a>
</h1>
<div class="meta clearfix">
<time datetime="2016-01-17T23:20:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> January 17, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2016/01/17/extended-support-for-diy-solutions/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>First release of 2016 and we are on 🔥! The <a href="https://github.com/home-assistant/home-assistant/">main repository</a> has passed 2500 ⭐ on GitHub (2596 ⭐ as of now). This release also has a <a href="https://github.com/home-assistant/home-assistant/pull/883#partial-users-participants">record number</a> of 20 contributors all working on improving and extending Home Assistant. With the continued growth, I am very excited to see what 2016 will bring us 🤘.</p>
<p><img src="/images/supported_brands/mysensors.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/raspberry-pi.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="50" /><img src="/images/supported_brands/yr.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/telldus.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/free_mobile.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/netatmo.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/alarmdotcom.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/proliphix.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /></p>
<ul>
<li><a href="/components/mysensors/">MySensors</a> revamped and switch support added (<a href="https://github.com/MartinHjelmare">@MartinHjelmare</a>)</li>
<li>Full refactor of RPi GPIO. Now includes <a href="/components/binary_sensor.rpi_gpio/">binary sensor</a> and <a href="/components/switch.rpi_gpio/">switch</a> (<a href="https://github.com/sfam">@sfam</a>)</li>
<li>Sensor: <a href="/components/sensor.yr/">YR</a> platform added (<a href="https://github.com/danielhiversen">@danielhiversen</a>)</li>
<li>Device Tracker: Geofancy platform has been renamed to <a href="/components/device_tracker.locative/">Locative</a> (<a href="https://github.com/philipbl">@philipbl</a>)</li>
<li>Automation: Add <a href="/getting-started/automation-condition/#sun-condition">sun condition</a> (<a href="https://github.com/philipbl">@philipbl</a>)</li>
<li>Switch: <a href="/components/switch.command_switch/">command_switch</a> can now poll for state (<a href="https://github.com/happyleavesaoc">@happyleavesaoc</a>)</li>
<li>Switch: <a href="/components/switch.wemo/">wemo</a> now uses subscription to states instead of polling (<a href="https://github.com/pavoni">@pavoni</a>)</li>
<li><a href="/components/tellduslive/">Telldus Live</a> support added (<a href="https://github.com/molobrakos">@molobrakos</a>)</li>
<li><a href="/components/vera/">Vera</a> now uses subscription to states instead of polling (<a href="https://github.com/pavoni">@pavoni</a>)</li>
<li>New <a href="/topics/templating/#home-assistant-template-extensions">template helper method</a> <code class="highlighter-rouge">is_state_attr(entity_id, name, value)</code> added (<a href="https://github.com/andythigpen">@andythigpen</a>)</li>
<li>Device tracker: <a href="/components/device_tracker.owntracks/">OwnTracks</a> transition events now supported (<a href="https://github.com/xifle">@xifle</a>)</li>
<li>Light: <a href="/components/light.hue/">Philips Hue</a> platform now supports multiple hubs (<a href="https://github.com/rhooper">@rhooper</a>)</li>
<li>Notify: <a href="/components/notify.free_mobile/">Free Mobile</a> platform added (<a href="https://github.com/HydrelioxGitHub">@HydrelioxGitHub</a>)</li>
<li>New <a href="/components/mqtt_eventstream/">MQTT Eventstream</a> component to connect two Home Assistant instances over MQTT (<a href="https://github.com/moonshot">@moonshot</a>)</li>
<li>Media player: <a href="/components/media_player.cast/">Cast</a> huge stability improvements (<a href="https://github.com/rmkraus">@rmkraus</a>)</li>
<li>Media Player: <a href="/components/media_player.universal/">Universal media player</a> added to combine multiple media players (<a href="https://github.com/rmkraus">@rmkraus</a>)</li>
<li>Sensor: <a href="/components/sensor.netatmo/">Netatmo</a> platform added (<a href="https://github.com/HydrelioxGitHub">@HydrelioxGitHub</a>)</li>
<li>Alarm Control Panel: <a href="/components/alarm_control_panel.alarmdotcom/">Alarm.com</a> platform added (<a href="https://github.com/Xorso">@Xorso</a>)</li>
<li>Thermostat: <a href="/components/thermostat.proliphix/">Proliphix</a> platform added (<a href="https://github.com/sdague">@sdague</a>)</li>
<li>New component <a href="/components/input_boolean/">input_boolean</a> will allow for customizing automation (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Support calling services via <a href="/components/alexa/">Amazon Echo</a> (<a href="https://github.com/balloob">@balloob</a>)</li>
</ul>
<h3>Backwards incompatible changes</h3>
<ul>
<li>The <a href="/components/binary_sensor.rpi_gpio/">RPi.GPIO sensor platform</a> has been moved to the <code class="highlighter-rouge">binary_sensor</code> component.</li>
<li><a href="/components/sensor.mysensors/">MySensors sensor platform</a> now requires the <a href="/components/mysensors/">MySensors</a> component to be configured.</li>
<li>Geofancy platform has been renamed to <a href="/components/device_tracker.locative/">Locative</a>.</li>
</ul>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/12/22/amazon-echo-icloud-and-templates/">0.10: Amazon Echo, iCloud, Dweet.io, Twitch and templating support!</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-12-22T09:30:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> December 22, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/12/22/amazon-echo-icloud-and-templates/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Alrighty, its time for Home Assistant 0.10. A lot amazing things have changed and sadly we also had to introduce a bunch of backwards incompatible changes. I would like to give a big shoutout to Philip Lundrigan (<a href="https://github.com/philipbl">@philipbl</a>) who put a lot in effort in helping the migration to move towards using templates for a wide variety of platforms.</p>
<div class="videoWrapper">
<iframe width="560" height="315" src="https://www.youtube.com/embed/1Ke3mtWd_cQ" frameborder="0" allowfullscreen=""></iframe>
</div>
<p><img src="/images/supported_brands/icloud.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/heatmiser.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/dweet.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/amazon-echo.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /><img src="/images/supported_brands/eliq.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="150" /></p>
<ul>
<li>Device tracker: <a href="/components/device_tracker.icloud/">iCloud</a> platform added (<a href="https://github.com/xorso">@xorso</a>, <a href="https://github.com/kevinpanaro">@kevinpanaro</a>)</li>
<li>Frontend: Improved caching using service workers if served over SSL (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Sensor: <a href="/components/sensor.twitch/">Twitch</a> platform added (<a href="https://github.com/happyleavesaoc">@happyleavesaoc</a>)</li>
<li><a href="/topics/templating/">Template</a> support (<a href="https://github.com/balloob">@balloob</a>, <a href="https://github.com/philipbl">@philipbl</a>, <a href="https://github.com/fabaff">@fabaff</a>)</li>
<li>Thermostat: <a href="/components/thermostat.heatmiser/">Heatmiser</a> platform added (<a href="https://github.com/andylockran">@andylockran</a>)</li>
<li>Sensor: <a href="/components/sensor.dweet/">Dweet.io</a> platform added (<a href="https://github.com/fabaff">@fabaff</a>)</li>
<li><a href="/components/alexa/">Alexa/Amazon echo</a> component added (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Device Tracker: <a href="/components/device_tracker.fritz/">FritzBox</a> platform added (<a href="https://github.com/deisi">@deisi</a>, <a href="https://github.com/caiuspb">@caiuspb</a>)</li>
<li>Sensor: <a href="/components/sensor.wink/">Wink</a> now supports the Egg minders (<a href="https://github.com/w1ll1am23">@w1ll1am23</a>)</li>
<li>Sensor: <a href="/components/sensor.eliqonline/">ELIQ Online</a> platform added (<a href="https://github.com/molobrakos">@molobrakos</a>)</li>
<li>Binary sensor: <a href="/components/binary_sensor.rest/">REST</a> platform added (<a href="https://github.com/fabaff">@fabaff</a>)</li>
<li>Sensor: <a href="/components/sensor.torque/">Torque (OBD2)</a> platform added (<a href="https://github.com/happyleavesaoc">@happyleavesaoc</a>)</li>
</ul>
<a class="btn pull-right" href="/blog/2015/12/22/amazon-echo-icloud-and-templates/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/12/13/setup-encryption-using-lets-encrypt/">Set up encryption using Let's Encrypt</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-12-13T18:05:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> December 13, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen & Martin Hjelmare</span>
<span><i class='icon-time'></i> five minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>How-To</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/12/13/setup-encryption-using-lets-encrypt/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Exposing your Home Assistant instance outside of your network always has been tricky. You have to set up port forwarding on your router and most likely add a dynamic DNS service to work around your ISP changing your IP. After this you would be able to use Home Assistant from anywhere but there is one big red flag: no encryption.</p>
<p>This tutorial will take you through the steps to setup a dynamic DNS for your IP and allow trusted encrypted connection to it - for free using <a href="https://duckdns.org">DuckDNS</a> and <a href="https://letsencrypt.org">Lets Encrypt</a>.</p>
<p class="img">
<img src="/images/blog/2015-12-lets-encrypt/letsencrypt-secured.png" />
</p>
<a class="btn pull-right" href="/blog/2015/12/13/setup-encryption-using-lets-encrypt/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/12/12/philips-hue-blocks-3rd-party-bulbs/">[Update: decision reversed!] Philips Hue blocks 3rd party lights</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-12-12T18:44:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> December 12, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> 1 minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Public-Service-Announcement</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/12/12/philips-hue-blocks-3rd-party-bulbs/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p><strong>Update Dec 16</strong>: Great news! Philips has decided to <a href="http://www.developers.meethue.com/documentation/friends-hue-update">reverse their decision</a> and is working on a software update to allow 3rd party light bulbs again.</p>
<p class="img">
<img src="/images/blog/2015-12-philips-hue-3rd-party/philips-hue-reversed-faq.png" />
Philips Hue FAQ entries regarding reversing the decision.
</p>
<p><em>Original post:</em></p>
<a class="btn pull-right" href="/blog/2015/12/12/philips-hue-blocks-3rd-party-bulbs/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/12/10/activating-tasker-tasks-from-home-assistant-using-command-line-switches/">Activating Tasker tasks from Home Assistant using command line switches</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-12-10T10:39:41+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> December 10, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Rowan Hine</span>
<span><i class='icon-time'></i> three minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>How-To</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/12/10/activating-tasker-tasks-from-home-assistant-using-command-line-switches/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p><img src="/images/blog/2015-12-tasker/tasker-logo.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 12px;" width="200" />
In this tutorial I will explain how you can activate Tasker tasks from Home Assistant command line switches. We are going to set up a switch that when toggled will make your Android device say either “On” or “Off”.</p>
<p>You could also do this with the automation component instead so whenever you put your house to sleep mode for example your Android device will open up Google Play Books or the Kindle app ready for you to read as well as dimming your lights, but this tutorial is all about the switches.</p>
<a class="btn pull-right" href="/blog/2015/12/10/activating-tasker-tasks-from-home-assistant-using-command-line-switches/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/12/07/influxdb-and-grafana/">InfluxDB and Grafana</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-12-07T14:15:13+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> December 07, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Fabian Affolter</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>How-To</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/12/07/influxdb-and-grafana/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p><img src="/images/supported_brands/influxdb.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 12px;" width="200" /><img src="/images/supported_brands/grafana.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 12px;" width="200" />
The <a href="https://influxdb.com/">InfluxDB</a> database is a so-called time series database primarly designed to store sensor data and real-time analytics.</p>
<p>The <code class="highlighter-rouge">influxdb</code> component makes it possible to transfer all state changes from Home Assistant to an external <a href="https://influxdb.com/">InfluxDB</a> database.</p>
<a class="btn pull-right" href="/blog/2015/12/07/influxdb-and-grafana/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/12/06/locks-rollershutters-binary-sensors-and-influxdb-support/">0.9: Rollershutters, locks, binary sensors and InfluxDB</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-12-06T19:29:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> December 6, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> Less than one minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/12/06/locks-rollershutters-binary-sensors-and-influxdb-support/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Its been a few weeks but we managed to polish a nice new release of Home Assistant for yall!</p>
<p><img src="/images/supported_brands/homematic.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="238" /><img src="/images/supported_brands/ecobee.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="238" /><img src="/images/supported_brands/influxdb.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" width="238" /></p>
<ul>
<li>New <a href="/components/lock/">lock component</a> including <a href="/components/lock.wink/">Wink</a> support (<a href="https://github.com/miniconfig">@miniconfig</a>)</li>
<li>New <a href="/components/binary_sensor/">binary sensor component</a> including <a href="/components/binary_sensor.arest/">aRest</a> and <a href="/components/binary_sensor.mqtt/">MQTT</a> support (<a href="https://github.com/fabaff">@fabaff</a>)</li>
<li>New <a href="/components/rollershutter/">rollershutter component</a> including <a href="/components/rollershutter.mqtt/">MQTT</a> support (<a href="https://github.com/sfam">@sfam</a>)</li>
<li>New <a href="/components/influxdb/">InfluxDB component</a> to store data in InfluxDB (<a href="https://github.com/fabaff">@fabaff</a>)</li>
<li>Thermostat: <a href="/components/thermostat.ecobee/">Ecobee</a> now supported (<a href="https://github.com/nkgilley">@nkgilley</a>)</li>
<li>Thermostat: <a href="/components/thermostat.homematic/">Homematic</a> now supported (<a href="https://github.com/goir">@goir</a>)</li>
<li>Support for <a href="/components/mqtt/#processing-json">parsing JSON values</a> received over MQTT (<a href="https://github.com/mcdeck">@mcdeck</a>)</li>
<li>Bunch of bug fixes and optimizations</li>
</ul>
<p>To update, run <code class="highlighter-rouge">pip3 install --upgrade homeassistant</code>.</p>
<p class="img">
<img src="/images/screenshots/lock-and-rollershutter-card.png" />
</p>
</div>
</article>
<hr>
<div class="pagination">
<a class="btn pull-left" href="/blog/posts/7">&larr; Older</a>
<a class="btn pull-right" href="/blog/posts/5">Newer &rarr;</a>
</div>
</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">
<h1 class="title delta">About Home Assistant</h1>
<ul class="divided">
<li>
Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control.
</li>
<li><a href='/getting-started/'>Get started with Home Assistant</a></li>
<li><a href='/demo/'>Try the online demo</a></li>
<li><a class="twitter-follow-button" href="https://twitter.com/Home_Assistant">Follow Home Assistant on Twitter</a></li>
<li><div class="fb-like" data-href="https://www.facebook.com/homeassistantio/" data-layout="standard" data-action="like" data-size="small" data-show-faces="true" data-share="false"></div></li>
</ul>
</section>
<div id="fb-root"></div>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.async=true;js.src='//platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
<script>(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(d.getElementById(id)){return;}js=d.createElement(s);js.id=id;js.async=true;js.src="//connect.facebook.net/en_US/all.js#appId=338291289691179&xfbml=1";fjs.parentNode.insertBefore(js,fjs);}(document,'script','facebook-jssdk'));</script>
<section class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Categories</h1>
<ul class="divided">
<li><a href="/blog/categories/community/">Community</a></li>
<li><a href="/blog/categories/device-tracking/">Device Tracking</a></li>
<li><a href="/blog/categories/esp8266/">ESP8266</a></li>
<li><a href="/blog/categories/how-to/">How To</a></li>
<li><a href="/blog/categories/internet-of-things/">Internet of Things</a></li>
<li><a href="/blog/categories/iot-data/">IoT Data</a></li>
<li><a href="/blog/categories/mqtt/">MQTT</a></li>
<li><a href="/blog/categories/micropython/">Micropython</a></li>
<li><a href="/blog/categories/organisation/">Organisation</a></li>
<li><a href="/blog/categories/owntracks/">OwnTracks</a></li>
<li><a href="/blog/categories/presence-detection/">Presence Detection</a></li>
<li><a href="/blog/categories/public-service-announcement/">Public Service Announcement</a></li>
<li><a href="/blog/categories/release-notes/">Release Notes</a></li>
<li><a href="/blog/categories/survey/">Survey</a></li>
<li><a href="/blog/categories/talks/">Talks</a></li>
<li><a href="/blog/categories/technology/">Technology</a></li>
<li><a href="/blog/categories/user-stories/">User Stories</a></li>
<li><a href="/blog/categories/video/">Video</a></li>
<li><a href="/blog/categories/website/">Website</a></li>
<li><a href="/blog/categories/ibeacons/">iBeacons</a></li>
</ul>
</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>
<script>
var disqus_shortname = 'home-assistant';
var disqus_script = 'count.js';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}());
</script>
</body>
</html>

810
blog/posts/7/index.html Normal file
View file

@ -0,0 +1,810 @@
<!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>Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Home Assistant is an open-source home automation platform running on Python 3.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/posts/7/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Home Assistant">
<meta property="og:site_name" content="Home Assistant">
<meta property="og:url" content="https://home-assistant.io/blog/posts/7/">
<meta property="og:type" content="website">
<meta property="og:description" content="">
<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="Home Assistant">
<meta name="twitter:description" content="">
<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="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/12/05/community-highlights/">Community Highlights</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-12-05T23:39:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> December 5, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> Less than one minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Community</li>
<li>Video</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/12/05/community-highlights/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>From time to time we come along things that are worth sharing with fellow Home Assisters. Here a list of some cool stuff from last week:</p>
<p>First is the public beta of <a href="https://letsencrypt.org/">Lets Encrypt</a>. Lets Encrypt is a new certificate authority that is free, automated and open. This means that it will now be very easy to secure your connection to Home Assistant while you are away from home. W1ll1am23 has written up <a href="https://community.home-assistant.io/t/homeassistant-nginx-ssl-proxy-setup/53">a guide how to get started</a>.</p>
<p>The next thing is a show-off of some of the cool stuff people do with Home Assistant. This is miniconfig talking to Home Assistant using the Amazon Echo!</p>
<div class="videoWrapper">
<iframe width="560" height="315" src="https://www.youtube.com/embed/9QQjklnSQKY" frameborder="0" allowfullscreen=""></iframe>
</div>
<p>And last but not least, Midwestern Mac did a <a href="http://www.midwesternmac.com/blogs/jeff-geerling/raspberry-pi-microsd-card">microSD card performance comparison</a> for the Raspberry Pi. If youre using a Pi, make sure to check it out!</p>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/11/22/survey-november-2015/">Survey November 2015</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-11-22T14:51:18+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> November 22, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Fabian Affolter</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Survey</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/11/22/survey-november-2015/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p><img src="/images/blog/2015-11-survey/releases.png" style="float: right; margin-left: 8px; margin-bottom: 8px;" height="120" />Around a week ago we started with the first survey. Now 30 people have participated. Thank you very much if you did. We think thats enough time to have some “only partially representative” data. Its hard to tell how many Home Assistant users are out there. Currently there are 215 members in our <a href="https://gitter.im/balloob/home-assistant">Gitter chat room</a> and last week <a href="https://pypi.python.org/pypi/homeassistant/">PyPI</a> counted 5063 downloads.</p>
<p>The idea was to anonymously collect some details about the usage of the different parts of Home Assistant and a little bit about the environment its running in.</p>
<a class="btn pull-right" href="/blog/2015/11/22/survey-november-2015/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/11/16/zwave-switches-lights-and-honeywell-thermostats-now-supported/">0.8: Honeywell Thermostats, Orvibo switches and Z-Wave switches and lights </a>
</h1>
<div class="meta clearfix">
<time datetime="2015-11-16T21:27:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> November 16, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> 1 minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/11/16/zwave-switches-lights-and-honeywell-thermostats-now-supported/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p><img src="/images/screenshots/custom-icons.png" style="float: right;" />We have all been hard at work to get this latest release ready. One of the big highlights in this release is the introduction of an extended iconset to be used in the frontend (credits to <a href="https://github.com/happyleavesaoc">@happyleavesaoc</a> for idea and prototype). To get started with customizing, pick any icon from <a href="https://MaterialDesignIcons.com">MaterialDesignIcons.com</a>, prefix the name with <code class="highlighter-rouge">mdi:</code> and stick it into your <code class="highlighter-rouge">customize</code> section in <code class="highlighter-rouge">configuration.yaml</code>:</p>
<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">switch.ac</span><span class="pi">:</span>
<span class="s">icon</span><span class="pi">:</span> <span class="s1">'</span><span class="s">mdi:air-conditioner'</span>
</code></pre>
</div>
<h4>Breaking changes</h4>
<ul>
<li>Any existing zone icon will have to be replaced with one from <a href="https://MaterialDesignIcons.com">MaterialDesignIcons.com</a>.</li>
<li>LimitlessLED light services require colors to be specified in RGB instead of XY.</li>
</ul>
<h4>Changes</h4>
<p><img src="/images/supported_brands/honeywell.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" height="50" /><img src="/images/supported_brands/orvibo.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" height="50" /><img src="/images/supported_brands/pushetta.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 16px;" height="50" /></p>
<ul>
<li>Thermostat: <a href="/components/thermostat.honeywell/">Honeywell</a> now supported (<a href="https://github.com/sander76">@sander76</a>)</li>
<li>Switch: <a href="/components/switch.orvibo/">Orvibo</a> now supported (<a href="https://github.com/happyleavesaoc">@happyleavesaoc</a>)</li>
<li>Camera: <a href="/components/camera.mjpeg/">mjpeg cameras</a> now supported (<a href="https://github.com/ryanturner">@ryanturner</a>)</li>
<li>Notify: <a href="/components/notify.pushetta/">Pushetta</a> now supported (<a href="https://github.com/fabaff">@fabaff</a>)</li>
<li>Light: <a href="/components/light.mqtt/">MQTT</a> now supported (<a href="https://github.com/hexxter">@hexxter</a>)</li>
<li>Light: <a href="/components/zwave/">Z-Wave</a> now supported (<a href="https://github.com/leoc">@leoc</a>)</li>
<li>Switch: <a href="/components/zwave/">Z-Wave</a> now supported (<a href="https://github.com/leoc">@leoc</a>)</li>
<li>New component <a href="/components/logger/">logger</a> allows filtering logged data (<a href="https://github.com/badele">@badele</a>)</li>
<li>New component <a href="/components/updater/">updater</a> will notify users if an update for Home Assistant is available (<a href="https://github.com/rmkraus">@rmkraus</a>)</li>
<li>Notify: <a href="/components/notify.pushbullet/">PushBullet</a> now allows targeting contacts/channels/specific devices (<a href="https://github.com/tomduijf">@tomduijf</a>)</li>
<li>Light: Allow controlling color temperature (<a href="https://github.com/tomduijf">@tomduijf</a>)</li>
<li>Frontend: about page added (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Switch RGB as the color unit used in light component (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Re-install platform and component dependencies after a Home Assistant version upgrade (<a href="https://github.com/balloob">@balloob</a>)</li>
</ul>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/10/26/firetv-and-radiotherm-now-supported/">0.7.6: Amazon FireTV, Radiotherm thermostats</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-10-26T18:10:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> October 26, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/10/26/firetv-and-radiotherm-now-supported/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>After two weeks of hard work Im proud to announce the release of Home Assistant v0.7.6. For this release the main focus was bugs, test coverage and documentation. And we exceeded expectations on all three fronts. Bugs have been squashed, <a href="https://coveralls.io/builds/3946399">test coverage increased to 85%</a> and thanks to the hard work by <a href="https://github.com/fabaff">@fabaff</a> and myself the <a href="/components/">component section</a> on the website has gotten a complete revamp.</p>
<h4>Changes</h4>
<p><img src="/images/supported_brands/radiotherm.png" style="border:none; box-shadow: none; float: right; margin-bottom: 16px;" height="50" /><img src="/images/supported_brands/firetv.png" style="border:none; box-shadow: none; float: right; margin-bottom: 16px; clear: right;" height="50" /><img src="/images/supported_brands/locative.png" style="border:none; box-shadow: none; float: right; margin-bottom: 16px; clear: right;" height="50" /></p>
<ul>
<li>Device tracker: Newer <a href="/components/device_tracker.tplink/">TP-Link routers</a> now supported (<a href="https://github.com/mKeRix">@mKeRix</a>)</li>
<li>Alarm Control Panel: <a href="/components/alarm_control_panel.manual/">Manual alarm</a> added (<a href="https://github.com/sfam">@sfam</a>)</li>
<li>Thermostat: <a href="/components/thermostat.radiotherm/">Radiotherm</a> now supported (<a href="https://github.com/toddeye">@toddeye</a>)</li>
<li>Media Player: <a href="/components/media_player.firetv/">Amazon FireTV</a> now supported (<a href="https://github.com/happyleavesaoc">@happyleavesaoc</a>)</li>
<li>Device Tracker: <a href="/components/device_tracker.locative/">Geofancy</a> now supported (<a href="https://github.com/wind-rider">@wind-rider</a>)</li>
<li>New component <a href="/components/shell_command/">Shell Command</a> can expose shell commands as services (<a href="https://github.com/balloob">@balloob</a>)</li>
<li><a href="/components/script/">Scripts</a> can now be customized using <code class="highlighter-rouge">customize</code> key in <code class="highlighter-rouge">configuration.yaml</code> (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Light: <a href="/components/light.hyperion/">Hyperion</a> now supported (<a href="https://github.com/MakeMeASandwich">@MakeMeASandwich</a>)</li>
<li>Sensor: <a href="/components/sensor.arest/">aRest</a> can now also read out pins (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Sensor: <a href="/components/sensor.forecast/">Forecast.io</a> now supports specifying units in <code class="highlighter-rouge">configuration.yaml</code> (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Thermostat: <a href="/components/thermostat.heat_control/">Heat Control</a> has been completely rewritten (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Switch: <a href="/components/switch.rest/">Rest</a> now supported (<a href="https://github.com/bachp">@bachp</a>)</li>
<li>Media Player: <a href="/components/media_player.plex/">Plex</a> can now be auto discovered and configure itself (<a href="https://github.com/tomduijf">@tomduijf</a>)</li>
<li><a href="/components/downloader/">Downloader</a> will now treat relative paths based on config dir (<a href="https://github.com/tomduijf">@tomduijf</a>)</li>
<li>Line Charts will use interpolation for sensor data and show current and target temperature for thermostats (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Device Tracker: <a href="/components/device_tracker.ubus/">OpenWRT via ubus</a> now supported (<a href="https://github.com/krzynio">@krzynio</a>)</li>
</ul>
<a class="btn pull-right" href="/blog/2015/10/26/firetv-and-radiotherm-now-supported/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/10/11/measure-temperature-with-esp8266-and-report-to-mqtt/">Report the temperature with ESP8266 to MQTT</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-10-11T19:10:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> October 11, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> seven minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>ESP8266</li>
<li>How-To</li>
<li>MQTT</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/10/11/measure-temperature-with-esp8266-and-report-to-mqtt/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>I recently learned about the ESP8266, a $5 chip that includes WiFi and is Arduino compatible. This means that all your DIY projects can now be done for a fraction of the price.</p>
<p>For this tutorial, Ill walk through how to get going with ESP8266, get the temperature and humidity and report it to MQTT where Home Asssistant can pick it up.</p>
<p class="img">
<img src="/images/blog/2015-10-esp8266-temp/setup.png" />
Picture of the final setup (+ 2 LED for decoration)
</p>
<p class="img">
<img src="/images/blog/2015-10-esp8266-temp/ha-sensor.png" />
Home Assistant will keep track of historical values and allow you to integrate it into automation.
</p>
<a class="btn pull-right" href="/blog/2015/10/11/measure-temperature-with-esp8266-and-report-to-mqtt/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/10/11/rfxtrx-blinkstick-and-snmp-support/">0.7.5: Blinkstick, SNMP, Telegram</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-10-11T17:10:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> October 11, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> Less than one minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/10/11/rfxtrx-blinkstick-and-snmp-support/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>We discovered two issues annoying enough to warrent the release of 0.7.5:</p>
<ul>
<li>Home Assistant package did not include the CloudMQTT certificate.</li>
<li>A bug in the core caused issues when some platforms are loaded twice.</li>
</ul>
<p>This release also includes some new platforms (because they keep coming!):</p>
<p><img src="/images/supported_brands/blinkstick.png" style="border:none; box-shadow: none; float: right;" height="50" /><img src="/images/supported_brands/rfxtrx.png" style="border:none; box-shadow: none; float: right; clear: right;" height="50" /><img src="/images/supported_brands/telegram.png" style="border:none; box-shadow: none; float: right; clear: right;" height="50" /></p>
<ul>
<li>Light: <a href="/components/light.blinksticklight/">blinkstick platform</a> added (<a href="https://github.com/alanbowman">@alanbowman</a>)</li>
<li>Device Tracker: <a href="/components/device_tracker.snmp/">SNMP platform</a> added (<a href="https://github.com/tomduijf">@tomduijf</a>)</li>
<li>Light: <a href="/components/light.rfxtrx/">rfxtrx platform</a> added (<a href="https://github.com/badele">@badele</a>)</li>
<li>Switch: <a href="/components/switch.rfxtrx/">rfxtrx platform</a> added (<a href="https://github.com/badele">@badele</a>)</li>
<li>Notify: <a href="/components/notify.telegram/">telegram platform</a> added (<a href="https://github.com/fabaff">@fabaff</a>)</li>
</ul>
<p>Also, the media player was extended by <a href="https://github.com/maddox">@maddox</a> to support the play media command. This has been implemented for the <a href="/components/media_player.itunes/">iTunes platform</a>.</p>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/10/05/home-assistant-goes-geo-with-owntracks/">Home Assistant goes geo with OwnTracks</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-10-05T21:49:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> October 5, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> 1 minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/10/05/home-assistant-goes-geo-with-owntracks/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>A few weeks have past and it is time again for another release: version 0.7.4. This time were very glad to be able to introduce brand new integration with OwnTracks to allow tracking of people on a map. The geo support consists of three different parts:</p>
<ul>
<li><a href="/components/device_tracker.owntracks/">OwnTracks platform for the device tracker</a> to get locations for devices</li>
<li>Brand new <a href="/components/zone/">zone component</a> to define zones to identify locations and <a href="/getting-started/automation-trigger/#zone-trigger">trigger automation</a></li>
<li>A map in the UI to see all this (<a href="/demo/">see it in action in the demo</a>)</li>
</ul>
<p>We have added a new <a href="/getting-started/presence-detection/">getting started section</a> to get up and running.</p>
<p class="img">
<img src="/images/screenshots/map.png" />
Map in Home Assistant showing two people and three zones (home, school, work)
</p>
<p>Ofcourse more things happened in the last three weeks. Im moving away from my usual long post to a short summary of highlights:</p>
<p><a href="/components/media_player.plex/">
<img src="/images/supported_brands/plex.png" style="border:none; box-shadow: none; float: right;" height="50" />
</a></p>
<ul>
<li>Sensor: <a href="/components/sensor.rest/">rest platform</a> added (<a href="https://github.com/fabaff">@fabaff</a>)</li>
<li>Alarm Control Panel: <a href="/components/alarm_control_panel.mqtt/">MQTT platform</a> added (<a href="https://github.com/sfam">@sfam</a>)</li>
<li>Media Player: <a href="/components/media_player.plex/">Plex platform</a> added (<a href="https://github.com/miniconfig, [@adrienbrault](https://github.com/adrienbrault)">@miniconfig</a></li>
<li>Dev Tools: services can now show description of fields (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>MQTT: Support for certificates and improved error reporting (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Light: <a href="/components/light.limitlessled/">limitlessled platform</a> extended with white light support (<a href="https://github.com/auchter">@auchter</a>)</li>
<li>Fuzzy matching for scenes (<a href="https://github.com/pavoni">@pavoni</a>)</li>
<li>Scene support for media player (<a href="https://github.com/maddox">@maddox</a>)</li>
</ul>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/09/19/alarm-sonos-and-itunes-support/">Alarms, Sonos and iTunes now supported</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-09-19T21:47:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> September 19, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/09/19/alarm-sonos-and-itunes-support/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Its like someone opened a can of rock solid developers and emptied it above our <a href="https://gitter.im/balloob/home-assistant">chat channel</a> because it exploded with great conversations and solid contributions. Featured in release 0.7.3: Sonos, iTunes, Alarm component and Automation upgrade.</p>
<p>See <a href="https://github.com/home-assistant/home-assistant/releases/tag/0.7.3">GitHub</a> for more detailed release notes.</p>
<p><em>Migration note: the <code class="highlighter-rouge">scheduler</code> component has been removed in favor of the <code class="highlighter-rouge">automation</code> component.</em></p>
<p><strong>Sonos</strong>
<img src="/images/supported_brands/sonos.png" style="border:none; box-shadow: none; float: right;" height="50" /> Sonos support has been added by <a href="https://github.com/rhooper">@rhooper</a> and <a href="https://github.com/SEJeff">@SEJeff</a>. Home Assistant is now able to automatically detect Sonos devices in your network and set them up for you. It will allow you to control music playing on your Sonos and change the volume.</p>
<p><strong>iTunes and airplay speakers</strong>
<img src="/images/supported_brands/itunes.png" style="border:none; box-shadow: none; float: right;" height="50" /> <a href="https://github.com/maddox">@maddox</a> has contributed support for controlling iTunes and airplay speakers. For this to work you will have to run <a href="https://github.com/maddox/itunes-api">itunes-api</a> on your Mac as middleware.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
<span class="s">media_player</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">itunes</span>
<span class="s">name</span><span class="pi">:</span> <span class="s">iTunes</span>
<span class="s">host</span><span class="pi">:</span> <span class="s">http://192.168.1.50</span>
<span class="s">port</span><span class="pi">:</span> <span class="s">8181</span>
</code></pre>
</div>
<a class="btn pull-right" href="/blog/2015/09/19/alarm-sonos-and-itunes-support/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/09/18/monitoring-with-glances-and-home-assistant/">Remote Monitoring with Glances</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-09-18T09:00:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> September 18, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Fabian Affolter</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>How-To</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/09/18/monitoring-with-glances-and-home-assistant/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p><img src="/images/supported_brands/glances.png" style="border:none; box-shadow: none; float: right;" height="80" />
Inspried by a <a href="https://github.com/home-assistant/home-assistant/issues/310">feature requests</a> I started looking into the available options to do monitoring of remote hosts. The feature request is about displaying system information in a similar way than the <a href="/components/sensor.systemmonitor/">systemmonitor</a> sensor does it for the local system. After a while I started to think that it would be a nice addition for a small home network where no full-blown system monitoring setup is present.</p>
<a class="btn pull-right" href="/blog/2015/09/18/monitoring-with-glances-and-home-assistant/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/09/13/home-assistant-meets-ifttt/">Home Assistant meets IFTTT</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-09-13T16:28:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> September 13, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>How-To</li>
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/09/13/home-assistant-meets-ifttt/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Today we announce the release of Home Assistant v0.7.2 which includes brand new support by <a href="https://github.com/sfam">@sfam</a> to integrate with <a href="https://ifttt.com">IFTTT</a>. IFTTT stands for If This, Then That and is a webservice that integrates with almost every possible webservice out there. Adding Home Assistant to this mix means Home Assistant can connect with all via IFTTT.</p>
<p>It is now possible to disable your irregation system if it is going to be cloudy tomorrow or tweet if your smoke alarm goes off.</p>
<p class="img">
<img src="/images/blog/2015-09-ifttt/splash.png" />
</p>
<p>Head over to the <a href="/components/ifttt/">setup instructions</a> to get started with IFTTT. Click the read more button for some example recipes.</p>
<a class="btn pull-right" href="/blog/2015/09/13/home-assistant-meets-ifttt/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<div class="pagination">
<a class="btn pull-left" href="/blog/posts/8">&larr; Older</a>
<a class="btn pull-right" href="/blog/posts/6">Newer &rarr;</a>
</div>
</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">
<h1 class="title delta">About Home Assistant</h1>
<ul class="divided">
<li>
Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control.
</li>
<li><a href='/getting-started/'>Get started with Home Assistant</a></li>
<li><a href='/demo/'>Try the online demo</a></li>
<li><a class="twitter-follow-button" href="https://twitter.com/Home_Assistant">Follow Home Assistant on Twitter</a></li>
<li><div class="fb-like" data-href="https://www.facebook.com/homeassistantio/" data-layout="standard" data-action="like" data-size="small" data-show-faces="true" data-share="false"></div></li>
</ul>
</section>
<div id="fb-root"></div>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.async=true;js.src='//platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
<script>(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(d.getElementById(id)){return;}js=d.createElement(s);js.id=id;js.async=true;js.src="//connect.facebook.net/en_US/all.js#appId=338291289691179&xfbml=1";fjs.parentNode.insertBefore(js,fjs);}(document,'script','facebook-jssdk'));</script>
<section class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Categories</h1>
<ul class="divided">
<li><a href="/blog/categories/community/">Community</a></li>
<li><a href="/blog/categories/device-tracking/">Device Tracking</a></li>
<li><a href="/blog/categories/esp8266/">ESP8266</a></li>
<li><a href="/blog/categories/how-to/">How To</a></li>
<li><a href="/blog/categories/internet-of-things/">Internet of Things</a></li>
<li><a href="/blog/categories/iot-data/">IoT Data</a></li>
<li><a href="/blog/categories/mqtt/">MQTT</a></li>
<li><a href="/blog/categories/micropython/">Micropython</a></li>
<li><a href="/blog/categories/organisation/">Organisation</a></li>
<li><a href="/blog/categories/owntracks/">OwnTracks</a></li>
<li><a href="/blog/categories/presence-detection/">Presence Detection</a></li>
<li><a href="/blog/categories/public-service-announcement/">Public Service Announcement</a></li>
<li><a href="/blog/categories/release-notes/">Release Notes</a></li>
<li><a href="/blog/categories/survey/">Survey</a></li>
<li><a href="/blog/categories/talks/">Talks</a></li>
<li><a href="/blog/categories/technology/">Technology</a></li>
<li><a href="/blog/categories/user-stories/">User Stories</a></li>
<li><a href="/blog/categories/video/">Video</a></li>
<li><a href="/blog/categories/website/">Website</a></li>
<li><a href="/blog/categories/ibeacons/">iBeacons</a></li>
</ul>
</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>
<script>
var disqus_shortname = 'home-assistant';
var disqus_script = 'count.js';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}());
</script>
</body>
</html>

818
blog/posts/8/index.html Normal file
View file

@ -0,0 +1,818 @@
<!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>Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Home Assistant is an open-source home automation platform running on Python 3.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/posts/8/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Home Assistant">
<meta property="og:site_name" content="Home Assistant">
<meta property="og:url" content="https://home-assistant.io/blog/posts/8/">
<meta property="og:type" content="website">
<meta property="og:description" content="">
<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="Home Assistant">
<meta name="twitter:description" content="">
<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="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/09/11/different-ways-to-use-mqtt-with-home-assistant/">Using MQTT with Home Assistant</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-09-11T09:19:38+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> September 11, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Fabian Affolter</span>
<span><i class='icon-time'></i> eight minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>How-To</li>
<li>MQTT</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/09/11/different-ways-to-use-mqtt-with-home-assistant/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p><img src="/images/supported_brands/mqtt.png" style="border:none; box-shadow: none; float: right;" height="80" /> <a href="https://en.wikipedia.org/wiki/MQTT">MQTT</a> support was added to Home Assistant recently. The <a href="https://home-assistant.io/components/mqtt/">MQTT component</a> will enable you to do all sort of things. Most likely you will use it to communicate with your devices. But Home Assistant doesnt care where the data is coming from or is limited to real hardware as long as there is MQTT support. This means that it doesnt matter if the data is coming from a human, a web service, or a device.</p>
<p>A great example is shown in a <a href="https://home-assistant.io/blog/2015/08/26/laundry-automation-with-moteino-mqtt-and-home-assistant/">Laundry Automation</a> post in this blog.</p>
<p>This post will give you a small overview of some other possibilities on how to use MQTT with Home Assistant.</p>
<a class="btn pull-right" href="/blog/2015/09/11/different-ways-to-use-mqtt-with-home-assistant/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/08/31/version-7-revamped-ui-and-improved-distribution/">0.7: Better UI and improved distribution</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-08-31T21:12:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> August 31, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> three minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/08/31/version-7-revamped-ui-and-improved-distribution/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>As Home Assistant is gaining more and more users we started to feel the pain from not having a proper release mechanism. We had no version numbering and required users to checkout the source using Git to get started. On top of that, as the number of devices that we support keeps raising, so did the number of dependencies that are used. Thats why we decided to change the way we roll. From now on:</p>
<ul>
<li>Each release will have a version number, starting with version 0.7. This was chosen because it shows that we have been around for some time but are not considering ourselves to be fully stable.</li>
<li>Each release will be pushed to PyPi. This will be the only supported method of distribution.</li>
<li>Home Assistant is available after installation as a command-line utility <code class="highlighter-rouge">hass</code>.</li>
<li>The default configuration location has been moved from <code class="highlighter-rouge">config</code> in the current working directory to <code class="highlighter-rouge">~/.homeassistant</code> (<code class="highlighter-rouge">%APPDATA%/.homeassistant</code> on Windows).</li>
<li>Requirements for components and platforms are no longer installed into the current Python environment (being virtual or not) but will be installed in <code class="highlighter-rouge">&lt;config-dir&gt;/lib</code>.</li>
</ul>
<p>A huge shout out to <a href="https://github.com/rmkraus">Ryan Kraus</a> for making this all possible. Please make sure you read <a href="/blog/2015/08/31/version-7-revamped-ui-and-improved-distribution/#read-more">the full blog post</a> for details on how to migrate your existing setup.</p>
<p>And while Ryan was fixing distribution, I have been hard at work in giving Home Assistant a face lift. We already looked pretty good but lacked proper form of organization for users with many devices. The new UI moves away from a card per entity and has cards per group and domain instead. <a href="/demo/">The demo</a> has been updated so give it a spin.</p>
<p class="img">
<a href="/demo/">
<img src="/images/screenshots/ui2015.png" />
</a>
Screenshots of the new UI
</p>
<a class="btn pull-right" href="/blog/2015/08/31/version-7-revamped-ui-and-improved-distribution/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/08/26/laundry-automation-with-moteino-mqtt-and-home-assistant/">Laundry Automation: insight and notifications</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-08-26T15:12:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> August 26, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Nolan Gilley</span>
<span><i class='icon-time'></i> five minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>User-Stories</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/08/26/laundry-automation-with-moteino-mqtt-and-home-assistant/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p><em>This is a guest post by Home Assistant user and contributor <a href="https://github.com/nkgilley">Nolan Gilley</a>.</em></p>
<p>In our house, laundry has been a struggle for quite some time. Our washer and dryer both lack a buzzer which leads to forgotten laundry, and stinky mess that needs to be rewashed. I decided to create a solution by monitoring the washer and dryer myself with some cheap electronics.</p>
<p>As an avid user of Home Assistant, I decided it would be the perfect application to manage the UI and notification system. Now all I needed was a way to monitor the washer and dryer. I tried using sound sensors but found them unreliable. I ended up opting for an accelerometer attached to the back of each appliance. I also added magnetic reed switches on the doors of the washer and dryer to detect if the doors are open or closed. I connected the accelerometers and reed switches to a <a href="https://lowpowerlab.com/moteino/">Moteino</a>, an arduino clone with an RF transceiver. The Moteino can perform the logic to figure out which state the appliances are in and wirelessly communicate that data with another Moteino that is connected via serial to my Raspberry Pi. The Raspberry Pi reads the serial data and repeats it over MQTT for Home Assistant to use. This is great because I dont have to run Home Assistant on the Raspberry Pi. I can run it on a faster machine and point the <a href="/components/mqtt/">MQTT component</a> to my Raspberry Pi.</p>
<p>After taking some sample data from the accelerometers while each appliance was in operation, I decided to plot the data to help determine the proper thresholds of when the devices were running or off. I had to do this in order to get precise ranges so the dryer sensor wouldnt get tripped by the washer or vice versa. In the plot below you can see the acceleration in the x direction for the accelerometer connected to the washing machine. Its easy to see when the washing machine is in operation here. I used the same technique for the dryers accelerometer.</p>
<p class="img">
<a href="/images/blog/2015-08-laundry-automation/data-graph.png">
<img src="/images/blog/2015-08-laundry-automation/data-graph.png" />
</a>
Graph showing the accelerometer data
</p>
<a class="btn pull-right" href="/blog/2015/08/26/laundry-automation-with-moteino-mqtt-and-home-assistant/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/08/17/verisure-and-modern-tp-link-router-support/">Verisure devices and modern TP-Link routers now supported</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-08-17T20:00:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> August 17, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> 1 minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/08/17/verisure-and-modern-tp-link-router-support/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>A minor bug fix release to fix some issues that have come up since the last release. Please upgrade as soon as possible by running <code class="highlighter-rouge">git pull</code> from the Home Assistant directory.</p>
<p>This release is a major milestone in our test coverage as weve crossed into the 80s! It has to be noted that this covers mainly the core and automation components. Platforms that communicate with IoT devices have been excluded.</p>
<p>As we didnt want to just push out bug fixes, this release includes a few additions:</p>
<ul>
<li>Support for modern TP-Link routers like the ArcherC9 line has been contributed by <a href="https://github.com/chrisvis">@chrisvis</a>.</li>
<li>Improved support for MQTT topic subscriptions has been contributed by <a href="https://github.com/qrtn">@qrtn</a></li>
</ul>
<p><strong>Verisure Support</strong>
<img src="/images/supported_brands/verisure.png" style="border:none; box-shadow: none; float: right;" height="50" /> Home Assistant support to integrate your <a href="https://www.verisure.com/">Verisure</a> alarms, hygrometers, sensors and thermometers has been contributed by <a href="https://github.com/persandstrom">@persandstrom</a>.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
<span class="s">verisure</span><span class="pi">:</span>
<span class="s">username</span><span class="pi">:</span> <span class="s">user@example.com</span>
<span class="s">password</span><span class="pi">:</span> <span class="s">password</span>
<span class="s">alarm</span><span class="pi">:</span> <span class="s">1</span>
<span class="s">hygrometers</span><span class="pi">:</span> <span class="s">0</span>
<span class="s">smartplugs</span><span class="pi">:</span> <span class="s">1</span>
<span class="s">thermometers</span><span class="pi">:</span> <span class="s">0</span>
</code></pre>
</div>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/08/09/mqtt-raspberry-pi-squeezebox-asuswrt-support/">MQTT, Rasperry PI, Logitech Squeezebox and ASUSWRT routers now supported</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-08-09T18:01:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> August 9, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> three minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/08/09/mqtt-raspberry-pi-squeezebox-asuswrt-support/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Its time for the August release and there is some serious good stuff this time. The core of Home Assistant has gone some serious clean up and a bump in test coverage thanks to <a href="https://github.com/balloob">@balloob</a>. If youre a developer, make sure you read up on <a href="https://github.com/home-assistant/home-assistant/pull/251">the deprecation notices</a>. <a href="https://github.com/fabaff">@fabaff</a> did another great round of documentating all the various components.</p>
<p><strong>MQTT Support</strong>
<img src="/images/supported_brands/mqtt.png" style="border:none; box-shadow: none; float: right;" height="50" /> The big new addition in this release is the support for the MQTT protocol by <a href="https://github.com/fabaff">@fabaff</a> with some help from <a href="https://github.com/balloob">@balloob</a>. It will now be possible to integrate any IoT device that talks via MQTT. For the initial release we support connecting Home Assistant to a broker (no TLS yet). Components can now subscribe and publish to MQTT topics (<a href="https://github.com/home-assistant/home-assistant/blob/dev/config/custom_components/mqtt_example.py">see the example</a>) and also support for the automation component <a href="/getting-started/automation-trigger/#mqtt-trigger">has been added</a>. For more information, see <a href="/components/mqtt/">the MQTT component page</a>.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
<span class="s">mqtt</span><span class="pi">:</span>
<span class="s">broker</span><span class="pi">:</span> <span class="s">IP_ADDRESS_BROKER</span>
<span class="c1"># All the other options are optional:</span>
<span class="s">port</span><span class="pi">:</span> <span class="s">1883</span>
<span class="s">keepalive</span><span class="pi">:</span> <span class="s">60</span>
<span class="s">qos</span><span class="pi">:</span> <span class="s">0</span>
<span class="s">username</span><span class="pi">:</span> <span class="s">your_username</span>
<span class="s">password</span><span class="pi">:</span> <span class="s">your_secret_password</span>
</code></pre>
</div>
<a class="btn pull-right" href="/blog/2015/08/09/mqtt-raspberry-pi-squeezebox-asuswrt-support/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/07/11/ip-cameras-arduino-kodi-efergy-support/">IP Cameras, Arduinos, Kodi and Efergy Energy Monitors now supported</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-07-11T08:37:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> July 11, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> four minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/07/11/ip-cameras-arduino-kodi-efergy-support/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Another month has passed and some great new features have landed in Home Assistant. This month release has been made possible by <a href="https://github.com/balloob">balloob</a>, <a href="https://github.com/ettisan">ettisan</a>, <a href="https://github.com/fabaff">fabaff</a>, <a href="https://github.com/gyran">gyran</a>, <a href="https://github.com/jamespcole">jamespcole</a>, <a href="https://github.com/michaelarnauts">michaelarnauts</a>, <a href="https://github.com/miniconfig">miniconfig</a> and <a href="https://github.com/rmkraus">rmkraus</a>.</p>
<p>This release includes some architectural changes by me. The first is that the frontend is now based on a <a href="http://optimizely.github.io/nuclear-js/">NuclearJS</a> JavaScript backend. This has greatly helped to organize and optimize the frontend code. Another change is that Home Assistant will now install dependencies on-demand instead of installing dependencies for all supported devices.</p>
<p><strong>IP Camera Support</strong>
James has worked very hard to add support for IP cameras to Home Assistant which is included in this release. The initial release focusses on providing generic IP camera support. This means that any webcam that can exposes a JPEG image via a url can be integrated.</p>
<p>Home Assistant will route the requests to your camera via the server allowing you to expose IP cameras inside your network via the Home Assistant app.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
<span class="s">camera</span><span class="pi">:</span>
<span class="s">platform</span><span class="pi">:</span> <span class="s">generic</span>
<span class="s">name</span><span class="pi">:</span> <span class="s">my sample camera</span>
<span class="s">username</span><span class="pi">:</span> <span class="s">MY_USERNAME</span>
<span class="s">password</span><span class="pi">:</span> <span class="s">MY_PASSWORD</span>
<span class="s">still_image_url</span><span class="pi">:</span> <span class="s">http://194.218.96.92/jpg/image.jpg</span>
</code></pre>
</div>
<p class="note">
To update to the latest version, run <code>scripts/update</code>. Please report any issues on <a href="https://github.com/home-assistant/home-assistant/issues">GitHub</a>.
</p>
<a class="btn pull-right" href="/blog/2015/07/11/ip-cameras-arduino-kodi-efergy-support/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/06/10/release-notes/">Release notes for June 10, 2015</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-06-10T18:54:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> June 10, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> five minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/06/10/release-notes/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Wow, almost a month has gone by since the last release and this release is <em>packed</em>. The biggest part of this release is probably one that you wont notice: the frontend has been upgraded from Polymer 0.5 to the brand new released Polymer 1.0. Polymer has been declared stable by the Google overlords which will allow us to expand functionality that was waiting for this moment to arrive.</p>
<p>This release sets a record for the amount of people involved: 8! <a href="https://github.com/Andythigpen">Andythigpen</a>, <a href="https://github.com/Jamespcole">Jamespcole</a>, <a href="https://github.com/Azelphur">Azelphur</a>, <a href="https://github.com/Fabaff">Fabaff</a>, <a href="https://github.com/Dutchy-">Dutchy-</a>, <a href="https://github.com/Fbradyirl">Fbradyirl</a>, <a href="https://github.com/wind-rider">wind-rider</a> and <a href="https://github.com/ettisan">ettisan</a>, thanks a lot for your contributions!</p>
<p>A big improvement has been brought this release by wind-rider. He took the time to revive the Chromecast support and started improving the media player integration. This triggered other people to join in resulting in a revamped media player experience and support for the Music Player Daemon.</p>
<p class="img">
<img src="/images/screenshots/media_player-card.png" /> Example of the new media player cards
</p>
<p class="note">
To update to the latest version, run <code>scripts/update</code>. Please report any issues on <a href="https://github.com/home-assistant/home-assistant/issues">GitHub</a>.
</p>
<a class="btn pull-right" href="/blog/2015/06/10/release-notes/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/05/14/release-notes/">Release notes for May 14, 2015</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-05-14T22:25:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> May 14, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> three minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/05/14/release-notes/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Almost three busy weeks have past since the last release. We used this time to finally make the overhaul to use UTC as the internal date time format. We added a bunch of test coverage in the process to make sure the transition went smoothly. Pleas see <a href="/blog/2015/05/09/utc-time-zone-awareness/#backwards-incompatible-stuff">the blog post about the UTC refactor</a> for backwards incompatible changes.</p>
<p>This release includes a significant startup boost for the frontend and a fix for Wemo discovery after their latest firmware upgrade.</p>
<p>I would like to give a big shout out to our newest contributor <a href="https://github.com/fabaff">fabaff</a> for taking the time to improve the documentation.</p>
<p class="note">
To update to the latest version, run <code>scripts/update</code>. Please report any issues on <a href="https://github.com/home-assistant/home-assistant/issues">GitHub</a>.
</p>
<a class="btn pull-right" href="/blog/2015/05/14/release-notes/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/05/09/utc-time-zone-awareness/">UTC & Time zone awareness</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-05-09T23:08:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> May 9, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/05/09/utc-time-zone-awareness/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>I have recently merged code to refactor Home Assistant to use only UTC times internally. A much needed refactor. Ive added some extra test coverage to time sensitive parts to ensure stability. The code has been live in the dev branch for the last 9 days and will be soon released to the master branch.</p>
<p>From now on all internal communication will be done in UTC: time changed events, datetime attributes of states, etc. To get the current time in UTC you can call <code class="highlighter-rouge">homeassistant.util.dt.utcnow()</code>. This is a timezone aware UTC datetime object. <a href="https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/util/dt.py"><code class="highlighter-rouge">homeassistant.util.dt</code></a> is a new util package with date helpers.</p>
<p>There is also such a thing as local time. Local time is based on the time zone that you have setup in your <code class="highlighter-rouge">configuration.yaml</code>. Local times should only be used for user facing information: logs, frontend and automation settings in <code class="highlighter-rouge">configuration.yaml</code>.</p>
<h3>Setting up your time zone</h3>
<p>Setting up a time zone happens in <code class="highlighter-rouge">configuration.yaml</code>. If you have no time zone setup, it will be auto detected using the existing detection code using <a href="https://freegeoip.net">freegeoip.net</a>. You can find a list of compatible time zones on <a href="http://en.wikipedia.org/wiki/List_of_tz_database_time_zones">Wikipedia</a>.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">homeassistant</span><span class="pi">:</span>
<span class="s">time_zone</span><span class="pi">:</span> <span class="s">America/Los_Angeles</span>
</code></pre>
</div>
<h3>Compatibility</h3>
<p>The changes to the code are mostly backwards compatible. The old <code class="highlighter-rouge">hass.track_time_change</code> and <code class="highlighter-rouge">hass.track_point_in_time</code> use now internally two new methods: <code class="highlighter-rouge">hass.track_utc_time_change</code> and <code class="highlighter-rouge">hass.track_point_in_utc_time</code>. The usage of the old methods have not changed and should be backwards compatible.</p>
<p>This refactor adds a new migration for the database adding a <code class="highlighter-rouge">utc_offset</code> column to events and states. This information is currently not used but can prove useful in the future when we start analyzing the historical data.</p>
<h3><a class="title-link" name="backwards-incompatible-stuff" href="#backwards-incompatible-stuff"></a> Backwards incompatible stuff</h3>
<p>All built-in components have been upgraded. The following list is only for people that run custom components:</p>
<ul>
<li><code class="highlighter-rouge">hass.track_time_change</code> and <code class="highlighter-rouge">hass.track_point_in_time</code> will now return a time zone aware datetime object. Python does not allow comparing a naive with an aware datetime object.</li>
<li>the sun attributes for rising and setting are now in UTC. The methods <code class="highlighter-rouge">sun.next_rising(hass)</code> and <code class="highlighter-rouge">sun.next_setting(hass)</code> are backwards compatible, just be careful if you used to read the raw attributes.</li>
<li>the API sends all times in UTC. If you use anything else besides the frontend to talk to HA, make sure it handles it differently.</li>
</ul>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/04/25/release-notes/">Release notes for April 25, 2015</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-04-25T13:57:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> April 25, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/04/25/release-notes/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Its been a month since the latest update and a lot has happened again. Here a quick overview of the new things.</p>
<p><strong>Line Charts</strong>
<a href="https://github.com/jamespcole">James</a> has upgraded the history in the frontend to support line graphs. Line graphs will be shown for any entity that has a unit of measurement. The line graphs will also be shown in the more info card of an entity. <a href="/demo/">See the demo for a live example.</a></p>
<p class="img">
<img src="/images/screenshots/history-line-graphs.png" />
</p>
<p><strong>ISY994 hub support</strong>
<img src="/images/supported_brands/universal_devices.png" style="border:none; box-shadow: none; float: right;" height="50" /> <a href="https://github.com/rmkraus">Ryan</a> has contributed support to integrate the ISY994 hub by Universal Devices. This allows you to integrate your X10/Insteon sensors, switches and lights.</p>
<p>He has created an extensive getting started guide which can be found on <a href="/components/isy994/">the ISY994 component page</a>.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
<span class="s">isy994</span><span class="pi">:</span>
</code></pre>
</div>
<p><strong>Logbook</strong>
<img src="/images/screenshots/logbook.png" style="margin-left:10px; float: right;" height="100" /> I (Paulus) have added a logbook component. The logbook component provides a different perspective on the history of your house by showing all the changes that happened to your house in chronological order. <a href="/demo/">See the demo for a live example.</a>
<span class="clearfix"></span></p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
<span class="s">logbook</span><span class="pi">:</span>
</code></pre>
</div>
<a class="btn pull-right" href="/blog/2015/04/25/release-notes/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<div class="pagination">
<a class="btn pull-left" href="/blog/posts/9">&larr; Older</a>
<a class="btn pull-right" href="/blog/posts/7">Newer &rarr;</a>
</div>
</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">
<h1 class="title delta">About Home Assistant</h1>
<ul class="divided">
<li>
Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control.
</li>
<li><a href='/getting-started/'>Get started with Home Assistant</a></li>
<li><a href='/demo/'>Try the online demo</a></li>
<li><a class="twitter-follow-button" href="https://twitter.com/Home_Assistant">Follow Home Assistant on Twitter</a></li>
<li><div class="fb-like" data-href="https://www.facebook.com/homeassistantio/" data-layout="standard" data-action="like" data-size="small" data-show-faces="true" data-share="false"></div></li>
</ul>
</section>
<div id="fb-root"></div>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.async=true;js.src='//platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
<script>(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(d.getElementById(id)){return;}js=d.createElement(s);js.id=id;js.async=true;js.src="//connect.facebook.net/en_US/all.js#appId=338291289691179&xfbml=1";fjs.parentNode.insertBefore(js,fjs);}(document,'script','facebook-jssdk'));</script>
<section class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Categories</h1>
<ul class="divided">
<li><a href="/blog/categories/community/">Community</a></li>
<li><a href="/blog/categories/device-tracking/">Device Tracking</a></li>
<li><a href="/blog/categories/esp8266/">ESP8266</a></li>
<li><a href="/blog/categories/how-to/">How To</a></li>
<li><a href="/blog/categories/internet-of-things/">Internet of Things</a></li>
<li><a href="/blog/categories/iot-data/">IoT Data</a></li>
<li><a href="/blog/categories/mqtt/">MQTT</a></li>
<li><a href="/blog/categories/micropython/">Micropython</a></li>
<li><a href="/blog/categories/organisation/">Organisation</a></li>
<li><a href="/blog/categories/owntracks/">OwnTracks</a></li>
<li><a href="/blog/categories/presence-detection/">Presence Detection</a></li>
<li><a href="/blog/categories/public-service-announcement/">Public Service Announcement</a></li>
<li><a href="/blog/categories/release-notes/">Release Notes</a></li>
<li><a href="/blog/categories/survey/">Survey</a></li>
<li><a href="/blog/categories/talks/">Talks</a></li>
<li><a href="/blog/categories/technology/">Technology</a></li>
<li><a href="/blog/categories/user-stories/">User Stories</a></li>
<li><a href="/blog/categories/video/">Video</a></li>
<li><a href="/blog/categories/website/">Website</a></li>
<li><a href="/blog/categories/ibeacons/">iBeacons</a></li>
</ul>
</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>
<script>
var disqus_shortname = 'home-assistant';
var disqus_script = 'count.js';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}());
</script>
</body>
</html>

795
blog/posts/9/index.html Normal file
View file

@ -0,0 +1,795 @@
<!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>Home Assistant</title>
<meta name="author" content="Home Assistant">
<meta name="description" content="Home Assistant is an open-source home automation platform running on Python 3.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/posts/9/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Home Assistant">
<meta property="og:site_name" content="Home Assistant">
<meta property="og:url" content="https://home-assistant.io/blog/posts/9/">
<meta property="og:type" content="website">
<meta property="og:description" content="">
<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="Home Assistant">
<meta name="twitter:description" content="">
<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="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/03/22/release-notes/">Release notes for March 22, 2015</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-03-22T08:21:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> March 22, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/03/22/release-notes/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>A new version of Home Assistant has just been pushed out. It contains bugfixes contributed by <a href="https://github.com/jamespcole">jamespcole</a>, <a href="https://github.com/andythigpen">andythigpen</a>, <a href="https://github.com/trainman419">trainman419</a> and <a href="https://github.com/balloob">me</a>. It also adds a bunch of great new features:</p>
<p><strong>Script</strong>
Andythigpen has contributed a script component. This allows users to create a sequence of service calls and delays. Scripts can be started using the service <code class="highlighter-rouge">script/turn_on</code> and interrupted using the service <code class="highlighter-rouge">script/turn_off</code>. A separate page has been added to the frontend to see the status of your scripts.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
<span class="s">script</span><span class="pi">:</span>
<span class="c1"># Turns on the bedroom lights and then the living room lights 1 minute later</span>
<span class="s">wakeup</span><span class="pi">:</span>
<span class="s">alias</span><span class="pi">:</span> <span class="s">Wake Up</span>
<span class="s">sequence</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">alias</span><span class="pi">:</span> <span class="s">Bedroom lights on</span>
<span class="s">execute_service</span><span class="pi">:</span> <span class="s">light.turn_on</span>
<span class="s">service_data</span><span class="pi">:</span>
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">group.bedroom</span>
<span class="pi">-</span> <span class="s">delay</span><span class="pi">:</span>
<span class="c1"># supports seconds, milliseconds, minutes, hours, etc.</span>
<span class="s">minutes</span><span class="pi">:</span> <span class="s">1</span>
<span class="pi">-</span> <span class="s">alias</span><span class="pi">:</span> <span class="s">Living room lights on</span>
<span class="s">execute_service</span><span class="pi">:</span> <span class="s">light.turn_on</span>
<span class="s">service_data</span><span class="pi">:</span>
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">group.living_room</span>
</code></pre>
</div>
<a class="btn pull-right" href="/blog/2015/03/22/release-notes/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/03/11/release-notes/">Release notes for March 11, 2015</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-03-11T18:36:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> March 11, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/03/11/release-notes/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>It has only been a little over a week since Theodor introduced YAML support for Home Assistant but so much has already happened that it is time for a summary of recent changes. Before mentioning the highlights I want to thank <a href="https://github.com/andythigpen">andythigpen</a>, <a href="https://github.com/jamespcole">jamespcole</a> and <a href="https://github.com/theolind">theolind</a> for numerous bug fixes, enhancements and new contributions. Thanks!</p>
<p><strong>Monitor local resources.</strong><br />
Theodor has contributed a new sensor platform to allow you to monitor disk usage, memory usage, CPU usage and running processes. This platform has superseded the process component which is now considered deprecated.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</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">systemmonitor</span>
<span class="s">resources</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">type</span><span class="pi">:</span> <span class="s">disk_use_percent</span>
<span class="s">arg</span><span class="pi">:</span> <span class="s">/home</span>
<span class="pi">-</span> <span class="s">type</span><span class="pi">:</span> <span class="s">memory_free</span>
<span class="pi">-</span> <span class="s">type</span><span class="pi">:</span> <span class="s">process</span>
<span class="s">arg</span><span class="pi">:</span> <span class="s">kodi</span>
</code></pre>
</div>
<p><strong>Experimental Z-Wave support</strong><br />
There is now experimental support for connecting Z-Wave networks using a Z-Wave USB stick. Right now it only integrates Z-Wave sensors into Home Assistant. Our goal is to get this tested by more people before adding support for other Z-Wave devices.</p>
<p>The new component is built on top of <a href="https://code.google.com/p/python-openzwave/">python-openzwave</a>. This package is currently not distributed on PyPi so weve added a script <code class="highlighter-rouge">scripts/build_python_openzwave</code> to install it on your machine. Alternatively you can use the Docker image which is ready to go.</p>
<p>The development was done using an AEON Z-Wave USB stick and an AEON Z-Wave MultiSensor.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
<span class="s">zwave</span><span class="pi">:</span>
<span class="s">usb_path</span><span class="pi">:</span> <span class="s">/dev/ttyUSB0</span>
</code></pre>
</div>
<p><strong>Voice control</strong><br />
An initial version of voice control for Home Assistant has landed. The current implementation consists of two parts.</p>
<p>The first part is a component called <code class="highlighter-rouge">conversation</code> that exposes the service <code class="highlighter-rouge">conversation/process</code>. This service is capable of processing text and translating them into commands for devices. For now it will only support commands in the format of <code class="highlighter-rouge">Turn &lt;Friendly Name&gt; &lt;on/off&gt;</code>.</p>
<p>The second part is an upgrade to the frontend to use the speech-to-text in Chrome to allow users to speak commands. If youre using Chrome, you can test this out in <a href="/demo/">the demo</a>.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="c1"># Example configuration.yaml entry</span>
<span class="s">conversation</span><span class="pi">:</span>
</code></pre>
</div>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/03/08/new-logo/">New logo for Home Assistant</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-03-08T22:16:10+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> March 8, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> Less than one minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Organisation</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/03/08/new-logo/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>It is well known that you are either a good programmer or a good designer. Its rare youll meet someone that is both. Thats why it wasnt surprising to anyone that the logo that I made was mediocre — at best. Luckily, <a href="http://jeremygeltman.com/">Jeremy Geltman</a> has come to the rescue and contributed a brand new logo for Home Assistant.</p>
<p>The new logo follows Googles material design spec. It uses the blue color that Home Assistant uses in the interface and it comes in two versions: a high detailed version (for homescreen icon etc) and a simple version (for favicon etc).</p>
<p class="img">
<img src="/images/blog/ha-logo-history.png" />
The old logo, the new detailed logo and the new simple logo.
</p>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/03/01/home-assistant-migrating-to-yaml/">Home Assistant moving to YAML</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-03-01T19:38:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> March 1, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Theodor Lindquist</span>
<span><i class='icon-time'></i> Less than one minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/03/01/home-assistant-migrating-to-yaml/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Home Assistant is now using <a href="http://yaml.org/">YAML</a> for its configuration file. YAML allows the use of lists, which should make the configuration file a bit more flexible and useful. The new configuration file format is backwards compatible with existing components. Because of this, there is no need for component developers to update their components.</p>
<p>The new file is named configuration.yaml and if it cant be found in your config directory, Home Assistant will instead try to find the old configuration file, home-assistant.conf.</p>
<p>The home-assistant.conf.example has been replaced with an updated <a href="https://github.com/home-assistant/home-assistant/blob/dev/config/configuration.yaml.example">configuration.yaml.example</a>.</p>
<p>Users of Home Assistant should migrate as the old configuration format is deprecated.</p>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/02/24/streaming-updates/">Streaming updates</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-02-24T22:41:27+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> February 24, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> 1 minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/02/24/streaming-updates/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Home Assistant has learned a new trick to get the latest information from the server: streaming updates. No longer will the frontend poll every 30 seconds for updates but instead it will keep a connection open and get the latest changes pushed as soon as they happen.</p>
<p>A new toggle has been added ot the sidebar to turn streaming updates on and off. This preference will be saved on a per-browser basis using local storage. The toggle will also indicate when there is an error setting up a stream after which it will fall back to use polling.</p>
<p class="img"><img src="/images/screenshots/streaming-updates.png" /></p>
<a class="btn pull-right" href="/blog/2015/02/24/streaming-updates/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/02/08/looking-at-the-past/">Looking at the past</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-02-08T17:01:23+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> February 8, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> 1 minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/02/08/looking-at-the-past/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Ever since the launch of Home Assistant you have been able to track the state of your house. But the view has always been limited to what the current state is. Not what it was. Today we are going to change that by introducing two brand new components:</p>
<ul>
<li>Recorder component that will record every event to a SQLite database</li>
<li>History component that will query and aggregate the recorded events</li>
</ul>
<p>By adding this view into the past, we are adding an extra dimension into the state of your house. This brings great new possibilities for future features. The focus of todays release is on getting the recording component to you to start recording and getting some data. To show what is being recorded a view has been added that shows the last 24 hours of your house. Expect more extensive tools to explore your history in the future.</p>
<p>Adding history to the UI was a challenge on itself because the old UI did not support easy navigation. So to add to the awesomeness of this release, Home Assistant also got a face lift.</p>
<p>The history component will be enabled for new users by default. For current users, run <code class="highlighter-rouge">scripts/update</code> to upgrade to the latest version and add <code class="highlighter-rouge">[history]</code> to your <code class="highlighter-rouge">home-assistant.conf</code> file.</p>
<p class="img">
<a href="/images/screenshots/component_history_24h.png">
<img src="/images/screenshots/component_history_24h.png" />
</a>
</p>
<p class="note">
Events are saved in a local database. Google Graphs is used to draw the graph. Drawing is happening 100% in your browser - no data is transfered to anyone at any time.
</p>
<a class="btn pull-right" href="/blog/2015/02/08/looking-at-the-past/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/01/24/release-notes/">Release notes for January 24, 2015</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-01-24T18:36:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> January 24, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> 1 minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/01/24/release-notes/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>I have just merged the latest version of the development branch into master. Here are some of the highlights of this release:</p>
<p><strong>Configuration via the frontend</strong><br />
Phliips Hue will now be auto discovered and uses the new <code class="highlighter-rouge">configurator</code> component to interact with the user to finish the setup process.</p>
<p><strong>Wink Hub support</strong><br />
Thanks to the work done by John McLaughlin and Geoff Norton we now support the lights, switches and sensors that are connected to the Wink hub.</p>
<p><strong>The getting started guide and component page have been reorganized</strong><br />
The getting started instructions have been split into separate pages per component and a general overview page. The goal is to have a page per component that describes:</p>
<ul>
<li>What it does</li>
<li>How to set it up</li>
<li>Which states it maintains</li>
<li>Which services it provides</li>
<li>Additional development tips</li>
</ul>
<p><strong>More reasonable errors</strong><br />
Home Assistant should now throw better errors and offer solutions if you do not have the right version of Python 3, forgot to clone the git submodules or install the dependencies.</p>
<p><strong>Streamlined first launch</strong><br />
Home Assistant now supports <code class="highlighter-rouge">--open-ui</code> and <code class="highlighter-rouge">--demo-mode</code> command line properties to open the browser automatically and have something to show. Home Assistant now supports to be run without a password, allowing the interface to login automatically on launch.</p>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/01/13/nest-in-da-house/">Nest in the house!</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-01-13T16:29:04+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> January 13, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> Less than one minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/01/13/nest-in-da-house/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>For thet majority of its existence, Home Assistant primary focus was on presence detection, lights and switches. But not anymore as were expanding the supported devices. Today, were proud to introduce Nest Thermostat integration for Home Assistant contributed by <a href="https://github.com/sfiorini">Stefano Fiorini</a>!</p>
<p class="img">
<img src="/images/screenshots/nest-thermostat-card.png" />
</p>
<p>The new integration exists out of two parts: a generic thermostat component and a Nest platform implementation. The initial version implements provides a read-only card and services to control it. The plan is in the future to add temperature and away mode controls from the thermostat card and more info dialog. Internally, we are using the Python package <a href="https://github.com/jkoelker/python-nest">python-nest by jkoelker</a> to talk to the Nest.</p>
<p>If you own a Nest thermostat, add the following lines to your <code class="highlighter-rouge">home-assistant.conf</code>:</p>
<div class="language-conf highlighter-rouge"><pre class="highlight"><code>[<span class="n">thermostat</span>]
<span class="n">platform</span>=<span class="n">nest</span>
<span class="n">username</span>=<span class="n">YOUR_USERNAME</span>
<span class="n">password</span>=<span class="n">YOUR_PASSWORD</span>
</code></pre>
</div>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/01/11/bootstrapping-your-setup-with-discovery/">Bootstrapping your setup with Discovery</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-01-11T21:49:08+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> January 11, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> Less than one minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/01/11/bootstrapping-your-setup-with-discovery/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>Most people do not like configuring things. Things just have to work, out of the box. Reaching this scenario is the goal of what we are about to introduce: our new discovery component.</p>
<p>The discovery component will scan the WiFi network from time to time for connected zeroconf/mDNS and uPnP devices. The intial introduction is mainly focussed on getting the right architecture in place and discovers Belkin WeMo switches and Google Chromecasts connected to your network. When found, it will load and notify the appropritate component and it will be ready to use within seconds.</p>
<p>Most devices still require some sort of interaction from the user after being discovered - be it a button being pressed or some sort of authentication. This is a challenge that will be solved in the future.</p>
<p>To enable the discovery component, add the following to your <code class="highlighter-rouge">home-assistant.conf</code>:</p>
<div class="language-conf highlighter-rouge"><pre class="highlight"><code>[<span class="n">discovery</span>]
</code></pre>
</div>
<p>A new <a href="/developers/add_new_platform/#discovery">discovery section</a> has been added to the Adding a new platform page with instructions how to make your platform discoverable.</p>
</div>
</article>
<hr>
<article class="listing">
<header>
<h1 class="beta">
<a href="/blog/2015/01/04/hey-pushbullet-nice-talking-to-you/">Hello PushBullet, nice talking to you</a>
</h1>
<div class="meta clearfix">
<time datetime="2015-01-04T21:29:07+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> January 4, 2015</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> 1 minute reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="/blog/2015/01/04/hey-pushbullet-nice-talking-to-you/#disqus_thread"
>Comments</a>
</div>
</header>
<div class="entry-content clearfix">
<p>One of the things that was missing in Home Assistant for a while was a way to communicate with users. Wouldnt it be nice to get a message when important events happen like the lights being turned on while no one is home? Since the Home Assistant frontend runs as a web application on the phone, we have no way to bring ourselves to the front. This is where the new notify component comes in, powered by PushBullet.</p>
<p>The new notify component will take in messages and tells them to the user. For now this will be powered by the very awesome <a href="https://www.pushbullet.com/">PushBullet</a> but any other messaging platform can be easily added.</p>
<p class="img">
<img src="/images/screenshots/pushbullet_moto360.png" />
A message triggered by the simple_alarm component is shown by PushBullet on the Moto360.
</p>
<p>Read on to learn how to enable the notify component and integrate it with other components.</p>
<a class="btn pull-right" href="/blog/2015/01/04/hey-pushbullet-nice-talking-to-you/#read-more">Read on &rarr;</a>
</div>
</article>
<hr>
<div class="pagination">
<a class="btn pull-left" href="/blog/posts/10">&larr; Older</a>
<a class="btn pull-right" href="/blog/posts/8">Newer &rarr;</a>
</div>
</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">
<h1 class="title delta">About Home Assistant</h1>
<ul class="divided">
<li>
Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control.
</li>
<li><a href='/getting-started/'>Get started with Home Assistant</a></li>
<li><a href='/demo/'>Try the online demo</a></li>
<li><a class="twitter-follow-button" href="https://twitter.com/Home_Assistant">Follow Home Assistant on Twitter</a></li>
<li><div class="fb-like" data-href="https://www.facebook.com/homeassistantio/" data-layout="standard" data-action="like" data-size="small" data-show-faces="true" data-share="false"></div></li>
</ul>
</section>
<div id="fb-root"></div>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.async=true;js.src='//platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
<script>(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(d.getElementById(id)){return;}js=d.createElement(s);js.id=id;js.async=true;js.src="//connect.facebook.net/en_US/all.js#appId=338291289691179&xfbml=1";fjs.parentNode.insertBefore(js,fjs);}(document,'script','facebook-jssdk'));</script>
<section class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Categories</h1>
<ul class="divided">
<li><a href="/blog/categories/community/">Community</a></li>
<li><a href="/blog/categories/device-tracking/">Device Tracking</a></li>
<li><a href="/blog/categories/esp8266/">ESP8266</a></li>
<li><a href="/blog/categories/how-to/">How To</a></li>
<li><a href="/blog/categories/internet-of-things/">Internet of Things</a></li>
<li><a href="/blog/categories/iot-data/">IoT Data</a></li>
<li><a href="/blog/categories/mqtt/">MQTT</a></li>
<li><a href="/blog/categories/micropython/">Micropython</a></li>
<li><a href="/blog/categories/organisation/">Organisation</a></li>
<li><a href="/blog/categories/owntracks/">OwnTracks</a></li>
<li><a href="/blog/categories/presence-detection/">Presence Detection</a></li>
<li><a href="/blog/categories/public-service-announcement/">Public Service Announcement</a></li>
<li><a href="/blog/categories/release-notes/">Release Notes</a></li>
<li><a href="/blog/categories/survey/">Survey</a></li>
<li><a href="/blog/categories/talks/">Talks</a></li>
<li><a href="/blog/categories/technology/">Technology</a></li>
<li><a href="/blog/categories/user-stories/">User Stories</a></li>
<li><a href="/blog/categories/video/">Video</a></li>
<li><a href="/blog/categories/website/">Website</a></li>
<li><a href="/blog/categories/ibeacons/">iBeacons</a></li>
</ul>
</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>
<script>
var disqus_shortname = 'home-assistant';
var disqus_script = 'count.js';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}());
</script>
</body>
</html>