Site updated at 2017-03-18 17:12:07 UTC

This commit is contained in:
Travis CI 2017-03-18 17:12:07 +00:00
parent 7573fcba68
commit 67179bf8fe
994 changed files with 1768 additions and 68252 deletions

View file

@ -3,17 +3,14 @@
<!--[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>Control My Christmas Tree Stats - Home Assistant</title>
<meta name="author" content="Ben">
<meta name="description" content="I used Home Assistant for a publicly controllable Christmas tree and it worked great!">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/2017/01/03/control-my-christmas-tree-stats/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Control My Christmas Tree Stats">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,32 @@
<meta property="og:type" content="article">
<meta property="og:description" content="I used Home Assistant for a publicly controllable Christmas tree and it worked great!">
<meta property="og:image" content="https://home-assistant.io/images/blog/2017-01-bruh-christmas/christmas-tree.gif">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@home_assistant">
<meta name="twitter:creator" content="@bruhautomation">
<meta name="twitter:title" content="Control My Christmas Tree Stats">
<meta name="twitter:description" content="I used Home Assistant for a publicly controllable Christmas tree and it worked great!">
<meta name="twitter:image" content="https://home-assistant.io/images/blog/2017-01-bruh-christmas/christmas-tree.gif">
<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="/docs/">Docs</a></li>
@ -64,27 +54,15 @@
</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="post">
<header>
<h1 class="title indent">Control My Christmas Tree Stats</h1>
<div class="meta clearfix">
<time datetime="2017-01-03T18:00:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> January 3, 2017</time>
<span class="byline author vcard"><i class='icon-user'></i> Ben</span>
@ -92,69 +70,41 @@
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Community</li>
</ul>
</span>
<a class='comments'
href="#disqus_thread"
>Comments</a>
</div>
</header>
<p>Hello and Happy New Year!</p>
<p>I am not Paulus. My name is Ben. Im the creator of the <a href="https://www.youtube.com/channel/UCLecVrux63S6aYiErxdiy4w">BRUH Automation YouTube channel</a>. If youve ever seen any of my videos then youll know I love home automation and Home Assistant.</p>
<p>I wanted to share some exciting stats from one of my latest projects - <a href="https://github.com/bruhautomation/BRUH-Christmas-Tree-2016">Control My Christmas tree!</a> For this project, I created a Home Assistant instance on a Raspberry Pi 2 that was publically accessible via DuckDNS. Paulus was great in helping me disable several of the developer services that could have been exploited to disable the Home Assistant instance.</p>
<p>I added three devices to the Home Assistant instance - a Wemo Insight, Sonoff Switch (running MQTT firmware), and a DIY MQTT Digital LED strip. After adding a few 3D printed Star War decorations, the tree was ready to go!</p>
<p class="img">
<img src="/images/blog/2017-01-bruh-christmas/christmas-tree.gif" />
The Christmas tree in action.
</p>
<a name="read-more"></a>
<p>During the time by tree was set up, I had 7,366 visitors from 88 countries connect to my Home Assistant instance. This generated an estimated 100,000 clicks on the switches in my Home Assistant instance - thanks in part to some folks who posted up with macros for 6-8 hour stretches.</p>
<p class="img">
<img src="/images/blog/2017-01-bruh-christmas/stats.png" />
View counts of the video.
</p>
<p>Im very excited to report that Home Assistant didnt crash a single time. In fact, it didnt even bog down or need to be restarted. The Wemo Insight and Sonoff relays were incredibly resilient, as well. I only had one Sonoff failure and two Wemo Insight failures both of which were resolved by power cycling them. The digital LED strips also fared pretty well, hanging up only twice, aside from a loose connector.</p>
<p>I would like to send a big thank you to the Home Assistant developers who have worked so hard on making Home Assistant run so well. This project is a testament to your hard work on making Home Assistant one of the best home automation platforms out there. Thank you!</p>
<p>Im looking forward to continuing my home automation adventures with Home Assistant and I cant wait for next Christmas with an even bigger and badder tree. :)</p>
<p>Wishing everyone the best in 2017!</p>
<p>Cheers! -Ben</p>
</article>
<section id="disqus">
<h3 class="indent title">Comments</h3>
<div id="disqus_thread" aria-live="polite"><noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript></div>
</section>
</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">
@ -170,74 +120,45 @@
<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="sharing aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Share this post</h1>
<a href="//twitter.com/share"
class="twitter-share-button"
data-via="home_assistant"
data-related="home_assistant"
data-url="https://home-assistant.io/blog/2017/01/03/control-my-christmas-tree-stats/"
data-counturl="https://home-assistant.io/blog/2017/01/03/control-my-christmas-tree-stats/" >Tweet</a>
<div class="fb-share-button" style='top: -6px;'
data-href="https://home-assistant.io/blog/2017/01/03/control-my-christmas-tree-stats/"
data-layout="button_count">
</div>
<div class="g-plusone" data-size="standard"></div>
</section>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<section id="recent-posts" class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Recent Posts</h1>
<ul class="divided">
<li class="post">
<a href="/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/">Home Assistant 0.40: Turn any Android phone into an IP Webcam</a>
</li>
<li class="post">
<a href="/blog/2017/02/25/config-panel-and-state-restoration/">0.39: Configuration panel, state restoration and improved docs</a>
</li>
<li class="post">
<a href="/blog/2017/02/22/home-assistant-tshirts-have-arrived/">Home Assistant t-shirts have arrived!</a>
</li>
<li class="post">
<a href="/blog/2017/02/14/clt-workshop/">Workshop at CLT 2017</a>
</li>
<li class="post">
<a href="/blog/2017/02/11/alert-appletv-mqtt-yeelight/">0.38: Alert, AppleTV, MQTT discovery, and Yeelight</a>
</li>
</ul>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -247,7 +168,6 @@
<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 />
@ -259,7 +179,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -268,13 +187,10 @@
</script>
<script>
var disqus_shortname = 'home-assistant';
// var disqus_developer = 1;
var disqus_identifier = 'https://home-assistant.io/blog/2017/01/03/control-my-christmas-tree-stats/';
var disqus_url = 'https://home-assistant.io/blog/2017/01/03/control-my-christmas-tree-stats/';
var disqus_script = 'embed.js';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
@ -282,4 +198,4 @@
}());
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>0.36: ISS, USPS, Image processing, Insteon - Home Assistant</title>
<meta name="author" content="Fabian Affolter">
<meta name="description" content="Track packages, space stations, TrackR devices, Xiaomi, and UPC connect boxes">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/2017/01/14/iss-usps-images-packages/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="0.36: ISS, USPS, Image processing, Insteon">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,32 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Track packages, space stations, TrackR devices, Xiaomi, and UPC connect boxes">
<meta property="og:image" content="https://home-assistant.io/images/blog/2016-01-0.36/social.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@home_assistant">
<meta name="twitter:creator" content="@fabaff">
<meta name="twitter:title" content="0.36: ISS, USPS, Image processing, Insteon">
<meta name="twitter:description" content="Track packages, space stations, TrackR devices, Xiaomi, and UPC connect boxes">
<meta name="twitter:image" content="https://home-assistant.io/images/blog/2016-01-0.36/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="/docs/">Docs</a></li>
@ -64,27 +54,15 @@
</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="post">
<header>
<h1 class="title indent">0.36: ISS, USPS, Image processing, Insteon</h1>
<div class="meta clearfix">
<time datetime="2017-01-14T08:04:05+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> January 15, 2017</time>
<span class="byline author vcard"><i class='icon-user'></i> Fabian Affolter</span>
@ -92,48 +70,31 @@
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="#disqus_thread"
>Comments</a>
</div>
</header>
<p>Welcome to 2017 and 0.36. We are proud to announce the first release for this year. While we are still migrating parts to async but 0.36 is focusing on new features and a lot of bug fixes.</p>
<h3><a class="title-link" name="packages" href="#packages"></a> Packages</h3>
<p><a href="https://home-assistant.io/topics/packages/">Packages</a> are providing a new way to organize different components configuration parts together. With packages we offer the option to include different components or parts of configuration using any of the <code class="highlighter-rouge">!include</code> directives.</p>
<h3><a class="title-link" name="influxdb-export" href="#influxdb-export"></a> InfluxDB export</h3>
<p>The <a href="https://home-assistant.io/components/influxdb/">InfluxDB</a> component was causing problems in a wide variety of use cases. <a href="https://github.com/titilambert">@titilambert</a> improved our InfluxDB exporter feature. It might be that you need to run the <a href="/components/influxdb/#migration-script">migration script</a> to update your InfluxDB database.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>hass --script influxdb_migrator <span class="se">\</span>
-H IP_INFLUXDB_HOST -u INFLUXDB_USERNAME -p INFLUXDB_PASSWORD <span class="se">\</span>
-d INFLUXDB_DB_NAME
</code></pre>
</div>
<h3><a class="title-link" name="international-space-station-iss" href="#international-space-station-iss"></a> International Space Station (ISS)</h3>
<p>No, unfortunately we are not going to space. The <code class="highlighter-rouge">iss</code> sensor is tracking the position of the International Space Station and gives you some details.</p>
<h3><a class="title-link" name="insteon-local" href="#insteon-local"></a> Insteon local</h3>
<p>The support for Insteon was removed due to issues a while ago. With the <code class="highlighter-rouge">insteon_local</code> component support for <a href="https://home-assistant.io/components/insteon_local/">Insteon</a> is back and let one work locally with an Insteon setup.</p>
<h3><a class="title-link" name="image-processing" href="#image-processing"></a> Image processing</h3>
<p>The new <a href="https://home-assistant.io/components/image_processing/">image processing component</a> currently works with <a href="https://home-assistant.io/components/openalpr/">number plates</a>. But this could level the way to integrate feature like facial recognition, motion detection, or gestures control.</p>
<h2><a class="title-link" name="all-changes" href="#all-changes"></a> All changes</h2>
<ul>
<li>Sensor: Support for <a href="https://home-assistant.io/components/sensor.hydroquebec/">HydroQuebec</a> (<a href="https://github.com/titilambert">@titilambert</a>)</li>
<li>Sensor: Tracking the <a href="https://home-assistant.io/components/sensor.iss/">ISS</a> (<a href="https://github.com/HydrelioxGitHub">@HydrelioxGitHub</a>)</li>
@ -174,9 +135,7 @@
<li>Docker: <code class="highlighter-rouge">ffmpeg</code> is now included by default (<a href="https://github.com/colinodell">@colinodell</a>)</li>
<li>Minor and not so minor features and bug fixes by <a href="https://github.com/balloob">@balloob</a>, <a href="https://github.com/pvizeli">@pvizeli</a>, <a href="https://github.com/fabaff">@fabaff</a>, <a href="https://github.com/mezz64">@mezz64</a>, <a href="https://github.com/andrey-git">@andrey-git</a>, <a href="https://github.com/aequitas">@aequitas</a>, <a href="https://github.com/abmantis">@abmantis</a>, <a href="https://github.com/turbokongen">@turbokongen</a>, <a href="https://github.com/jabesq">@jabesq</a>, <a href="https://github.com/michaelarnauts">@michaelarnauts</a>, <a href="https://github.com/kellerza">@kellerza</a>, <a href="https://github.com/titilambert">@titilambert</a>, <a href="https://github.com/btorresgil">@btorresgil</a>, <a href="https://github.com/henworth">@henworth</a>, <a href="https://github.com/armills">@armills</a>, <a href="https://github.com/mjg59">@mjg59</a>, <a href="https://github.com/Giannie">@Giannie</a>, <a href="https://github.com/n8henrie">@n8henrie</a>, <a href="https://github.com/magicus">@magicus</a>, <a href="https://github.com/florianholzapfel">@florianholzapfel</a>, <a href="https://github.com/MrMep">@MrMep</a>, <a href="https://github.com/bah2830">@bah2830</a>, <a href="https://github.com/happyleavesaoc">@happyleavesaoc</a>, <a href="https://github.com/lwis">@lwis</a>, <a href="https://github.com/glance-">@glance-</a>, <a href="https://github.com/markferry">@markferry</a>, and <a href="https://github.com/nikdoof">@nikdoof</a>.</li>
</ul>
<h3><a class="title-link" name="release-0361---january-17" href="#release-0361---january-17"></a> Release 0.36.1 - January 17</h3>
<ul>
<li>Fix load_yaml default value (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Fix discovery of flux_led (<a href="https://github.com/Danielhiversen">@Danielhiversen</a>)</li>
@ -187,9 +146,7 @@
<li>Fix Bluetooth and Volvo trackers (<a href="https://github.com/pvizeli">@pvizeli</a>)</li>
<li>Fix lannouncer notify platform (<a href="https://github.com/mKeRix">@mKeRix</a>)</li>
</ul>
<h3><a class="title-link" name="breaking-changes" href="#breaking-changes"></a> Breaking changes</h3>
<ul>
<li><a href="https://home-assistant.io/components/notify.apns/">APNS</a> service was moved to the <code class="highlighter-rouge">notify</code> domain. Use <code class="highlighter-rouge">notify.apns_NOTIFIER_NAME</code> instead of <code class="highlighter-rouge">apns.NOTIFIER_NAME</code>.</li>
<li><a href="https://home-assistant.io/components/influxdb/">InfluxDB</a> component has a new <a href="/components/influxdb/#data-migration">schema</a> to store values in the InfluxDB database. You may require to run the <a href="/components/influxdb/#migration-script"><code class="highlighter-rouge">influxdb_migrator</code></a> script.
@ -205,28 +162,18 @@ You have to note:
</li>
<li>TTS cache files use now the language abbreviation as part of the name. If you want to use the cache, it need to be renamed or cleared, new created. E. g. <code class="highlighter-rouge">HASH_PLATFORM.xxx</code> -&gt; <code class="highlighter-rouge">HASH_LANG_PLATFORM.xxx</code>.</li>
</ul>
<h3><a class="title-link" name="if-you-need-help" href="#if-you-need-help"></a> If you need help…</h3>
<p>…dont hesitate to use our <a href="https://community.home-assistant.io/">Forum</a> or join us for a little <a href="https://gitter.im/home-assistant/home-assistant">chat</a>. The release notes have comments enabled but its preferred if you use the former communication channels. Thanks.</p>
<h3><a class="title-link" name="reporting-issues" href="#reporting-issues"></a> Reporting Issues</h3>
<p>Experiencing issues introduced by this release? Please report them in our <a href="https://github.com/home-assistant/home-assistant/issues">issue tracker</a>. Make sure to fill in all fields of the issue template.</p>
</article>
<section id="disqus">
<h3 class="indent title">Comments</h3>
<div id="disqus_thread" aria-live="polite"><noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript></div>
</section>
</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">
@ -242,74 +189,45 @@ You have to note:
<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="sharing aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Share this post</h1>
<a href="//twitter.com/share"
class="twitter-share-button"
data-via="home_assistant"
data-related="home_assistant"
data-url="https://home-assistant.io/blog/2017/01/14/iss-usps-images-packages/"
data-counturl="https://home-assistant.io/blog/2017/01/14/iss-usps-images-packages/" >Tweet</a>
<div class="fb-share-button" style='top: -6px;'
data-href="https://home-assistant.io/blog/2017/01/14/iss-usps-images-packages/"
data-layout="button_count">
</div>
<div class="g-plusone" data-size="standard"></div>
</section>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<section id="recent-posts" class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Recent Posts</h1>
<ul class="divided">
<li class="post">
<a href="/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/">Home Assistant 0.40: Turn any Android phone into an IP Webcam</a>
</li>
<li class="post">
<a href="/blog/2017/02/25/config-panel-and-state-restoration/">0.39: Configuration panel, state restoration and improved docs</a>
</li>
<li class="post">
<a href="/blog/2017/02/22/home-assistant-tshirts-have-arrived/">Home Assistant t-shirts have arrived!</a>
</li>
<li class="post">
<a href="/blog/2017/02/14/clt-workshop/">Workshop at CLT 2017</a>
</li>
<li class="post">
<a href="/blog/2017/02/11/alert-appletv-mqtt-yeelight/">0.38: Alert, AppleTV, MQTT discovery, and Yeelight</a>
</li>
</ul>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -319,7 +237,6 @@ You have to note:
<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 />
@ -331,7 +248,6 @@ You have to note:
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -340,13 +256,10 @@ You have to note:
</script>
<script>
var disqus_shortname = 'home-assistant';
// var disqus_developer = 1;
var disqus_identifier = 'https://home-assistant.io/blog/2017/01/14/iss-usps-images-packages/';
var disqus_url = 'https://home-assistant.io/blog/2017/01/14/iss-usps-images-packages/';
var disqus_script = 'embed.js';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
@ -354,4 +267,4 @@ You have to note:
}());
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Numbers - Home Assistant</title>
<meta name="author" content="Fabian Affolter">
<meta name="description" content="Numbers, lists, etc.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/2017/01/18/numbers/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Numbers">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,32 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Numbers, lists, etc.">
<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:creator" content="@fabaff">
<meta name="twitter:title" content="Numbers">
<meta name="twitter:description" content="Numbers, lists, etc.">
<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="/docs/">Docs</a></li>
@ -64,27 +54,15 @@
</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="post">
<header>
<h1 class="title indent">Numbers</h1>
<div class="meta clearfix">
<time datetime="2017-01-18T08:04:05+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> January 18, 2017</time>
<span class="byline author vcard"><i class='icon-user'></i> Fabian Affolter</span>
@ -92,25 +70,15 @@
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Community</li>
</ul>
</span>
<a class='comments'
href="#disqus_thread"
>Comments</a>
</div>
</header>
<p>Its week 3 of 2017 and great things did already happen. This is just a little recap.</p>
<ul>
<li>In the <a href="https://ossmetrics.com/leaderboard">OSS Metrics leaderboard</a> we are on place 30. Within three months we moved from our starting place which was 66 in September 2016 up to the current one.</li>
<li>We were listed on <a href="https://github.com/trending/python">Github Trending</a>. Also, was <a href="https://github.com/balloob">@balloob</a> mentioned as trending developer.</li>
@ -118,28 +86,17 @@
<li>We now ship over <a href="/components/#all">500</a> components and platforms.</li>
<li>We processed over 3500 Pull requests on the <a href="https://github.com/home-assistant/home-assistant">main repository</a> so far.</li>
</ul>
<p>You may ask yourself why this is amazing. Its amazing because we are a community-only project driven by volunteers there is no financial support, no company in the background, and no paid developers who are working on Home Assistant. Here is another “Thank you” because you are the driving force behind Home Assistant.</p>
<p>What more numbers? Checkout the <a href="/help/trivia/#numbers">Trivia page</a></p>
<p> Fabian</p>
</article>
<section id="disqus">
<h3 class="indent title">Comments</h3>
<div id="disqus_thread" aria-live="polite"><noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript></div>
</section>
</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">
@ -155,74 +112,45 @@
<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="sharing aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Share this post</h1>
<a href="//twitter.com/share"
class="twitter-share-button"
data-via="home_assistant"
data-related="home_assistant"
data-url="https://home-assistant.io/blog/2017/01/18/numbers/"
data-counturl="https://home-assistant.io/blog/2017/01/18/numbers/" >Tweet</a>
<div class="fb-share-button" style='top: -6px;'
data-href="https://home-assistant.io/blog/2017/01/18/numbers/"
data-layout="button_count">
</div>
<div class="g-plusone" data-size="standard"></div>
</section>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<section id="recent-posts" class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Recent Posts</h1>
<ul class="divided">
<li class="post">
<a href="/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/">Home Assistant 0.40: Turn any Android phone into an IP Webcam</a>
</li>
<li class="post">
<a href="/blog/2017/02/25/config-panel-and-state-restoration/">0.39: Configuration panel, state restoration and improved docs</a>
</li>
<li class="post">
<a href="/blog/2017/02/22/home-assistant-tshirts-have-arrived/">Home Assistant t-shirts have arrived!</a>
</li>
<li class="post">
<a href="/blog/2017/02/14/clt-workshop/">Workshop at CLT 2017</a>
</li>
<li class="post">
<a href="/blog/2017/02/11/alert-appletv-mqtt-yeelight/">0.38: Alert, AppleTV, MQTT discovery, and Yeelight</a>
</li>
</ul>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -232,7 +160,6 @@
<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 />
@ -244,7 +171,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -253,13 +179,10 @@
</script>
<script>
var disqus_shortname = 'home-assistant';
// var disqus_developer = 1;
var disqus_identifier = 'https://home-assistant.io/blog/2017/01/18/numbers/';
var disqus_url = 'https://home-assistant.io/blog/2017/01/18/numbers/';
var disqus_script = 'embed.js';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
@ -267,4 +190,4 @@
}());
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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 Governance [updated] - Home Assistant</title>
<meta name="author" content="Paulus Schoutsen">
<meta name="description" content="Protecting Home Assistant for all, now and into the future">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/2017/01/21/home-assistant-governance/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Home Assistant Governance [updated]">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,32 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Protecting Home Assistant for all, now and into the future">
<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:creator" content="@balloob">
<meta name="twitter:title" content="Home Assistant Governance [updated]">
<meta name="twitter:description" content="Protecting Home Assistant for all, now and into the future">
<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="/docs/">Docs</a></li>
@ -64,27 +54,15 @@
</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="post">
<header>
<h1 class="title indent">Home Assistant Governance [updated]</h1>
<div class="meta clearfix">
<time datetime="2017-01-21T23:05:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> January 21, 2017</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
@ -92,127 +70,70 @@
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Organisation</li>
</ul>
</span>
<a class='comments'
href="#disqus_thread"
>Comments</a>
</div>
</header>
<h3><a class="title-link" name="update-jan-28-2017" href="#update-jan-28-2017"></a> UPDATE JAN 28, 2017</h3>
<p>After feedback from the community we have updated <a href="/developers/cla/">the CLA</a> and the license that Home Assistant is distributed under. For the CLA, instead of enforcing requirements on the grants and code, we now require contributions to be licensed under the Apache 2.0 license. Special thanks to <a href="https://twitter.com/mjg59">Matthew Garrett</a> for his feedback and advice.</p>
<p>Starting with release 0.37, Home Assistant will re-license the current code under <a href="/developers/license/">the Apache 2.0 license</a>. This is the license that will be used moving forward for all projects under our organization.</p>
<hr />
<p>The Home Assistant project and community has seen enormous growth in the last three years. Many volunteers work tirelessly everyday to give you all the awesomeness that you see today. Much more work is involved than many people realize. Beyond simply coding Home Assistant, volunteers continually maintain related projects, update documentation, post examples, author blog posts, and moderate the forums and chat. This is something that we want to keep safe and functional, even as we grow.</p>
<p>Starting today we are announcing a few initiatives to help protect our users, contributors and community members.</p>
<a name="read-more"></a>
<h2><a class="title-link" name="code-of-conduct" href="#code-of-conduct"></a> Code of Conduct</h2>
<p>More people are getting to know and love Home Assistant every day and our community keeps growing. Our community consists of people from all over the world with different backgrounds and we want Home Assistant to be a place where everyone can feel at home. To help with this were introducing a Code of Conduct. The Code of Conduct describes what type of behavior is unacceptable, how we will enforce it and where to report incidents.</p>
<p>Moving forward this Code of Conduct will be active for all projects within the Home Assistant organisation.</p>
<p><a href="/developers/code_of_conduct/">Read the Code of Conduct</a></p>
<h2><a class="title-link" name="contributor-license-agreement" href="#contributor-license-agreement"></a> Contributor License Agreement</h2>
<p>Moving forward we will also require that all contributors to any project have electronically signed our <a href="/developers/cla/">contributor license agreement (CLA)</a>. <del>We have adopted the CLA that GitHub uses for their projects</del> (see update at the top). Currently we have no plans to retroactively require a CLA for previous contributions, only those going forward.</p>
<p>Until a signed CLA is on file your pull request will not be reviewed or accepted. When you open a new pull request, if you do not have a CLA on file, our helpful bot will walk you through the steps to complete the process.</p>
<p><strong>We intend to require an electronically signed contributor licensing agreement for all contributors beginning with our next release (0.37), currently scheduled for release on Saturday, January 28th, 2017 (one week from today).</strong> The CLA is being added to all repositories today.</p>
<p>A CLA is difficult to describe but GitHub did an excellent job so this next section is taken from <a href="https://cla.github.com/">https://cla.github.com</a>:</p>
<h3><a class="title-link" name="what-is-a-contributor-license-agreement" href="#what-is-a-contributor-license-agreement"></a> What is a Contributor License Agreement?</h3>
<p>A Contributor License Agreement, known as a CLA, asks contributors to confirm that:</p>
<ol>
<li>Anyone can use your contributions anywhere, for free, forever.</li>
<li>Your contributions do not infringe on anyone elses rights.</li>
</ol>
<p>The GitHub CLA helps ensure the smooth operation and usability of the open source projects that we maintain.</p>
<h3><a class="title-link" name="why-is-a-cla-necessary" href="#why-is-a-cla-necessary"></a> Why is a CLA necessary?</h3>
<p>It depends on the jurisdiction, but in the United States, contributions are owned by the author or their employer. When the contribution is accepted, the project becomes a bundle of derivative works. The agreement of all contributors are necessary to maintain distribution of the complete project and to any licensing agreement.</p>
<h3><a class="title-link" name="isnt-that-the-purpose-of-an-open-source-license" href="#isnt-that-the-purpose-of-an-open-source-license"></a> Isnt that the purpose of an open source license?</h3>
<p>Most open source licenses deal with use of the original code, and dont refer to contributions, or derivatives of the original.</p>
<h3><a class="title-link" name="how-does-a-cla-protect-a-project" href="#how-does-a-cla-protect-a-project"></a> How does a CLA protect a project?</h3>
<p>If the owner of a contribution decides that they dont want the contribution to be part of the project or in any given distribution, the law is on their side. The project, contributors, and users may be subject to legal action. This may require payment of damages and could prevent further usage or contributions until the matter is resolved.</p>
<p>Even when there is no legal pursuit, too much ambiguity can jeopardize or doom a project by preventing those that cant risk legal action from getting involved.</p>
<h3><a class="title-link" name="why-does-it-seem-like-only-corporate-projects-have-a-cla" href="#why-does-it-seem-like-only-corporate-projects-have-a-cla"></a> Why does it seem like only “corporate” projects have a CLA?</h3>
<p>There are many projects without corporate ownership that use a CLA or even a copyright assignment: jQuery and Eclipse, for example. However, it is true that projects with financial backing tend to be at a higher risk of becoming a target, so they may have a lower tolerance for legal ambiguity.</p>
<h2><a class="title-link" name="security-requirements" href="#security-requirements"></a> Security requirements</h2>
<p>With more collaborators involved with Home Assistant we are also exposing ourselves to more risk as more people have write access. As such we taking the following steps.</p>
<ol>
<li>As of November 3rd, 2016, all collaborators have been required to have 2 factor authentication (2FA) enabled on their GitHub account.</li>
<li>Going forward, we will do an audit from time to time and strip collaborators from write access if they havent contributed for a while. This is in no sense meant to boot people, and you are absolutely eligible to get it back in the future when you wish start contributing again.</li>
</ol>
<h2><a class="title-link" name="licensing" href="#licensing"></a> Licensing</h2>
<p>We will now ensure that a <code class="highlighter-rouge">LICENSE.md</code> file exists in all projects under the Home Assistant organization and is an <a href="https://opensource.org/licenses">OSI approved open source license</a> or a <a href="https://creativecommons.org">Creative Commons</a> license.</p>
<h3><a class="title-link" name="code-license" href="#code-license"></a> Code License</h3>
<p>The chosen license for all code projects under the Home Assistant organization is <a href="/developers/license/">the Apache 2.0 license</a>.</p>
<h3><a class="title-link" name="documentation-license" href="#documentation-license"></a> Documentation License</h3>
<p>All content on home-assistant.io and all other documentation/asset projects under the Home Assistant organization will be licensed under the Creative Commons License, specifically the <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">Attribution-NonCommercial-ShareAlike 4.0 International</a> license.</p>
<h2><a class="title-link" name="crediting-contributors" href="#crediting-contributors"></a> Crediting contributors</h2>
<p>We have now mostly automated updating the <a href="/developers/credits/">Credits</a> page so that contributors get their attribution more quickly.</p>
<h2><a class="title-link" name="in-closing" href="#in-closing"></a> In closing</h2>
<p>We hope you understand that our desire with these changes is only to help protect the amazing community that has been built around Home Assistant. If you have any questions, please contact us via email, Twitter or Gitter.</p>
</article>
<section id="disqus">
<h3 class="indent title">Comments</h3>
<div id="disqus_thread" aria-live="polite"><noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript></div>
</section>
</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">
@ -228,74 +149,45 @@
<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="sharing aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Share this post</h1>
<a href="//twitter.com/share"
class="twitter-share-button"
data-via="home_assistant"
data-related="home_assistant"
data-url="https://home-assistant.io/blog/2017/01/21/home-assistant-governance/"
data-counturl="https://home-assistant.io/blog/2017/01/21/home-assistant-governance/" >Tweet</a>
<div class="fb-share-button" style='top: -6px;'
data-href="https://home-assistant.io/blog/2017/01/21/home-assistant-governance/"
data-layout="button_count">
</div>
<div class="g-plusone" data-size="standard"></div>
</section>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<section id="recent-posts" class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Recent Posts</h1>
<ul class="divided">
<li class="post">
<a href="/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/">Home Assistant 0.40: Turn any Android phone into an IP Webcam</a>
</li>
<li class="post">
<a href="/blog/2017/02/25/config-panel-and-state-restoration/">0.39: Configuration panel, state restoration and improved docs</a>
</li>
<li class="post">
<a href="/blog/2017/02/22/home-assistant-tshirts-have-arrived/">Home Assistant t-shirts have arrived!</a>
</li>
<li class="post">
<a href="/blog/2017/02/14/clt-workshop/">Workshop at CLT 2017</a>
</li>
<li class="post">
<a href="/blog/2017/02/11/alert-appletv-mqtt-yeelight/">0.38: Alert, AppleTV, MQTT discovery, and Yeelight</a>
</li>
</ul>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -305,7 +197,6 @@
<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 />
@ -317,7 +208,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -326,13 +216,10 @@
</script>
<script>
var disqus_shortname = 'home-assistant';
// var disqus_developer = 1;
var disqus_identifier = 'https://home-assistant.io/blog/2017/01/21/home-assistant-governance/';
var disqus_url = 'https://home-assistant.io/blog/2017/01/21/home-assistant-governance/';
var disqus_script = 'embed.js';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
@ -340,4 +227,4 @@
}());
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>0.37: Face detection, Coffee, Wink - Home Assistant</title>
<meta name="author" content="Fabian Affolter et al.">
<meta name="description" content="Governance, Face recognition, improved camera security, and a coffee maker">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/2017/01/28/face-coffee-wink/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="0.37: Face detection, Coffee, Wink">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,32 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Governance, Face recognition, improved camera security, and a coffee maker">
<meta property="og:image" content="https://home-assistant.io/images/blog/2017-01-0.37/social.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@home_assistant">
<meta name="twitter:creator" content="@fabaff">
<meta name="twitter:title" content="0.37: Face detection, Coffee, Wink">
<meta name="twitter:description" content="Governance, Face recognition, improved camera security, and a coffee maker">
<meta name="twitter:image" content="https://home-assistant.io/images/blog/2017-01-0.37/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="/docs/">Docs</a></li>
@ -64,27 +54,15 @@
</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="post">
<header>
<h1 class="title indent">0.37: Face detection, Coffee, Wink</h1>
<div class="meta clearfix">
<time datetime="2017-01-28T08:04:05+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> January 28, 2017</time>
<span class="byline author vcard"><i class='icon-user'></i> Fabian Affolter et al.</span>
@ -92,55 +70,33 @@
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="#disqus_thread"
>Comments</a>
</div>
</header>
<p>No stats, no numbers, and alike this time. Ok, just one number: 0.37. We are back on track with our bi-weekly release cycle. Beside some organizational changes is this release shipping again cool features and new integrations. Please keep an eye on the “Breaking changes” section because there are also massive improvements for some platforms and components.</p>
<h3><a class="title-link" name="governance" href="#governance"></a> Governance</h3>
<p>As announced, the new <a href="https://home-assistant.io/blog/2017/01/21/home-assistant-governance/">Governance</a> requires for developers to sign the CLA. <a href="https://home-assistant.io/developers/code_of_conduct/">Code of Conduct</a>, <a href="https://home-assistant.io/developers/cla/">Contributor License Agreement</a>, and proper <a href="https://home-assistant.io/developers/license/">Licensing</a> will to protect all involved parties in the Home Assistant eco-system from users and community members to contributors.</p>
<h3><a class="title-link" name="face-recognition-using-the-microsoft-face-api" href="#face-recognition-using-the-microsoft-face-api"></a> Face recognition using the Microsoft Face API</h3>
<p><a href="https://github.com/pvizeli">@pvizeli</a> has been on a roll with the image processing integrations. This time its the <a href="https://home-assistant.io/components/microsoft_face/">Microsoft Face API</a>. This means that now it will be possible to train the API with the people you want to recognize and send images from your camera to the API as another source of automation.</p>
<p>Want to play a personalized tune when someone enters the house? It is now possible 😎</p>
<h3><a class="title-link" name="improved-camera-security" href="#improved-camera-security"></a> Improved camera security</h3>
<p>After a security audit by Stephen OConner, he found that our source for randomly generated access tokens for camera feeds were reasonable predictable and could be brute force attacked in 2.5 weeks. A fix has been included in this release that uses the system provided random number generator for maximum randomness and rotates the keys every 10 minutes to reduce the window in which a brute force attack can happen.</p>
<p>Although the old method is not insecure, the new method is a lot more secure. Upgrading to the latest version is encouraged.</p>
<h3><a class="title-link" name="new-customization-options" href="#new-customization-options"></a> New customization options</h3>
<p><a href="https://github.com/andrey-git">@Andrey-git</a> has added some great new options to the customize functionality. It is now possible to specify customizations as a wildcard for entities or for a specific domain.</p>
<h3><a class="title-link" name="major-wink-and-hdmi-cec-improvements" href="#major-wink-and-hdmi-cec-improvements"></a> Major Wink and HDMI CEC improvements</h3>
<p><a href="https://github.com/w1ll1am23">@w1ll1am23</a> did an amazing job fixing a ton of bugs and issues with the Wink integration. Biggest improvement is that it now is able to automatically refresh the authentication tokens. This means that if you have your email address and password in your <code class="highlighter-rouge">configuration.yaml</code> file, no <code class="highlighter-rouge">client_id</code> and <code class="highlighter-rouge">client_secret</code> are needed, and token which was generated with the generator located in the <a href="https://home-assistant.io/components/wink/">Wink</a> documentation.</p>
<p>The new Wink support will cause renaming of all the binary sensors and will also create new sensors for devices that werent previously detected or supported in the older version.</p>
<p>Thanks to <a href="https://github.com/konikvranik">@konikvranik</a> the <a href="https://home-assistant.io/components/hdmi_cec/">HDMI CEC</a> integration got a huge update with a lot of improvements. This update should make it easier to work with HDMI CEC and give you more control.</p>
<h3><a class="title-link" name="first-coffee-maker-supported" href="#first-coffee-maker-supported"></a> First Coffee Maker supported</h3>
<p><a href="https://github.com/stu-gott">@stu-gott</a> has added support for the first coffee maker in Home Assistant: <a href="https://home-assistant.io/components/switch.wemo/">Mr. Coffee Smart Optimal Brew</a>. Happy brewing!</p>
<h3><a class="title-link" name="all-changes" href="#all-changes"></a> All changes</h3>
<h4><a class="title-link" name="new-platformscomponents" href="#new-platformscomponents"></a> New platforms/components</h4>
<ul>
<li>Netatmo: <a href="https://home-assistant.io/components/netatmo/">Netatmo</a> Presence support (<a href="https://github.com/gieljnssns">@gieljnssns</a>)</li>
<li>Sensor: <a href="https://home-assistant.io/components/binary_sensor.amcrest/">Amcrest</a> camera sensors (<a href="https://github.com/tchellomello">@tchellomello</a>)</li>
@ -161,9 +117,7 @@
<li>Device tracker: Support for <a href="https://home-assistant.io/components/device_tracker.linksys_ap/">Linksys</a> Access Points (<a href="https://github.com/lukas-hetzenecker">@lukas-hetzenecker</a>)</li>
<li>Notify: Make calls with <a href="https://home-assistant.io/components/notify.twilio_call/">Twilio</a> (<a href="https://github.com/fakezeta">@fakezeta</a>)</li>
</ul>
<h4><a class="title-link" name="improvements" href="#improvements"></a> Improvements</h4>
<ul>
<li>Script: Fix script release (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Camera - Amcrest: Add support for direct MJPEG streams from Amcrest cameras (<a href="https://github.com/colinodell">@colinodell</a>)</li>
@ -227,11 +181,8 @@
<li>Emulated Hue: Emulated Hue “host-ip” fails to bind when running in docker without <code class="highlighter-rouge">--net=host</code> (<a href="https://github.com/jeremydk">@jeremydk</a>)</li>
<li>Climate - EQ3 BT smart: Add reporting for availability (<a href="https://github.com/rytilahti">@rytilahti</a>)</li>
</ul>
<p>Bugfix: <a href="https://github.com/balloob">@balloob</a>, <a href="https://github.com/fabaff">@fabaff</a>, <a href="https://github.com/freol35241">@freol35241</a>, <a href="https://github.com/pvizeli">@pvizeli</a>, <a href="https://github.com/Danielhiversen">@Danielhiversen</a>, <a href="https://github.com/tdickman">@tdickman</a>, <a href="https://github.com/armills">@armills</a>, <a href="https://github.com/rytilahti">@rytilahti</a>, <a href="https://github.com/R1chardTM">@R1chardTM</a>, <a href="https://github.com/asbach">@asbach</a>, <a href="https://github.com/happyleavesaoc">@happyleavesaoc</a>, <a href="https://github.com/robbiet480">@robbiet480</a>, <a href="https://github.com/colinodell">@colinodell</a>, <a href="https://github.com/joopert">@joopert</a>, <a href="https://github.com/dale3h">@dale3h</a>, <a href="https://github.com/pavoni">@pavoni</a>, <a href="https://github.com/jaharkes">@jaharkes</a>, <a href="https://github.com/MartinHjelmare">@MartinHjelmare</a>, <a href="https://github.com/mezz64">@mezz64</a>, <a href="https://github.com/jabesq">@jabesq</a>, and you if you are missing in this list.</p>
<h3><a class="title-link" name="release-0371---february-2" href="#release-0371---february-2"></a> Release 0.37.1 - February 2</h3>
<ul>
<li>Do not reject alphanumeric IDs for PiLight (<a href="https://github.com/DavidLP">@DavidLP</a>)</li>
<li>Fix broken Hue discovery (<a href="https://github.com/Danielhiversen">@DanielHiversen</a>)</li>
@ -246,7 +197,6 @@
<li>Prevent infinite loop in crossconfigured mqtt event streams (<a href="https://github.com/aequitas">@aequitas</a>)</li>
<li>Fix Hue lightgroups failing on startup (<a href="https://github.com/tboyce1">@tboyce1</a>)</li>
</ul>
<h3><a class="title-link" name="breaking-changes" href="#breaking-changes"></a> Breaking changes</h3>
<ul>
<li>A <strong>major</strong> breaking change in the <a href="https://home-assistant.io/components/emulated_hue/"><code class="highlighter-rouge">emulated_hue</code></a> component means that unless you set <code class="highlighter-rouge">type: alexa</code> before starting up the newer Home Assistant version you will lose all devices that Alexa has discovered and will need to re-add them as well as create new groups.</li>
@ -258,28 +208,18 @@
<li>The <a href="https://home-assistant.io/components/media_player.sonos/">Sonos</a> service <code class="highlighter-rouge">sonos_group_players</code> was removed. Use now <code class="highlighter-rouge">sonos_join</code> for this function.</li>
<li>TTS cache have change for the last time. Files use now also a option hash as part of the name. If you want to use the cache, it need to be renamed or cleared, new created. E. g. <code class="highlighter-rouge">HASH_LANG_PLATFORM.xxx</code> -&gt; <code class="highlighter-rouge">HASH_LANG_OPTIONS_PLATFORM.xxx</code>, replace <em>OPTIONS</em> with <code class="highlighter-rouge">-</code> on exiting platforms.</li>
</ul>
<h3><a class="title-link" name="if-you-need-help" href="#if-you-need-help"></a> If you need help…</h3>
<p>…dont hesitate to use our <a href="https://community.home-assistant.io/">Forum</a> or join us for a little <a href="https://gitter.im/home-assistant/home-assistant">chat</a>. The release notes have comments enabled but its preferred if you use the former communication channels. Thanks.</p>
<h3><a class="title-link" name="reporting-issues" href="#reporting-issues"></a> Reporting Issues</h3>
<p>Experiencing issues introduced by this release? Please report them in our <a href="https://github.com/home-assistant/home-assistant/issues">issue tracker</a>. Make sure to fill in all fields of the issue template.</p>
</article>
<section id="disqus">
<h3 class="indent title">Comments</h3>
<div id="disqus_thread" aria-live="polite"><noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript></div>
</section>
</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">
@ -295,74 +235,45 @@
<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="sharing aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Share this post</h1>
<a href="//twitter.com/share"
class="twitter-share-button"
data-via="home_assistant"
data-related="home_assistant"
data-url="https://home-assistant.io/blog/2017/01/28/face-coffee-wink/"
data-counturl="https://home-assistant.io/blog/2017/01/28/face-coffee-wink/" >Tweet</a>
<div class="fb-share-button" style='top: -6px;'
data-href="https://home-assistant.io/blog/2017/01/28/face-coffee-wink/"
data-layout="button_count">
</div>
<div class="g-plusone" data-size="standard"></div>
</section>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<section id="recent-posts" class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Recent Posts</h1>
<ul class="divided">
<li class="post">
<a href="/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/">Home Assistant 0.40: Turn any Android phone into an IP Webcam</a>
</li>
<li class="post">
<a href="/blog/2017/02/25/config-panel-and-state-restoration/">0.39: Configuration panel, state restoration and improved docs</a>
</li>
<li class="post">
<a href="/blog/2017/02/22/home-assistant-tshirts-have-arrived/">Home Assistant t-shirts have arrived!</a>
</li>
<li class="post">
<a href="/blog/2017/02/14/clt-workshop/">Workshop at CLT 2017</a>
</li>
<li class="post">
<a href="/blog/2017/02/11/alert-appletv-mqtt-yeelight/">0.38: Alert, AppleTV, MQTT discovery, and Yeelight</a>
</li>
</ul>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -372,7 +283,6 @@
<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 />
@ -384,7 +294,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -393,13 +302,10 @@
</script>
<script>
var disqus_shortname = 'home-assistant';
// var disqus_developer = 1;
var disqus_identifier = 'https://home-assistant.io/blog/2017/01/28/face-coffee-wink/';
var disqus_url = 'https://home-assistant.io/blog/2017/01/28/face-coffee-wink/';
var disqus_script = 'embed.js';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
@ -407,4 +313,4 @@
}());
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Smart Baby Monitor - Home Assistant</title>
<meta name="author" content="Pascal Vizeli">
<meta name="description" content="How to build your own smart baby monitor">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/2017/02/03/babyphone/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Smart Baby Monitor">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="How to build your own smart baby monitor">
<meta property="og:image" content="https://home-assistant.io/images/blog/2017-02-babyphone/social.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@home_assistant">
<meta name="twitter:title" content="Smart Baby Monitor">
<meta name="twitter:description" content="How to build your own smart baby monitor">
<meta name="twitter:image" content="https://home-assistant.io/images/blog/2017-02-babyphone/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="/docs/">Docs</a></li>
@ -64,27 +53,15 @@
</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="post">
<header>
<h1 class="title indent">Smart Baby Monitor</h1>
<div class="meta clearfix">
<time datetime="2017-02-03T23:00:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> February 4, 2017</time>
<span class="byline author vcard"><i class='icon-user'></i> Pascal Vizeli</span>
@ -92,50 +69,31 @@
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>How-To</li>
</ul>
</span>
<a class='comments'
href="#disqus_thread"
>Comments</a>
</div>
</header>
<p>One of the hardest part of being a parent is keeping a constant eye on the baby to make sure that baby is doing well. Thus, it is not surprising that baby monitors are one of the fastest growing baby product category. However, many of the baby monitors available on the market are rather dumb and expect the parents to keep looking at the video stream or listen to the audio. This how-to will help you create a smart baby monitor on a budget and integrate it with Home Assitant. Instead of relying on the poor quality baby monitor speakers, we use our existing speakers (eg. Sonos). We can also send notifications (with pictures) to avoid constant monitoring of the feed.</p>
<p>Obviously, you can use the setup as a general purpose surveillance system to monitor noise in the whole house.</p>
<a name="read-more"></a>
<h3><a class="title-link" name="setup" href="#setup"></a> Setup</h3>
<p>We need an IP camera that can capture sound in the babys room. It is also possible to use a Raspberry Pi with a microphone and send the audio to Home Assistant with <code class="highlighter-rouge">ffmpeg -f alsa -i hw:1,0 -vn -f rtp rtp://236.0.0.1:2000</code> over multicast. We can set the <code class="highlighter-rouge">input</code> option on the Home Assistant side to <code class="highlighter-rouge">rtp://236.0.0.1:2000</code> in same network.</p>
<p>Next, we attach a FFmpeg noise binary sensor to our IP camera. The sensor has an output <code class="highlighter-rouge">option</code> that allows us to send the output to an <a href="http://icecast.org/">icecast2</a> server for playing over speakers integrated with Home Assistant (eg. Sonos). We can use the binary sensor in our automation. You can ignore the icecast2 setup if you dont want to play the audio after the noise sensor trigger.</p>
<p class="note">
We change the platform name for binary sensor in 0.38 from <code class="highlighter-rouge">ffmpeg</code> to <code class="highlighter-rouge">ffmpeg_noise</code>. Also all service going to component and was rename from <code class="highlighter-rouge">binary_sensor.ffmpeg_xy</code> to <code class="highlighter-rouge">ffmpeg.xy</code>.
</p>
<p>On Raspbian Jessie, you can setup <a href="/components/ffmpeg">FFmpeg</a> and install a <a href="http://icecast.org/">icecast2</a> server using:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo <span class="nb">echo</span> <span class="s2">"deb http://ftp.debian.org/debian jessie-backports main"</span> &gt;&gt; /etc/apt/sources.list
<span class="gp">$ </span>sudo apt-get update
<span class="gp">$ </span>sudo apt-get -t jessie-backports install ffmpeg
<span class="gp">$ </span>sudo apt-get install icecast2
</code></pre>
</div>
<p>We setup a icecast mount point for our babyphone and update <code class="highlighter-rouge">/etc/icecast2/icecast.xml</code>:</p>
<div class="highlighter-rouge"><pre class="highlight"><code>&lt;mount&gt;
&lt;mount-name&gt;/babyphone.mp3&lt;/mount-name&gt;
&lt;stream-name&gt;Babyphone&lt;/stream-name&gt;
@ -145,11 +103,8 @@ We change the platform name for binary sensor in 0.38 from <code class="highligh
&lt;/mount&gt;
</code></pre>
</div>
<p>Now we can add the noise sensor to Home Assistant. We can lower the sensitivity of the sensor (so that you are not inundated with notifications for every cough of the baby) to 2 seconds using the <code class="highlighter-rouge">duration</code> option. The sensor should wait 60 seconds before restoring and it prevent us that a wine break will triggering a new alarm.</p>
<p>We can optimize the audio stream for human voice by using a highpass filter with 300 Hz and a lowpass filter with 2500 Hz. This filters out all non-human sounds such as background noise. We can even add a volume amplifier if the microphone volume is too low (you can remove it from <code class="highlighter-rouge">extra_arguments</code>). For icecast2 we convert the audio stream to mp3 with samplerate of 16000 (which is the minimum for Sonos speakers). We use <code class="highlighter-rouge">peak</code> to set the threshold for noise detection, where 0 dB is very loud and -100 dB is low.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">binary_sensor</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">platform</span><span class="pi">:</span> <span class="s">ffmpeg_noise</span>
<span class="s">input</span><span class="pi">:</span> <span class="s">rtsp://user:pw@my_input/video</span>
@ -161,9 +116,7 @@ We change the platform name for binary sensor in 0.38 from <code class="highligh
<span class="s">peak</span><span class="pi">:</span> <span class="s">-32</span>
</code></pre>
</div>
<p>We use the option <code class="highlighter-rouge">initial_state</code> to prevent the FFmpeg process from starting with Home Assistant and only start it when needed. We use an <code class="highlighter-rouge">input_boolean</code> to control the state of FFmpeg services using the following automation.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">input_boolean</span><span class="pi">:</span>
<span class="s">babyphone</span><span class="pi">:</span>
<span class="s">name</span><span class="pi">:</span> <span class="s">babyphone</span>
@ -191,11 +144,8 @@ We change the platform name for binary sensor in 0.38 from <code class="highligh
<span class="s">entity_id</span><span class="pi">:</span> <span class="s">binary_sensor.ffmpeg_noise</span>
</code></pre>
</div>
<h3><a class="title-link" name="trigger-a-alarm" href="#trigger-a-alarm"></a> Trigger a alarm</h3>
<p>Now we can make a lot stuff. Here is a simple example of an automation what should be possible with Sonos speakers.</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">automation</span><span class="pi">:</span>
<span class="pi">-</span> <span class="s">alias</span><span class="pi">:</span> <span class="s1">'</span><span class="s">Babyphone</span><span class="nv"> </span><span class="s">alarm</span><span class="nv"> </span><span class="s">on'</span>
<span class="s">trigger</span><span class="pi">:</span>
@ -239,26 +189,16 @@ We change the platform name for binary sensor in 0.38 from <code class="highligh
<span class="pi">-</span> <span class="s">light.bedroom</span>
</code></pre>
</div>
<h3><a class="title-link" name="thanks" href="#thanks"></a> Thanks</h3>
<p>Special thanks to <a href="https://github.com/arsaboo">arsaboo</a> for assistance in writing this blogpost.</p>
</article>
<section id="disqus">
<h3 class="indent title">Comments</h3>
<div id="disqus_thread" aria-live="polite"><noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript></div>
</section>
</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">
@ -274,74 +214,45 @@ We change the platform name for binary sensor in 0.38 from <code class="highligh
<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="sharing aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Share this post</h1>
<a href="//twitter.com/share"
class="twitter-share-button"
data-via="home_assistant"
data-related="home_assistant"
data-url="https://home-assistant.io/blog/2017/02/03/babyphone/"
data-counturl="https://home-assistant.io/blog/2017/02/03/babyphone/" >Tweet</a>
<div class="fb-share-button" style='top: -6px;'
data-href="https://home-assistant.io/blog/2017/02/03/babyphone/"
data-layout="button_count">
</div>
<div class="g-plusone" data-size="standard"></div>
</section>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<section id="recent-posts" class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Recent Posts</h1>
<ul class="divided">
<li class="post">
<a href="/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/">Home Assistant 0.40: Turn any Android phone into an IP Webcam</a>
</li>
<li class="post">
<a href="/blog/2017/02/25/config-panel-and-state-restoration/">0.39: Configuration panel, state restoration and improved docs</a>
</li>
<li class="post">
<a href="/blog/2017/02/22/home-assistant-tshirts-have-arrived/">Home Assistant t-shirts have arrived!</a>
</li>
<li class="post">
<a href="/blog/2017/02/14/clt-workshop/">Workshop at CLT 2017</a>
</li>
<li class="post">
<a href="/blog/2017/02/11/alert-appletv-mqtt-yeelight/">0.38: Alert, AppleTV, MQTT discovery, and Yeelight</a>
</li>
</ul>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -351,7 +262,6 @@ We change the platform name for binary sensor in 0.38 from <code class="highligh
<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 />
@ -363,7 +273,6 @@ We change the platform name for binary sensor in 0.38 from <code class="highligh
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -372,13 +281,10 @@ We change the platform name for binary sensor in 0.38 from <code class="highligh
</script>
<script>
var disqus_shortname = 'home-assistant';
// var disqus_developer = 1;
var disqus_identifier = 'https://home-assistant.io/blog/2017/02/03/babyphone/';
var disqus_url = 'https://home-assistant.io/blog/2017/02/03/babyphone/';
var disqus_script = 'embed.js';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
@ -386,4 +292,4 @@ We change the platform name for binary sensor in 0.38 from <code class="highligh
}());
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>HASSbian 1.1 - The Toy-box - Home Assistant</title>
<meta name="author" content="Fredrik Lindqvist">
<meta name="description" content="New release of the HASSbian Raspberry Pi Image for Home Assistant">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/2017/02/04/hassbian-toybox/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="HASSbian 1.1 - The Toy-box">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,31 @@
<meta property="og:type" content="article">
<meta property="og:description" content="New release of the HASSbian Raspberry Pi Image for Home Assistant">
<meta property="og:image" content="https://home-assistant.io/images/default-social.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@home_assistant">
<meta name="twitter:title" content="HASSbian 1.1 - The Toy-box">
<meta name="twitter:description" content="New release of the HASSbian Raspberry Pi Image for Home Assistant">
<meta name="twitter:image" content="https://home-assistant.io/images/default-social.png">
<link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet">
<link href="/atom.xml" rel="alternate" title="Home Assistant" type="application/atom+xml">
<link rel='shortcut icon' href='/images/favicon.ico' />
<link rel='icon' type='image/png' href='/images/favicon-192x192.png' sizes='192x192' />
</head>
<body >
<header>
<div class="grid-wrapper">
<div class="grid">
<div class="grid__item three-tenths lap-two-sixths palm-one-whole ha-title">
<a href="/" class="site-title">
<img width='40' src='/demo/favicon-192x192.png'>
<span>Home Assistant</span>
</a>
</div>
<div class="grid__item seven-tenths lap-four-sixths palm-one-whole">
<nav>
<input type="checkbox" id="toggle">
<label for="toggle" class="toggle" data-open="Main Menu" data-close="Close Menu"></label>
<ul class="menu pull-right">
<li><a href="/getting-started/">Getting started</a></li>
<li><a href="/components/">Components</a></li>
<li><a href="/docs/">Docs</a></li>
@ -64,27 +53,15 @@
</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="post">
<header>
<h1 class="title indent">HASSbian 1.1 - The Toy-box</h1>
<div class="meta clearfix">
<time datetime="2017-02-04T09:00:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> February 4, 2017</time>
<span class="byline author vcard"><i class='icon-user'></i> Fredrik Lindqvist</span>
@ -92,28 +69,17 @@
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Technology</li>
</ul>
</span>
<a class='comments'
href="#disqus_thread"
>Comments</a>
</div>
</header>
<p>Tonight Im happy to announce a new release of the our Raspberry Pi image, <strong>HASSbian 1.1 - The Toy-box.</strong><br />
Why Toy-box you wonder? Because it encompass the changes pretty well.</p>
<p>Changes from previous image are big and small but lets start with the interesting things.</p>
<h3><a class="title-link" name="hassbian-scripts" href="#hassbian-scripts"></a> Hassbian-scripts</h3>
<p>A set of script written to add extra functionality to your Raspberry Pi installation.
This scripts are run as the <code class="highlighter-rouge">pi</code> user and installs a set of tools or packages.
@ -124,7 +90,6 @@ Currently includes:</p>
<li>Install OpenZWave. Installs OpenZWave and prepares for using a USB or GPIO ZWave controller.</li>
<li>Install Samba. Installs the Samba packages and shares your configuration over smb to be available to edit on any computer without the need for separate file transfer software. This share is unsecured and its usage is not recommended if your installation is publicly available.</li>
</ul>
<p>All of these scripts are available in the directory <code class="highlighter-rouge">/home/pi/hassbian-scripts/</code>. This directory is actually a cloned git repository thats cloned on first boot and can be updated to the latest release with ease after.
To update the hassbian-scripts directory execute the following command as the <code class="highlighter-rouge">pi</code> user.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span><span class="nb">cd </span>hassbian-scripts
@ -135,9 +100,7 @@ To update the hassbian-scripts directory execute the following command as the <c
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo ./hassbian-scripts/install_libcec.sh
</code></pre>
</div>
<p>For more information about these scripts have a look a the <a href="https://github.com/home-assistant/hassbian-scripts">hassbian-scripts repository</a>.</p>
<h3><a class="title-link" name="spring-cleaning" href="#spring-cleaning"></a> Spring cleaning</h3>
<p>With this image there also quite a bit of cleaning of the base system and the script that generates our Raspberry Pi image.</p>
<ul>
@ -149,30 +112,19 @@ To update the hassbian-scripts directory execute the following command as the <c
<li>Added tmux. A great terminal multiplexer that makes working with the command line over ssh easier.</li>
<li>Added the <code class="highlighter-rouge">homeassistant</code> user to the <code class="highlighter-rouge">dialout</code> group. Simplifies use of hardware such as ZWave USB controllers that requires this permission.</li>
</ul>
<h3><a class="title-link" name="on-the-horizon" href="#on-the-horizon"></a> On the horizon</h3>
<p>Theres of course more on the horizon and theres even more plans and wishes for how this image will function in the future.
On the close horizon from <a href="https://github.com/Landrash">@Landrash</a> there a few more script in the works and for tellstick, emulated_hue and for controlling Home Assistant.</p>
<p>To follow discussions about the development of the HASSbian image or to contribute join the <a href="https://gitter.im/home-assistant/hassbian">HASSbian gitter chat</a>.</p>
<p>To get started with the new image, check out the installation instructions in the <a href="/getting-started/installation-raspberry-pi-image/">getting started section</a>.</p>
</article>
<section id="disqus">
<h3 class="indent title">Comments</h3>
<div id="disqus_thread" aria-live="polite"><noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript></div>
</section>
</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">
@ -188,74 +140,45 @@ On the close horizon from <a href="https://github.com/Landrash">@Landrash</a> th
<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="sharing aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Share this post</h1>
<a href="//twitter.com/share"
class="twitter-share-button"
data-via="home_assistant"
data-related="home_assistant"
data-url="https://home-assistant.io/blog/2017/02/04/hassbian-toybox/"
data-counturl="https://home-assistant.io/blog/2017/02/04/hassbian-toybox/" >Tweet</a>
<div class="fb-share-button" style='top: -6px;'
data-href="https://home-assistant.io/blog/2017/02/04/hassbian-toybox/"
data-layout="button_count">
</div>
<div class="g-plusone" data-size="standard"></div>
</section>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<section id="recent-posts" class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Recent Posts</h1>
<ul class="divided">
<li class="post">
<a href="/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/">Home Assistant 0.40: Turn any Android phone into an IP Webcam</a>
</li>
<li class="post">
<a href="/blog/2017/02/25/config-panel-and-state-restoration/">0.39: Configuration panel, state restoration and improved docs</a>
</li>
<li class="post">
<a href="/blog/2017/02/22/home-assistant-tshirts-have-arrived/">Home Assistant t-shirts have arrived!</a>
</li>
<li class="post">
<a href="/blog/2017/02/14/clt-workshop/">Workshop at CLT 2017</a>
</li>
<li class="post">
<a href="/blog/2017/02/11/alert-appletv-mqtt-yeelight/">0.38: Alert, AppleTV, MQTT discovery, and Yeelight</a>
</li>
</ul>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -265,7 +188,6 @@ On the close horizon from <a href="https://github.com/Landrash">@Landrash</a> th
<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 />
@ -277,7 +199,6 @@ On the close horizon from <a href="https://github.com/Landrash">@Landrash</a> th
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -286,13 +207,10 @@ On the close horizon from <a href="https://github.com/Landrash">@Landrash</a> th
</script>
<script>
var disqus_shortname = 'home-assistant';
// var disqus_developer = 1;
var disqus_identifier = 'https://home-assistant.io/blog/2017/02/04/hassbian-toybox/';
var disqus_url = 'https://home-assistant.io/blog/2017/02/04/hassbian-toybox/';
var disqus_script = 'embed.js';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
@ -300,4 +218,4 @@ On the close horizon from <a href="https://github.com/Landrash">@Landrash</a> th
}());
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>0.38: Alert, AppleTV, MQTT discovery, and Yeelight - Home Assistant</title>
<meta name="author" content="Robbie Trencheny, Fabian Affolter">
<meta name="description" content="Faster and more configurable frontend, configuration check, and complete move to async for core">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/2017/02/11/alert-appletv-mqtt-yeelight/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="0.38: Alert, AppleTV, MQTT discovery, and Yeelight">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,32 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Faster and more configurable frontend, configuration check, and complete move to async for core">
<meta property="og:image" content="https://home-assistant.io/images/blog/2017-02-0.38/social.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@home_assistant">
<meta name="twitter:creator" content="@robbie">
<meta name="twitter:title" content="0.38: Alert, AppleTV, MQTT discovery, and Yeelight">
<meta name="twitter:description" content="Faster and more configurable frontend, configuration check, and complete move to async for core">
<meta name="twitter:image" content="https://home-assistant.io/images/blog/2017-02-0.38/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="/docs/">Docs</a></li>
@ -64,27 +54,15 @@
</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="post">
<header>
<h1 class="title indent">0.38: Alert, AppleTV, MQTT discovery, and Yeelight</h1>
<div class="meta clearfix">
<time datetime="2017-02-11T08:04:05+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> February 11, 2017</time>
<span class="byline author vcard"><i class='icon-user'></i> Robbie Trencheny, Fabian Affolter</span>
@ -92,25 +70,15 @@
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="#disqus_thread"
>Comments</a>
</div>
</header>
<p>Another Saturday, another release!</p>
<h3><a class="title-link" name="core-updates" href="#core-updates"></a> Core updates</h3>
<ul>
<li>
@ -120,28 +88,20 @@
<p>Now when you restart Home Assistant using the <code class="highlighter-rouge">homeassistant.restart</code> service, your configuration is checked. If it appears to be invalid the restart will fail.</p>
</li>
</ul>
<h3><a class="title-link" name="rewritten-frontend" href="#rewritten-frontend"></a> Rewritten frontend</h3>
<p>The frontend has been completely been rewritten, optimizing for speed and lost connection recovery. Even on the slowest phones it should fly now. The frontend also now uses the new <a href="https://home-assistant.io/developers/websocket_api/">WebSockets API</a> instead of the <a href="https://home-assistant.io/developers/server_sent_events/">EventStream API</a>.</p>
<h3><a class="title-link" name="custom-state-card-ui" href="#custom-state-card-ui"></a> Custom state card UI</h3>
<p>A nice new feature is the possibility to create <a href="https://home-assistant.io/developers/frontend_creating_custom_ui/">custom state cards</a> in the frontend. Go ahead and write your own state card for <a href="https://home-assistant.io/cookbook/custom_ui_by_andrey-git">lights</a>, sensors, locks, etc.</p>
<h3><a class="title-link" name="mqtt-discovery" href="#mqtt-discovery"></a> MQTT discovery</h3>
<p>MQTT now has <a href="https://home-assistant.io/components/mqtt/#discovery">discovery</a> support which is different than our <a href="https://home-assistant.io/components/discovery/"><code class="highlighter-rouge">discovery</code></a> component. Similar to the HTTP sensor and HTTP binary sensor, MQTT discovery removes the need for configuration by allowing devices to make their presence known to Home Assistant.</p>
<h3><a class="title-link" name="alert-component" href="#alert-component"></a> Alert component</h3>
<p>If you left your front door open, then the new <a href="https://home-assistant.io/components/alert/"><code class="highlighter-rouge">alert</code></a> component can be used to remind you of this by sending you repeating notifications at a given interval.</p>
<h3><a class="title-link" name="yeelight" href="#yeelight"></a> Yeelight</h3>
<p>The <a href="https://home-assistant.io/components/light.yeelight/"><code class="highlighter-rouge">yeelight</code></a> component has been ported to use a more stable and feature-complete <a href="https://gitlab.com/stavros/python-yeelight">python-yeelight</a> backend, and supports now both white and RGB bulbs. The component also supports transitions and can be configured to save the settings to the bulb on changes. The users currently using custom components for Yeelight are encouraged to move back to use the included version and report any problems with it to our <a href="https://github.com/home-assistant/home-assistant/issues">issue tracker</a>.</p>
<h3><a class="title-link" name="apple-tv" href="#apple-tv"></a> Apple TV</h3>
<p><a href="https://home-assistant.io/components/media_player.apple_tv/">Apple TV</a> is now a supported <a href="https://home-assistant.io/components/media_player/"><code class="highlighter-rouge">media_player</code></a>! It has support for just about every media player function, including a realtime display of playback status and artwork.</p>
<h3><a class="title-link" name="all-changes" href="#all-changes"></a> All changes</h3>
<h4><a class="title-link" name="new-platformscomponents" href="#new-platformscomponents"></a> New platforms/components</h4>
<ul>
<li>Sensor: Support for monitoring <a href="https://home-assistant.io/components/sensor.openevse/">OpenEVSE</a> chargers (<a href="https://github.com/miniconfig">@miniconfig</a>)</li>
<li>Voice command <a href="https://home-assistant.io/components/apiai/">API.AI</a> (<a href="https://github.com/adrianlzt">@adrianlzt</a>)</li>
@ -157,9 +117,7 @@
<li>Notify: <a href="https://home-assistant.io/components/notify.mailgun/">Mailgun</a> notify service (<a href="https://github.com/pschmitt">@pschmitt</a>)</li>
<li>Image Processing: Support <a href="https://home-assistant.io/components/image_processing.microsoft_face_detect/">Microsoft Face detection</a> (<a href="https://github.com/pvizeli">@pvizeli</a>)</li>
</ul>
<h4><a class="title-link" name="improvements" href="#improvements"></a> Improvements</h4>
<ul>
<li>Switch - Pilight: Validation no longer rejects alphanumeric IDs (<a href="https://github.com/DavidLP">@DavidLP</a>)</li>
<li>Device tracker - ASUSWrt: Fixes <code class="highlighter-rouge">ip neigh</code> regex to handle the possible IPv6 “router” flag (<a href="https://github.com/kylehendricks">@kylehendricks</a>)</li>
@ -206,18 +164,13 @@
<li>Zoneminder: Refactoring and JSON decode error handling (<a href="https://github.com/pschmitt">@pschmitt</a>)</li>
<li>Image processing: Cleanup Base face class add support for microsoft face detect (<a href="https://github.com/pvizeli">@pvizeli</a>)</li>
</ul>
<p>Bugfixes: <a href="https://github.com/balloob">@balloob</a>, <a href="https://github.com/fabaff">@fabaff</a>, <a href="https://github.com/pvizeli">@pvizeli</a>, <a href="https://github.com/Danielhiversen">@mnoorenberghe</a>, <a href="https://github.com/armills">@armills</a>, <a href="https://github.com/tchellomello">@tchellomello</a>, <a href="https://github.com/aequitas">@aequitas</a>, <a href="https://github.com/mathewpeterson">@mathewpeterson</a>, <a href="https://github.com/molobrakos">@molobrakos</a>, <a href="https://github.com/michaelarnauts">@michaelarnauts</a>, <a href="https://github.com/jabesq">@jabesq</a>, <a href="https://github.com/turbokongen">@turbokongen</a>, <a href="https://github.com/JshWright">@JshWright</a>, <a href="https://github.com/andriej">@andriej</a>, <a href="https://github.com/jawilson">@jawilson</a>, <a href="https://github.com/andrey-git">@andrey-git</a>, <a href="https://github.com/nodinosaur">@nodinosaur</a>, <a href="https://github.com/konikvranik">@konikvranik</a>, and you if you are missing here.</p>
<h3><a class="title-link" name="release-0381---february-12" href="#release-0381---february-12"></a> Release 0.38.1 - February 12</h3>
<ul>
<li>Fix logbook ordering (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Fix AppleTV conflicting dependency breaking websockets (<a href="https://github.com/balloob">@balloob</a>)</li>
</ul>
<h3><a class="title-link" name="release-0382---february-12" href="#release-0382---february-12"></a> Release 0.38.2 - February 12</h3>
<ul>
<li>Validate config will now respect custom config location (<a href="https://github.com/balloob">@balloob</a>)</li>
<li>Fix Nuki lock on Python 3.4 (<a href="https://github.com/pschmitt">@pschmitt</a>)</li>
@ -226,9 +179,7 @@
<li>Fix MQTT discovery (<a href="https://github.com/fabaff">@fabaff</a>)</li>
<li>Fix Z-Wave thermostat units (<a href="https://github.com/turbokongen">@turbokongen</a>)</li>
</ul>
<h3><a class="title-link" name="release-0383---february-15" href="#release-0383---february-15"></a> Release 0.38.3 - February 15</h3>
<ul>
<li>Sonos: fix losing favorite sources on disconnect (<a href="https://github.com/pvizeli">@pvizeli</a>)</li>
<li>Google Calendar: fix timeMin losing events (<a href="https://github.com/happyleavesaoc">@happyleavesaoc</a>)</li>
@ -237,14 +188,11 @@
<li>Moon: remove unit of measurement (<a href="https://github.com/fabaff">@fabaff</a>)</li>
<li>MySensors: add version requirement to notify and device tracker (<a href="https://github.com/MartinHjelmare">@MartinHjelmare</a>)</li>
</ul>
<h3><a class="title-link" name="release-0384---february-21" href="#release-0384---february-21"></a> Release 0.38.4 - February 21</h3>
<ul>
<li>Discovery: flux_led discovery led to problems on systems and has been removed (<a href="https://github.com/bazwilliams">@bazwilliams</a>)</li>
<li>Hidden devices are no longer visible on views (<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>The support for <a href="https://home-assistant.io/components/media_player.webostv/">LG webOS Smart TVs</a> was improved. This requires you to move <code class="highlighter-rouge">$HOME/.pylgtv</code> to <code class="highlighter-rouge">$HASS_CONFIG_DIR/webostv.conf</code> or Home Assistant will need to be paired with the TV again.</li>
@ -252,28 +200,18 @@
<li>The <a href="https://home-assistant.io/components/binary_sensor.ffmpeg/">FFmpeg binary sensor</a> change the platform name from <code class="highlighter-rouge">ffmpeg</code> to <code class="highlighter-rouge">ffmpeg_noise</code> and <code class="highlighter-rouge">ffmpeg_motion</code>. Also all FFmpeg-related services are moved from a platform implementation to a the <a href="https://home-assistant.io/components/ffmpeg/">FFmpeg components</a> and were rename from <code class="highlighter-rouge">binary_sensor.ffmpeg_xy</code> to <code class="highlighter-rouge">ffmpeg.xy</code>.</li>
<li>The frontend core changes have caused all custom panels to break. Docs have not been updated yet. The gist is that you have to use <code class="highlighter-rouge">this.hass.entities</code>, <code class="highlighter-rouge">this.hass.callService</code> and <code class="highlighter-rouge">this.hass.callApi</code>.</li>
</ul>
<h3><a class="title-link" name="if-you-need-help" href="#if-you-need-help"></a> If you need help…</h3>
<p>…dont hesitate to use our very active <a href="https://community.home-assistant.io/">forums</a> or join us for a little <a href="https://gitter.im/home-assistant/home-assistant">chat</a>. The release notes have comments enabled but its preferred if you use the former communication channels. Thanks.</p>
<h3><a class="title-link" name="reporting-issues" href="#reporting-issues"></a> Reporting Issues</h3>
<p>Experiencing issues introduced by this release? Please report them in our <a href="https://github.com/home-assistant/home-assistant/issues">issue tracker</a>. Make sure to fill in all fields of the issue template.</p>
</article>
<section id="disqus">
<h3 class="indent title">Comments</h3>
<div id="disqus_thread" aria-live="polite"><noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript></div>
</section>
</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">
@ -289,70 +227,42 @@
<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="sharing aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Share this post</h1>
<a href="//twitter.com/share"
class="twitter-share-button"
data-via="home_assistant"
data-related="home_assistant"
data-url="https://home-assistant.io/blog/2017/02/11/alert-appletv-mqtt-yeelight/"
data-counturl="https://home-assistant.io/blog/2017/02/11/alert-appletv-mqtt-yeelight/" >Tweet</a>
<div class="fb-share-button" style='top: -6px;'
data-href="https://home-assistant.io/blog/2017/02/11/alert-appletv-mqtt-yeelight/"
data-layout="button_count">
</div>
<div class="g-plusone" data-size="standard"></div>
</section>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<section id="recent-posts" class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Recent Posts</h1>
<ul class="divided">
<li class="post">
<a href="/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/">Home Assistant 0.40: Turn any Android phone into an IP Webcam</a>
</li>
<li class="post">
<a href="/blog/2017/02/25/config-panel-and-state-restoration/">0.39: Configuration panel, state restoration and improved docs</a>
</li>
<li class="post">
<a href="/blog/2017/02/22/home-assistant-tshirts-have-arrived/">Home Assistant t-shirts have arrived!</a>
</li>
<li class="post">
<a href="/blog/2017/02/14/clt-workshop/">Workshop at CLT 2017</a>
</li>
</ul>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -362,7 +272,6 @@
<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 />
@ -374,7 +283,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -383,13 +291,10 @@
</script>
<script>
var disqus_shortname = 'home-assistant';
// var disqus_developer = 1;
var disqus_identifier = 'https://home-assistant.io/blog/2017/02/11/alert-appletv-mqtt-yeelight/';
var disqus_url = 'https://home-assistant.io/blog/2017/02/11/alert-appletv-mqtt-yeelight/';
var disqus_script = 'embed.js';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
@ -397,4 +302,4 @@
}());
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>Workshop at CLT 2017 - Home Assistant</title>
<meta name="author" content="Fabian Affolter">
<meta name="description" content="Home Assistant Workshop at the Chemnitzer Linux-Tage 2017">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/2017/02/14/clt-workshop/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Workshop at CLT 2017">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,32 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Home Assistant Workshop at the Chemnitzer Linux-Tage 2017">
<meta property="og:image" content="https://home-assistant.io/images/blog/2017-02-workshop/social.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@home_assistant">
<meta name="twitter:creator" content="@fabaff">
<meta name="twitter:title" content="Workshop at CLT 2017">
<meta name="twitter:description" content="Home Assistant Workshop at the Chemnitzer Linux-Tage 2017">
<meta name="twitter:image" content="https://home-assistant.io/images/blog/2017-02-workshop/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="/docs/">Docs</a></li>
@ -64,27 +54,15 @@
</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="post">
<header>
<h1 class="title indent">Workshop at CLT 2017</h1>
<div class="meta clearfix">
<time datetime="2017-02-14T08:04:05+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> February 14, 2017</time>
<span class="byline author vcard"><i class='icon-user'></i> Fabian Affolter</span>
@ -92,29 +70,17 @@
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Community</li>
</ul>
</span>
<a class='comments'
href="#disqus_thread"
>Comments</a>
</div>
</header>
<p>There will be a Home Assistant Workshop at the <a href="https://chemnitzer.linux-tage.de/2017/">Chemnitzer Linux-Tage 2017</a>. First I will cover the installation, the setup, and the configuration process. The second part will be all about automation. Last but not least, we will talk about the integration of a new platform/component.</p>
<p>Check the Workshop <a href="https://chemnitzer.linux-tage.de/2017/en/programm/beitrag/356">overview</a> to get the details.</p>
<p><a href="https://chemnitzer.linux-tage.de/2017/en/programm/anmeldung/workshop/356">Reqistration</a> is required as the places in the room are limited. The deadline for the registration is March, 8th 2017.</p>
<ul>
<li>Location: Technische Universität Chemnitz, Reichenhainer Straße 90, 09126 Chemnitz, Germany</li>
<li>Date: March, 12th 2017</li>
@ -122,21 +88,13 @@
<li>Language: German</li>
</ul>
</article>
<section id="disqus">
<h3 class="indent title">Comments</h3>
<div id="disqus_thread" aria-live="polite"><noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript></div>
</section>
</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">
@ -152,70 +110,42 @@
<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="sharing aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Share this post</h1>
<a href="//twitter.com/share"
class="twitter-share-button"
data-via="home_assistant"
data-related="home_assistant"
data-url="https://home-assistant.io/blog/2017/02/14/clt-workshop/"
data-counturl="https://home-assistant.io/blog/2017/02/14/clt-workshop/" >Tweet</a>
<div class="fb-share-button" style='top: -6px;'
data-href="https://home-assistant.io/blog/2017/02/14/clt-workshop/"
data-layout="button_count">
</div>
<div class="g-plusone" data-size="standard"></div>
</section>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<section id="recent-posts" class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Recent Posts</h1>
<ul class="divided">
<li class="post">
<a href="/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/">Home Assistant 0.40: Turn any Android phone into an IP Webcam</a>
</li>
<li class="post">
<a href="/blog/2017/02/25/config-panel-and-state-restoration/">0.39: Configuration panel, state restoration and improved docs</a>
</li>
<li class="post">
<a href="/blog/2017/02/22/home-assistant-tshirts-have-arrived/">Home Assistant t-shirts have arrived!</a>
</li>
<li class="post">
<a href="/blog/2017/02/11/alert-appletv-mqtt-yeelight/">0.38: Alert, AppleTV, MQTT discovery, and Yeelight</a>
</li>
</ul>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -225,7 +155,6 @@
<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 />
@ -237,7 +166,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -246,13 +174,10 @@
</script>
<script>
var disqus_shortname = 'home-assistant';
// var disqus_developer = 1;
var disqus_identifier = 'https://home-assistant.io/blog/2017/02/14/clt-workshop/';
var disqus_url = 'https://home-assistant.io/blog/2017/02/14/clt-workshop/';
var disqus_script = 'embed.js';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
@ -260,4 +185,4 @@
}());
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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 t-shirts have arrived! - Home Assistant</title>
<meta name="author" content="Paulus Schoutsen">
<meta name="description" content="You asked and asked and we finally caved: Home Assistant t-shirts are here!">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/2017/02/22/home-assistant-tshirts-have-arrived/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Home Assistant t-shirts have arrived!">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,32 @@
<meta property="og:type" content="article">
<meta property="og:description" content="You asked and asked and we finally caved: Home Assistant t-shirts are here!">
<meta property="og:image" content="https://home-assistant.io/images/blog/2017-02-shirts/social.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@home_assistant">
<meta name="twitter:creator" content="@balloob">
<meta name="twitter:title" content="Home Assistant t-shirts have arrived!">
<meta name="twitter:description" content="You asked and asked and we finally caved: Home Assistant t-shirts are here!">
<meta name="twitter:image" content="https://home-assistant.io/images/blog/2017-02-shirts/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="/docs/">Docs</a></li>
@ -64,27 +54,15 @@
</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="post">
<header>
<h1 class="title indent">Home Assistant t-shirts have arrived!</h1>
<div class="meta clearfix">
<time datetime="2017-02-22T00:04:05+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> February 22, 2017</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
@ -92,57 +70,37 @@
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Merchandise</li>
</ul>
</span>
<a class='comments'
href="#disqus_thread"
>Comments</a>
</div>
</header>
<p class="img">
<img src="/images/blog/2017-02-shirts/beard.png" />
Cool dude with beard and tattoo wearing <a href="https://teespring.com/home-assistant-shirt">the new blue Home Assistant shirt</a>.
</p>
<p>What time is it? Yep, t-shirt time. Today were launching the first two Home Assistant designs. We have a blue t-shirt (<a href="https://teespring.com/hass-blue-shirt-eu-2">🇪🇺 EU</a> <a href="https://teespring.com/home-assistant-shirt">🇺🇸 US</a>) as pictured above and a design for on black/gray shirts (<a href="https://teespring.com/hass-shirt-black-eu-2">🇪🇺 EU</a> <a href="https://teespring.com/hass-shirt-black">🇺🇸 US</a>) as pictured below.</p>
<ul>
<li><a href="https://teespring.com/stores/home-assistant-us-store">Visit the 🇺🇸 US store</a></li>
<li><a href="https://teespring.com/stores/home-assistant-eu-store">Visit the 🇪🇺 EU store</a></li>
</ul>
<p><a href="https://www.eff.org"><img src="/images/supported_brands/eff.png" style="width: 150px; float: right; box-shadow: none; border: 0; margin-left: 15px;" /></a></p>
<p>And because we love the internet and all the things that it has brought us, <strong>we will start with having 100% of the profit from the sales be donated to the <a href="https://www.eff.org">Electronic Frontier Foundation</a></strong>. If you buy a shirt you will hit two birds with one stone (figuratively): you get to wear a kick-ass Home Assistant t-shirt and you help fund defending civil liberties in the digital world.</p>
<p>The EFF is a nonprofit organization that aims to protect the rights of technology users. You might however be more familiar with one of their projects: <a href="https://letsencrypt.org">Lets Encrypt</a>. <a href="https://www.eff.org/issues">Read more about what the EFF does.</a></p>
<p>So, what are you waiting for? Get yourself a shirt! <a href="https://teespring.com/stores/home-assistant-eu-store">🇪🇺 EU store</a> <a href="https://teespring.com/stores/home-assistant-us-store">🇺🇸 US store</a></p>
<p class="img">
<img src="/images/blog/2017-02-shirts/family.png" />
Family of 4 on a bench wearing the new black Home Assistant shirt. <a href="https://teespring.com/hass-shirt-black-eu-2">🇪🇺 EU</a> <a href="https://teespring.com/hass-shirt-black">🇺🇸 US</a>
</p>
<p>We are using <a href="https://teespring.com">Teespring.com</a> to manage all the sales, production and distribution of the shirts and they will also donate our profits to the EFF. Its also how we got all these amazing stockphotos. Some extra things to note about our teespring shop:</p>
<ul>
<li>Teespring shows that there is a number of days left until the end of the campaign for the shirts. Dont worry about that, it should automatically relaunch.</li>
</ul>
<p>More photos after the click.
<a name="read-more"></a></p>
<p class="img">
<img src="/images/blog/2017-02-shirts/pull-finger.png" />
Moment suprême of a solo pull-my-finger joke while wearing the new blue Home Assistant shirt. <a href="https://teespring.com/hass-blue-shirt-eu-2">🇪🇺 EU</a> <a href="https://teespring.com/home-assistant-shirt">🇺🇸 US</a>
@ -164,21 +122,13 @@
Cool kid listening to music + sidekick. Both wearing the new blue Home Assistant shirt. <a href="https://teespring.com/hass-blue-shirt-eu-2">🇪🇺 EU</a> <a href="https://teespring.com/home-assistant-shirt">🇺🇸 US</a>
</p>
</article>
<section id="disqus">
<h3 class="indent title">Comments</h3>
<div id="disqus_thread" aria-live="polite"><noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript></div>
</section>
</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">
@ -194,70 +144,42 @@
<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="sharing aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Share this post</h1>
<a href="//twitter.com/share"
class="twitter-share-button"
data-via="home_assistant"
data-related="home_assistant"
data-url="https://home-assistant.io/blog/2017/02/22/home-assistant-tshirts-have-arrived/"
data-counturl="https://home-assistant.io/blog/2017/02/22/home-assistant-tshirts-have-arrived/" >Tweet</a>
<div class="fb-share-button" style='top: -6px;'
data-href="https://home-assistant.io/blog/2017/02/22/home-assistant-tshirts-have-arrived/"
data-layout="button_count">
</div>
<div class="g-plusone" data-size="standard"></div>
</section>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<section id="recent-posts" class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Recent Posts</h1>
<ul class="divided">
<li class="post">
<a href="/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/">Home Assistant 0.40: Turn any Android phone into an IP Webcam</a>
</li>
<li class="post">
<a href="/blog/2017/02/25/config-panel-and-state-restoration/">0.39: Configuration panel, state restoration and improved docs</a>
</li>
<li class="post">
<a href="/blog/2017/02/14/clt-workshop/">Workshop at CLT 2017</a>
</li>
<li class="post">
<a href="/blog/2017/02/11/alert-appletv-mqtt-yeelight/">0.38: Alert, AppleTV, MQTT discovery, and Yeelight</a>
</li>
</ul>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -267,7 +189,6 @@
<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 />
@ -279,7 +200,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -288,13 +208,10 @@
</script>
<script>
var disqus_shortname = 'home-assistant';
// var disqus_developer = 1;
var disqus_identifier = 'https://home-assistant.io/blog/2017/02/22/home-assistant-tshirts-have-arrived/';
var disqus_url = 'https://home-assistant.io/blog/2017/02/22/home-assistant-tshirts-have-arrived/';
var disqus_script = 'embed.js';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
@ -302,4 +219,4 @@
}());
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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>0.39: Configuration panel, state restoration and improved docs - Home Assistant</title>
<meta name="author" content="Paulus Schoutsen">
<meta name="description" content="0.39 is by far our best release yet.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/2017/02/25/config-panel-and-state-restoration/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="0.39: Configuration panel, state restoration and improved docs">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,32 @@
<meta property="og:type" content="article">
<meta property="og:description" content="0.39 is by far our best release yet.">
<meta property="og:image" content="https://home-assistant.io/images/blog/2017-02-0.39/social.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@home_assistant">
<meta name="twitter:creator" content="@balloob">
<meta name="twitter:title" content="0.39: Configuration panel, state restoration and improved docs">
<meta name="twitter:description" content="0.39 is by far our best release yet.">
<meta name="twitter:image" content="https://home-assistant.io/images/blog/2017-02-0.39/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="/docs/">Docs</a></li>
@ -64,27 +54,15 @@
</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="post">
<header>
<h1 class="title indent">0.39: Configuration panel, state restoration and improved docs</h1>
<div class="meta clearfix">
<time datetime="2017-02-25T08:04:05+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> February 25, 2017</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
@ -92,89 +70,54 @@
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="#disqus_thread"
>Comments</a>
</div>
</header>
<p>Its time for 0.39 and this release has some amazing new features!</p>
<p><a href="/components/#added_in_current_version"><img src="/images/blog/2017-02-0.39/social.png" style="border: 0;box-shadow: none;" /></a></p>
<h2>T-Shirts</h2>
<p>First off, in case you havent seen it yet: <a href="https://home-assistant.io/blog/2017/02/22/home-assistant-tshirts-have-arrived/">we have t-shirts</a> now and they are beautiful. All proceeds from the shirts will be donated to the Electronic Frontier Foundation. The first three days all of you have already raised $400! Still waiting for Teespring to get back to me so stay tuned for the EU store.</p>
<h2>Configuration panel</h2>
<p>Yep, you read that right. We have a configuration panel. Its just the first of many small steps. Putting in a foundation is important and gives us something to iterate on.</p>
<p>To start, we have three simple configuration panels:</p>
<ul>
<li>Core: allows you to validate config, reload core/group/automation config and restart/stop Home Assistant</li>
<li>Group: allows you to rename groups, change type between group/view and reorder entities.</li>
<li>Z-Wave: allows you to set device specific configuration settings</li>
</ul>
<p class="img">
<img src="/images/blog/2017-02-0.39/config.png" />
Screenshot of our new configuration panel.
</p>
<p>As a security measure, the configuration panel will need to be activated in the config file to be activated. This can be done by adding the following to your <code class="highlighter-rouge">configuration.yaml</code>:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">config</span><span class="pi">:</span>
</code></pre>
</div>
<p>Using our configuration panels will require you to structure your groups and Z-Wave device config according to how the configuration panel expects it. This is on purpose as it we will not be aiming to build a system that supports both our extended set of configuration extend hooks and our configuration panels. Its one or the other.</p>
<p>To activate them in your config, create empty files <code class="highlighter-rouge">groups.yaml</code> and <code class="highlighter-rouge">zwave_device_config.yaml</code> in your config dir and add the following entries to your config:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">group</span><span class="pi">:</span> <span class="kt">!include</span> <span class="s">groups.yaml</span>
<span class="s">zwave</span><span class="pi">:</span>
<span class="s">device_config</span><span class="pi">:</span> <span class="kt">!include</span> <span class="s">zwave_device_config.yaml</span>
</code></pre>
</div>
<p><em>Note that this is the first release. Things will be missing, things might be broken.</em></p>
<h2>Reorganized documentation</h2>
<p>Thanks to <a href="https://github.com/fabaff">Fabian</a> we have a great re-organized documentation. Is it perfect yet? No. But we are getting close. We put a lot of focus on making sure the Raspberry Pi is the main focus of our getting started. The other instructions are still available, just not as part of the main getting started.</p>
<h2>State restoration</h2>
<p>Ever have some input components or integrations and get annoyed with the fact that their state is lost after a restart? Dont worry any longer. <a href="https://github.com/kellerza">Johann</a> has added the foundation for state restoration to Home Assistant. For the initial release support has been added to to <code class="highlighter-rouge">input_select</code> and <code class="highlighter-rouge">input_boolean</code> components. We will be adding this to more integrations in the future.</p>
<h2>Breaking changes to customize and Z-Wave “customize”</h2>
<p>A couple of releases ago we introduced a new way of doing <code class="highlighter-rouge">customize</code>. It became a list that allowed different ways of matching the config to the entity.</p>
<p>We realized that this was leading into a rabbit hole that we had to get out off. Besides making it unnecessarily complicated it also blocked the road to config panels. And who doesnt like config panels?</p>
<p>So starting this release, we had to make some breaking changes to right the wrong. We will be releasing an online tool to help you convert your config to the new format later today.</p>
<p><a href="https://jsfiddle.net/balloob/d2e56q6f/74/"><strong>Update: the online tool can be found here.</strong></a></p>
<h4>Customize has been reverted to its original config</h4>
<p>The old customize is back. The options to match by domain or using glob have been moved to its own options. It will now look like this:</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">light.kitchen</span><span class="pi">:</span>
@ -187,11 +130,8 @@
<span class="s">icon</span><span class="pi">:</span> <span class="s">mid:description</span>
</code></pre>
</div>
<h4>Z-Wave customize is now device config</h4>
<p>Ever wondered why the Z-Wave customize was called customize? Yeah, so did we. So when migrating this to the new config format, we decided to upgrade the name too:</p>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">zwave</span><span class="pi">:</span>
<span class="s">device_config</span><span class="pi">:</span>
<span class="s">light.kitchen</span><span class="pi">:</span>
@ -204,17 +144,11 @@
<span class="s">polling_intensity</span><span class="pi">:</span> <span class="s">0</span>
</code></pre>
</div>
<h2>Speed improvements</h2>
<p>And a final shout out to <a href="https://github.com/pvizeli">Pascal</a>. He keeps improving the performance of components and platforms all over Home Assistant.</p>
<a name="read-more"></a>
<h2>All changes</h2>
<h4>New platforms/components</h4>
<ul>
<li><a href="https://home-assistant.io/componet/telegram_webhooks/">Telegram</a> webhooks (<a href="https://github.com/scipioni">@scipioni</a>)</li>
<li>Added <a href="https://home-assistant.io/components/media_player.openhome/">Openhome</a> support (<a href="https://github.com/bazwilliams">@bazwilliams</a>)</li>
@ -237,9 +171,7 @@
<li>Add <a href="https://home-assistant.io/components/sensor.fido/">Fido</a> sensor (<a href="https://github.com/titilambert">@titilambert</a>)</li>
<li>Add <a href="https://home-assistant.io/components/sensor.history_stats/">History Statistics</a> sensor platform (<a href="https://github.com/bokub">@bokub</a>)</li>
</ul>
<h4>Improvements</h4>
<ul>
<li>Tellduslive: Dont throw exception if connection to server is lost (<a href="https://github.com/molobrakos">@molobrakos</a>)</li>
<li>Core: Convert config.components to a set (<a href="https://github.com/balloob">@balloob</a>)</li>
@ -296,66 +228,45 @@
<li>Discovery: Make it possible to ignore platforms in discovery (<a href="https://github.com/postlund">@postlund</a>)</li>
<li>Image processing: Add <code class="highlighter-rouge">device_class</code> (<a href="https://github.com/pvizeli">@pvizeli</a>)</li>
</ul>
<h3><a class="title-link" name="release-0391---february-27" href="#release-0391---february-27"></a> Release 0.39.1 - February 27</h3>
<ul>
<li>Add workaround for Paho out of memory issues (<a href="https://github.com/pvizeli">@pvizeli</a>)</li>
<li>When an error occurs while storing group config, fail instead of wiping config. (<a href="https://github.com/balloob">@balloob</a>)</li>
</ul>
<h3><a class="title-link" name="release-0392---march-1" href="#release-0392---march-1"></a> Release 0.39.2 - March 1</h3>
<ul>
<li>Move Zigbee from eventbus to dispatcher (<a href="https://github.com/pvizeli">@pvizeli</a>)</li>
<li>Fix discovery taking up all memory and cpu (<a href="https://github.com/balloob">@balloob</a> + <a href="https://github.com/tomusher">@tomusher</a>)</li>
</ul>
<h3><a class="title-link" name="release-0393---march-4" href="#release-0393---march-4"></a> Release 0.39.3 - March 4</h3>
<ul>
<li>Prevent discovered services and devices to be handled twice (@colinodell)</li>
</ul>
<h4>Breaking changes</h4>
<ul>
<li>VolvoOnCall has been extended with more features and had to be converted to a component</li>
<li>Limitlessled support for Bridge v6 and RGBWW bulbs require users to specify <code class="highlighter-rouge">version</code> and `port</li>
<li>hdmi_cec config now requires users to set the types in the hdmi_cec config instead of using <code class="highlighter-rouge">customize</code>:</li>
</ul>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">hdmi_cec</span><span class="pi">:</span>
<span class="s">types</span><span class="pi">:</span>
<span class="s">hdmi_cec.hdmi_5</span><span class="pi">:</span> <span class="s">media_player</span>
</code></pre>
</div>
<h4>Bugfixes:</h4>
<p><a href="https://github.com/pvizeli">@pvizeli</a>, <a href="https://github.com/LinuxChristian">@LinuxChristian</a>, <a href="https://github.com/molobrakos">@molobrakos</a>, <a href="https://github.com/balloob">@balloob</a>, <a href="https://github.com/rytilahti">@rytilahti</a>, <a href="https://github.com/fabaff">@fabaff</a>, <a href="https://github.com/andrey-git">@andrey-git</a>, <a href="https://github.com/aequitas">@aequitas</a>, <a href="https://github.com/konikvranik">@konikvranik</a>, <a href="https://github.com/Danielhiversen">@Danielhiversen</a>, <a href="https://github.com/colinodell">@colinodell</a>, <a href="https://github.com/pschmitt">@pschmitt</a>, <a href="https://github.com/bachp">@bachp</a>, <a href="https://github.com/bachp">@bachp</a>,<a href="https://github.com/w1ll1am23">@w1ll1am23</a>, <a href="https://github.com/valentinalexeev">@valentinalexeev</a>, <a href="https://github.com/robbiet480">@robbiet480</a>, <a href="https://github.com/MartinHjelmare">@MartinHjelmare</a>, <a href="https://github.com/happyleavesaoc">@happyleavesaoc</a>, <a href="https://github.com/tdickman">@tdickman</a>, <a href="https://github.com/arraylabs">@arraylabs</a>, <a href="https://github.com/lwis">@lwis</a>, <a href="https://github.com/titilambert">@titilambert</a></p>
<h3>If you need help…</h3>
<p>…dont hesitate to use our very active <a href="https://community.home-assistant.io/">forums</a> or join us for a little <a href="https://gitter.im/home-assistant/home-assistant">chat</a>. The release notes have comments enabled but its preferred if you use the former communication channels. Thanks.</p>
<h3>Reporting Issues</h3>
<p>Experiencing issues introduced by this release? Please report them in our <a href="https://github.com/home-assistant/home-assistant/issues">issue tracker</a>. Make sure to fill in all fields of the issue template.</p>
</article>
<section id="disqus">
<h3 class="indent title">Comments</h3>
<div id="disqus_thread" aria-live="polite"><noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript></div>
</section>
</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">
@ -371,70 +282,42 @@
<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="sharing aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Share this post</h1>
<a href="//twitter.com/share"
class="twitter-share-button"
data-via="home_assistant"
data-related="home_assistant"
data-url="https://home-assistant.io/blog/2017/02/25/config-panel-and-state-restoration/"
data-counturl="https://home-assistant.io/blog/2017/02/25/config-panel-and-state-restoration/" >Tweet</a>
<div class="fb-share-button" style='top: -6px;'
data-href="https://home-assistant.io/blog/2017/02/25/config-panel-and-state-restoration/"
data-layout="button_count">
</div>
<div class="g-plusone" data-size="standard"></div>
</section>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<section id="recent-posts" class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Recent Posts</h1>
<ul class="divided">
<li class="post">
<a href="/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/">Home Assistant 0.40: Turn any Android phone into an IP Webcam</a>
</li>
<li class="post">
<a href="/blog/2017/02/22/home-assistant-tshirts-have-arrived/">Home Assistant t-shirts have arrived!</a>
</li>
<li class="post">
<a href="/blog/2017/02/14/clt-workshop/">Workshop at CLT 2017</a>
</li>
<li class="post">
<a href="/blog/2017/02/11/alert-appletv-mqtt-yeelight/">0.38: Alert, AppleTV, MQTT discovery, and Yeelight</a>
</li>
</ul>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -444,7 +327,6 @@
<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 />
@ -456,7 +338,6 @@
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -465,13 +346,10 @@
</script>
<script>
var disqus_shortname = 'home-assistant';
// var disqus_developer = 1;
var disqus_identifier = 'https://home-assistant.io/blog/2017/02/25/config-panel-and-state-restoration/';
var disqus_url = 'https://home-assistant.io/blog/2017/02/25/config-panel-and-state-restoration/';
var disqus_script = 'embed.js';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
@ -479,4 +357,4 @@
}());
</script>
</body>
</html>
</html>

View file

@ -3,17 +3,14 @@
<!--[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 0.40: Turn any Android phone into an IP Webcam - Home Assistant</title>
<meta name="author" content="Paulus Schoutsen">
<meta name="description" content="Big startup performance increase and tons of bug fixes for MQTT, Z-Wave.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Home Assistant 0.40: Turn any Android phone into an IP Webcam">
<meta property="og:site_name" content="Home Assistant">
@ -21,39 +18,32 @@
<meta property="og:type" content="article">
<meta property="og:description" content="Big startup performance increase and tons of bug fixes for MQTT, Z-Wave.">
<meta property="og:image" content="https://home-assistant.io/images/blog/2017-03-0.40/social.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@home_assistant">
<meta name="twitter:creator" content="@balloob">
<meta name="twitter:title" content="Home Assistant 0.40: Turn any Android phone into an IP Webcam">
<meta name="twitter:description" content="Big startup performance increase and tons of bug fixes for MQTT, Z-Wave.">
<meta name="twitter:image" content="https://home-assistant.io/images/blog/2017-03-0.40/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="/docs/">Docs</a></li>
@ -64,27 +54,15 @@
</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="post">
<header>
<h1 class="title indent">Home Assistant 0.40: Turn any Android phone into an IP Webcam</h1>
<div class="meta clearfix">
<time datetime="2017-03-11T08:04:05+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> March 11, 2017</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
@ -92,91 +70,60 @@
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Release-Notes</li>
</ul>
</span>
<a class='comments'
href="#disqus_thread"
>Comments</a>
</div>
</header>
<p><a href="/components/#added_in_current_version"><img src="/images/blog/2017-03-0.40/social.png" style="border: 0;box-shadow: none;" /></a></p>
<p>Its time for version 0.40 already! For this version, the main focus was on performance and bug fixes. Big thanks to <a href="https://github.com/pvizeli">@pvizeli</a> for driving this effort. Startup is now super fast. We have also continued with adding warnings for components and platforms that are slowing down Home Assistant.</p>
<p>Some people have interpreted our recent added warnings as if 0.39 introduced the issues that caused the warning. This is not the case, the platforms and components have been misbehaving for a while but now we are adding warnings so we are able to track down the culprits.</p>
<p>Before we continue talking about all the improvements in this release I want to take a moment to thank a few people from the Home Assistant community that are fundamental to the success of Home Assistant. Big thanks to <a href="https://github.com/dale3h">@dale3h</a>, <a href="https://github.com/CCOSTAN">@CCOSTAN</a>, <a href="https://github.com/skalavala">@skalavala</a>, <a href="https://github.com/rrubin0">@rrubin0</a>, <a href="https://github.com/brahmafear">@brahmafear</a>, <a href="https://github.com/bassclarinetl2">@bassclarinetl2</a>, and <a href="https://github.com/torn8o">@torn8o</a>! These are all people that hang out in our <a href="https://gitter.im/home-assistant/home-assistant">main chat channel</a> and help new users get started and help existing users when running into trouble. Home Assistant would not be there without all the effort you put in! 🙇</p>
<p>And that our community kicks ass is also shown in the numbers. We have already raised together over $700 for the <a href="https://www.eff.org">EFF</a> via the sale of <a href="https://home-assistant.io/blog/2017/02/22/home-assistant-tshirts-have-arrived/">our t-shirts</a>! All of you rock! Another number worth mentioning is that this release brings us passed 600 integrations for Home Assistant. All of you rock, again!</p>
<h2>Z-Wave is now threadsafe</h2>
<p><a href="https://github.com/andrey-git">@andrey-git</a> has spend a lot of time to make Z-Wave perform better. It should no longer cause Home Assistant to run slower or raise warnings about the timer getting out of sync.</p>
<h2>Update on the MQTT Out of Memory errors in 0.39</h2>
<p>MQTT started causing “Out of Memory” errors for some people on a Raspberry Pi. We have been able to track this down to Raspberry Pis that are using an older firmware. If you are experiencing this issue, please <a href="https://github.com/Hexxeh/rpi-update#installing">upgrade your firmware using <code class="highlighter-rouge">rpi-update</code></a>.</p>
<h2>Turn any Android phone into an IP Camera</h2>
<p>With the new support for <a href="/components/android_ip_webcam/">IP Webcam</a> added by <a href="https://github.com/robbiet480">@robbiet480</a> and <a href="https://github.com/pvizeli">@pvizeli</a> you are now able to re-purpose any Android phone to become a multifunctional IP webcam. Some of the cool things that you can do:</p>
<ul>
<li>Integrate the Android device camera</li>
<li>Binary sensor when motion is detected</li>
<li>Sensors to expose the device sensors, including pressure, sound, battery, light</li>
<li>Control device features like the GPS, night vision and camera flash</li>
</ul>
<p class="img">
<img src="/images/blog/2017-03-0.40/ipwebcam.png" />
Screenshot of all the different functionality the IP webcam integration offers.
</p>
<h2>Other Highlights</h2>
<ul>
<li>Support added for Austrian weather using Zamg weather data (<a href="https://github.com/Zac-HD">@Zac-HD</a>)</li>
<li>Ring.com video doorbell integration added (<a href="https://github.com/tchellomello">@tchellomello</a>)</li>
<li>Blink Home Security Camera support added (<a href="https://github.com/fronzbot">@fronzbot</a>)</li>
<li>AppleTV has been converted to push data to Home Assistant instead of us having to poll (<a href="https://github.com/postlund">@postlund</a>)</li>
</ul>
<h2>Breaking changes</h2>
<ul>
<li>Vera entity ids have changed. This is a one time change to migrate to a model that will prevent future conflicts.</li>
<li>The Twilio notify platforms now have to be configured via the twilio component.</li>
</ul>
<div class="language-yaml highlighter-rouge"><pre class="highlight"><code><span class="s">twilio</span><span class="pi">:</span>
<span class="s">account_sid</span><span class="pi">:</span> <span class="s2">"</span><span class="s">abc"</span>
<span class="s">auth_token</span><span class="pi">:</span> <span class="s2">"</span><span class="s">xyz"</span>
</code></pre>
</div>
<ul>
<li>If you are using async custom components, the passed in <code class="highlighter-rouge">async_add_devices</code> method is now a callback instead of a coroutine function.</li>
</ul>
<h3>If you need help…</h3>
<p>…dont hesitate to use our very active <a href="https://community.home-assistant.io/">forums</a> or join us for a little <a href="https://gitter.im/home-assistant/home-assistant">chat</a>. The release notes have comments enabled but its preferred if you use the former communication channels. Thanks.</p>
<h3>Reporting Issues</h3>
<p>Experiencing issues introduced by this release? Please report them in our <a href="https://github.com/home-assistant/home-assistant/issues">issue tracker</a>. Make sure to fill in all fields of the issue template.</p>
<h3><a class="title-link" name="release-0401---march-16" href="#release-0401---march-16"></a> Release 0.40.1 - March 16</h3>
<ul>
<li>Fix wake_on_lan ping with None as host (<a href="https://github.com/iamtpage">@iamtpage</a> - <a href="https://github.com/home-assistant/home-assistant/pull/6532">#6532</a>)</li>
<li>Dont start the push updater if the Apple TV is off (<a href="https://github.com/jnewland">@jnewland</a> - <a href="https://github.com/home-assistant/home-assistant/pull/6552">#6552</a>)</li>
@ -188,11 +135,8 @@ Screenshot of all the different functionality the IP webcam integration offers.
<li>Fix Osram Lightify colors (<a href="https://github.com/deisi">@deisi</a> - <a href="https://github.com/home-assistant/home-assistant/pull/6598">#6598</a>)</li>
<li>Bugfix RFLINK remove group (<a href="https://github.com/pvizeli">@pvizeli</a> - <a href="https://github.com/home-assistant/home-assistant/pull/6580">#6580</a>)</li>
</ul>
<a name="read-more"></a>
<h2>All changes</h2>
<ul>
<li>Cleanup run_callback_threadsafe (<a href="https://github.com/pvizeli">@pvizeli</a>)</li>
<li>Use H2 headers to split up the different sections (<a href="https://github.com/colinodell">@colinodell</a>)</li>
@ -343,21 +287,13 @@ Screenshot of all the different functionality the IP webcam integration offers.
<li>Android webcam better error handling / pump library 0.4 (<a href="https://github.com/pvizeli">@pvizeli</a>)</li>
</ul>
</article>
<section id="disqus">
<h3 class="indent title">Comments</h3>
<div id="disqus_thread" aria-live="polite"><noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript></div>
</section>
</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">
@ -373,70 +309,42 @@ Screenshot of all the different functionality the IP webcam integration offers.
<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="sharing aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Share this post</h1>
<a href="//twitter.com/share"
class="twitter-share-button"
data-via="home_assistant"
data-related="home_assistant"
data-url="https://home-assistant.io/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/"
data-counturl="https://home-assistant.io/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/" >Tweet</a>
<div class="fb-share-button" style='top: -6px;'
data-href="https://home-assistant.io/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/"
data-layout="button_count">
</div>
<div class="g-plusone" data-size="standard"></div>
</section>
<script src="https://apis.google.com/js/platform.js" async defer></script>
<section id="recent-posts" class="aside-module grid__item one-whole lap-one-half">
<h1 class="title delta">Recent Posts</h1>
<ul class="divided">
<li class="post">
<a href="/blog/2017/02/25/config-panel-and-state-restoration/">0.39: Configuration panel, state restoration and improved docs</a>
</li>
<li class="post">
<a href="/blog/2017/02/22/home-assistant-tshirts-have-arrived/">Home Assistant t-shirts have arrived!</a>
</li>
<li class="post">
<a href="/blog/2017/02/14/clt-workshop/">Workshop at CLT 2017</a>
</li>
<li class="post">
<a href="/blog/2017/02/11/alert-appletv-mqtt-yeelight/">0.38: Alert, AppleTV, MQTT discovery, and Yeelight</a>
</li>
</ul>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
@ -446,7 +354,6 @@ Screenshot of all the different functionality the IP webcam integration offers.
<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 />
@ -458,7 +365,6 @@ Screenshot of all the different functionality the IP webcam integration offers.
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
@ -467,13 +373,10 @@ Screenshot of all the different functionality the IP webcam integration offers.
</script>
<script>
var disqus_shortname = 'home-assistant';
// var disqus_developer = 1;
var disqus_identifier = 'https://home-assistant.io/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/';
var disqus_url = 'https://home-assistant.io/blog/2017/03/11/repurpose-any-android-phone-as-ip-camera/';
var disqus_script = 'embed.js';
(function () {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
@ -481,4 +384,4 @@ Screenshot of all the different functionality the IP webcam integration offers.
}());
</script>
</body>
</html>
</html>