1364 lines
No EOL
64 KiB
HTML
1364 lines
No EOL
64 KiB
HTML
<!doctype html>
|
|
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
|
|
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
|
|
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
|
|
<!--[if gt IE 8]><!--> <html> <!--<![endif]-->
|
|
|
|
|
|
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
|
<title>Home Assistant</title>
|
|
<meta name="author" content="Paulus Schoutsen">
|
|
|
|
<meta name="description" content="Home Assistant is an open-source home automation platform running on Python 3.">
|
|
|
|
<meta name="viewport" content="width=device-width">
|
|
<link rel="canonical" href="https://home-assistant.io">
|
|
|
|
<meta property="fb:app_id" content="338291289691179">
|
|
<meta property="og:title" content="Home Assistant">
|
|
<meta property="og:site_name" content="Home Assistant">
|
|
<meta property="og:url" content="https://home-assistant.io/blog/">
|
|
<meta property="og:type" content="website">
|
|
<meta property="og:description" content="Release notes for May 14, 2015 May 14, 2015 Paulus Schoutsen five minutes reading time release-notes Comments Almost three busy weeks have past since the last release. We used this time to finally …">
|
|
|
|
|
|
|
|
<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='/images/favicon-192x192.png'> Home Assistant
|
|
</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>
|
|
<ul>
|
|
<li><a href='/getting-started/'>Installing Home Assistant</a></li>
|
|
<li><a href='/getting-started/configuration.html'>Initial configuration</a></li>
|
|
<li><a href='/components/'>Component overview</a></li>
|
|
<li><a href='/getting-started/android.html'>Setting up Android</a></li>
|
|
</ul>
|
|
</li>
|
|
<li>
|
|
<a href="/developers/">Developers</a>
|
|
<ul>
|
|
<li><a href="/developers/architecture.html">Architecture</a></li>
|
|
<li><a href="/developers/frontend.html">Frontend development</a></li>
|
|
<li><a href="/developers/creating_components.html">
|
|
Creating components
|
|
</a></li>
|
|
<li><a href="/developers/add_new_platform.html">
|
|
Adding platform support
|
|
</a></li>
|
|
<li><a href="/developers/api.html">API</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="/blog/">Blog</a></li>
|
|
<li><a href="https://groups.google.com/forum/#!forum/home-assistant-dev">Need help?</a></li>
|
|
</ul>
|
|
|
|
</nav>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
|
|
|
|
<div class="grid-wrapper">
|
|
<div class="grid grid-center">
|
|
|
|
<div class="grid__item two-thirds lap-one-whole palm-one-whole">
|
|
|
|
|
|
|
|
|
|
|
|
<article class="listing">
|
|
<header>
|
|
|
|
<h1 class="beta">
|
|
<a href="/blog/2015/05/14/release-notes/">Release notes for May 14, 2015</a>
|
|
</h1>
|
|
|
|
|
|
|
|
<div class="meta clearfix">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<time datetime="2015-05-14T22:25:00-07:00" pubdate data-updated="true"><i class="icon-calendar"></i> May 14, 2015</time>
|
|
|
|
|
|
|
|
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
|
|
|
|
<span><i class='icon-time'></i> five minutes reading time</span>
|
|
|
|
|
|
<span>
|
|
<i class="icon-tags"></i>
|
|
<ul class="tags unstyled">
|
|
|
|
|
|
<li><a class='category' href='/blog/categories/release-notes/'>release-notes</a></li>
|
|
|
|
|
|
</ul>
|
|
</span>
|
|
|
|
|
|
<a class='comments'
|
|
href="/blog/2015/05/14/release-notes/#disqus_thread"
|
|
>Comments</a>
|
|
|
|
</div>
|
|
|
|
</header>
|
|
|
|
|
|
|
|
|
|
<p>Almost three busy weeks have past since the last release. We used this time to finally make the overhaul to use UTC as the internal date time format. We added a bunch of test coverage in the process to make sure the transition went smoothly. Pleas see <a href="/blog/2015/05/09/utc-time-zone-awareness/#backwards-incompatible-stuff">the blog post about the UTC refactor</a> for backwards incompatible changes.</p>
|
|
|
|
<p>This release includes a significant startup boost for the frontend and a fix for Wemo discovery after their latest firmware upgrade.</p>
|
|
|
|
<p>I would like to give a big shout out to our newest contributor <a href="https://github.com/fabaff">fabaff</a> for taking the time to improve the documentation.</p>
|
|
|
|
<p class='note'>
|
|
To update to the latest version, run <code>scripts/update</code>. Please report any issues on <a href='https://github.com/balloob/home-assistant/issues'>GitHub</a>.
|
|
</p>
|
|
|
|
|
|
<p><strong>Overwriting Entity Attributes</strong><br>
|
|
Before diving into the newly supported devices and services, I want to highlight an awesome configuration enhancement by <a href="https://github.com/rmkraus">rmkraus</a>: overwriting entity attributes.</p>
|
|
|
|
<p>These new configuration settings allow you to overwrite entity state attributes. The main usage for this is being able to overwrite attributes that influence how an entity is shown in the interface.</p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
<span class='line-number'>3</span>
|
|
<span class='line-number'>4</span>
|
|
<span class='line-number'>5</span>
|
|
<span class='line-number'>6</span>
|
|
<span class='line-number'>7</span>
|
|
<span class='line-number'>8</span>
|
|
<span class='line-number'>9</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="c1"># Example configuration.yaml entry</span>
|
|
</span><span class='line'><span class="l-Scalar-Plain">homeassistant</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">customize</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">light.bowl</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="c1"># hides this entity from the interface</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">hidden</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">true</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">light.ceiling</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="c1"># Replaces the state badge with given picture</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">entity_picture</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">http://graph.facebook.com/schoutsen/picture</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
<p><strong>MySensors</strong><br>
|
|
<img src='/images/supported_brands/mysensors.png' style='border:none; box-shadow: none; float: right;' height='50' />
|
|
<a href="https://github.com/andythigpen">Andythigpen</a> and <a href="https://github.com/theolind">Theolind</a> have added support for the <a href="http://www.mysensors.org">MySensors platform</a> to Home Assistant.</p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
<span class='line-number'>3</span>
|
|
<span class='line-number'>4</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="c1"># Example configuration.yaml entry</span>
|
|
</span><span class='line'><span class="l-Scalar-Plain">sensor</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">platform</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">mysensors</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">port</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">/dev/ttyACM0</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
<p><strong>OpenWeatherMap</strong><br>
|
|
<img src='/images/supported_brands/openweathermap.png' style='border:none; box-shadow: none; float: right;' height='50' />
|
|
<a href="https://github.com/fabaff">Fabaff</a> has contributed support for <a href="http://openweathermap.org">OpenWeatherMap</a>. This will allow you to integrate local meteorological data into Home Assistant.</p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
<span class='line-number'>3</span>
|
|
<span class='line-number'>4</span>
|
|
<span class='line-number'>5</span>
|
|
<span class='line-number'>6</span>
|
|
<span class='line-number'>7</span>
|
|
<span class='line-number'>8</span>
|
|
<span class='line-number'>9</span>
|
|
<span class='line-number'>10</span>
|
|
<span class='line-number'>11</span>
|
|
<span class='line-number'>12</span>
|
|
<span class='line-number'>13</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="c1"># Example configuration.yaml entry</span>
|
|
</span><span class='line'><span class="l-Scalar-Plain">sensor</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">platform</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">openweathermap</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">api_key</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">YOUR_API_KEY</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">monitored_variables</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'weather'</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'temperature'</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'wind_speed'</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'humidity'</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'pressure'</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'clouds'</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'rain'</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'snow'</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
<p><strong>InstaPush</strong><br>
|
|
<img src='/images/supported_brands/instapush.png' style='border:none; box-shadow: none; float: right;' height='50' />
|
|
<a href="https://github.com/fabaff">Fabaff</a> has contributed support for <a href="https://instapush.im">InstaPush</a>. This will allow you send messages from Home Assistant to your iOS and Android devices.</p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
<span class='line-number'>3</span>
|
|
<span class='line-number'>4</span>
|
|
<span class='line-number'>5</span>
|
|
<span class='line-number'>6</span>
|
|
<span class='line-number'>7</span>
|
|
<span class='line-number'>8</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="c1"># Example configuration.yaml entry</span>
|
|
</span><span class='line'><span class="l-Scalar-Plain">notify</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">platform</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">instapush</span>
|
|
</span><span class='line'> <span class="c1"># Get those by creating a new application, event, and tracker on https://instapush.im</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">api_key</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">ABCDEFGHJKLMNOPQRSTUVXYZ</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">app_secret</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">ABCDEFGHJKLMNOPQRSTUVXYZ</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">event</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">ABCDEFGHJKLMNOPQRSTUVXYZ</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">tracker</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">ABCDEFGHJKLMNOPQRSTUVXYZ</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
<p><strong>XMPP</strong><br>
|
|
<img src='/images/supported_brands/xmpp.png' style='border:none; box-shadow: none; float: right;' height='50' />
|
|
<a href="https://github.com/fabaff">Fabaff</a> has contributed support for Jabber/XMPP. This will allow you send messages from Home Assistant to anyone on Jabber/XMPP.</p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
<span class='line-number'>3</span>
|
|
<span class='line-number'>4</span>
|
|
<span class='line-number'>5</span>
|
|
<span class='line-number'>6</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="c1"># Example configuration.yaml entry</span>
|
|
</span><span class='line'><span class="l-Scalar-Plain">notify</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">platform</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">xmpp</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">sender</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">YOUR_JID</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">password</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">YOUR_JABBER_ACCOUNT_PASSWORD</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">recipient</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">YOUR_RECIPIENT</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
<p><strong>Notify My Android</strong><br>
|
|
<img src='/images/supported_brands/nma.png' style='border:none; box-shadow: none; float: right;' height='50' />
|
|
<a href="https://github.com/fabaff">Fabaff</a> has contributed support for <a href="http://www.notifymyandroid.com/">Notify My Android</a>. This will allow you to send messages from Home Assistant to your Android device.</p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
<span class='line-number'>3</span>
|
|
<span class='line-number'>4</span>
|
|
<span class='line-number'>5</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="c1"># Example configuration.yaml entry</span>
|
|
</span><span class='line'><span class="l-Scalar-Plain">notify</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">platform</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">nma</span>
|
|
</span><span class='line'> <span class="c1"># Get this by registering a new application on http://www.notifymyandroid.com/</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">api_key</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">ABCDEFGHJKLMNOPQRSTUVXYZ</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
<p><strong>Time & Date sensor</strong><br>
|
|
<a href="https://github.com/fabaff">Fabaff</a> has contributed a time & date sensor. This will allow you to show the current time/date on the dashboard.</p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
<span class='line-number'>3</span>
|
|
<span class='line-number'>4</span>
|
|
<span class='line-number'>5</span>
|
|
<span class='line-number'>6</span>
|
|
<span class='line-number'>7</span>
|
|
<span class='line-number'>8</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="c1"># Example configuration.yaml entry</span>
|
|
</span><span class='line'><span class="l-Scalar-Plain">sensor</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">platform</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">time_date</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">monitored_variables</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'time'</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'date'</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'date_time'</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'time_date'</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
|
|
</article>
|
|
<hr>
|
|
|
|
|
|
<article class="listing">
|
|
<header>
|
|
|
|
<h1 class="beta">
|
|
<a href="/blog/2015/05/09/utc-time-zone-awareness/">UTC & Time zone awareness</a>
|
|
</h1>
|
|
|
|
|
|
|
|
<div class="meta clearfix">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<time datetime="2015-05-09T23:08:00-07:00" pubdate data-updated="true"><i class="icon-calendar"></i> May 9, 2015</time>
|
|
|
|
|
|
|
|
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
|
|
|
|
<span><i class='icon-time'></i> two minutes reading time</span>
|
|
|
|
|
|
<span>
|
|
<i class="icon-tags"></i>
|
|
<ul class="tags unstyled">
|
|
|
|
|
|
<li><a class='category' href='/blog/categories/core/'>core</a></li>
|
|
|
|
|
|
</ul>
|
|
</span>
|
|
|
|
|
|
<a class='comments'
|
|
href="/blog/2015/05/09/utc-time-zone-awareness/#disqus_thread"
|
|
>Comments</a>
|
|
|
|
</div>
|
|
|
|
</header>
|
|
|
|
|
|
|
|
|
|
<p>I have recently merged code to refactor Home Assistant to use only UTC times internally. A much needed refactor. I’ve added some extra test coverage to time sensitive parts to ensure stability. The code has been live in the dev branch for the last 9 days and will be soon released to the master branch.</p>
|
|
|
|
<p>From now on all internal communication will be done in UTC: time changed events, datetime attributes of states, etc. To get the current time in UTC you can call <code>homeassistant.util.dt.utcnow()</code>. This is a timezone aware UTC datetime object. <a href="https://github.com/balloob/home-assistant/blob/dev/homeassistant/util/dt.py"><code>homeassistant.util.dt</code></a> is a new util package with date helpers.</p>
|
|
|
|
<p>There is also such a thing as local time. Local time is based on the time zone that you have setup in your <code>configuration.yaml</code>. Local times should only be used for user facing information: logs, frontend and automation settings in <code>configuration.yaml</code>.</p>
|
|
|
|
<h3>Setting up your time zone</h3>
|
|
|
|
<p>Setting up a time zone happens in <code>configuration.yaml</code>. If you have no time zone setup, it will be auto detected using the existing detection code using <a href="https://freegeoip.net">freegeoip.net</a>. You can find a list of compatible time zones on <a href="http://en.wikipedia.org/wiki/List_of_tz_database_time_zones">Wikipedia</a>.</p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="l-Scalar-Plain">homeassistant</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">time_zone</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">America/Los_Angeles</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
<h3>Compatibility</h3>
|
|
|
|
<p>The changes to the code are mostly backwards compatible. The old <code>hass.track_time_change</code> and <code>hass.track_point_in_time</code> use now internally two new methods: <code>hass.track_utc_time_change</code> and <code>hass.track_point_in_utc_time</code>. The usage of the old methods have not changed and should be backwards compatible.</p>
|
|
|
|
<p>This refactor adds a new migration for the database adding a <code>utc_offset</code> column to events and states. This information is currently not used but can prove useful in the future when we start analyzing the historical data.</p>
|
|
|
|
<h3><a class='title-link' name='backwards-incompatible-stuff' href='#backwards-incompatible-stuff'></a> Backwards incompatible stuff</h3>
|
|
|
|
<p>All built-in components have been upgraded. The following list is only for people that run custom components:</p>
|
|
|
|
<ul>
|
|
<li><code>hass.track_time_change</code> and <code>hass.track_point_in_time</code> will now return a time zone aware datetime object. Python does not allow comparing a naive with an aware datetime object.</li>
|
|
<li>the sun attributes for rising and setting are now in UTC. The methods <code>sun.next_rising(hass)</code> and <code>sun.next_setting(hass)</code> are backwards compatible, just be careful if you used to read the raw attributes.</li>
|
|
<li>the API sends all times in UTC. If you use anything else besides the frontend to talk to HA, make sure it handles it differently.</li>
|
|
</ul>
|
|
|
|
|
|
|
|
</article>
|
|
<hr>
|
|
|
|
|
|
<article class="listing">
|
|
<header>
|
|
|
|
<h1 class="beta">
|
|
<a href="/blog/2015/04/25/release-notes/">Release notes for April 25, 2015</a>
|
|
</h1>
|
|
|
|
|
|
|
|
<div class="meta clearfix">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<time datetime="2015-04-25T06:57:00-07:00" pubdate data-updated="true"><i class="icon-calendar"></i> April 25, 2015</time>
|
|
|
|
|
|
|
|
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
|
|
|
|
<span><i class='icon-time'></i> three minutes reading time</span>
|
|
|
|
|
|
<span>
|
|
<i class="icon-tags"></i>
|
|
<ul class="tags unstyled">
|
|
|
|
|
|
<li><a class='category' href='/blog/categories/release-notes/'>release-notes</a></li>
|
|
|
|
|
|
</ul>
|
|
</span>
|
|
|
|
|
|
<a class='comments'
|
|
href="/blog/2015/04/25/release-notes/#disqus_thread"
|
|
>Comments</a>
|
|
|
|
</div>
|
|
|
|
</header>
|
|
|
|
|
|
|
|
|
|
<p>It’s been a month since the latest update and a lot has happened again. Here a quick overview of the new things.</p>
|
|
|
|
<p><strong>Line Charts</strong><br>
|
|
<a href="https://github.com/jamespcole">James</a> has upgraded the history in the frontend to support line graphs. Line graphs will be shown for any entity that has a unit of measurement. The line graphs will also be shown in the more info card of an entity. <a href="/demo/">See the demo for a live example.</a></p>
|
|
|
|
<p class='img'>
|
|
<img src='/images/screenshots/history-line-graphs.png'>
|
|
</p>
|
|
|
|
|
|
<p><strong>ISY994 hub support</strong><br>
|
|
<img src='/images/supported_brands/universal_devices.png' style='border:none; box-shadow: none; float: right;' height='50' />
|
|
<a href="https://github.com/rmkraus">Ryan</a> has contributed support to integrate the ISY994 hub by Universal Devices. This allows you to integrate your X10/Insteon sensors, switches and lights.</p>
|
|
|
|
<p>He has created an extensive getting started guide which can be found on <a href="/components/isy994.html">the ISY994 component page</a>.</p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="c1"># Example configuration.yaml entry</span>
|
|
</span><span class='line'><span class="l-Scalar-Plain">isy994</span><span class="p-Indicator">:</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
<p><strong>Logbook</strong><br>
|
|
<img src='/images/screenshots/logbook.png' style='margin-left:10px; float: right;' height="100" />
|
|
I (Paulus) have added a logbook component. The logbook component provides a different perspective on the history of your house by showing all the changes that happened to your house in chronological order. <a href="/demo/">See the demo for a live example.</a>
|
|
<span class='clearfix'></span></p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="c1"># Example configuration.yaml entry</span>
|
|
</span><span class='line'><span class="l-Scalar-Plain">logbook</span><span class="p-Indicator">:</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
<p><strong>Transmission support</strong><br>
|
|
<img src='/images/supported_brands/transmission.png' style='border:none; box-shadow: none; float: right;' height='50' />
|
|
James has also contributed support for integrating Transmission into Home Assistant.</p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
<span class='line-number'>3</span>
|
|
<span class='line-number'>4</span>
|
|
<span class='line-number'>5</span>
|
|
<span class='line-number'>6</span>
|
|
<span class='line-number'>7</span>
|
|
<span class='line-number'>8</span>
|
|
<span class='line-number'>9</span>
|
|
<span class='line-number'>10</span>
|
|
<span class='line-number'>11</span>
|
|
<span class='line-number'>12</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="c1"># Example configuration.yaml entry</span>
|
|
</span><span class='line'><span class="l-Scalar-Plain">sensor</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">platform</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">transmission</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">name</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">Transmission</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">host</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">192.168.1.26</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">port</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">9091</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">username</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">YOUR_USERNAME</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">password</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">YOUR_PASSWORD</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">monitored_variables</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'current_status'</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'download_speed'</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'upload_speed'</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
<p><strong>Modbus support</strong><br>
|
|
<a href="https://github.com/kixam">Kixam</a> has contributed support for modbus, a serial communication protocol to control PLCs. It currently supports sensors and switches which can be controlled over serial, TCP and UDP connections.</p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
<span class='line-number'>3</span>
|
|
<span class='line-number'>4</span>
|
|
<span class='line-number'>5</span>
|
|
<span class='line-number'>6</span>
|
|
<span class='line-number'>7</span>
|
|
<span class='line-number'>8</span>
|
|
<span class='line-number'>9</span>
|
|
<span class='line-number'>10</span>
|
|
<span class='line-number'>11</span>
|
|
<span class='line-number'>12</span>
|
|
<span class='line-number'>13</span>
|
|
<span class='line-number'>14</span>
|
|
<span class='line-number'>15</span>
|
|
<span class='line-number'>16</span>
|
|
<span class='line-number'>17</span>
|
|
<span class='line-number'>18</span>
|
|
<span class='line-number'>19</span>
|
|
<span class='line-number'>20</span>
|
|
<span class='line-number'>21</span>
|
|
<span class='line-number'>22</span>
|
|
<span class='line-number'>23</span>
|
|
<span class='line-number'>24</span>
|
|
<span class='line-number'>25</span>
|
|
<span class='line-number'>26</span>
|
|
<span class='line-number'>27</span>
|
|
<span class='line-number'>28</span>
|
|
<span class='line-number'>29</span>
|
|
<span class='line-number'>30</span>
|
|
<span class='line-number'>31</span>
|
|
<span class='line-number'>32</span>
|
|
<span class='line-number'>33</span>
|
|
<span class='line-number'>34</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="c1"># Example configuration.yaml entry</span>
|
|
</span><span class='line'><span class="l-Scalar-Plain">modbus</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">serial</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">method</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">rtu</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">port</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">/dev/ttyUSB0</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">baudrate</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">9600</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">stopbits</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">1</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">bytesize</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">8</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">parity</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">N</span>
|
|
</span><span class='line'>
|
|
</span><span class='line'><span class="l-Scalar-Plain">sensor</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">platform</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">modbus</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">slave</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">1</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">registers</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">16</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">name</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">My integer sensor</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">unit</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">C</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">24</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">bits</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">0</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">name</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">My boolean sensor</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">2</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">name</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">My other boolean sensor</span>
|
|
</span><span class='line'>
|
|
</span><span class='line'><span class="l-Scalar-Plain">switch</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">platform</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">modbus</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">slave</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">1</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">registers</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">24</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">bits</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">0</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">name</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">My switch</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">2</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">name</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">My other switch</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
|
|
</article>
|
|
<hr>
|
|
|
|
|
|
<article class="listing">
|
|
<header>
|
|
|
|
<h1 class="beta">
|
|
<a href="/blog/2015/03/22/release-notes/">Release notes for March 22, 2015</a>
|
|
</h1>
|
|
|
|
|
|
|
|
<div class="meta clearfix">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<time datetime="2015-03-22T00:21:00-08:00" pubdate data-updated="true"><i class="icon-calendar"></i> March 22, 2015</time>
|
|
|
|
|
|
|
|
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
|
|
|
|
<span><i class='icon-time'></i> three minutes reading time</span>
|
|
|
|
|
|
<span>
|
|
<i class="icon-tags"></i>
|
|
<ul class="tags unstyled">
|
|
|
|
|
|
<li><a class='category' href='/blog/categories/release-notes/'>release-notes</a></li>
|
|
|
|
|
|
</ul>
|
|
</span>
|
|
|
|
|
|
<a class='comments'
|
|
href="/blog/2015/03/22/release-notes/#disqus_thread"
|
|
>Comments</a>
|
|
|
|
</div>
|
|
|
|
</header>
|
|
|
|
|
|
|
|
|
|
<p>A new version of Home Assistant has just been pushed out. It contains bugfixes contributed by <a href="https://github.com/jamespcole">jamespcole</a>, <a href="https://github.com/andythigpen">andythigpen</a>, <a href="https://github.com/trainman419">trainman419</a> and <a href="https://github.com/balloob">me</a>. It also adds a bunch of great new features:</p>
|
|
|
|
<p><strong>Script</strong><br>
|
|
Andythigpen has contributed a script component. This allows users to create a sequence of service calls and delays. Scripts can be started using the service <code>script/turn_on</code> and interrupted using the service <code>script/turn_off</code>. A separate page has been added to the frontend to see the status of your scripts.</p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
<span class='line-number'>3</span>
|
|
<span class='line-number'>4</span>
|
|
<span class='line-number'>5</span>
|
|
<span class='line-number'>6</span>
|
|
<span class='line-number'>7</span>
|
|
<span class='line-number'>8</span>
|
|
<span class='line-number'>9</span>
|
|
<span class='line-number'>10</span>
|
|
<span class='line-number'>11</span>
|
|
<span class='line-number'>12</span>
|
|
<span class='line-number'>13</span>
|
|
<span class='line-number'>14</span>
|
|
<span class='line-number'>15</span>
|
|
<span class='line-number'>16</span>
|
|
<span class='line-number'>17</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="c1"># Example configuration.yaml entry</span>
|
|
</span><span class='line'><span class="l-Scalar-Plain">script</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="c1"># Turns on the bedroom lights and then the living room lights 1 minute later</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">wakeup</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">alias</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">Wake Up</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">sequence</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">alias</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">Bedroom lights on</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">execute_service</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">light.turn_on</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">service_data</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">entity_id</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">group.bedroom</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">delay</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="c1"># supports seconds, milliseconds, minutes, hours, etc.</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">minutes</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">1</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">alias</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">Living room lights on</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">execute_service</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">light.turn_on</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">service_data</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">entity_id</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">group.living_room</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
<p><strong>Scene</strong><br>
|
|
I (Paulus) have contributed a scene component. A user can create scenes that capture the states you want certain entities to be. For example a scene can contain that light A should be turned on and light B should be bright red. Deactivating a scene will restore the previous state from before the scene was activated. Just like scripts, scenes have their own separate page to see which scenes are on.</p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
<span class='line-number'>3</span>
|
|
<span class='line-number'>4</span>
|
|
<span class='line-number'>5</span>
|
|
<span class='line-number'>6</span>
|
|
<span class='line-number'>7</span>
|
|
<span class='line-number'>8</span>
|
|
<span class='line-number'>9</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="c1"># Example configuration.yaml entry</span>
|
|
</span><span class='line'><span class="l-Scalar-Plain">scene</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">name</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">Romantic</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">entities</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">light.tv_back_light</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">on</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">light.ceiling</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">state</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">on</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">color</span><span class="p-Indicator">:</span> <span class="p-Indicator">[</span><span class="nv">0.33</span><span class="p-Indicator">,</span> <span class="nv">0.66</span><span class="p-Indicator">]</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">brightness</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">200</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
<p><a name='sabnzbd'></a>
|
|
<strong>SABnzbd</strong><br>
|
|
<img src='/images/supported_brands/sabnzbd.png' style='border:none; box-shadow: none; float: right;' height='50' />
|
|
James Cole has contributed support to integrate SABnzbd. This will allow you to monitor your downloads from within Home Assistant and setup automation based on the information.</p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
<span class='line-number'>3</span>
|
|
<span class='line-number'>4</span>
|
|
<span class='line-number'>5</span>
|
|
<span class='line-number'>6</span>
|
|
<span class='line-number'>7</span>
|
|
<span class='line-number'>8</span>
|
|
<span class='line-number'>9</span>
|
|
<span class='line-number'>10</span>
|
|
<span class='line-number'>11</span>
|
|
<span class='line-number'>12</span>
|
|
<span class='line-number'>13</span>
|
|
<span class='line-number'>14</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="c1"># Example configuration.yaml entry</span>
|
|
</span><span class='line'><span class="l-Scalar-Plain">sensor</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">platform</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">sabnzbd</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">name</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">SAB</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">api_key</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">YOUR_API_KEY</span>
|
|
</span><span class='line'> <span class="c1"># Example: http://192.168.1.32:8124/</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">base_url</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">YOUR_SABNZBD_BASE_URL</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">monitored_variables</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'current_status'</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'speed'</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'queue_size'</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'queue_remaining'</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'disk_size'</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="s">'disk_free'</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
<p><a name='pushover'></a>
|
|
<strong>PushOver</strong><br>
|
|
<img src='/images/supported_brands/pushover.png' style='border:none; box-shadow: none; float: right;' height='50' />
|
|
James Cole has also contributed support for <a href='https://pushover.net/'>the PushOver service</a> as a platform for the notify component. This allows components to send messages to the user using PushOver.</p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
<span class='line-number'>3</span>
|
|
<span class='line-number'>4</span>
|
|
<span class='line-number'>5</span>
|
|
<span class='line-number'>6</span>
|
|
<span class='line-number'>7</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="c1"># Example configuration.yaml entry</span>
|
|
</span><span class='line'><span class="l-Scalar-Plain">notify</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">platform</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">pushover</span>
|
|
</span><span class='line'> <span class="c1"># Get this by registering a new application on https://pushover.net</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">api_key</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">ABCDEFGHJKLMNOPQRSTUVXYZ</span>
|
|
</span><span class='line'> <span class="c1"># Get this by logging into your account on https://pushover.net</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">user_key</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">ABCDEFGHJKLMNOPQRSTUVXYZ</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
|
|
</article>
|
|
<hr>
|
|
|
|
|
|
<article class="listing">
|
|
<header>
|
|
|
|
<h1 class="beta">
|
|
<a href="/blog/2015/03/11/release-notes/">Release notes for March 11, 2015</a>
|
|
</h1>
|
|
|
|
|
|
|
|
<div class="meta clearfix">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<time datetime="2015-03-11T18:36:00-08:00" pubdate data-updated="true"><i class="icon-calendar"></i> March 11, 2015</time>
|
|
|
|
|
|
|
|
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
|
|
|
|
<span><i class='icon-time'></i> two minutes reading time</span>
|
|
|
|
|
|
<span>
|
|
<i class="icon-tags"></i>
|
|
<ul class="tags unstyled">
|
|
|
|
|
|
<li><a class='category' href='/blog/categories/release-notes/'>release-notes</a></li>
|
|
|
|
|
|
</ul>
|
|
</span>
|
|
|
|
|
|
<a class='comments'
|
|
href="/blog/2015/03/11/release-notes/#disqus_thread"
|
|
>Comments</a>
|
|
|
|
</div>
|
|
|
|
</header>
|
|
|
|
|
|
|
|
|
|
<p>It has only been a little over a week since Theodor introduced YAML support for Home Assistant but so much has already happened that it is time for a summary of recent changes. Before mentioning the highlights I want to thank <a href="https://github.com/andythigpen">andythigpen</a>, <a href="https://github.com/jamespcole">jamespcole</a> and <a href="https://github.com/theolind">theolind</a> for numerous bug fixes, enhancements and new contributions. Thanks!</p>
|
|
|
|
<p><strong>Monitor local resources.</strong><br>
|
|
Theodor has contributed a new sensor platform to allow you to monitor disk usage, memory usage, CPU usage and running processes. This platform has superseded the process component which is now considered deprecated.</p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
<span class='line-number'>3</span>
|
|
<span class='line-number'>4</span>
|
|
<span class='line-number'>5</span>
|
|
<span class='line-number'>6</span>
|
|
<span class='line-number'>7</span>
|
|
<span class='line-number'>8</span>
|
|
<span class='line-number'>9</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="c1"># Example configuration.yaml entry</span>
|
|
</span><span class='line'><span class="l-Scalar-Plain">sensor</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">platform</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">systemmonitor</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">resources</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">disk_use_percent</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">arg</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">/home</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">memory_free</span>
|
|
</span><span class='line'> <span class="p-Indicator">-</span> <span class="l-Scalar-Plain">type</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">process</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">arg</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">kodi</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
<p><strong>Experimental Z-Wave support</strong><br>
|
|
There is now experimental support for connecting Z-Wave networks using a Z-Wave USB stick. Right now it only integrates Z-Wave sensors into Home Assistant. Our goal is to get this tested by more people before adding support for other Z-Wave devices.</p>
|
|
|
|
<p>The new component is built on top of <a href="https://code.google.com/p/python-openzwave/">python-openzwave</a>. This package is currently not distributed on PyPi so we’ve added a script <code>scripts/build_python_openzwave</code> to install it on your machine. Alternatively you can use the Docker image which is ready to go.</p>
|
|
|
|
<p>The development was done using an AEON Z-Wave USB stick and an AEON Z-Wave MultiSensor.</p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
<span class='line-number'>3</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="c1"># Example configuration.yaml entry</span>
|
|
</span><span class='line'><span class="l-Scalar-Plain">zwave</span><span class="p-Indicator">:</span>
|
|
</span><span class='line'> <span class="l-Scalar-Plain">usb_path</span><span class="p-Indicator">:</span> <span class="l-Scalar-Plain">/dev/ttyUSB0</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
<p><strong>Voice control</strong><br>
|
|
An initial version of voice control for Home Assistant has landed. The current implementation consists of two parts.</p>
|
|
|
|
<p>The first part is a component called <code>conversation</code> that exposes the service <code>conversation/process</code>. This service is capable of processing text and translating them into commands for devices. For now it will only support commands in the format of <code>Turn <Friendly Name> <on/off></code>.</p>
|
|
|
|
<p>The second part is an upgrade to the frontend to use the speech-to-text in Chrome to allow users to speak commands. If you’re using Chrome, you can test this out in <a href="/demo/">the demo</a>.</p>
|
|
|
|
<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
|
|
<span class='line-number'>2</span>
|
|
</pre></td><td class='code'><pre><code class='yaml'><span class='line'><span class="c1"># Example configuration.yaml entry</span>
|
|
</span><span class='line'><span class="l-Scalar-Plain">conversation</span><span class="p-Indicator">:</span>
|
|
</span></code></pre></td></tr></table></div></figure>
|
|
|
|
|
|
|
|
</article>
|
|
<hr>
|
|
|
|
|
|
<article class="listing">
|
|
<header>
|
|
|
|
<h1 class="beta">
|
|
<a href="/blog/2015/03/08/new-logo/">New logo for Home Assistant</a>
|
|
</h1>
|
|
|
|
|
|
|
|
<div class="meta clearfix">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<time datetime="2015-03-08T23:16:10-07:00" pubdate data-updated="true"><i class="icon-calendar"></i> March 8, 2015</time>
|
|
|
|
|
|
|
|
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
|
|
|
|
<span><i class='icon-time'></i> less than one minute reading time</span>
|
|
|
|
|
|
<span>
|
|
<i class="icon-tags"></i>
|
|
<ul class="tags unstyled">
|
|
|
|
|
|
<li><a class='category' href='/blog/categories/branding/'>branding</a></li>
|
|
|
|
|
|
</ul>
|
|
</span>
|
|
|
|
|
|
<a class='comments'
|
|
href="/blog/2015/03/08/new-logo/#disqus_thread"
|
|
>Comments</a>
|
|
|
|
</div>
|
|
|
|
</header>
|
|
|
|
|
|
|
|
|
|
<p>It is well known that you are either a good programmer or a good designer. It’s rare you’ll meet someone that is both. That’s why it wasn’t surprising to anyone that the logo that I made was mediocre — at best. Luckily, <a href="http://jeremygeltman.com/">Jeremy Geltman</a> has come to the rescue and contributed a brand new logo for Home Assistant.</p>
|
|
|
|
<p>The new logo follows Googles material design spec. It uses the blue color that Home Assistant uses in the interface and it comes in two versions: a high detailed version (for homescreen icon etc) and a simple version (for favicon etc).</p>
|
|
|
|
<p class='img'>
|
|
<img src='/images/blog/ha-logo-history.png' />
|
|
The old logo, the new detailed logo and the new simple logo.
|
|
</p>
|
|
|
|
|
|
|
|
</article>
|
|
<hr>
|
|
|
|
|
|
<article class="listing">
|
|
<header>
|
|
|
|
<h1 class="beta">
|
|
<a href="/blog/2015/03/01/home-assistant-migrating-to-yaml/">Home Assistant moving to YAML</a>
|
|
</h1>
|
|
|
|
|
|
|
|
<div class="meta clearfix">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<time datetime="2015-03-01T11:38:00-08:00" pubdate data-updated="true"><i class="icon-calendar"></i> March 1, 2015</time>
|
|
|
|
|
|
|
|
<span class="byline author vcard"><i class='icon-user'></i> Theodor Lindquist</span>
|
|
|
|
<span><i class='icon-time'></i> less than one minute reading time</span>
|
|
|
|
|
|
<span>
|
|
<i class="icon-tags"></i>
|
|
<ul class="tags unstyled">
|
|
|
|
|
|
<li><a class='category' href='/blog/categories/core/'>core</a></li>
|
|
|
|
|
|
</ul>
|
|
</span>
|
|
|
|
|
|
<a class='comments'
|
|
href="/blog/2015/03/01/home-assistant-migrating-to-yaml/#disqus_thread"
|
|
>Comments</a>
|
|
|
|
</div>
|
|
|
|
</header>
|
|
|
|
|
|
|
|
|
|
<p>Home Assistant is now using <a href="http://yaml.org/">YAML</a> for it’s configuration file.
|
|
YAML allows the use of lists, which should make the configuration file a bit more flexible and useful. The new configuration file format is backwards compatible with existing components. Because of this, there is no need for component developers to update their components.</p>
|
|
|
|
<p>The new file is named configuration.yaml and if it can’t be found in your config directory, Home Assistant will instead try to find the old configuration file, home-assistant.conf.</p>
|
|
|
|
<p>The home-assistant.conf.example has been replaced with an updated <a href="https://github.com/balloob/home-assistant/blob/dev/config/configuration.yaml.example">configuration.yaml.example</a>.</p>
|
|
|
|
<p>Users of Home Assistant should migrate as the old configuration format is deprecated.</p>
|
|
|
|
|
|
</article>
|
|
<hr>
|
|
|
|
|
|
<article class="listing">
|
|
<header>
|
|
|
|
<h1 class="beta">
|
|
<a href="/blog/2015/02/24/streaming-updates/">Streaming updates</a>
|
|
</h1>
|
|
|
|
|
|
|
|
<div class="meta clearfix">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<time datetime="2015-02-24T22:41:27-08:00" pubdate data-updated="true"><i class="icon-calendar"></i> February 24, 2015</time>
|
|
|
|
|
|
|
|
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
|
|
|
|
<span><i class='icon-time'></i> 1 minute reading time</span>
|
|
|
|
|
|
<span>
|
|
<i class="icon-tags"></i>
|
|
<ul class="tags unstyled">
|
|
|
|
|
|
<li><a class='category' href='/blog/categories/frontend/'>frontend</a></li>
|
|
|
|
|
|
</ul>
|
|
</span>
|
|
|
|
|
|
<a class='comments'
|
|
href="/blog/2015/02/24/streaming-updates/#disqus_thread"
|
|
>Comments</a>
|
|
|
|
</div>
|
|
|
|
</header>
|
|
|
|
|
|
|
|
|
|
<div class="entry-content clearfix">
|
|
<p>Home Assistant has learned a new trick to get the latest information from the server: streaming updates. No longer will the frontend poll every 30 seconds for updates but instead it will keep a connection open and get the latest changes pushed as soon as they happen.</p>
|
|
|
|
<p>A new toggle has been added ot the sidebar to turn streaming updates on and off. This preference will be saved on a per-browser basis using local storage. The toggle will also indicate when there is an error setting up a stream after which it will fall back to use polling.</p>
|
|
|
|
<p class='img'><img src='/images/screenshots/streaming-updates.png' /></p>
|
|
|
|
|
|
|
|
|
|
|
|
<a class="btn pull-right" href="/blog/2015/02/24/streaming-updates/#read-more">Read on →</a>
|
|
</div>
|
|
|
|
</article>
|
|
<hr>
|
|
|
|
|
|
<article class="listing">
|
|
<header>
|
|
|
|
<h1 class="beta">
|
|
<a href="/blog/2015/02/08/looking-at-the-past/">Looking at the past</a>
|
|
</h1>
|
|
|
|
|
|
|
|
<div class="meta clearfix">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<time datetime="2015-02-08T09:01:23-08:00" pubdate data-updated="true"><i class="icon-calendar"></i> February 8, 2015</time>
|
|
|
|
|
|
|
|
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
|
|
|
|
<span><i class='icon-time'></i> 1 minute reading time</span>
|
|
|
|
|
|
<span>
|
|
<i class="icon-tags"></i>
|
|
<ul class="tags unstyled">
|
|
|
|
|
|
<li><a class='category' href='/blog/categories/component/'>component</a></li>
|
|
|
|
<li><a class='category' href='/blog/categories/frontend/'>frontend</a></li>
|
|
|
|
|
|
</ul>
|
|
</span>
|
|
|
|
|
|
<a class='comments'
|
|
href="/blog/2015/02/08/looking-at-the-past/#disqus_thread"
|
|
>Comments</a>
|
|
|
|
</div>
|
|
|
|
</header>
|
|
|
|
|
|
|
|
|
|
<div class="entry-content clearfix">
|
|
<p>Ever since the launch of Home Assistant you have been able to track the state of your house. But the view has always been limited to what the current state is. Not what it was. Today we are going to change that by introducing two brand new components:</p>
|
|
|
|
<ul>
|
|
<li>Recorder component that will record every event to a SQLite database</li>
|
|
<li>History component that will query and aggregate the recorded events</li>
|
|
</ul>
|
|
|
|
|
|
<p>By adding this view into the past, we are adding an extra dimension into the state of your house. This brings great new possibilities for future features. The focus of todays release is on getting the recording component to you to start recording and getting some data. To show what is being recorded a view has been added that shows the last 24 hours of your house. Expect more extensive tools to explore your history in the future.</p>
|
|
|
|
<p>Adding history to the UI was a challenge on itself because the old UI did not support easy navigation. So to add to the awesomeness of this release, Home Assistant also got a face lift.</p>
|
|
|
|
<p>The history component will be enabled for new users by default. For current users, run <code>scripts/update</code> to upgrade to the latest version and add <code>[history]</code> to your <code>home-assistant.conf</code> file.</p>
|
|
|
|
<p class='img'>
|
|
<a href='/images/screenshots/component_history_24h.png'>
|
|
<img src='/images/screenshots/component_history_24h.png' />
|
|
</a>
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p class='note'>
|
|
Events are saved in a local database. Google Graphs is used to draw the graph. Drawing is happening 100% in your browser - no data is transfered to anyone at any time.
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
<a class="btn pull-right" href="/blog/2015/02/08/looking-at-the-past/#read-more">Read on →</a>
|
|
</div>
|
|
|
|
</article>
|
|
<hr>
|
|
|
|
|
|
<article class="listing">
|
|
<header>
|
|
|
|
<h1 class="beta">
|
|
<a href="/blog/2015/01/24/release-notes/">Release notes for January 24, 2015</a>
|
|
</h1>
|
|
|
|
|
|
|
|
<div class="meta clearfix">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<time datetime="2015-01-24T18:36:00-08:00" pubdate data-updated="true"><i class="icon-calendar"></i> January 24, 2015</time>
|
|
|
|
|
|
|
|
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
|
|
|
|
<span><i class='icon-time'></i> 1 minute reading time</span>
|
|
|
|
|
|
<span>
|
|
<i class="icon-tags"></i>
|
|
<ul class="tags unstyled">
|
|
|
|
|
|
<li><a class='category' href='/blog/categories/release-notes/'>release-notes</a></li>
|
|
|
|
|
|
</ul>
|
|
</span>
|
|
|
|
|
|
<a class='comments'
|
|
href="/blog/2015/01/24/release-notes/#disqus_thread"
|
|
>Comments</a>
|
|
|
|
</div>
|
|
|
|
</header>
|
|
|
|
|
|
|
|
|
|
<p>I have just merged the latest version of the development branch into master. Here are some of the highlights of this release:</p>
|
|
|
|
<p><strong>Configuration via the frontend</strong><br>
|
|
Phliips Hue will now be auto discovered and uses the new <code>configurator</code> component to interact with the user to finish the setup process.</p>
|
|
|
|
<p><strong>Wink Hub support</strong><br>
|
|
Thanks to the work done by John McLaughlin and Geoff Norton we now support the lights, switches and sensors that are connected to the Wink hub.</p>
|
|
|
|
<p><strong>The getting started guide and component page have been reorganized</strong><br>
|
|
The getting started instructions have been split into separate pages per component and a general overview page. The goal is to have a page per component that describes:</p>
|
|
|
|
<ul>
|
|
<li>What it does</li>
|
|
<li>How to set it up</li>
|
|
<li>Which states it maintains</li>
|
|
<li>Which services it provides</li>
|
|
<li>Additional development tips</li>
|
|
</ul>
|
|
|
|
|
|
<p><strong>More reasonable errors</strong><br>
|
|
Home Assistant should now throw better errors and offer solutions if you do not have the right version of Python 3, forgot to clone the git submodules or install the dependencies.</p>
|
|
|
|
<p><strong>Streamlined first launch</strong><br>
|
|
Home Assistant now supports <code>--open-ui</code> and <code>--demo-mode</code> command line properties to open the browser automatically and have something to show. Home Assistant now supports to be run without a password, allowing the interface to login automatically on launch.</p>
|
|
|
|
|
|
</article>
|
|
<hr>
|
|
|
|
|
|
<div class="pagination">
|
|
|
|
<a class="btn pull-left" href="/blog/posts/2">← Older</a>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<footer>
|
|
<div class="grid-wrapper">
|
|
<div class="grid">
|
|
<div class="grid__item">
|
|
<p class="copyright">
|
|
<span class="credit">Powered by <a href="http://octopress.org">Octopress</a>, <a href='http://jekyllrb.com/'>Jekyll</a> and the <a href='https://github.com/coogie/oscailte'>Oscalite theme</a>. Hosted by <a href='https://pages.github.com/'>GitHub</a> and served by <a href='https://cloudflare.com'>CloudFlare</a>.</span>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</footer>
|
|
|
|
<!--[if lt IE 7]>
|
|
<p class="chromeframe">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> or <a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a> to improve your experience.</p>
|
|
<![endif]-->
|
|
|
|
|
|
|
|
|
|
<script>
|
|
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
|
|
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
|
|
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
|
|
s.parentNode.insertBefore(g,s)}(document,'script'));
|
|
</script>
|
|
|
|
|
|
|
|
<script>
|
|
var disqus_shortname = 'home-assistant';
|
|
|
|
|
|
var disqus_script = 'count.js';
|
|
|
|
(function () {
|
|
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
|
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
|
|
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
|
}());
|
|
</script>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
</html> |