Site updated at 2016-12-19 17:09:13 UTC

This commit is contained in:
Travis CI 2016-12-19 17:09:13 +00:00
parent fd4a2763c5
commit f9eb39ccca
148 changed files with 1819 additions and 1523 deletions

187
atom.xml
View file

@ -4,7 +4,7 @@
<title><![CDATA[Home Assistant]]></title>
<link href="https://home-assistant.io/atom.xml" rel="self"/>
<link href="https://home-assistant.io/"/>
<updated>2016-12-19T16:38:30+00:00</updated>
<updated>2016-12-19T17:06:59+00:00</updated>
<id>https://home-assistant.io/</id>
<author>
<name><![CDATA[Home Assistant]]></name>
@ -13,6 +13,32 @@
<generator uri="http://octopress.org/">Octopress</generator>
<entry>
<title type="html"><![CDATA[Thank You]]></title>
<link href="https://home-assistant.io/blog/2016/12/19/thank-you/"/>
<updated>2016-12-19T05:04:05+00:00</updated>
<id>https://home-assistant.io/blog/2016/12/19/thank-you</id>
<content type="html"><![CDATA[<p>A year ago <a href="https://home-assistant.io/blog/2015/12/22/amazon-echo-icloud-and-templates/">Home Assistant 0.10</a> landed. Last weekend we released 0.35. Doing 25 releases in a year is a big accomplishment by the community and each release has moved us forwards leaps and bounds. In this year alone we have seen 2800 pull requests on the main repo alone, thats more than 7 a day!</p>
<p>One of the things that Jon Walker, the founder of the company I work for (<a href="http://www.appfolioinc.com/">AppFolio</a>), has taught me is that the biggest advantage that you can create for yourself compared to your competitors is to release more often. Everytime you release you are able to get the new features into the hands of the users and developers. The faster people start using it, the faster you get feedback on the good and bad parts and thus the faster can you evolve.</p>
<p>Thats why I structured Home Assistant around a two week release cycle. It makes sure that features get out fast and it also forces us to not accumulate a backlog of things to document or test properly. Every two weeks we can start fresh. This makes it easy for new people to start contributing because its clear when things go out and people are not afraid to miss a release.</p>
<p>However, being on a two week release cycle also means that the community has to rally each two weeks to make sure everything is ready to go. A lot of people are involved in making sure that all pieces are in place, to all of those: thank you! Thank you for all the time and effort you put in to make Home Assistant the best home automation software out there.</p>
<p>Another big thanks goes out to the developers of the Python language and all the open source libraries and tools that Home Assistant depends on. Making quality software is not a small feat and all of you can be proud of yourself.</p>
<p>Also a big thanks for the companies that offer their services for free to open source projects. Without these we would not be able to operate at our speed or scale. Thanks <a href="https://GitHub.com">GitHub</a>, <a href="https://Travis-ci.org">TravisCI</a>, <a href="https://CloudFlare.com">CloudFlare</a> and <a href="https://Discourse.com">Discourse</a>!</p>
<p>And finally thank you community for being so helpful and awesome 🙇.</p>
<p>Were taking a well deserved break and we will be back again in 2017 with more awesomeness. Happy holidays!</p>
<p> Paulus</p>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[0.35: Text-to-speech, VLC, Flic, netdata]]></title>
<link href="https://home-assistant.io/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/"/>
@ -2170,165 +2196,6 @@ Heatmap
<li>Google Voice SMS notification support was removed.</li>
</ul>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[ESP8266 and MicroPython - Part 1]]></title>
<link href="https://home-assistant.io/blog/2016/07/28/esp8266-and-micropython-part1/"/>
<updated>2016-07-28T04:00:00+00:00</updated>
<id>https://home-assistant.io/blog/2016/07/28/esp8266-and-micropython-part1</id>
<content type="html"><![CDATA[<p><img src="https://home-assistant.io/images/blog/2016-07-micropython/micropython.png" style="clear: right; border:none; box-shadow: none; float: right; margin-bottom: 12px;" width="200" />
The first release of Micropython for ESP8266 was delivered a couple of weeks ago. The <a href="http://docs.micropython.org/en/latest/esp8266/esp8266_contents.html">documentation</a> covers a lot of ground. This post is providing only a little summary which should get you started.</p>
<p>Until a couple of weeks ago, the pre-built MicroPython binary for the ESP8266 was only available to backers of the Kickstarter campaign. This has changed now and it is available to the public for <a href="https://micropython.org/download/#esp8266">download</a>.</p>
<!--more-->
<p>The easiest way is to use <a href="https://github.com/themadinventor/esptool">esptool.py</a> for firmware handling tasks. First erase the flash:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo python esptool.py --port /dev/ttyUSB0 erase_flash
esptool.py v1.0.2-dev
Connecting...
Erasing flash <span class="o">(</span>this may take a <span class="k">while</span><span class="o">)</span>...
</code></pre>
</div>
<p>and then load the firmware. You may adjust the file name of the firmware binary.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo python esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size<span class="o">=</span>8m 0 esp8266-2016-07-10-v1.8.2.bin
esptool.py v1.2-dev
Connecting...
Running Cesanta flasher stub...
Flash params <span class="nb">set </span>to 0x0020
Writing 540672 @ 0x0... 540672 <span class="o">(</span>100 %<span class="o">)</span>
Wrote 540672 bytes at 0x0 <span class="k">in </span>13.1 seconds <span class="o">(</span>330.8 kbit/s<span class="o">)</span>...
Leaving...
</code></pre>
</div>
<p>Now reset the device. You should then be able to use the <a href="http://docs.micropython.org/en/latest/esp8266/esp8266/tutorial/repl.html#getting-a-micropython-repl-prompt">REPL (Read Evaluate Print Loop)</a>. On Linux there is <code class="highlighter-rouge">minicom</code> or <code class="highlighter-rouge">picocom</code>, on a Mac you can use <code class="highlighter-rouge">screen</code> (eg. <code class="highlighter-rouge">screen /dev/tty.SLAB_USBtoUART 115200</code>), and on Windows there is Putty to open a serial connection and get the REPL prompt.</p>
<p>The <a href="http://docs.micropython.org/en/latest/esp8266/esp8266/tutorial/repl.html#webrepl-a-prompt-over-wifi">WebREPL</a> work over a wireless connection and allows easy access to a prompt in your browser. An instance of the WebREPL client is hosted at <a href="http://micropython.org/webrepl">http://micropython.org/webrepl</a>. Alternatively, you can create a local clone of their <a href="https://github.com/micropython/webrepl">GitHub repository</a>. This is neccessary if your want to use the command-line tool <code class="highlighter-rouge">webrepl_cli.py</code> which is mentionend later in this post.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>sudo minicom -D /dev/ttyUSB0
<span class="c">#4 ets_task(4020e374, 29, 3fff70e8, 10) </span>
WebREPL daemon started on ws://192.168.4.1:8266
Started webrepl <span class="k">in </span>setup mode
could not open file <span class="s1">'main.py'</span> <span class="k">for </span>reading
<span class="c">#5 ets_task(4010035c, 3, 3fff6360, 4)</span>
MicroPython v1.8.2-9-g805c2b9 on 2016-07-10; ESP module with ESP8266
Type <span class="s2">"help()"</span> <span class="k">for </span>more information.
<span class="gp">&gt;&gt;&gt; </span>
</code></pre>
</div>
<p class="note">
The public build of the firmware may be different than the firmware distributed to the backers of the Kickstarter campaign. Especially in regard of the <a href="http://docs.micropython.org/en/latest/esp8266/py-modindex.html">available modules</a>, turned on debug messages, and alike. Also, the WebREPL may not be started by default.
</p>
<p>Connect a LED to pin 5 (or another pin of your choosing) to check if the ESP8266 is working as expected.</p>
<div class="language-python highlighter-rouge"><pre class="highlight"><code><span class="o">&gt;&gt;&gt;</span> <span class="kn">import</span> <span class="nn">machine</span>
<span class="o">&gt;&gt;&gt;</span> <span class="n">pin</span> <span class="o">=</span> <span class="n">machine</span><span class="o">.</span><span class="n">Pin</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span> <span class="n">machine</span><span class="o">.</span><span class="n">Pin</span><span class="o">.</span><span class="n">OUT</span><span class="p">)</span>
<span class="o">&gt;&gt;&gt;</span> <span class="n">pin</span><span class="o">.</span><span class="n">high</span><span class="p">()</span>
</code></pre>
</div>
<p>You can toogle the LED by changing its state with <code class="highlighter-rouge">pin.high()</code> and <code class="highlighter-rouge">pin.low()</code>.</p>
<p>Various ESP8266 development board are shipped with an onboard photocell or a light dependent resistors (LDR) connected to the analog pin of your ESP8266 check if you are able to obtain a value.</p>
<div class="language-python highlighter-rouge"><pre class="highlight"><code><span class="o">&gt;&gt;&gt;</span> <span class="kn">import</span> <span class="nn">machine</span>
<span class="o">&gt;&gt;&gt;</span> <span class="n">brightness</span> <span class="o">=</span> <span class="n">machine</span><span class="o">.</span><span class="n">ADC</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span>
<span class="o">&gt;&gt;&gt;</span> <span class="n">brightness</span><span class="o">.</span><span class="n">read</span><span class="p">()</span>
</code></pre>
</div>
<p>Make sure that you are familiar with REPL and WebREPL because this will be needed soon. Keep in mind the password for the WebREPL access.</p>
<p>Read the <a href="http://docs.micropython.org/en/latest/esp8266/esp8266/tutorial/network_basics.html">instructions</a> about how to setup your wireless connection. Basically you need to upload a <code class="highlighter-rouge">boot.py</code> file to the microcontroller and this file is taking care of the connection setup. Below you find a sample which is more or less the same as shown in the <a href="http://docs.micropython.org/en/latest/esp8266/esp8266/tutorial/network_basics.html#configuration-of-the-wifi">documentation</a>.</p>
<div class="language-python highlighter-rouge"><pre class="highlight"><code><span class="k">def</span> <span class="nf">do_connect</span><span class="p">():</span>
<span class="kn">import</span> <span class="nn">network</span>
<span class="n">SSID</span> <span class="o">=</span> <span class="s">'SSID'</span>
<span class="n">PASSWORD</span> <span class="o">=</span> <span class="s">'PASSWORD'</span>
<span class="n">sta_if</span> <span class="o">=</span> <span class="n">network</span><span class="o">.</span><span class="n">WLAN</span><span class="p">(</span><span class="n">network</span><span class="o">.</span><span class="n">STA_IF</span><span class="p">)</span>
<span class="n">ap_if</span> <span class="o">=</span> <span class="n">network</span><span class="o">.</span><span class="n">WLAN</span><span class="p">(</span><span class="n">network</span><span class="o">.</span><span class="n">AP_IF</span><span class="p">)</span>
<span class="k">if</span> <span class="n">ap_if</span><span class="o">.</span><span class="n">active</span><span class="p">():</span>
<span class="n">ap_if</span><span class="o">.</span><span class="n">active</span><span class="p">(</span><span class="bp">False</span><span class="p">)</span>
<span class="k">if</span> <span class="ow">not</span> <span class="n">sta_if</span><span class="o">.</span><span class="n">isconnected</span><span class="p">():</span>
<span class="k">print</span><span class="p">(</span><span class="s">'connecting to network...'</span><span class="p">)</span>
<span class="n">sta_if</span><span class="o">.</span><span class="n">active</span><span class="p">(</span><span class="bp">True</span><span class="p">)</span>
<span class="n">sta_if</span><span class="o">.</span><span class="n">connect</span><span class="p">(</span><span class="n">SSID</span><span class="p">,</span> <span class="n">PASSWORD</span><span class="p">)</span>
<span class="k">while</span> <span class="ow">not</span> <span class="n">sta_if</span><span class="o">.</span><span class="n">isconnected</span><span class="p">():</span>
<span class="k">pass</span>
<span class="k">print</span><span class="p">(</span><span class="s">'Network configuration:'</span><span class="p">,</span> <span class="n">sta_if</span><span class="o">.</span><span class="n">ifconfig</span><span class="p">())</span>
</code></pre>
</div>
<p>Upload this file with <code class="highlighter-rouge">webrepl_cli.py</code> or the WebREPL:</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">$ </span>python webrepl_cli.py boot.py 192.168.4.1:/boot.py
</code></pre>
</div>
<p>If you reboot, you should see your current IP address in the terminal.</p>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="gp">&gt;&gt;&gt; </span>Network configuration: <span class="o">(</span><span class="s1">'192.168.0.10'</span>, <span class="s1">'255.255.255.0'</span>, <span class="s1">'192.168.0.1'</span>, <span class="s1">'192.168.0.1'</span><span class="o">)</span>
</code></pre>
</div>
<p>First lets create a little consumer for Home Assistant sensors state. The code to place in <code class="highlighter-rouge">main.py</code> is a mixture of code from above and the <a href="https://home-assistant.io/developers/rest_api/">RESTful API</a> of Home Assistant. If the temperature in the kitchen is higher than 20 °C then the LED connected to pin 5 is switched on.</p>
<p class="note">
If a module is missing then you need to download it from the <a href="https://github.com/micropython/micropython-lib">MicroPython Library overview</a> and upload it to the ESP8266 with <code class="highlighter-rouge">webrepl_cli.py</code> manually.
</p>
<div class="language-python highlighter-rouge"><pre class="highlight"><code><span class="c"># Sample code to request the state of a Home Assistant entity.</span>
<span class="n">API_PASSWORD</span> <span class="o">=</span> <span class="s">'YOUR_PASSWORD'</span>
<span class="n">URL</span> <span class="o">=</span> <span class="s">'http://192.168.0.5:8123/api/states/'</span>
<span class="n">ENTITY</span> <span class="o">=</span> <span class="s">'sensor.kitchen_temperature'</span>
<span class="n">TIMEOUT</span> <span class="o">=</span> <span class="mi">30</span>
<span class="n">PIN</span> <span class="o">=</span> <span class="mi">5</span>
<span class="k">def</span> <span class="nf">get_data</span><span class="p">():</span>
<span class="kn">import</span> <span class="nn">urequests</span>
<span class="n">url</span> <span class="o">=</span> <span class="s">'{}{}'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">URL</span><span class="p">,</span> <span class="n">ENTITY</span><span class="p">)</span>
<span class="n">headers</span> <span class="o">=</span> <span class="p">{</span><span class="s">'x-ha-access'</span><span class="p">:</span> <span class="n">API_PASSWORD</span><span class="p">,</span>
<span class="s">'content-type'</span><span class="p">:</span> <span class="s">'application/json'</span><span class="p">}</span>
<span class="n">resp</span> <span class="o">=</span> <span class="n">urequests</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">URL</span><span class="p">,</span> <span class="n">headers</span><span class="o">=</span><span class="n">headers</span><span class="p">)</span>
<span class="k">return</span> <span class="n">resp</span><span class="o">.</span><span class="n">json</span><span class="p">()[</span><span class="s">'state'</span><span class="p">]</span>
<span class="k">def</span> <span class="nf">main</span><span class="p">():</span>
<span class="kn">import</span> <span class="nn">machine</span>
<span class="kn">import</span> <span class="nn">time</span>
<span class="n">pin</span> <span class="o">=</span> <span class="n">machine</span><span class="o">.</span><span class="n">Pin</span><span class="p">(</span><span class="n">PIN</span><span class="p">,</span> <span class="n">machine</span><span class="o">.</span><span class="n">Pin</span><span class="o">.</span><span class="n">OUT</span><span class="p">)</span>
<span class="k">while</span> <span class="bp">True</span><span class="p">:</span>
<span class="k">try</span><span class="p">:</span>
<span class="k">if</span> <span class="nb">int</span><span class="p">(</span><span class="n">get_data</span><span class="p">())</span> <span class="o">&gt;=</span> <span class="mi">20</span><span class="p">:</span>
<span class="n">pin</span><span class="o">.</span><span class="n">high</span><span class="p">()</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">pin</span><span class="o">.</span><span class="n">low</span><span class="p">()</span>
<span class="k">except</span> <span class="nb">TypeError</span><span class="p">:</span>
<span class="k">pass</span>
<span class="n">time</span><span class="o">.</span><span class="n">sleep</span><span class="p">(</span><span class="n">TIMEOUT</span><span class="p">)</span>
<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">'__main__'</span><span class="p">:</span>
<span class="k">print</span><span class="p">(</span><span class="s">'Get the state of {}'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">ENTITY</span><span class="p">))</span>
<span class="n">main</span><span class="p">()</span>
</code></pre>
</div>
<p>Upload <code class="highlighter-rouge">main.py</code> the same way as <code class="highlighter-rouge">boot.py</code>. After a reboot (<code class="highlighter-rouge">&gt;&gt;&gt; import machine</code> and <code class="highlighter-rouge">&gt;&gt;&gt; machine.reboot()</code>) or power-cycling your physical notifier is ready.</p>
<p>If you run into trouble, press “Ctrl+c” in the REPL to stop the execution of the code, enter <code class="highlighter-rouge">&gt;&gt;&gt; import webrepl</code> and <code class="highlighter-rouge">&gt;&gt;&gt; webrepl.start()</code>, and upload your fixed file.</p>
]]></content>
</entry>

View file

@ -170,6 +170,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -193,12 +199,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -225,6 +225,12 @@ This article will try to explain how they all relate.</p>
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -248,12 +254,6 @@ This article will try to explain how they all relate.</p>
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -205,6 +205,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -228,12 +234,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -182,6 +182,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -205,12 +211,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -185,6 +185,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -208,12 +214,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -193,6 +193,12 @@ Home Assistant now supports <code class="highlighter-rouge">--open-ui</code> and
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -216,12 +222,6 @@ Home Assistant now supports <code class="highlighter-rouge">--open-ui</code> and
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -201,6 +201,12 @@ Events are saved in a local database. Google Graphs is used to draw the graph. D
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -224,12 +230,6 @@ Events are saved in a local database. Google Graphs is used to draw the graph. D
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -186,6 +186,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -209,12 +215,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -176,6 +176,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -199,12 +205,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -177,6 +177,12 @@ The old logo, the new detailed logo and the new simple logo.
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -200,12 +206,6 @@ The old logo, the new detailed logo and the new simple logo.
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -210,6 +210,12 @@ An initial version of voice control for Home Assistant has landed. The current i
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -233,12 +239,6 @@ An initial version of voice control for Home Assistant has landed. The current i
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -245,6 +245,12 @@ I (Paulus) have contributed a scene component. A user can create scenes that cap
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -268,12 +274,6 @@ I (Paulus) have contributed a scene component. A user can create scenes that cap
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -256,6 +256,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -279,12 +285,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -197,6 +197,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -220,12 +226,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -277,6 +277,12 @@ Before diving into the newly supported devices and services, I want to highlight
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -300,12 +306,6 @@ Before diving into the newly supported devices and services, I want to highlight
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -328,6 +328,12 @@ This switch platform allows you to control your motion detection setting on your
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -351,12 +357,6 @@ This switch platform allows you to control your motion detection setting on your
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -284,6 +284,12 @@ Fabian has added support for <a href="https://forecast.io/">Forecast.io</a> to g
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -307,12 +313,6 @@ Fabian has added support for <a href="https://forecast.io/">Forecast.io</a> to g
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -269,6 +269,12 @@ Support for Temper temperature sensors has been contributed by <a href="https://
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -292,12 +298,6 @@ Support for Temper temperature sensors has been contributed by <a href="https://
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -193,6 +193,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -216,12 +222,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -306,6 +306,12 @@ The automation and script syntax here is using a deprecated and no longer suppor
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -329,12 +335,6 @@ The automation and script syntax here is using a deprecated and no longer suppor
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -270,6 +270,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -293,12 +299,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -361,6 +361,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -384,12 +390,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -342,6 +342,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -365,12 +371,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -235,6 +235,12 @@ Glances web server started on http://0.0.0.0:61208/
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -258,12 +264,6 @@ Glances web server started on http://0.0.0.0:61208/
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -220,6 +220,12 @@ Automation has gotten a lot of love. It now supports conditions, multiple trigge
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -243,12 +249,6 @@ Automation has gotten a lot of love. It now supports conditions, multiple trigge
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -200,6 +200,12 @@ Map in Home Assistant showing two people and three zones (home, school, work)
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -223,12 +229,6 @@ Map in Home Assistant showing two people and three zones (home, school, work)
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -409,6 +409,12 @@ Home Assistant will keep track of historical values and allow you to integrate i
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -432,12 +438,6 @@ Home Assistant will keep track of historical values and allow you to integrate i
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -189,6 +189,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -212,12 +218,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -211,6 +211,12 @@ This makes more sense as most people run Home Assistant as a daemon</p>
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -234,12 +240,6 @@ This makes more sense as most people run Home Assistant as a daemon</p>
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -205,6 +205,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -228,12 +234,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -247,6 +247,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -270,12 +276,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -182,6 +182,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -205,12 +211,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -189,6 +189,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -212,12 +218,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -264,6 +264,12 @@ name: binary_sensor
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -287,12 +293,6 @@ name: binary_sensor
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -226,6 +226,12 @@ This is where well configure our task, so select the plus icon to select an a
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -249,12 +255,6 @@ This is where well configure our task, so select the plus icon to select an a
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -202,6 +202,12 @@ Philips Hue FAQ entries regarding 3rd party light bulbs.
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -225,12 +231,6 @@ Philips Hue FAQ entries regarding 3rd party light bulbs.
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -261,6 +261,12 @@ sudo docker run -it --rm -p 80:80 --name certbot <span class="se">\</span>
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -284,12 +290,6 @@ sudo docker run -it --rm -p 80:80 --name certbot <span class="se">\</span>
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -221,6 +221,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -244,12 +250,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -203,6 +203,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -226,12 +232,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -207,6 +207,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -230,12 +236,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -209,6 +209,12 @@ Example of the new views in the frontend. <a href="/components/group/">Learn mor
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -232,12 +238,6 @@ Example of the new views in the frontend. <a href="/components/group/">Learn mor
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -380,6 +380,12 @@ Z-Wave light bulb |
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -403,12 +409,6 @@ Z-Wave light bulb |
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -346,6 +346,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -369,12 +375,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -212,6 +212,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -235,12 +241,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -296,6 +296,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -319,12 +325,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -220,6 +220,12 @@ Hold your NFC tag against the belly of Garfield to unlock the alarm.
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -243,12 +249,6 @@ Hold your NFC tag against the belly of Garfield to unlock the alarm.
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -211,6 +211,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -234,12 +240,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -215,6 +215,12 @@ player state attributes. This change affects automations, scripts and scenes.</l
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -238,12 +244,6 @@ player state attributes. This change affects automations, scripts and scenes.</l
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -224,6 +224,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -247,12 +253,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -180,6 +180,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -203,12 +209,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -186,6 +186,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -209,12 +215,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -194,6 +194,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -217,12 +223,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -178,6 +178,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -201,12 +207,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -195,6 +195,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -218,12 +224,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -213,6 +213,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -236,12 +242,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -300,6 +300,12 @@ For example, my wife works next door - and I couldnt detect whether shes a
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -323,12 +329,6 @@ For example, my wife works next door - and I couldnt detect whether shes a
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -176,6 +176,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -199,12 +205,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -258,6 +258,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -281,12 +287,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -176,6 +176,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -199,12 +205,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -190,6 +190,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -213,12 +219,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -209,6 +209,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -232,12 +238,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -180,6 +180,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -203,12 +209,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -316,6 +316,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -339,12 +345,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -196,6 +196,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -219,12 +225,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -230,6 +230,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -253,12 +259,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -201,6 +201,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -224,12 +230,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -223,6 +223,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -246,12 +252,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -277,6 +277,12 @@ target_dir /tmp
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -300,12 +306,6 @@ target_dir /tmp
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -224,6 +224,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -247,12 +253,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -219,6 +219,12 @@ Over a year ago I participated in the <a href="https://www.kickstarter.com/proje
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -242,12 +248,6 @@ Over a year ago I participated in the <a href="https://www.kickstarter.com/proje
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -219,6 +219,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -242,12 +248,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -271,6 +271,12 @@ SQLite version 3.11.0 2016-02-15 17:29:24
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -294,12 +300,6 @@ SQLite version 3.11.0 2016-02-15 17:29:24
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -236,6 +236,12 @@ One of the graphs created with this tutorial.
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -259,12 +265,6 @@ One of the graphs created with this tutorial.
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -323,6 +323,12 @@ If a module is missing then you need to download it from the <a href="https://gi
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -346,12 +352,6 @@ If a module is missing then you need to download it from the <a href="https://gi
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -238,6 +238,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -261,12 +267,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -275,6 +275,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -298,12 +304,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -311,6 +311,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -334,12 +340,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -237,6 +237,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -260,12 +266,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -291,6 +291,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -314,12 +320,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -177,6 +177,12 @@ Heatmap
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -200,12 +206,6 @@ Heatmap
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -372,6 +372,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -395,12 +401,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -267,6 +267,12 @@ So, part 1 of <a href="/blog/2016/07/28/esp8266-and-micropython-part1/">ESP8266
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -290,12 +296,6 @@ So, part 1 of <a href="/blog/2016/07/28/esp8266-and-micropython-part1/">ESP8266
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -270,6 +270,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -293,12 +299,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -288,6 +288,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -311,12 +317,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -188,6 +188,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -211,12 +217,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -193,6 +193,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -216,12 +222,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -296,6 +296,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -319,12 +325,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -495,6 +495,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -518,12 +524,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -210,6 +210,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -233,8 +239,6 @@
</li>
</ul>
</section>

View file

@ -290,6 +290,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -309,12 +315,6 @@
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -242,6 +242,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -261,12 +267,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -319,6 +319,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -338,12 +344,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -250,6 +250,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
@ -269,12 +275,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -0,0 +1,267 @@
<!doctype html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Thank You - Home Assistant</title>
<meta name="author" content="Paulus Schoutsen">
<meta name="description" content="Thanks to all our contributors, dependencies and companies that help make Home Assistant awesome.">
<meta name="viewport" content="width=device-width">
<link rel="canonical" href="https://home-assistant.io/blog/2016/12/19/thank-you/">
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Thank You">
<meta property="og:site_name" content="Home Assistant">
<meta property="og:url" content="https://home-assistant.io/blog/2016/12/19/thank-you/">
<meta property="og:type" content="article">
<meta property="og:description" content="Thanks to all our contributors, dependencies and companies that help make Home Assistant awesome.">
<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="Thank You">
<meta name="twitter:description" content="Thanks to all our contributors, dependencies and companies that help make Home Assistant awesome.">
<meta name="twitter:image" content="https://home-assistant.io/images/default-social.png">
<link href="/stylesheets/screen.css" media="screen, projection" rel="stylesheet">
<link href="/atom.xml" rel="alternate" title="Home Assistant" type="application/atom+xml">
<link rel='shortcut icon' href='/images/favicon.ico' />
<link rel='icon' type='image/png' href='/images/favicon-192x192.png' sizes='192x192' />
</head>
<body >
<header>
<div class="grid-wrapper">
<div class="grid">
<div class="grid__item three-tenths lap-two-sixths palm-one-whole ha-title">
<a href="/" class="site-title">
<img width='40' src='/demo/favicon-192x192.png'>
<span>Home Assistant</span>
</a>
</div>
<div class="grid__item seven-tenths lap-four-sixths palm-one-whole">
<nav>
<input type="checkbox" id="toggle">
<label for="toggle" class="toggle" data-open="Main Menu" data-close="Close Menu"></label>
<ul class="menu pull-right">
<li><a href="/getting-started/">Getting started</a></li>
<li><a href="/components/">Components</a></li>
<li><a href="/ecosystem/">Ecosystem</a></li>
<li><a href="/cookbook/">Examples</a></li>
<li><a href="/developers/">Developers</a></li>
<li><a href="/blog/">Blog</a></li>
<li><a href="/help/">Need help?</a></li>
</ul>
</nav>
</div>
</div>
</div>
</header>
<div class="grid-wrapper">
<div class="grid grid-center">
<div class="grid__item two-thirds lap-one-whole palm-one-whole">
<article class="post">
<header>
<h1 class="title indent">Thank You</h1>
<div class="meta clearfix">
<time datetime="2016-12-19T05:04:05+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> December 19, 2016</time>
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
<span><i class='icon-time'></i> two minutes reading time</span>
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Community</li>
</ul>
</span>
<a class='comments'
href="#disqus_thread"
>Comments</a>
</div>
</header>
<p>A year ago <a href="https://home-assistant.io/blog/2015/12/22/amazon-echo-icloud-and-templates/">Home Assistant 0.10</a> landed. Last weekend we released 0.35. Doing 25 releases in a year is a big accomplishment by the community and each release has moved us forwards leaps and bounds. In this year alone we have seen 2800 pull requests on the main repo alone, thats more than 7 a day!</p>
<p>One of the things that Jon Walker, the founder of the company I work for (<a href="http://www.appfolioinc.com/">AppFolio</a>), has taught me is that the biggest advantage that you can create for yourself compared to your competitors is to release more often. Everytime you release you are able to get the new features into the hands of the users and developers. The faster people start using it, the faster you get feedback on the good and bad parts and thus the faster can you evolve.</p>
<p>Thats why I structured Home Assistant around a two week release cycle. It makes sure that features get out fast and it also forces us to not accumulate a backlog of things to document or test properly. Every two weeks we can start fresh. This makes it easy for new people to start contributing because its clear when things go out and people are not afraid to miss a release.</p>
<p>However, being on a two week release cycle also means that the community has to rally each two weeks to make sure everything is ready to go. A lot of people are involved in making sure that all pieces are in place, to all of those: thank you! Thank you for all the time and effort you put in to make Home Assistant the best home automation software out there.</p>
<p>Another big thanks goes out to the developers of the Python language and all the open source libraries and tools that Home Assistant depends on. Making quality software is not a small feat and all of you can be proud of yourself.</p>
<p>Also a big thanks for the companies that offer their services for free to open source projects. Without these we would not be able to operate at our speed or scale. Thanks <a href="https://GitHub.com">GitHub</a>, <a href="https://Travis-ci.org">TravisCI</a>, <a href="https://CloudFlare.com">CloudFlare</a> and <a href="https://Discourse.com">Discourse</a>!</p>
<p>And finally thank you community for being so helpful and awesome 🙇.</p>
<p>Were taking a well deserved break and we will be back again in 2017 with more awesomeness. Happy holidays!</p>
<p> Paulus</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">
<li>
Home Assistant is an open-source home automation platform running on Python 3. Track and control all devices at home and automate control.
</li>
<li><a href='/getting-started/'>Get started with Home Assistant</a></li>
<li><a href='/demo/'>Try the online demo</a></li>
<li><a class="twitter-follow-button" href="https://twitter.com/Home_Assistant">Follow Home Assistant on Twitter</a></li>
<li><div class="fb-like" data-href="https://www.facebook.com/homeassistantio/" data-layout="standard" data-action="like" data-size="small" data-show-faces="true" data-share="false"></div></li>
</ul>
</section>
<div id="fb-root"></div>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.async=true;js.src='//platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
<script>(function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(d.getElementById(id)){return;}js=d.createElement(s);js.id=id;js.async=true;js.src="//connect.facebook.net/en_US/all.js#appId=338291289691179&xfbml=1";fjs.parentNode.insertBefore(js,fjs);}(document,'script','facebook-jssdk'));</script>
<section class="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/2016/12/19/thank-you/"
data-counturl="https://home-assistant.io/blog/2016/12/19/thank-you/" >Tweet</a>
<div class="fb-share-button" style='top: -6px;'
data-href="https://home-assistant.io/blog/2016/12/19/thank-you/"
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/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
<li class="post">
<a href="/blog/2016/12/03/remote-websockets-sonarr/">0.34: New Remote component, Websockets, Sonarr, GPSLogger</a>
</li>
<li class="post">
<a href="/blog/2016/11/20/calendar-wink-thermostats-cisco-ios/">0.33: New Calendar component, Wink thermostats and Cisco IOS</a>
</li>
<li class="post">
<a href="/blog/2016/11/05/hacktoberfest-influxdb-weather/">0.32: Hacktoberfest, InfluxDB sensor, Error reporting, and Weather</a>
</li>
</ul>
</section>
</div>
</aside>
</div>
</div>
<footer>
<div class="grid-wrapper">
<div class="grid">
<div class="grid__item">
<div class="copyright">
<a rel="me" href='https://twitter.com/home_assistant'><i class="icon-twitter"></i></a>
<a rel="me" href='https://facebook.com/homeassistantio'><i class="icon-facebook"></i></a>
<a rel="me" href='https://plus.google.com/110560654828510104551'><i class="icon-google-plus"></i></a>
<a rel="me" href='https://github.com/home-assistant/home-assistant'><i class="icon-github"></i></a>
<div class="credit">
Contact us at <a href='mailto:hello@home-assistant.io'>hello@home-assistant.io</a>.<br>
Website powered by <a href='http://jekyllrb.com/'>Jekyll</a> and the <a href='https://github.com/coogie/oscailte'>Oscalite theme</a>.<br />
Hosted by <a href='https://pages.github.com/'>GitHub</a> and served by <a href='https://cloudflare.com'>CloudFlare</a>.
</div>
</div>
</div>
</div>
</div>
</footer>
<script>
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
<script>
var disqus_shortname = 'home-assistant';
// var disqus_developer = 1;
var disqus_identifier = 'https://home-assistant.io/blog/2016/12/19/thank-you/';
var disqus_url = 'https://home-assistant.io/blog/2016/12/19/thank-you/';
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;
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
}());
</script>
</body>
</html>

View file

@ -3122,6 +3122,38 @@
</div>
</article>
<article>
<div class="grid">
<div class="grid__item one-fifth palm-one-whole">
<time datetime="2016-12-19T05:04:05+00:00" pubdate>
<span class='month'>Dec</span> <span class='day'>19</span>
</time>
</div>
<div class="grid__item four-fifths palm-one-whole">
<h1 class="gamma"><a href="/blog/2016/12/19/thank-you/">Thank You</a></h1>
<footer class="meta">
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li>Community</li>
</ul>
</span>
</footer>
<hr class="divider">
</div>
</div>
</article>
</div>
@ -3179,6 +3211,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -3202,12 +3240,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -4,7 +4,7 @@
<title><![CDATA[Category: Community | Home Assistant]]></title>
<link href="https://home-assistant.io/blog/categories/community/atom.xml" rel="self"/>
<link href="https://home-assistant.io/"/>
<updated>2016-12-19T16:38:30+00:00</updated>
<updated>2016-12-19T17:06:59+00:00</updated>
<id>https://home-assistant.io/</id>
<author>
<name><![CDATA[Home Assistant]]></name>
@ -13,6 +13,38 @@
<generator uri="http://octopress.org/">Octopress</generator>
<entry>
<title type="html"><![CDATA[Thank You]]></title>
<link href="https://home-assistant.io/blog/2016/12/19/thank-you/"/>
<updated>2016-12-19T05:04:05+00:00</updated>
<id>https://home-assistant.io/blog/2016/12/19/thank-you</id>
<content type="html"><![CDATA[A year ago [Home Assistant 0.10][0.10] landed. Last weekend we released 0.35. Doing 25 releases in a year is a big accomplishment by the community and each release has moved us forwards leaps and bounds. In this year alone we have seen 2800 pull requests on the main repo alone, that's more than 7 a day!
One of the things that Jon Walker, the founder of the company I work for ([AppFolio]), has taught me is that the biggest advantage that you can create for yourself compared to your competitors is to release more often. Everytime you release you are able to get the new features into the hands of the users and developers. The faster people start using it, the faster you get feedback on the good and bad parts and thus the faster can you evolve.
That's why I structured Home Assistant around a two week release cycle. It makes sure that features get out fast and it also forces us to not accumulate a backlog of things to document or test properly. Every two weeks we can start fresh. This makes it easy for new people to start contributing because it's clear when things go out and people are not afraid to miss a release.
However, being on a two week release cycle also means that the community has to rally each two weeks to make sure everything is ready to go. A lot of people are involved in making sure that all pieces are in place, to all of those: thank you! Thank you for all the time and effort you put in to make Home Assistant the best home automation software out there.
Another big thanks goes out to the developers of the Python language and all the open source libraries and tools that Home Assistant depends on. Making quality software is not a small feat and all of you can be proud of yourself.
Also a big thanks for the companies that offer their services for free to open source projects. Without these we would not be able to operate at our speed or scale. Thanks [GitHub], [TravisCI], [CloudFlare] and [Discourse]!
And finally thank you community for being so helpful and awesome 🙇.
We're taking a well deserved break and we will be back again in 2017 with more awesomeness. Happy holidays!
Paulus
[0.10]: https://home-assistant.io/blog/2015/12/22/amazon-echo-icloud-and-templates/
[AppFolio]: http://www.appfolioinc.com/
[GitHub]: https://GitHub.com
[TravisCI]: https://Travis-ci.org
[CloudFlare]: https://CloudFlare.com
[Discourse]: https://Discourse.com
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[Participating in Hacktoberfest]]></title>
<link href="https://home-assistant.io/blog/2016/10/02/hacktoberfest/"/>

View file

@ -99,6 +99,38 @@
<h2>2016</h2>
<article>
<div class="grid">
<div class="grid__item one-fifth palm-one-whole">
<time datetime="2016-12-19T05:04:05+00:00" pubdate>
<span class='month'>Dec</span> <span class='day'>19</span>
</time>
</div>
<div class="grid__item four-fifths palm-one-whole">
<h1 class="gamma"><a href="/blog/2016/12/19/thank-you/">Thank You</a></h1>
<footer class="meta">
<span>
<i class="icon-tags"></i>
<ul class="tags unstyled">
<li><a class='category' href='/blog/categories/community/'>Community</a></li>
</ul>
</span>
</footer>
<hr class="divider">
</div>
</div>
</article>
<article>
<div class="grid">
@ -291,6 +323,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -314,12 +352,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

View file

@ -4,7 +4,7 @@
<title><![CDATA[Category: Device-Tracking | Home Assistant]]></title>
<link href="https://home-assistant.io/blog/categories/device-tracking/atom.xml" rel="self"/>
<link href="https://home-assistant.io/"/>
<updated>2016-12-19T16:38:30+00:00</updated>
<updated>2016-12-19T17:06:59+00:00</updated>
<id>https://home-assistant.io/</id>
<author>
<name><![CDATA[Home Assistant]]></name>

View file

@ -190,6 +190,12 @@
<ul class="divided">
<li class="post">
<a href="/blog/2016/12/19/thank-you/">Thank You</a>
</li>
<li class="post">
<a href="/blog/2016/12/17/text-to-speech-aquostv-flic-zamg/">0.35: Text-to-speech, VLC, Flic, netdata</a>
</li>
@ -213,12 +219,6 @@
</li>
<li class="post">
<a href="/blog/2016/10/25/explaining-the-updater/">Explaining the Updater</a>
</li>
</ul>
</section>

Some files were not shown because too many files have changed in this diff Show more