Site updated at 2016-04-30 11:27:37 UTC
This commit is contained in:
parent
3470b6d38e
commit
948f19db2f
95 changed files with 2726 additions and 789 deletions
183
atom.xml
183
atom.xml
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Home Assistant]]></title>
|
<title><![CDATA[Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-04-30T11:04:27+00:00</updated>
|
<updated>2016-04-30T11:26:57+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Paulus Schoutsen]]></name>
|
<name><![CDATA[Paulus Schoutsen]]></name>
|
||||||
|
@ -13,6 +13,145 @@
|
||||||
<generator uri="http://octopress.org/">Octopress</generator>
|
<generator uri="http://octopress.org/">Octopress</generator>
|
||||||
|
|
||||||
|
|
||||||
|
<entry>
|
||||||
|
<title type="html"><![CDATA[iBeacons: Making presence detection work better (part I)]]></title>
|
||||||
|
<link href="https://home-assistant.io/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/"/>
|
||||||
|
<updated>2016-04-30T06:50:09+00:00</updated>
|
||||||
|
<id>https://home-assistant.io/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better</id>
|
||||||
|
<content type="html"><![CDATA[<p><em>This is a guest post by Home Assistant contributor <a href="https://github.com/pavoni">Greg Dowling</a>.</em></p>
|
||||||
|
|
||||||
|
<p>In 2013 Apple introduced iBeacons: a class of Bluetooth low energy (LE) devices that broadcast their identifier to nearby devices, including most smartphones. At first glance it’s hard to imagine why they might be useful. In this two part blog I’ll try and explain why they are useful and how you can use them with Home Assistant.</p>
|
||||||
|
|
||||||
|
<p>The reason I started using iBeacons was to improve presence detection (and I think that’s the case with most people) so that’s what I’ll discuss in <em>part 1</em>. In <em>part 2</em> I’ll talk about using iBeacons to track devices that can’t track themselves.</p>
|
||||||
|
|
||||||
|
<h3><a class="title-link" name="using-beacons-to-improve-owntracks-location-data" href="#using-beacons-to-improve-owntracks-location-data"></a> Using beacons to improve OwnTracks location data</h3>
|
||||||
|
|
||||||
|
<p>When you use OwnTracks in standard <em>major move</em> mode (which is kind to your phone battery) it sometimes fails to update when you’d like it to. In my case I found that it would often send a location update as I was on my way home, but then not update when I got home. The result would be that Home Assistant would think I was 500M away from home, and take quite a while to notice I was home. It would also mean that the automation that should turn on my lights when I got home didn’t work very well! There were a few times when my phone location updated at 2am and turned the lights on for me. Fortunately my wife is very patient!</p>
|
||||||
|
|
||||||
|
<p>Luckily, OwnTracks supports iBeacons so I could use them to make presence detection more reliable. When OwnTracks sees a beacon it recognises, it will send an update. This means that if you put a beacon at your front door - OwnTracks will see it within a few seconds of you arriving home - and send an update saying it has seen this iBeacon.</p>
|
||||||
|
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
|
<h3><a class="title-link" name="getting-started" href="#getting-started"></a> Getting Started</h3>
|
||||||
|
|
||||||
|
<p>To do this you first need to set up <a href="https://home-assistant.io/components/mqtt/#picking-a-broker/">MQTT</a> and <a href="https://home-assistant.io/components/device_tracker.owntracks/">OwnTracks</a> in Home assistant - and make sure that HA can track your phone.</p>
|
||||||
|
|
||||||
|
<p>You then have to (A) tell Home Assistant where the beacon is located and (B) tell OwnTracks to recognise the beacon.</p>
|
||||||
|
|
||||||
|
<h4><a class="title-link" name="a-tell-home-assistant-where-your-beacon-is-located" href="#a-tell-home-assistant-where-your-beacon-is-located"></a> A. Tell Home Assistant where your beacon is located</h4>
|
||||||
|
|
||||||
|
<p>You tell HomeAssistant about fixed locations by creating a Zone with the longitude and latitude of your beacon. You should also give the zone a name which you will also use when you set up OwnTracks. An an example this zone specifies the location of my where my drive way.</p>
|
||||||
|
|
||||||
|
<p><strong>Example <code>configuration.yaml</code> entry</strong></p>
|
||||||
|
|
||||||
|
<div class="highlighter-coderay"><div class="CodeRay">
|
||||||
|
<div class="code"><pre>
|
||||||
|
<span class="key">zone</span>:
|
||||||
|
- <span class="string"><span class="content">name: 'Drive'</span></span>
|
||||||
|
<span class="key">latitude</span>: <span class="string"><span class="content">XXX</span></span>
|
||||||
|
<span class="key">longitude</span>: <span class="string"><span class="content">YYY</span></span>
|
||||||
|
<span class="key">radius</span>: <span class="string"><span class="content">100</span></span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>The radius isn’t used by the beacon code, but it is used by the GPS location sensing code. I’ll come back to this a little later. For now just use 50 or 100.</p>
|
||||||
|
|
||||||
|
<p>Once you’ve created the zone - you need to restart HA. The next step is:-</p>
|
||||||
|
|
||||||
|
<h4><a class="title-link" name="b-tell-owntracks-to-track--your-beacon" href="#b-tell-owntracks-to-track--your-beacon"></a> B. Tell OwnTracks to track your beacon</h4>
|
||||||
|
|
||||||
|
<ol>
|
||||||
|
<li>Go to the OwnTracks app on your phone</li>
|
||||||
|
<li>Touch the <code>Regions</code> menu at the bottom of the screen</li>
|
||||||
|
<li>Touch the <code>+</code> symbol at the top right of the screen</li>
|
||||||
|
<li>Give the beacon a name e.g. <code>-drive</code> ’(start the name with a <code>-</code> see below for the reason)</li>
|
||||||
|
<li>Turn Share to <code>On</code></li>
|
||||||
|
<li>Skip the <code>Circular Region</code> section</li>
|
||||||
|
<li>Enter the <code>UUID</code> of your beacon - this may be written on your beacon - or you can copy it from the management app that came with your iBeacon device. It’s a long number – so it’s easier to copy if you can!</li>
|
||||||
|
<li>Enter the <code>Minor</code> and <code>Major</code> numbers for your iBeacon - or leave them at 0 which will match all beacons with that <code>UUID</code></li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<p class="img">
|
||||||
|
<img width="200" border="2" src="https://home-assistant.io/images/blog/2016-04-ibeacons/owntracks_beacon_setup.png" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>Once you’ve added the iBeacon - you should be able to see it on the OwnTracks region screen. If your phone can see the packets from that beacon, OwnTracks will turn the relevant Region red.</p>
|
||||||
|
|
||||||
|
<p class="img">
|
||||||
|
<img width="200" src="https://home-assistant.io/images/blog/2016-04-ibeacons/owntracks_red_beacon.png" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>When OwnTracks sees the beacon (and turns the region red), it also sends an MQTT packet to HA to say that you have entered that region.</p>
|
||||||
|
|
||||||
|
<p>The result of the configuration above would be to set the location of device.phone to <code>Drive</code> , (and the GPS location to XXX,YYY) when your phone sees the beacon.</p>
|
||||||
|
|
||||||
|
<p>So with the steps above you should be able to improve the reliability of tracking your phone - and send timely updates to HA. I did this for my home - and the lights now turn on before I reach the house on foot. If I arrive by car they turn on within a few seconds of arriving, before I can get to the front door.</p>
|
||||||
|
|
||||||
|
<p>I’m also pleased to say I no longer get an <em>arrive home</em> event at 2am that turns the lights on. I hope I’ve convinced you that iBeacons are worth trying!</p>
|
||||||
|
|
||||||
|
<h3><a class="title-link" name="mixing-beacons-and-gps-locations" href="#mixing-beacons-and-gps-locations"></a> Mixing Beacons and GPS locations</h3>
|
||||||
|
|
||||||
|
<p>You will probably use beacons to make entry into your existing GPS zones more reliable. By default either a beacon or a GPS location can cause you to enter a zone - and HA has some logic that should make them two work well together (it ignores GPS updates when you’re in an iBeacon Zone).</p>
|
||||||
|
|
||||||
|
<p>However you can also use beacons for situations where GPS doesn’t work well.</p>
|
||||||
|
|
||||||
|
<p>This might be because the zones are too close together - or even on top of each other!<br />
|
||||||
|
For example, my wife works next door - and I couldn’t detect whether she’s at home or in the office via GPS because the accuracy wasn’t high enough. However I can do this by using two beacons.</p>
|
||||||
|
|
||||||
|
<p>To make this type of presence detection work you need to turn GPS off for a zone in Home Assistant by making them <code>passive</code>. This is important because otherwise HA will try to decide between two close together zones without enough data. This doesn’t work well.</p>
|
||||||
|
|
||||||
|
<p>A passive zone can only be entered via an iBeacon, so a GPS location update will always pick the other zone.</p>
|
||||||
|
|
||||||
|
<p>I set up my Home zone to be a standard region, and my office zone to be passive, so the home zone can be entered in the normal way via either GPS or a Beacon.</p>
|
||||||
|
|
||||||
|
<p><strong>Example <code>configuration.yaml</code> entry</strong></p>
|
||||||
|
|
||||||
|
<div class="highlighter-coderay"><div class="CodeRay">
|
||||||
|
<div class="code"><pre>
|
||||||
|
<span class="key">zone</span>:
|
||||||
|
- <span class="string"><span class="content">name: 'Office'</span></span>
|
||||||
|
<span class="key">latitude</span>: <span class="string"><span class="content">XXX</span></span>
|
||||||
|
<span class="key">longitude</span>: <span class="string"><span class="content">YYY</span></span>
|
||||||
|
<span class="key">radius</span>: <span class="string"><span class="content">3</span></span>
|
||||||
|
<span class="key">passive</span>: <span class="string"><span class="content">true</span></span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>You could use this technique to try to detect which room someone is in. This might allow you to notice whether someone is in the living room or the bedroom - even though one is above the other (although beacon packets do pass through walls and floors).</p>
|
||||||
|
|
||||||
|
<p>To get this to work you’ll probably need to experiment with the beacon signal strength to try to match the beacon reception area to the location you want to track. Let me know if you get this to work (it doesn’t make sense in my open plan house)</p>
|
||||||
|
|
||||||
|
<h3><a class="title-link" name="conclusion" href="#conclusion"></a> Conclusion</h3>
|
||||||
|
|
||||||
|
<p>Presence tracking sounds easy - and it’s an important part of Home Automation. Trying it shows how difficult it is to get presence detection right. I’ve found that iBeacons have improved the reliability and timeliness of knowing where I am, and I hope I encouraged you to try them too.</p>
|
||||||
|
|
||||||
|
<h3><a class="title-link" name="tips" href="#tips"></a> Tips</h3>
|
||||||
|
|
||||||
|
<p>You can find out more about configuring the OwnTracks application and beacons <a href="http://owntracks.org/booklet/features/beacons/">here</a></p>
|
||||||
|
|
||||||
|
<p>There is information about configuring Homeassistant to use beacons <a href="https://home-assistant.io/components/device_tracker.owntracks/">here</a></p>
|
||||||
|
|
||||||
|
<h4><a class="title-link" name="connections-and-disconnecting" href="#connections-and-disconnecting"></a> Connections and disconnecting</h4>
|
||||||
|
|
||||||
|
<p>Owntracks treats a region name with a leading <code>-</code> as a hint that it shouldn’t disconnect after a single missed packet. This improves the ability to keep a connection to a beacon.</p>
|
||||||
|
|
||||||
|
<p>However, even when using this feature I’ve noticed that you can still lose connections (although it seems to vary by beacon manufacturer and type - I’ll talk more about this in <em>part 2</em>). This means that it’s best to take into account that you may see false enter/leave events in HA. You may be able to improve this by changing how often the beacons send packets - and by increasing the signal strength (both will drain your beacon batteries more quickly). You can usually change these parameters in the app supplied by the iBeacon maker. You can also find some high power beacons (which have worked well for me).</p>
|
||||||
|
|
||||||
|
<p>In automations you can use a <code>for:</code> to avoid triggering during a brief disconnect, or use a script with a delay. Stay tuned for <em>part 2</em> for an example of this.</p>
|
||||||
|
|
||||||
|
<h4><a class="title-link" name="using-multiple-beacons-for-the-same-zone" href="#using-multiple-beacons-for-the-same-zone"></a> Using Multiple beacons for the same Zone</h4>
|
||||||
|
<p>iBeacons have a <code>UUID</code> (usually set to the same value for beacons from the same manufacturer), as well as a <code>minor</code> and <code>major</code> number. If you set two beacons to have exactly same details then OwnTracks will think multiple beacons are at the same location.</p>
|
||||||
|
|
||||||
|
<p>This means you can have more than one beacon around your home - and a connection to any of them will count as <code>home</code> to OwnTracks and HA. This reduces disconnections.</p>
|
||||||
|
|
||||||
|
<p>You can achieve the same effect by using the same the same <code>UUID</code> but different <code>major</code> / <code>minor</code> numbers - and tell OwnTracks not to worry about the <code>minor</code> / <code>major</code> numbers for a particular region by setting them to 0).</p>
|
||||||
|
|
||||||
|
<p><em>Stay tuned for part II where I’ll talk about how to use iBeacons to track any object.</em></p>
|
||||||
|
]]></content>
|
||||||
|
</entry>
|
||||||
|
|
||||||
<entry>
|
<entry>
|
||||||
<title type="html"><![CDATA[0.18: Bluetooth, LG WebOS TVs and Roombas.]]></title>
|
<title type="html"><![CDATA[0.18: Bluetooth, LG WebOS TVs and Roombas.]]></title>
|
||||||
<link href="https://home-assistant.io/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/"/>
|
<link href="https://home-assistant.io/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/"/>
|
||||||
|
@ -1359,48 +1498,6 @@ sudo docker run -it --rm -p 443:443 -p 80:80 --name letsencrypt \
|
||||||
|
|
||||||
<p><em>Big thanks to Fabian Affolter for his help and feedback on this article.</em></p>
|
<p><em>Big thanks to Fabian Affolter for his help and feedback on this article.</em></p>
|
||||||
|
|
||||||
]]></content>
|
|
||||||
</entry>
|
|
||||||
|
|
||||||
<entry>
|
|
||||||
<title type="html"><![CDATA[[Update: decision reversed!] Philips Hue blocks 3rd party lights]]></title>
|
|
||||||
<link href="https://home-assistant.io/blog/2015/12/12/philips-hue-blocks-3rd-party-bulbs/"/>
|
|
||||||
<updated>2015-12-12T18:44:00+00:00</updated>
|
|
||||||
<id>https://home-assistant.io/blog/2015/12/12/philips-hue-blocks-3rd-party-bulbs</id>
|
|
||||||
<content type="html"><![CDATA[<p><strong>Update Dec 16</strong>: Great news! Philips has decided to <a href="http://www.developers.meethue.com/documentation/friends-hue-update">reverse their decision</a> and is working on a software update to allow 3rd party light bulbs again.</p>
|
|
||||||
|
|
||||||
<p class="img">
|
|
||||||
<img src="https://home-assistant.io/images/blog/2015-12-philips-hue-3rd-party/philips-hue-reversed-faq.png" />
|
|
||||||
Philips Hue FAQ entries regarding reversing the decision.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p><em>Original post:</em></p>
|
|
||||||
|
|
||||||
<!--more-->
|
|
||||||
<p>Philips Hue was one of the first to get smart lights accepted by the mainstream. Their Zigbee-based hub is rock solid, never crashes, great API and worked with other Zigbee light bulbs too. They are a bit expensive but the platform was worth every penny, till now.</p>
|
|
||||||
|
|
||||||
<p>Yesterday a thread on <a href="https://www.reddit.com/r/homeautomation/comments/3wet8h/fyi_the_hue_hub_is_now_blocking_third_party/">/r/homeautomation</a> published that Philips Hue now blocks all but their own bulbs and those of “friends of Hue”. I have been able to confirm this in the <a href="http://www2.meethue.com/en-us/support/search/?q=Another+brand">Philips Hue FAQ</a> (Update Dec 14: they have removed the entries - <a href="https://home-assistant.io/images/blog/2015-12-philips-hue-3rd-party/mirror.png">mirror here</a>):</p>
|
|
||||||
|
|
||||||
<p class="img">
|
|
||||||
<img src="https://home-assistant.io/images/blog/2015-12-philips-hue-3rd-party/philips-hue-faq.png" />
|
|
||||||
Philips Hue FAQ entries regarding 3rd party light bulbs.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>This means that after you update your Hue bridge to the latest version:</p>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>As of now, you can still use your existing paired 3rd party light bulbs</li>
|
|
||||||
<li>You cannot pair new 3rd party light bulbs</li>
|
|
||||||
<li>You’re out of luck if for some reason you have to pair existing 3rd party light bulbs again</li>
|
|
||||||
<li>Resetting your hub will force pairing of all your bulbs again</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p>If you own a Philips Hue hub and are using 3rd party light bulbs, make sure you do not upgrade your hub if you want to be able to pair new 3rd party lightbulbs. But do realize that you are sitting on a ticking time bomb.</p>
|
|
||||||
|
|
||||||
<p>I have read, but have been unable to confirm it, that resetting your hub will force a software upgrade. So beware of that too.</p>
|
|
||||||
|
|
||||||
<p>I will no longer suggest people to buy into the Philips Hue ecosystem.</p>
|
|
||||||
|
|
||||||
]]></content>
|
]]></content>
|
||||||
</entry>
|
</entry>
|
||||||
|
|
||||||
|
|
|
@ -179,6 +179,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -202,12 +208,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -234,6 +234,12 @@ This article will try to explain how they all relate.</p>
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -257,12 +263,6 @@ This article will try to explain how they all relate.</p>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -218,6 +218,12 @@ api_key=ABCDEFGHJKLMNOPQRSTUVXYZ
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -241,12 +247,6 @@ api_key=ABCDEFGHJKLMNOPQRSTUVXYZ
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -193,6 +193,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -216,12 +222,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -196,6 +196,12 @@ password=YOUR_PASSWORD
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -219,12 +225,6 @@ password=YOUR_PASSWORD
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -202,6 +202,12 @@ Home Assistant now supports <code>--open-ui</code> and <code>--demo-mode</code>
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -225,12 +231,6 @@ Home Assistant now supports <code>--open-ui</code> and <code>--demo-mode</code>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -210,6 +210,12 @@ Events are saved in a local database. Google Graphs is used to draw the graph. D
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -233,12 +239,6 @@ Events are saved in a local database. Google Graphs is used to draw the graph. D
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -195,6 +195,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -218,12 +224,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -185,6 +185,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -208,12 +214,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -186,6 +186,12 @@ The old logo, the new detailed logo and the new simple logo.
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -209,12 +215,6 @@ The old logo, the new detailed logo and the new simple logo.
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -225,6 +225,12 @@ An initial version of voice control for Home Assistant has landed. The current i
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -248,12 +254,6 @@ An initial version of voice control for Home Assistant has landed. The current i
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -262,6 +262,12 @@ I (Paulus) have contributed a scene component. A user can create scenes that cap
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -285,12 +291,6 @@ I (Paulus) have contributed a scene component. A user can create scenes that cap
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -273,6 +273,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -296,12 +302,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -208,6 +208,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -231,12 +237,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -300,6 +300,12 @@ Before diving into the newly supported devices and services, I want to highlight
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -323,12 +329,6 @@ Before diving into the newly supported devices and services, I want to highlight
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -353,6 +353,12 @@ This switch platform allows you to control your motion detection setting on your
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -376,12 +382,6 @@ This switch platform allows you to control your motion detection setting on your
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -305,6 +305,12 @@ Fabian has added support for <a href="https://forecast.io/">Forecast.io</a> to g
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -328,12 +334,6 @@ Fabian has added support for <a href="https://forecast.io/">Forecast.io</a> to g
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -294,6 +294,12 @@ Support for Temper temperature sensors has been contributed by <a href="https://
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -317,12 +323,6 @@ Support for Temper temperature sensors has been contributed by <a href="https://
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -204,6 +204,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -227,12 +233,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -317,6 +317,12 @@ The automation and script syntax here is using a deprecated and no longer suppor
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -340,12 +346,6 @@ The automation and script syntax here is using a deprecated and no longer suppor
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -291,6 +291,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -314,12 +320,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -494,6 +494,12 @@ PubSubClient client(ethClient);
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -517,12 +523,6 @@ PubSubClient client(ethClient);
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -353,6 +353,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -376,12 +382,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -254,6 +254,12 @@ Glances web server started on http://0.0.0.0:61208/
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -277,12 +283,6 @@ Glances web server started on http://0.0.0.0:61208/
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -233,6 +233,12 @@ Automation has gotten a lot of love. It now supports conditions, multiple trigge
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -256,12 +262,6 @@ Automation has gotten a lot of love. It now supports conditions, multiple trigge
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -209,6 +209,12 @@ Map in Home Assistant showing two people and three zones (home, school, work)
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -232,12 +238,6 @@ Map in Home Assistant showing two people and three zones (home, school, work)
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -540,6 +540,12 @@ Adafruit_HDC1000 hdc = Adafruit_HDC1000();
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -563,12 +569,6 @@ Adafruit_HDC1000 hdc = Adafruit_HDC1000();
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -198,6 +198,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -221,12 +227,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -220,6 +220,12 @@ This makes more sense as most people run Home Assistant as a daemon</p>
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -243,12 +249,6 @@ This makes more sense as most people run Home Assistant as a daemon</p>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -216,6 +216,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -239,12 +245,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -256,6 +256,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -279,12 +285,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -189,6 +189,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -212,12 +218,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -198,6 +198,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -221,12 +227,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -289,6 +289,12 @@ $ sudo systemctl status grafana-server
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -312,12 +318,6 @@ $ sudo systemctl status grafana-server
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -239,6 +239,12 @@ requests.get(<span class="string"><span class="delimiter">'</span><span class="c
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -262,12 +268,6 @@ requests.get(<span class="string"><span class="delimiter">'</span><span class="c
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -211,6 +211,12 @@ Philips Hue FAQ entries regarding 3rd party light bulbs.
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -234,12 +240,6 @@ Philips Hue FAQ entries regarding 3rd party light bulbs.
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -276,6 +276,12 @@ sudo docker run -it --rm -p 443:443 -p 80:80 --name letsencrypt \
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -299,12 +305,6 @@ sudo docker run -it --rm -p 443:443 -p 80:80 --name letsencrypt \
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -232,6 +232,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -255,12 +261,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -212,6 +212,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -235,12 +241,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -216,6 +216,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -239,12 +245,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -218,6 +218,12 @@ Example of the new views in the frontend. <a href="/components/group/">Learn mor
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -241,12 +247,6 @@ Example of the new views in the frontend. <a href="/components/group/">Learn mor
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -405,6 +405,12 @@ Z-Wave light bulb |
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -428,12 +434,6 @@ Z-Wave light bulb |
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -355,6 +355,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -378,12 +384,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -221,6 +221,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -244,12 +250,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -323,6 +323,12 @@ output = audioresample ! audio/x-raw,rate=48000,channels=2,format=S16LE ! audioc
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -346,12 +352,6 @@ output = audioresample ! audio/x-raw,rate=48000,channels=2,format=S16LE ! audioc
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -229,6 +229,12 @@ Hold your NFC tag against the belly of Garfield to unlock the alarm.
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -252,12 +258,6 @@ Hold your NFC tag against the belly of Garfield to unlock the alarm.
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -220,6 +220,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -243,12 +249,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -226,6 +226,12 @@ player state attributes. This change affects automations, scripts and scenes.</l
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -249,12 +255,6 @@ player state attributes. This change affects automations, scripts and scenes.</l
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -237,6 +237,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -260,12 +266,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -189,6 +189,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -212,12 +218,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -195,6 +195,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -218,8 +224,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -203,6 +203,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -222,12 +228,6 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -187,6 +187,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -206,12 +212,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -204,6 +204,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -223,12 +229,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -222,6 +222,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
|
@ -241,12 +247,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,391 @@
|
||||||
|
<!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>iBeacons: Making presence detection work better (part I) - 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/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">
|
||||||
|
|
||||||
|
<meta property="fb:app_id" content="338291289691179">
|
||||||
|
<meta property="og:title" content="iBeacons: Making presence detection work better (part I)">
|
||||||
|
<meta property="og:site_name" content="Home Assistant">
|
||||||
|
<meta property="og:url" content="https://home-assistant.io/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">
|
||||||
|
<meta property="og:type" content="article">
|
||||||
|
<meta property="og:description" content="">
|
||||||
|
<meta property="og:image" content="https://home-assistant.io/images/home-assistant-logo-2164x2164.png">
|
||||||
|
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:site" content="@home_assistant">
|
||||||
|
<meta name="twitter:creator" content="@pavoni240">
|
||||||
|
<meta name="twitter:title" content="iBeacons: Making presence detection work better (part I)">
|
||||||
|
<meta name="twitter:description" content="">
|
||||||
|
<meta name="twitter:image" content="https://home-assistant.io/images/home-assistant-logo-2164x2164.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='/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">iBeacons: Making presence detection work better (part I)</h1>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="meta clearfix">
|
||||||
|
<time datetime="2016-04-30T06:50:09+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> April 30, 2016</time>
|
||||||
|
<span class="byline author vcard"><i class='icon-user'></i> Greg Dowling</span>
|
||||||
|
<span><i class='icon-time'></i> nine minutes reading time</span>
|
||||||
|
<span>
|
||||||
|
<i class="icon-tags"></i>
|
||||||
|
<ul class="tags unstyled">
|
||||||
|
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/owntracks/'>OwnTracks</a></li>
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/presence-detection/'>Presence-Detection</a></li>
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/ibeacons/'>iBeacons</a></li>
|
||||||
|
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<a class='comments'
|
||||||
|
href="#disqus_thread"
|
||||||
|
>Comments</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<p><em>This is a guest post by Home Assistant contributor <a href="https://github.com/pavoni">Greg Dowling</a>.</em></p>
|
||||||
|
|
||||||
|
<p>In 2013 Apple introduced iBeacons: a class of Bluetooth low energy (LE) devices that broadcast their identifier to nearby devices, including most smartphones. At first glance it’s hard to imagine why they might be useful. In this two part blog I’ll try and explain why they are useful and how you can use them with Home Assistant.</p>
|
||||||
|
|
||||||
|
<p>The reason I started using iBeacons was to improve presence detection (and I think that’s the case with most people) so that’s what I’ll discuss in <em>part 1</em>. In <em>part 2</em> I’ll talk about using iBeacons to track devices that can’t track themselves.</p>
|
||||||
|
|
||||||
|
<h3><a class="title-link" name="using-beacons-to-improve-owntracks-location-data" href="#using-beacons-to-improve-owntracks-location-data"></a> Using beacons to improve OwnTracks location data</h3>
|
||||||
|
|
||||||
|
<p>When you use OwnTracks in standard <em>major move</em> mode (which is kind to your phone battery) it sometimes fails to update when you’d like it to. In my case I found that it would often send a location update as I was on my way home, but then not update when I got home. The result would be that Home Assistant would think I was 500M away from home, and take quite a while to notice I was home. It would also mean that the automation that should turn on my lights when I got home didn’t work very well! There were a few times when my phone location updated at 2am and turned the lights on for me. Fortunately my wife is very patient!</p>
|
||||||
|
|
||||||
|
<p>Luckily, OwnTracks supports iBeacons so I could use them to make presence detection more reliable. When OwnTracks sees a beacon it recognises, it will send an update. This means that if you put a beacon at your front door - OwnTracks will see it within a few seconds of you arriving home - and send an update saying it has seen this iBeacon.</p>
|
||||||
|
|
||||||
|
<a name="read-more"></a>
|
||||||
|
|
||||||
|
<h3><a class="title-link" name="getting-started" href="#getting-started"></a> Getting Started</h3>
|
||||||
|
|
||||||
|
<p>To do this you first need to set up <a href="/components/mqtt/#picking-a-broker">MQTT</a> and <a href="/components/device_tracker.owntracks/">OwnTracks</a> in Home assistant - and make sure that HA can track your phone.</p>
|
||||||
|
|
||||||
|
<p>You then have to (A) tell Home Assistant where the beacon is located and (B) tell OwnTracks to recognise the beacon.</p>
|
||||||
|
|
||||||
|
<h4><a class="title-link" name="a-tell-home-assistant-where-your-beacon-is-located" href="#a-tell-home-assistant-where-your-beacon-is-located"></a> A. Tell Home Assistant where your beacon is located</h4>
|
||||||
|
|
||||||
|
<p>You tell HomeAssistant about fixed locations by creating a Zone with the longitude and latitude of your beacon. You should also give the zone a name which you will also use when you set up OwnTracks. An an example this zone specifies the location of my where my drive way.</p>
|
||||||
|
|
||||||
|
<p><strong>Example <code>configuration.yaml</code> entry</strong></p>
|
||||||
|
|
||||||
|
<div class="highlighter-coderay"><div class="CodeRay">
|
||||||
|
<div class="code"><pre>
|
||||||
|
<span class="key">zone</span>:
|
||||||
|
- <span class="string"><span class="content">name: 'Drive'</span></span>
|
||||||
|
<span class="key">latitude</span>: <span class="string"><span class="content">XXX</span></span>
|
||||||
|
<span class="key">longitude</span>: <span class="string"><span class="content">YYY</span></span>
|
||||||
|
<span class="key">radius</span>: <span class="string"><span class="content">100</span></span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>The radius isn’t used by the beacon code, but it is used by the GPS location sensing code. I’ll come back to this a little later. For now just use 50 or 100.</p>
|
||||||
|
|
||||||
|
<p>Once you’ve created the zone - you need to restart HA. The next step is:-</p>
|
||||||
|
|
||||||
|
<h4><a class="title-link" name="b-tell-owntracks-to-track--your-beacon" href="#b-tell-owntracks-to-track--your-beacon"></a> B. Tell OwnTracks to track your beacon</h4>
|
||||||
|
|
||||||
|
<ol>
|
||||||
|
<li>Go to the OwnTracks app on your phone</li>
|
||||||
|
<li>Touch the <code>Regions</code> menu at the bottom of the screen</li>
|
||||||
|
<li>Touch the <code>+</code> symbol at the top right of the screen</li>
|
||||||
|
<li>Give the beacon a name e.g. <code>-drive</code> ’(start the name with a <code>-</code> see below for the reason)</li>
|
||||||
|
<li>Turn Share to <code>On</code></li>
|
||||||
|
<li>Skip the <code>Circular Region</code> section</li>
|
||||||
|
<li>Enter the <code>UUID</code> of your beacon - this may be written on your beacon - or you can copy it from the management app that came with your iBeacon device. It’s a long number – so it’s easier to copy if you can!</li>
|
||||||
|
<li>Enter the <code>Minor</code> and <code>Major</code> numbers for your iBeacon - or leave them at 0 which will match all beacons with that <code>UUID</code></li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<p class="img">
|
||||||
|
<img width="200" border="2" src="/images/blog/2016-04-ibeacons/owntracks_beacon_setup.png" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>Once you’ve added the iBeacon - you should be able to see it on the OwnTracks region screen. If your phone can see the packets from that beacon, OwnTracks will turn the relevant Region red.</p>
|
||||||
|
|
||||||
|
<p class="img">
|
||||||
|
<img width="200" src="/images/blog/2016-04-ibeacons/owntracks_red_beacon.png" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>When OwnTracks sees the beacon (and turns the region red), it also sends an MQTT packet to HA to say that you have entered that region.</p>
|
||||||
|
|
||||||
|
<p>The result of the configuration above would be to set the location of device.phone to <code>Drive</code> , (and the GPS location to XXX,YYY) when your phone sees the beacon.</p>
|
||||||
|
|
||||||
|
<p>So with the steps above you should be able to improve the reliability of tracking your phone - and send timely updates to HA. I did this for my home - and the lights now turn on before I reach the house on foot. If I arrive by car they turn on within a few seconds of arriving, before I can get to the front door.</p>
|
||||||
|
|
||||||
|
<p>I’m also pleased to say I no longer get an <em>arrive home</em> event at 2am that turns the lights on. I hope I’ve convinced you that iBeacons are worth trying!</p>
|
||||||
|
|
||||||
|
<h3><a class="title-link" name="mixing-beacons-and-gps-locations" href="#mixing-beacons-and-gps-locations"></a> Mixing Beacons and GPS locations</h3>
|
||||||
|
|
||||||
|
<p>You will probably use beacons to make entry into your existing GPS zones more reliable. By default either a beacon or a GPS location can cause you to enter a zone - and HA has some logic that should make them two work well together (it ignores GPS updates when you’re in an iBeacon Zone).</p>
|
||||||
|
|
||||||
|
<p>However you can also use beacons for situations where GPS doesn’t work well.</p>
|
||||||
|
|
||||||
|
<p>This might be because the zones are too close together - or even on top of each other!<br />
|
||||||
|
For example, my wife works next door - and I couldn’t detect whether she’s at home or in the office via GPS because the accuracy wasn’t high enough. However I can do this by using two beacons.</p>
|
||||||
|
|
||||||
|
<p>To make this type of presence detection work you need to turn GPS off for a zone in Home Assistant by making them <code>passive</code>. This is important because otherwise HA will try to decide between two close together zones without enough data. This doesn’t work well.</p>
|
||||||
|
|
||||||
|
<p>A passive zone can only be entered via an iBeacon, so a GPS location update will always pick the other zone.</p>
|
||||||
|
|
||||||
|
<p>I set up my Home zone to be a standard region, and my office zone to be passive, so the home zone can be entered in the normal way via either GPS or a Beacon.</p>
|
||||||
|
|
||||||
|
<p><strong>Example <code>configuration.yaml</code> entry</strong></p>
|
||||||
|
|
||||||
|
<div class="highlighter-coderay"><div class="CodeRay">
|
||||||
|
<div class="code"><pre>
|
||||||
|
<span class="key">zone</span>:
|
||||||
|
- <span class="string"><span class="content">name: 'Office'</span></span>
|
||||||
|
<span class="key">latitude</span>: <span class="string"><span class="content">XXX</span></span>
|
||||||
|
<span class="key">longitude</span>: <span class="string"><span class="content">YYY</span></span>
|
||||||
|
<span class="key">radius</span>: <span class="string"><span class="content">3</span></span>
|
||||||
|
<span class="key">passive</span>: <span class="string"><span class="content">true</span></span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>You could use this technique to try to detect which room someone is in. This might allow you to notice whether someone is in the living room or the bedroom - even though one is above the other (although beacon packets do pass through walls and floors).</p>
|
||||||
|
|
||||||
|
<p>To get this to work you’ll probably need to experiment with the beacon signal strength to try to match the beacon reception area to the location you want to track. Let me know if you get this to work (it doesn’t make sense in my open plan house)</p>
|
||||||
|
|
||||||
|
<h3><a class="title-link" name="conclusion" href="#conclusion"></a> Conclusion</h3>
|
||||||
|
|
||||||
|
<p>Presence tracking sounds easy - and it’s an important part of Home Automation. Trying it shows how difficult it is to get presence detection right. I’ve found that iBeacons have improved the reliability and timeliness of knowing where I am, and I hope I encouraged you to try them too.</p>
|
||||||
|
|
||||||
|
<h3><a class="title-link" name="tips" href="#tips"></a> Tips</h3>
|
||||||
|
|
||||||
|
<p>You can find out more about configuring the OwnTracks application and beacons <a href="http://owntracks.org/booklet/features/beacons/">here</a></p>
|
||||||
|
|
||||||
|
<p>There is information about configuring Homeassistant to use beacons <a href="https://home-assistant.io/components/device_tracker.owntracks/">here</a></p>
|
||||||
|
|
||||||
|
<h4><a class="title-link" name="connections-and-disconnecting" href="#connections-and-disconnecting"></a> Connections and disconnecting</h4>
|
||||||
|
|
||||||
|
<p>Owntracks treats a region name with a leading <code>-</code> as a hint that it shouldn’t disconnect after a single missed packet. This improves the ability to keep a connection to a beacon.</p>
|
||||||
|
|
||||||
|
<p>However, even when using this feature I’ve noticed that you can still lose connections (although it seems to vary by beacon manufacturer and type - I’ll talk more about this in <em>part 2</em>). This means that it’s best to take into account that you may see false enter/leave events in HA. You may be able to improve this by changing how often the beacons send packets - and by increasing the signal strength (both will drain your beacon batteries more quickly). You can usually change these parameters in the app supplied by the iBeacon maker. You can also find some high power beacons (which have worked well for me).</p>
|
||||||
|
|
||||||
|
<p>In automations you can use a <code>for:</code> to avoid triggering during a brief disconnect, or use a script with a delay. Stay tuned for <em>part 2</em> for an example of this.</p>
|
||||||
|
|
||||||
|
<h4><a class="title-link" name="using-multiple-beacons-for-the-same-zone" href="#using-multiple-beacons-for-the-same-zone"></a> Using Multiple beacons for the same Zone</h4>
|
||||||
|
<p>iBeacons have a <code>UUID</code> (usually set to the same value for beacons from the same manufacturer), as well as a <code>minor</code> and <code>major</code> number. If you set two beacons to have exactly same details then OwnTracks will think multiple beacons are at the same location.</p>
|
||||||
|
|
||||||
|
<p>This means you can have more than one beacon around your home - and a connection to any of them will count as <code>home</code> to OwnTracks and HA. This reduces disconnections.</p>
|
||||||
|
|
||||||
|
<p>You can achieve the same effect by using the same the same <code>UUID</code> but different <code>major</code> / <code>minor</code> numbers - and tell OwnTracks not to worry about the <code>minor</code> / <code>major</code> numbers for a particular region by setting them to 0).</p>
|
||||||
|
|
||||||
|
<p><em>Stay tuned for part II where I’ll talk about how to use iBeacons to track any object.</em></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>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
<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>
|
||||||
|
|
||||||
|
|
||||||
|
<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/04/30/ibeacons-part-1-making-presence-detection-work-better/"
|
||||||
|
data-counturl="https://home-assistant.io/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/" >Tweet</a>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="fb-share-button" style='top: -6px;'
|
||||||
|
data-href="https://home-assistant.io/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/"
|
||||||
|
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>
|
||||||
|
<script>
|
||||||
|
window.fbAsyncInit = function() {
|
||||||
|
FB.init({appId: '338291289691179', xfbml: true, version: 'v2.2'});
|
||||||
|
};
|
||||||
|
|
||||||
|
(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/sdk.js";
|
||||||
|
fjs.parentNode.insertBefore(js, fjs);
|
||||||
|
}(document, 'script', 'facebook-jssdk'));
|
||||||
|
</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/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/19/to-infinity-and-beyond/">To Infinity and Beyond 🚀</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/17/updated-documentation/">Updated documentation</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/09/onkyo-panasonic-gtfs-and-config-validation/">0.17: Onkyo, Panasonic, GTFS and config validation</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://github.com/home-assistant/home-assistant'><i class="icon-github"></i></a>
|
||||||
|
|
||||||
|
<div class="credit">
|
||||||
|
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/04/30/ibeacons-part-1-making-presence-detection-work-better/';
|
||||||
|
var disqus_url = 'https://home-assistant.io/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/';
|
||||||
|
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>
|
|
@ -98,6 +98,42 @@
|
||||||
|
|
||||||
<h2>2016</h2>
|
<h2>2016</h2>
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<div class="grid">
|
||||||
|
|
||||||
|
<div class="grid__item one-fifth palm-one-whole">
|
||||||
|
<time datetime="2016-04-30T06:50:09+00:00" pubdate>
|
||||||
|
<span class='month'>Apr</span> <span class='day'>30</span>
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
<div class="grid__item four-fifths palm-one-whole">
|
||||||
|
<h1 class="gamma"><a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a></h1>
|
||||||
|
|
||||||
|
<footer class="meta">
|
||||||
|
<span>
|
||||||
|
<i class="icon-tags"></i>
|
||||||
|
<ul class="tags unstyled">
|
||||||
|
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/owntracks/'>OwnTracks</a></li>
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/presence-detection/'>Presence-Detection</a></li>
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/ibeacons/'>iBeacons</a></li>
|
||||||
|
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</span>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<hr class="divider">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<article>
|
<article>
|
||||||
<div class="grid">
|
<div class="grid">
|
||||||
|
|
||||||
|
@ -1939,6 +1975,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -1962,12 +2004,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: Community | Home Assistant]]></title>
|
<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/blog/categories/community/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-04-30T11:04:27+00:00</updated>
|
<updated>2016-04-30T11:26:57+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Paulus Schoutsen]]></name>
|
<name><![CDATA[Paulus Schoutsen]]></name>
|
||||||
|
|
|
@ -230,6 +230,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -253,12 +259,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: ESP8266 | Home Assistant]]></title>
|
<title><![CDATA[Category: ESP8266 | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/esp8266/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/esp8266/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-04-30T11:04:27+00:00</updated>
|
<updated>2016-04-30T11:26:57+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Paulus Schoutsen]]></name>
|
<name><![CDATA[Paulus Schoutsen]]></name>
|
||||||
|
|
|
@ -199,6 +199,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -222,12 +228,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: How-To | Home Assistant]]></title>
|
<title><![CDATA[Category: How-To | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/how-to/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/how-to/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-04-30T11:04:27+00:00</updated>
|
<updated>2016-04-30T11:26:57+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Paulus Schoutsen]]></name>
|
<name><![CDATA[Paulus Schoutsen]]></name>
|
||||||
|
|
|
@ -496,6 +496,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -519,12 +525,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
155
blog/categories/ibeacons/atom.xml
Normal file
155
blog/categories/ibeacons/atom.xml
Normal file
|
@ -0,0 +1,155 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||||
|
|
||||||
|
<title><![CDATA[Category: iBeacons | Home Assistant]]></title>
|
||||||
|
<link href="https://home-assistant.io/blog/categories/ibeacons/atom.xml" rel="self"/>
|
||||||
|
<link href="https://home-assistant.io/"/>
|
||||||
|
<updated>2016-04-30T11:26:57+00:00</updated>
|
||||||
|
<id>https://home-assistant.io/</id>
|
||||||
|
<author>
|
||||||
|
<name><![CDATA[Paulus Schoutsen]]></name>
|
||||||
|
|
||||||
|
</author>
|
||||||
|
<generator uri="http://octopress.org/">Octopress</generator>
|
||||||
|
|
||||||
|
|
||||||
|
<entry>
|
||||||
|
<title type="html"><![CDATA[iBeacons: Making presence detection work better (part I)]]></title>
|
||||||
|
<link href="https://home-assistant.io/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/"/>
|
||||||
|
<updated>2016-04-30T06:50:09+00:00</updated>
|
||||||
|
<id>https://home-assistant.io/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better</id>
|
||||||
|
<content type="html"><![CDATA[<p><em>This is a guest post by Home Assistant contributor <a href="https://github.com/pavoni">Greg Dowling</a>.</em></p>
|
||||||
|
|
||||||
|
<p>In 2013 Apple introduced iBeacons: a class of Bluetooth low energy (LE) devices that broadcast their identifier to nearby devices, including most smartphones. At first glance it’s hard to imagine why they might be useful. In this two part blog I’ll try and explain why they are useful and how you can use them with Home Assistant.</p>
|
||||||
|
|
||||||
|
<p>The reason I started using iBeacons was to improve presence detection (and I think that’s the case with most people) so that’s what I’ll discuss in <em>part 1</em>. In <em>part 2</em> I’ll talk about using iBeacons to track devices that can’t track themselves.</p>
|
||||||
|
|
||||||
|
<h3><a class='title-link' name='using-beacons-to-improve-owntracks-location-data' href='#using-beacons-to-improve-owntracks-location-data'></a> Using beacons to improve OwnTracks location data </h3>
|
||||||
|
|
||||||
|
<p>When you use OwnTracks in standard <em>major move</em> mode (which is kind to your phone battery) it sometimes fails to update when you’d like it to. In my case I found that it would often send a location update as I was on my way home, but then not update when I got home. The result would be that Home Assistant would think I was 500M away from home, and take quite a while to notice I was home. It would also mean that the automation that should turn on my lights when I got home didn’t work very well! There were a few times when my phone location updated at 2am and turned the lights on for me. Fortunately my wife is very patient!</p>
|
||||||
|
|
||||||
|
<p>Luckily, OwnTracks supports iBeacons so I could use them to make presence detection more reliable. When OwnTracks sees a beacon it recognises, it will send an update. This means that if you put a beacon at your front door - OwnTracks will see it within a few seconds of you arriving home - and send an update saying it has seen this iBeacon.</p>
|
||||||
|
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
|
<h3><a class='title-link' name='getting-started' href='#getting-started'></a> Getting Started </h3>
|
||||||
|
|
||||||
|
<p>To do this you first need to set up <a href="/components/mqtt/#picking-a-broker">MQTT</a> and <a href="/components/device_tracker.owntracks/">OwnTracks</a> in Home assistant - and make sure that HA can track your phone.</p>
|
||||||
|
|
||||||
|
<p>You then have to (A) tell Home Assistant where the beacon is located and (B) tell OwnTracks to recognise the beacon.</p>
|
||||||
|
|
||||||
|
<h4><a class='title-link' name='a-tell-home-assistant-where-your-beacon-is-located' href='#a-tell-home-assistant-where-your-beacon-is-located'></a> A. Tell Home Assistant where your beacon is located </h4>
|
||||||
|
|
||||||
|
<p>You tell HomeAssistant about fixed locations by creating a Zone with the longitude and latitude of your beacon. You should also give the zone a name which you will also use when you set up OwnTracks. An an example this zone specifies the location of my where my drive way.</p>
|
||||||
|
|
||||||
|
<p><strong>Example <code>configuration.yaml</code> entry</strong></p>
|
||||||
|
|
||||||
|
<div class="highlighter-coderay"><div class="CodeRay">
|
||||||
|
<div class="code"><pre>
|
||||||
|
<span class="key">zone</span>:
|
||||||
|
- <span class="string"><span class="content">name: 'Drive'</span></span>
|
||||||
|
<span class="key">latitude</span>: <span class="string"><span class="content">XXX</span></span>
|
||||||
|
<span class="key">longitude</span>: <span class="string"><span class="content">YYY</span></span>
|
||||||
|
<span class="key">radius</span>: <span class="string"><span class="content">100</span></span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>The radius isn’t used by the beacon code, but it is used by the GPS location sensing code. I’ll come back to this a little later. For now just use 50 or 100.</p>
|
||||||
|
|
||||||
|
<p>Once you’ve created the zone - you need to restart HA. The next step is:-</p>
|
||||||
|
|
||||||
|
<h4><a class='title-link' name='b-tell-owntracks-to-track--your-beacon' href='#b-tell-owntracks-to-track--your-beacon'></a> B. Tell OwnTracks to track your beacon </h4>
|
||||||
|
|
||||||
|
<ol>
|
||||||
|
<li>Go to the OwnTracks app on your phone</li>
|
||||||
|
<li>Touch the <code>Regions</code> menu at the bottom of the screen</li>
|
||||||
|
<li>Touch the <code>+</code> symbol at the top right of the screen</li>
|
||||||
|
<li>Give the beacon a name e.g. <code>-drive</code> ’(start the name with a <code>-</code> see below for the reason)</li>
|
||||||
|
<li>Turn Share to <code>On</code></li>
|
||||||
|
<li>Skip the <code>Circular Region</code> section</li>
|
||||||
|
<li>Enter the <code>UUID</code> of your beacon - this may be written on your beacon - or you can copy it from the management app that came with your iBeacon device. It’s a long number – so it’s easier to copy if you can!</li>
|
||||||
|
<li>Enter the <code>Minor</code> and <code>Major</code> numbers for your iBeacon - or leave them at 0 which will match all beacons with that <code>UUID</code></li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<p class="img">
|
||||||
|
<img width="200" border="2" src="https://home-assistant.io/images/blog/2016-04-ibeacons/owntracks_beacon_setup.png" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>Once you’ve added the iBeacon - you should be able to see it on the OwnTracks region screen. If your phone can see the packets from that beacon, OwnTracks will turn the relevant Region red.</p>
|
||||||
|
|
||||||
|
<p class="img">
|
||||||
|
<img width="200" src="https://home-assistant.io/images/blog/2016-04-ibeacons/owntracks_red_beacon.png" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>When OwnTracks sees the beacon (and turns the region red), it also sends an MQTT packet to HA to say that you have entered that region.</p>
|
||||||
|
|
||||||
|
<p>The result of the configuration above would be to set the location of device.phone to <code>Drive</code> , (and the GPS location to XXX,YYY) when your phone sees the beacon.</p>
|
||||||
|
|
||||||
|
<p>So with the steps above you should be able to improve the reliability of tracking your phone - and send timely updates to HA. I did this for my home - and the lights now turn on before I reach the house on foot. If I arrive by car they turn on within a few seconds of arriving, before I can get to the front door.</p>
|
||||||
|
|
||||||
|
<p>I’m also pleased to say I no longer get an <em>arrive home</em> event at 2am that turns the lights on. I hope I’ve convinced you that iBeacons are worth trying!</p>
|
||||||
|
|
||||||
|
<h3><a class='title-link' name='mixing-beacons-and-gps-locations' href='#mixing-beacons-and-gps-locations'></a> Mixing Beacons and GPS locations </h3>
|
||||||
|
|
||||||
|
<p>You will probably use beacons to make entry into your existing GPS zones more reliable. By default either a beacon or a GPS location can cause you to enter a zone - and HA has some logic that should make them two work well together (it ignores GPS updates when you’re in an iBeacon Zone).</p>
|
||||||
|
|
||||||
|
<p>However you can also use beacons for situations where GPS doesn’t work well.</p>
|
||||||
|
|
||||||
|
<p>This might be because the zones are too close together - or even on top of each other!<br />
|
||||||
|
For example, my wife works next door - and I couldn’t detect whether she’s at home or in the office via GPS because the accuracy wasn’t high enough. However I can do this by using two beacons.</p>
|
||||||
|
|
||||||
|
<p>To make this type of presence detection work you need to turn GPS off for a zone in Home Assistant by making them <code>passive</code>. This is important because otherwise HA will try to decide between two close together zones without enough data. This doesn’t work well.</p>
|
||||||
|
|
||||||
|
<p>A passive zone can only be entered via an iBeacon, so a GPS location update will always pick the other zone.</p>
|
||||||
|
|
||||||
|
<p>I set up my Home zone to be a standard region, and my office zone to be passive, so the home zone can be entered in the normal way via either GPS or a Beacon.</p>
|
||||||
|
|
||||||
|
<p><strong>Example <code>configuration.yaml</code> entry</strong></p>
|
||||||
|
|
||||||
|
<div class="highlighter-coderay"><div class="CodeRay">
|
||||||
|
<div class="code"><pre>
|
||||||
|
<span class="key">zone</span>:
|
||||||
|
- <span class="string"><span class="content">name: 'Office'</span></span>
|
||||||
|
<span class="key">latitude</span>: <span class="string"><span class="content">XXX</span></span>
|
||||||
|
<span class="key">longitude</span>: <span class="string"><span class="content">YYY</span></span>
|
||||||
|
<span class="key">radius</span>: <span class="string"><span class="content">3</span></span>
|
||||||
|
<span class="key">passive</span>: <span class="string"><span class="content">true</span></span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>You could use this technique to try to detect which room someone is in. This might allow you to notice whether someone is in the living room or the bedroom - even though one is above the other (although beacon packets do pass through walls and floors).</p>
|
||||||
|
|
||||||
|
<p>To get this to work you’ll probably need to experiment with the beacon signal strength to try to match the beacon reception area to the location you want to track. Let me know if you get this to work (it doesn’t make sense in my open plan house)</p>
|
||||||
|
|
||||||
|
<h3><a class='title-link' name='conclusion' href='#conclusion'></a> Conclusion </h3>
|
||||||
|
|
||||||
|
<p>Presence tracking sounds easy - and it’s an important part of Home Automation. Trying it shows how difficult it is to get presence detection right. I’ve found that iBeacons have improved the reliability and timeliness of knowing where I am, and I hope I encouraged you to try them too.</p>
|
||||||
|
|
||||||
|
<h3><a class='title-link' name='tips' href='#tips'></a> Tips </h3>
|
||||||
|
|
||||||
|
<p>You can find out more about configuring the OwnTracks application and beacons <a href="http://owntracks.org/booklet/features/beacons/">here</a></p>
|
||||||
|
|
||||||
|
<p>There is information about configuring Homeassistant to use beacons <a href="https://home-assistant.io/components/device_tracker.owntracks/">here</a></p>
|
||||||
|
|
||||||
|
<h4><a class='title-link' name='connections-and-disconnecting' href='#connections-and-disconnecting'></a> Connections and disconnecting </h4>
|
||||||
|
|
||||||
|
<p>Owntracks treats a region name with a leading <code>-</code> as a hint that it shouldn’t disconnect after a single missed packet. This improves the ability to keep a connection to a beacon.</p>
|
||||||
|
|
||||||
|
<p>However, even when using this feature I’ve noticed that you can still lose connections (although it seems to vary by beacon manufacturer and type - I’ll talk more about this in <em>part 2</em>). This means that it’s best to take into account that you may see false enter/leave events in HA. You may be able to improve this by changing how often the beacons send packets - and by increasing the signal strength (both will drain your beacon batteries more quickly). You can usually change these parameters in the app supplied by the iBeacon maker. You can also find some high power beacons (which have worked well for me).</p>
|
||||||
|
|
||||||
|
<p>In automations you can use a <code>for:</code> to avoid triggering during a brief disconnect, or use a script with a delay. Stay tuned for <em>part 2</em> for an example of this.</p>
|
||||||
|
|
||||||
|
<h4><a class='title-link' name='using-multiple-beacons-for-the-same-zone' href='#using-multiple-beacons-for-the-same-zone'></a> Using Multiple beacons for the same Zone </h4>
|
||||||
|
<p>iBeacons have a <code>UUID</code> (usually set to the same value for beacons from the same manufacturer), as well as a <code>minor</code> and <code>major</code> number. If you set two beacons to have exactly same details then OwnTracks will think multiple beacons are at the same location.</p>
|
||||||
|
|
||||||
|
<p>This means you can have more than one beacon around your home - and a connection to any of them will count as <code>home</code> to OwnTracks and HA. This reduces disconnections.</p>
|
||||||
|
|
||||||
|
<p>You can achieve the same effect by using the same the same <code>UUID</code> but different <code>major</code> / <code>minor</code> numbers - and tell OwnTracks not to worry about the <code>minor</code> / <code>major</code> numbers for a particular region by setting them to 0).</p>
|
||||||
|
|
||||||
|
<p><em>Stay tuned for part II where I’ll talk about how to use iBeacons to track any object.</em></p>
|
||||||
|
]]></content>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
</feed>
|
278
blog/categories/ibeacons/index.html
Normal file
278
blog/categories/ibeacons/index.html
Normal file
|
@ -0,0 +1,278 @@
|
||||||
|
<!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>Category: iBeacons - Home Assistant</title>
|
||||||
|
<meta name="author" content="Paulus Schoutsen">
|
||||||
|
<meta name="description" content="Category: iBeacons">
|
||||||
|
|
||||||
|
<meta name="viewport" content="width=device-width">
|
||||||
|
<link rel="canonical" href="https://home-assistant.io/blog/categories/ibeacons/">
|
||||||
|
|
||||||
|
<meta property="fb:app_id" content="338291289691179">
|
||||||
|
<meta property="og:title" content="Category: iBeacons">
|
||||||
|
<meta property="og:site_name" content="Home Assistant">
|
||||||
|
<meta property="og:url" content="https://home-assistant.io/blog/categories/ibeacons/">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:description" content="Category: iBeacons">
|
||||||
|
<meta property="og:image" content="https://home-assistant.io/images/home-assistant-logo-2164x2164.png">
|
||||||
|
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:site" content="@home_assistant">
|
||||||
|
|
||||||
|
<meta name="twitter:title" content="Category: iBeacons">
|
||||||
|
<meta name="twitter:description" content="Category: iBeacons">
|
||||||
|
<meta name="twitter:image" content="https://home-assistant.io/images/home-assistant-logo-2164x2164.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='/cookbook/'>Examples</a></li>
|
||||||
|
<li><a href="/developers/">Developers</a></li>
|
||||||
|
<li><a href="/blog/">Blog</a></li>
|
||||||
|
<li><a href="/help/">Need help?</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="grid-wrapper">
|
||||||
|
<div class="grid grid-center">
|
||||||
|
|
||||||
|
<div class="grid__item two-thirds lap-one-whole palm-one-whole">
|
||||||
|
|
||||||
|
|
||||||
|
<article class="page">
|
||||||
|
|
||||||
|
|
||||||
|
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.io/tree/master/source/blog/categories/ibeacons/index.html'>Edit this page on GitHub</a></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<header>
|
||||||
|
<h1 class="title indent">
|
||||||
|
Category: iBeacons
|
||||||
|
</h1>
|
||||||
|
</header>
|
||||||
|
<hr class="divider">
|
||||||
|
|
||||||
|
|
||||||
|
<div id="archive-list">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2>2016</h2>
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<div class="grid">
|
||||||
|
|
||||||
|
<div class="grid__item one-fifth palm-one-whole">
|
||||||
|
<time datetime="2016-04-30T06:50:09+00:00" pubdate>
|
||||||
|
<span class='month'>Apr</span> <span class='day'>30</span>
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
<div class="grid__item four-fifths palm-one-whole">
|
||||||
|
<h1 class="gamma"><a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a></h1>
|
||||||
|
|
||||||
|
<footer class="meta">
|
||||||
|
<span>
|
||||||
|
<i class="icon-tags"></i>
|
||||||
|
<ul class="tags unstyled">
|
||||||
|
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/owntracks/'>OwnTracks</a></li>
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/presence-detection/'>Presence-Detection</a></li>
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/ibeacons/'>iBeacons</a></li>
|
||||||
|
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</span>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<hr class="divider">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<aside id="sidebar" class="grid__item one-third lap-one-whole palm-one-whole">
|
||||||
|
<div class="grid">
|
||||||
|
|
||||||
|
|
||||||
|
<section class="aside-module grid__item one-whole lap-one-half">
|
||||||
|
<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>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
<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>
|
||||||
|
|
||||||
|
|
||||||
|
<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/categories/ibeacons/"
|
||||||
|
data-counturl="https://home-assistant.io/blog/categories/ibeacons/" >Tweet</a>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="fb-share-button" style='top: -6px;'
|
||||||
|
data-href="https://home-assistant.io/blog/categories/ibeacons/"
|
||||||
|
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>
|
||||||
|
<script>
|
||||||
|
window.fbAsyncInit = function() {
|
||||||
|
FB.init({appId: '338291289691179', xfbml: true, version: 'v2.2'});
|
||||||
|
};
|
||||||
|
|
||||||
|
(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/sdk.js";
|
||||||
|
fjs.parentNode.insertBefore(js, fjs);
|
||||||
|
}(document, 'script', 'facebook-jssdk'));
|
||||||
|
</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/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/19/to-infinity-and-beyond/">To Infinity and Beyond 🚀</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/17/updated-documentation/">Updated documentation</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/09/onkyo-panasonic-gtfs-and-config-validation/">0.17: Onkyo, Panasonic, GTFS and config validation</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://github.com/home-assistant/home-assistant'><i class="icon-github"></i></a>
|
||||||
|
|
||||||
|
<div class="credit">
|
||||||
|
Website powered by <a href='http://jekyllrb.com/'>Jekyll</a> and the <a href='https://github.com/coogie/oscailte'>Oscalite theme</a>.<br />
|
||||||
|
Hosted by <a href='https://pages.github.com/'>GitHub</a> and served by <a href='https://cloudflare.com'>CloudFlare</a>.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
|
||||||
|
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
|
||||||
|
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
|
||||||
|
s.parentNode.insertBefore(g,s)}(document,'script'));
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
var disqus_shortname = 'home-assistant';
|
||||||
|
|
||||||
|
|
||||||
|
var disqus_script = 'count.js';
|
||||||
|
|
||||||
|
(function () {
|
||||||
|
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
||||||
|
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
|
||||||
|
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
||||||
|
}());
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: Internet-of-Things | Home Assistant]]></title>
|
<title><![CDATA[Category: Internet-of-Things | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/internet-of-things/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/internet-of-things/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-04-30T11:04:27+00:00</updated>
|
<updated>2016-04-30T11:26:57+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Paulus Schoutsen]]></name>
|
<name><![CDATA[Paulus Schoutsen]]></name>
|
||||||
|
|
|
@ -294,6 +294,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -317,12 +323,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: MQTT | Home Assistant]]></title>
|
<title><![CDATA[Category: MQTT | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/mqtt/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/mqtt/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-04-30T11:04:27+00:00</updated>
|
<updated>2016-04-30T11:26:57+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Paulus Schoutsen]]></name>
|
<name><![CDATA[Paulus Schoutsen]]></name>
|
||||||
|
|
|
@ -270,6 +270,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -293,12 +299,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: Organisation | Home Assistant]]></title>
|
<title><![CDATA[Category: Organisation | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/organisation/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/organisation/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-04-30T11:04:27+00:00</updated>
|
<updated>2016-04-30T11:26:57+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Paulus Schoutsen]]></name>
|
<name><![CDATA[Paulus Schoutsen]]></name>
|
||||||
|
|
|
@ -230,6 +230,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -253,12 +259,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
155
blog/categories/owntracks/atom.xml
Normal file
155
blog/categories/owntracks/atom.xml
Normal file
|
@ -0,0 +1,155 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||||
|
|
||||||
|
<title><![CDATA[Category: OwnTracks | Home Assistant]]></title>
|
||||||
|
<link href="https://home-assistant.io/blog/categories/owntracks/atom.xml" rel="self"/>
|
||||||
|
<link href="https://home-assistant.io/"/>
|
||||||
|
<updated>2016-04-30T11:26:57+00:00</updated>
|
||||||
|
<id>https://home-assistant.io/</id>
|
||||||
|
<author>
|
||||||
|
<name><![CDATA[Paulus Schoutsen]]></name>
|
||||||
|
|
||||||
|
</author>
|
||||||
|
<generator uri="http://octopress.org/">Octopress</generator>
|
||||||
|
|
||||||
|
|
||||||
|
<entry>
|
||||||
|
<title type="html"><![CDATA[iBeacons: Making presence detection work better (part I)]]></title>
|
||||||
|
<link href="https://home-assistant.io/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/"/>
|
||||||
|
<updated>2016-04-30T06:50:09+00:00</updated>
|
||||||
|
<id>https://home-assistant.io/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better</id>
|
||||||
|
<content type="html"><![CDATA[<p><em>This is a guest post by Home Assistant contributor <a href="https://github.com/pavoni">Greg Dowling</a>.</em></p>
|
||||||
|
|
||||||
|
<p>In 2013 Apple introduced iBeacons: a class of Bluetooth low energy (LE) devices that broadcast their identifier to nearby devices, including most smartphones. At first glance it’s hard to imagine why they might be useful. In this two part blog I’ll try and explain why they are useful and how you can use them with Home Assistant.</p>
|
||||||
|
|
||||||
|
<p>The reason I started using iBeacons was to improve presence detection (and I think that’s the case with most people) so that’s what I’ll discuss in <em>part 1</em>. In <em>part 2</em> I’ll talk about using iBeacons to track devices that can’t track themselves.</p>
|
||||||
|
|
||||||
|
<h3><a class='title-link' name='using-beacons-to-improve-owntracks-location-data' href='#using-beacons-to-improve-owntracks-location-data'></a> Using beacons to improve OwnTracks location data </h3>
|
||||||
|
|
||||||
|
<p>When you use OwnTracks in standard <em>major move</em> mode (which is kind to your phone battery) it sometimes fails to update when you’d like it to. In my case I found that it would often send a location update as I was on my way home, but then not update when I got home. The result would be that Home Assistant would think I was 500M away from home, and take quite a while to notice I was home. It would also mean that the automation that should turn on my lights when I got home didn’t work very well! There were a few times when my phone location updated at 2am and turned the lights on for me. Fortunately my wife is very patient!</p>
|
||||||
|
|
||||||
|
<p>Luckily, OwnTracks supports iBeacons so I could use them to make presence detection more reliable. When OwnTracks sees a beacon it recognises, it will send an update. This means that if you put a beacon at your front door - OwnTracks will see it within a few seconds of you arriving home - and send an update saying it has seen this iBeacon.</p>
|
||||||
|
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
|
<h3><a class='title-link' name='getting-started' href='#getting-started'></a> Getting Started </h3>
|
||||||
|
|
||||||
|
<p>To do this you first need to set up <a href="/components/mqtt/#picking-a-broker">MQTT</a> and <a href="/components/device_tracker.owntracks/">OwnTracks</a> in Home assistant - and make sure that HA can track your phone.</p>
|
||||||
|
|
||||||
|
<p>You then have to (A) tell Home Assistant where the beacon is located and (B) tell OwnTracks to recognise the beacon.</p>
|
||||||
|
|
||||||
|
<h4><a class='title-link' name='a-tell-home-assistant-where-your-beacon-is-located' href='#a-tell-home-assistant-where-your-beacon-is-located'></a> A. Tell Home Assistant where your beacon is located </h4>
|
||||||
|
|
||||||
|
<p>You tell HomeAssistant about fixed locations by creating a Zone with the longitude and latitude of your beacon. You should also give the zone a name which you will also use when you set up OwnTracks. An an example this zone specifies the location of my where my drive way.</p>
|
||||||
|
|
||||||
|
<p><strong>Example <code>configuration.yaml</code> entry</strong></p>
|
||||||
|
|
||||||
|
<div class="highlighter-coderay"><div class="CodeRay">
|
||||||
|
<div class="code"><pre>
|
||||||
|
<span class="key">zone</span>:
|
||||||
|
- <span class="string"><span class="content">name: 'Drive'</span></span>
|
||||||
|
<span class="key">latitude</span>: <span class="string"><span class="content">XXX</span></span>
|
||||||
|
<span class="key">longitude</span>: <span class="string"><span class="content">YYY</span></span>
|
||||||
|
<span class="key">radius</span>: <span class="string"><span class="content">100</span></span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>The radius isn’t used by the beacon code, but it is used by the GPS location sensing code. I’ll come back to this a little later. For now just use 50 or 100.</p>
|
||||||
|
|
||||||
|
<p>Once you’ve created the zone - you need to restart HA. The next step is:-</p>
|
||||||
|
|
||||||
|
<h4><a class='title-link' name='b-tell-owntracks-to-track--your-beacon' href='#b-tell-owntracks-to-track--your-beacon'></a> B. Tell OwnTracks to track your beacon </h4>
|
||||||
|
|
||||||
|
<ol>
|
||||||
|
<li>Go to the OwnTracks app on your phone</li>
|
||||||
|
<li>Touch the <code>Regions</code> menu at the bottom of the screen</li>
|
||||||
|
<li>Touch the <code>+</code> symbol at the top right of the screen</li>
|
||||||
|
<li>Give the beacon a name e.g. <code>-drive</code> ’(start the name with a <code>-</code> see below for the reason)</li>
|
||||||
|
<li>Turn Share to <code>On</code></li>
|
||||||
|
<li>Skip the <code>Circular Region</code> section</li>
|
||||||
|
<li>Enter the <code>UUID</code> of your beacon - this may be written on your beacon - or you can copy it from the management app that came with your iBeacon device. It’s a long number – so it’s easier to copy if you can!</li>
|
||||||
|
<li>Enter the <code>Minor</code> and <code>Major</code> numbers for your iBeacon - or leave them at 0 which will match all beacons with that <code>UUID</code></li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<p class="img">
|
||||||
|
<img width="200" border="2" src="https://home-assistant.io/images/blog/2016-04-ibeacons/owntracks_beacon_setup.png" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>Once you’ve added the iBeacon - you should be able to see it on the OwnTracks region screen. If your phone can see the packets from that beacon, OwnTracks will turn the relevant Region red.</p>
|
||||||
|
|
||||||
|
<p class="img">
|
||||||
|
<img width="200" src="https://home-assistant.io/images/blog/2016-04-ibeacons/owntracks_red_beacon.png" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>When OwnTracks sees the beacon (and turns the region red), it also sends an MQTT packet to HA to say that you have entered that region.</p>
|
||||||
|
|
||||||
|
<p>The result of the configuration above would be to set the location of device.phone to <code>Drive</code> , (and the GPS location to XXX,YYY) when your phone sees the beacon.</p>
|
||||||
|
|
||||||
|
<p>So with the steps above you should be able to improve the reliability of tracking your phone - and send timely updates to HA. I did this for my home - and the lights now turn on before I reach the house on foot. If I arrive by car they turn on within a few seconds of arriving, before I can get to the front door.</p>
|
||||||
|
|
||||||
|
<p>I’m also pleased to say I no longer get an <em>arrive home</em> event at 2am that turns the lights on. I hope I’ve convinced you that iBeacons are worth trying!</p>
|
||||||
|
|
||||||
|
<h3><a class='title-link' name='mixing-beacons-and-gps-locations' href='#mixing-beacons-and-gps-locations'></a> Mixing Beacons and GPS locations </h3>
|
||||||
|
|
||||||
|
<p>You will probably use beacons to make entry into your existing GPS zones more reliable. By default either a beacon or a GPS location can cause you to enter a zone - and HA has some logic that should make them two work well together (it ignores GPS updates when you’re in an iBeacon Zone).</p>
|
||||||
|
|
||||||
|
<p>However you can also use beacons for situations where GPS doesn’t work well.</p>
|
||||||
|
|
||||||
|
<p>This might be because the zones are too close together - or even on top of each other!<br />
|
||||||
|
For example, my wife works next door - and I couldn’t detect whether she’s at home or in the office via GPS because the accuracy wasn’t high enough. However I can do this by using two beacons.</p>
|
||||||
|
|
||||||
|
<p>To make this type of presence detection work you need to turn GPS off for a zone in Home Assistant by making them <code>passive</code>. This is important because otherwise HA will try to decide between two close together zones without enough data. This doesn’t work well.</p>
|
||||||
|
|
||||||
|
<p>A passive zone can only be entered via an iBeacon, so a GPS location update will always pick the other zone.</p>
|
||||||
|
|
||||||
|
<p>I set up my Home zone to be a standard region, and my office zone to be passive, so the home zone can be entered in the normal way via either GPS or a Beacon.</p>
|
||||||
|
|
||||||
|
<p><strong>Example <code>configuration.yaml</code> entry</strong></p>
|
||||||
|
|
||||||
|
<div class="highlighter-coderay"><div class="CodeRay">
|
||||||
|
<div class="code"><pre>
|
||||||
|
<span class="key">zone</span>:
|
||||||
|
- <span class="string"><span class="content">name: 'Office'</span></span>
|
||||||
|
<span class="key">latitude</span>: <span class="string"><span class="content">XXX</span></span>
|
||||||
|
<span class="key">longitude</span>: <span class="string"><span class="content">YYY</span></span>
|
||||||
|
<span class="key">radius</span>: <span class="string"><span class="content">3</span></span>
|
||||||
|
<span class="key">passive</span>: <span class="string"><span class="content">true</span></span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>You could use this technique to try to detect which room someone is in. This might allow you to notice whether someone is in the living room or the bedroom - even though one is above the other (although beacon packets do pass through walls and floors).</p>
|
||||||
|
|
||||||
|
<p>To get this to work you’ll probably need to experiment with the beacon signal strength to try to match the beacon reception area to the location you want to track. Let me know if you get this to work (it doesn’t make sense in my open plan house)</p>
|
||||||
|
|
||||||
|
<h3><a class='title-link' name='conclusion' href='#conclusion'></a> Conclusion </h3>
|
||||||
|
|
||||||
|
<p>Presence tracking sounds easy - and it’s an important part of Home Automation. Trying it shows how difficult it is to get presence detection right. I’ve found that iBeacons have improved the reliability and timeliness of knowing where I am, and I hope I encouraged you to try them too.</p>
|
||||||
|
|
||||||
|
<h3><a class='title-link' name='tips' href='#tips'></a> Tips </h3>
|
||||||
|
|
||||||
|
<p>You can find out more about configuring the OwnTracks application and beacons <a href="http://owntracks.org/booklet/features/beacons/">here</a></p>
|
||||||
|
|
||||||
|
<p>There is information about configuring Homeassistant to use beacons <a href="https://home-assistant.io/components/device_tracker.owntracks/">here</a></p>
|
||||||
|
|
||||||
|
<h4><a class='title-link' name='connections-and-disconnecting' href='#connections-and-disconnecting'></a> Connections and disconnecting </h4>
|
||||||
|
|
||||||
|
<p>Owntracks treats a region name with a leading <code>-</code> as a hint that it shouldn’t disconnect after a single missed packet. This improves the ability to keep a connection to a beacon.</p>
|
||||||
|
|
||||||
|
<p>However, even when using this feature I’ve noticed that you can still lose connections (although it seems to vary by beacon manufacturer and type - I’ll talk more about this in <em>part 2</em>). This means that it’s best to take into account that you may see false enter/leave events in HA. You may be able to improve this by changing how often the beacons send packets - and by increasing the signal strength (both will drain your beacon batteries more quickly). You can usually change these parameters in the app supplied by the iBeacon maker. You can also find some high power beacons (which have worked well for me).</p>
|
||||||
|
|
||||||
|
<p>In automations you can use a <code>for:</code> to avoid triggering during a brief disconnect, or use a script with a delay. Stay tuned for <em>part 2</em> for an example of this.</p>
|
||||||
|
|
||||||
|
<h4><a class='title-link' name='using-multiple-beacons-for-the-same-zone' href='#using-multiple-beacons-for-the-same-zone'></a> Using Multiple beacons for the same Zone </h4>
|
||||||
|
<p>iBeacons have a <code>UUID</code> (usually set to the same value for beacons from the same manufacturer), as well as a <code>minor</code> and <code>major</code> number. If you set two beacons to have exactly same details then OwnTracks will think multiple beacons are at the same location.</p>
|
||||||
|
|
||||||
|
<p>This means you can have more than one beacon around your home - and a connection to any of them will count as <code>home</code> to OwnTracks and HA. This reduces disconnections.</p>
|
||||||
|
|
||||||
|
<p>You can achieve the same effect by using the same the same <code>UUID</code> but different <code>major</code> / <code>minor</code> numbers - and tell OwnTracks not to worry about the <code>minor</code> / <code>major</code> numbers for a particular region by setting them to 0).</p>
|
||||||
|
|
||||||
|
<p><em>Stay tuned for part II where I’ll talk about how to use iBeacons to track any object.</em></p>
|
||||||
|
]]></content>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
</feed>
|
278
blog/categories/owntracks/index.html
Normal file
278
blog/categories/owntracks/index.html
Normal file
|
@ -0,0 +1,278 @@
|
||||||
|
<!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>Category: OwnTracks - Home Assistant</title>
|
||||||
|
<meta name="author" content="Paulus Schoutsen">
|
||||||
|
<meta name="description" content="Category: OwnTracks">
|
||||||
|
|
||||||
|
<meta name="viewport" content="width=device-width">
|
||||||
|
<link rel="canonical" href="https://home-assistant.io/blog/categories/owntracks/">
|
||||||
|
|
||||||
|
<meta property="fb:app_id" content="338291289691179">
|
||||||
|
<meta property="og:title" content="Category: OwnTracks">
|
||||||
|
<meta property="og:site_name" content="Home Assistant">
|
||||||
|
<meta property="og:url" content="https://home-assistant.io/blog/categories/owntracks/">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:description" content="Category: OwnTracks">
|
||||||
|
<meta property="og:image" content="https://home-assistant.io/images/home-assistant-logo-2164x2164.png">
|
||||||
|
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:site" content="@home_assistant">
|
||||||
|
|
||||||
|
<meta name="twitter:title" content="Category: OwnTracks">
|
||||||
|
<meta name="twitter:description" content="Category: OwnTracks">
|
||||||
|
<meta name="twitter:image" content="https://home-assistant.io/images/home-assistant-logo-2164x2164.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='/cookbook/'>Examples</a></li>
|
||||||
|
<li><a href="/developers/">Developers</a></li>
|
||||||
|
<li><a href="/blog/">Blog</a></li>
|
||||||
|
<li><a href="/help/">Need help?</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="grid-wrapper">
|
||||||
|
<div class="grid grid-center">
|
||||||
|
|
||||||
|
<div class="grid__item two-thirds lap-one-whole palm-one-whole">
|
||||||
|
|
||||||
|
|
||||||
|
<article class="page">
|
||||||
|
|
||||||
|
|
||||||
|
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.io/tree/master/source/blog/categories/owntracks/index.html'>Edit this page on GitHub</a></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<header>
|
||||||
|
<h1 class="title indent">
|
||||||
|
Category: OwnTracks
|
||||||
|
</h1>
|
||||||
|
</header>
|
||||||
|
<hr class="divider">
|
||||||
|
|
||||||
|
|
||||||
|
<div id="archive-list">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2>2016</h2>
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<div class="grid">
|
||||||
|
|
||||||
|
<div class="grid__item one-fifth palm-one-whole">
|
||||||
|
<time datetime="2016-04-30T06:50:09+00:00" pubdate>
|
||||||
|
<span class='month'>Apr</span> <span class='day'>30</span>
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
<div class="grid__item four-fifths palm-one-whole">
|
||||||
|
<h1 class="gamma"><a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a></h1>
|
||||||
|
|
||||||
|
<footer class="meta">
|
||||||
|
<span>
|
||||||
|
<i class="icon-tags"></i>
|
||||||
|
<ul class="tags unstyled">
|
||||||
|
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/owntracks/'>OwnTracks</a></li>
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/presence-detection/'>Presence-Detection</a></li>
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/ibeacons/'>iBeacons</a></li>
|
||||||
|
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</span>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<hr class="divider">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<aside id="sidebar" class="grid__item one-third lap-one-whole palm-one-whole">
|
||||||
|
<div class="grid">
|
||||||
|
|
||||||
|
|
||||||
|
<section class="aside-module grid__item one-whole lap-one-half">
|
||||||
|
<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>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
<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>
|
||||||
|
|
||||||
|
|
||||||
|
<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/categories/owntracks/"
|
||||||
|
data-counturl="https://home-assistant.io/blog/categories/owntracks/" >Tweet</a>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="fb-share-button" style='top: -6px;'
|
||||||
|
data-href="https://home-assistant.io/blog/categories/owntracks/"
|
||||||
|
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>
|
||||||
|
<script>
|
||||||
|
window.fbAsyncInit = function() {
|
||||||
|
FB.init({appId: '338291289691179', xfbml: true, version: 'v2.2'});
|
||||||
|
};
|
||||||
|
|
||||||
|
(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/sdk.js";
|
||||||
|
fjs.parentNode.insertBefore(js, fjs);
|
||||||
|
}(document, 'script', 'facebook-jssdk'));
|
||||||
|
</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/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/19/to-infinity-and-beyond/">To Infinity and Beyond 🚀</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/17/updated-documentation/">Updated documentation</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/09/onkyo-panasonic-gtfs-and-config-validation/">0.17: Onkyo, Panasonic, GTFS and config validation</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://github.com/home-assistant/home-assistant'><i class="icon-github"></i></a>
|
||||||
|
|
||||||
|
<div class="credit">
|
||||||
|
Website powered by <a href='http://jekyllrb.com/'>Jekyll</a> and the <a href='https://github.com/coogie/oscailte'>Oscalite theme</a>.<br />
|
||||||
|
Hosted by <a href='https://pages.github.com/'>GitHub</a> and served by <a href='https://cloudflare.com'>CloudFlare</a>.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
|
||||||
|
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
|
||||||
|
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
|
||||||
|
s.parentNode.insertBefore(g,s)}(document,'script'));
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
var disqus_shortname = 'home-assistant';
|
||||||
|
|
||||||
|
|
||||||
|
var disqus_script = 'count.js';
|
||||||
|
|
||||||
|
(function () {
|
||||||
|
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
||||||
|
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
|
||||||
|
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
||||||
|
}());
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
155
blog/categories/presence-detection/atom.xml
Normal file
155
blog/categories/presence-detection/atom.xml
Normal file
|
@ -0,0 +1,155 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<feed xmlns="http://www.w3.org/2005/Atom">
|
||||||
|
|
||||||
|
<title><![CDATA[Category: Presence-Detection | Home Assistant]]></title>
|
||||||
|
<link href="https://home-assistant.io/blog/categories/presence-detection/atom.xml" rel="self"/>
|
||||||
|
<link href="https://home-assistant.io/"/>
|
||||||
|
<updated>2016-04-30T11:26:57+00:00</updated>
|
||||||
|
<id>https://home-assistant.io/</id>
|
||||||
|
<author>
|
||||||
|
<name><![CDATA[Paulus Schoutsen]]></name>
|
||||||
|
|
||||||
|
</author>
|
||||||
|
<generator uri="http://octopress.org/">Octopress</generator>
|
||||||
|
|
||||||
|
|
||||||
|
<entry>
|
||||||
|
<title type="html"><![CDATA[iBeacons: Making presence detection work better (part I)]]></title>
|
||||||
|
<link href="https://home-assistant.io/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/"/>
|
||||||
|
<updated>2016-04-30T06:50:09+00:00</updated>
|
||||||
|
<id>https://home-assistant.io/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better</id>
|
||||||
|
<content type="html"><![CDATA[<p><em>This is a guest post by Home Assistant contributor <a href="https://github.com/pavoni">Greg Dowling</a>.</em></p>
|
||||||
|
|
||||||
|
<p>In 2013 Apple introduced iBeacons: a class of Bluetooth low energy (LE) devices that broadcast their identifier to nearby devices, including most smartphones. At first glance it’s hard to imagine why they might be useful. In this two part blog I’ll try and explain why they are useful and how you can use them with Home Assistant.</p>
|
||||||
|
|
||||||
|
<p>The reason I started using iBeacons was to improve presence detection (and I think that’s the case with most people) so that’s what I’ll discuss in <em>part 1</em>. In <em>part 2</em> I’ll talk about using iBeacons to track devices that can’t track themselves.</p>
|
||||||
|
|
||||||
|
<h3><a class='title-link' name='using-beacons-to-improve-owntracks-location-data' href='#using-beacons-to-improve-owntracks-location-data'></a> Using beacons to improve OwnTracks location data </h3>
|
||||||
|
|
||||||
|
<p>When you use OwnTracks in standard <em>major move</em> mode (which is kind to your phone battery) it sometimes fails to update when you’d like it to. In my case I found that it would often send a location update as I was on my way home, but then not update when I got home. The result would be that Home Assistant would think I was 500M away from home, and take quite a while to notice I was home. It would also mean that the automation that should turn on my lights when I got home didn’t work very well! There were a few times when my phone location updated at 2am and turned the lights on for me. Fortunately my wife is very patient!</p>
|
||||||
|
|
||||||
|
<p>Luckily, OwnTracks supports iBeacons so I could use them to make presence detection more reliable. When OwnTracks sees a beacon it recognises, it will send an update. This means that if you put a beacon at your front door - OwnTracks will see it within a few seconds of you arriving home - and send an update saying it has seen this iBeacon.</p>
|
||||||
|
|
||||||
|
<!--more-->
|
||||||
|
|
||||||
|
<h3><a class='title-link' name='getting-started' href='#getting-started'></a> Getting Started </h3>
|
||||||
|
|
||||||
|
<p>To do this you first need to set up <a href="/components/mqtt/#picking-a-broker">MQTT</a> and <a href="/components/device_tracker.owntracks/">OwnTracks</a> in Home assistant - and make sure that HA can track your phone.</p>
|
||||||
|
|
||||||
|
<p>You then have to (A) tell Home Assistant where the beacon is located and (B) tell OwnTracks to recognise the beacon.</p>
|
||||||
|
|
||||||
|
<h4><a class='title-link' name='a-tell-home-assistant-where-your-beacon-is-located' href='#a-tell-home-assistant-where-your-beacon-is-located'></a> A. Tell Home Assistant where your beacon is located </h4>
|
||||||
|
|
||||||
|
<p>You tell HomeAssistant about fixed locations by creating a Zone with the longitude and latitude of your beacon. You should also give the zone a name which you will also use when you set up OwnTracks. An an example this zone specifies the location of my where my drive way.</p>
|
||||||
|
|
||||||
|
<p><strong>Example <code>configuration.yaml</code> entry</strong></p>
|
||||||
|
|
||||||
|
<div class="highlighter-coderay"><div class="CodeRay">
|
||||||
|
<div class="code"><pre>
|
||||||
|
<span class="key">zone</span>:
|
||||||
|
- <span class="string"><span class="content">name: 'Drive'</span></span>
|
||||||
|
<span class="key">latitude</span>: <span class="string"><span class="content">XXX</span></span>
|
||||||
|
<span class="key">longitude</span>: <span class="string"><span class="content">YYY</span></span>
|
||||||
|
<span class="key">radius</span>: <span class="string"><span class="content">100</span></span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>The radius isn’t used by the beacon code, but it is used by the GPS location sensing code. I’ll come back to this a little later. For now just use 50 or 100.</p>
|
||||||
|
|
||||||
|
<p>Once you’ve created the zone - you need to restart HA. The next step is:-</p>
|
||||||
|
|
||||||
|
<h4><a class='title-link' name='b-tell-owntracks-to-track--your-beacon' href='#b-tell-owntracks-to-track--your-beacon'></a> B. Tell OwnTracks to track your beacon </h4>
|
||||||
|
|
||||||
|
<ol>
|
||||||
|
<li>Go to the OwnTracks app on your phone</li>
|
||||||
|
<li>Touch the <code>Regions</code> menu at the bottom of the screen</li>
|
||||||
|
<li>Touch the <code>+</code> symbol at the top right of the screen</li>
|
||||||
|
<li>Give the beacon a name e.g. <code>-drive</code> ’(start the name with a <code>-</code> see below for the reason)</li>
|
||||||
|
<li>Turn Share to <code>On</code></li>
|
||||||
|
<li>Skip the <code>Circular Region</code> section</li>
|
||||||
|
<li>Enter the <code>UUID</code> of your beacon - this may be written on your beacon - or you can copy it from the management app that came with your iBeacon device. It’s a long number – so it’s easier to copy if you can!</li>
|
||||||
|
<li>Enter the <code>Minor</code> and <code>Major</code> numbers for your iBeacon - or leave them at 0 which will match all beacons with that <code>UUID</code></li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<p class="img">
|
||||||
|
<img width="200" border="2" src="https://home-assistant.io/images/blog/2016-04-ibeacons/owntracks_beacon_setup.png" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>Once you’ve added the iBeacon - you should be able to see it on the OwnTracks region screen. If your phone can see the packets from that beacon, OwnTracks will turn the relevant Region red.</p>
|
||||||
|
|
||||||
|
<p class="img">
|
||||||
|
<img width="200" src="https://home-assistant.io/images/blog/2016-04-ibeacons/owntracks_red_beacon.png" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>When OwnTracks sees the beacon (and turns the region red), it also sends an MQTT packet to HA to say that you have entered that region.</p>
|
||||||
|
|
||||||
|
<p>The result of the configuration above would be to set the location of device.phone to <code>Drive</code> , (and the GPS location to XXX,YYY) when your phone sees the beacon.</p>
|
||||||
|
|
||||||
|
<p>So with the steps above you should be able to improve the reliability of tracking your phone - and send timely updates to HA. I did this for my home - and the lights now turn on before I reach the house on foot. If I arrive by car they turn on within a few seconds of arriving, before I can get to the front door.</p>
|
||||||
|
|
||||||
|
<p>I’m also pleased to say I no longer get an <em>arrive home</em> event at 2am that turns the lights on. I hope I’ve convinced you that iBeacons are worth trying!</p>
|
||||||
|
|
||||||
|
<h3><a class='title-link' name='mixing-beacons-and-gps-locations' href='#mixing-beacons-and-gps-locations'></a> Mixing Beacons and GPS locations </h3>
|
||||||
|
|
||||||
|
<p>You will probably use beacons to make entry into your existing GPS zones more reliable. By default either a beacon or a GPS location can cause you to enter a zone - and HA has some logic that should make them two work well together (it ignores GPS updates when you’re in an iBeacon Zone).</p>
|
||||||
|
|
||||||
|
<p>However you can also use beacons for situations where GPS doesn’t work well.</p>
|
||||||
|
|
||||||
|
<p>This might be because the zones are too close together - or even on top of each other!<br />
|
||||||
|
For example, my wife works next door - and I couldn’t detect whether she’s at home or in the office via GPS because the accuracy wasn’t high enough. However I can do this by using two beacons.</p>
|
||||||
|
|
||||||
|
<p>To make this type of presence detection work you need to turn GPS off for a zone in Home Assistant by making them <code>passive</code>. This is important because otherwise HA will try to decide between two close together zones without enough data. This doesn’t work well.</p>
|
||||||
|
|
||||||
|
<p>A passive zone can only be entered via an iBeacon, so a GPS location update will always pick the other zone.</p>
|
||||||
|
|
||||||
|
<p>I set up my Home zone to be a standard region, and my office zone to be passive, so the home zone can be entered in the normal way via either GPS or a Beacon.</p>
|
||||||
|
|
||||||
|
<p><strong>Example <code>configuration.yaml</code> entry</strong></p>
|
||||||
|
|
||||||
|
<div class="highlighter-coderay"><div class="CodeRay">
|
||||||
|
<div class="code"><pre>
|
||||||
|
<span class="key">zone</span>:
|
||||||
|
- <span class="string"><span class="content">name: 'Office'</span></span>
|
||||||
|
<span class="key">latitude</span>: <span class="string"><span class="content">XXX</span></span>
|
||||||
|
<span class="key">longitude</span>: <span class="string"><span class="content">YYY</span></span>
|
||||||
|
<span class="key">radius</span>: <span class="string"><span class="content">3</span></span>
|
||||||
|
<span class="key">passive</span>: <span class="string"><span class="content">true</span></span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>You could use this technique to try to detect which room someone is in. This might allow you to notice whether someone is in the living room or the bedroom - even though one is above the other (although beacon packets do pass through walls and floors).</p>
|
||||||
|
|
||||||
|
<p>To get this to work you’ll probably need to experiment with the beacon signal strength to try to match the beacon reception area to the location you want to track. Let me know if you get this to work (it doesn’t make sense in my open plan house)</p>
|
||||||
|
|
||||||
|
<h3><a class='title-link' name='conclusion' href='#conclusion'></a> Conclusion </h3>
|
||||||
|
|
||||||
|
<p>Presence tracking sounds easy - and it’s an important part of Home Automation. Trying it shows how difficult it is to get presence detection right. I’ve found that iBeacons have improved the reliability and timeliness of knowing where I am, and I hope I encouraged you to try them too.</p>
|
||||||
|
|
||||||
|
<h3><a class='title-link' name='tips' href='#tips'></a> Tips </h3>
|
||||||
|
|
||||||
|
<p>You can find out more about configuring the OwnTracks application and beacons <a href="http://owntracks.org/booklet/features/beacons/">here</a></p>
|
||||||
|
|
||||||
|
<p>There is information about configuring Homeassistant to use beacons <a href="https://home-assistant.io/components/device_tracker.owntracks/">here</a></p>
|
||||||
|
|
||||||
|
<h4><a class='title-link' name='connections-and-disconnecting' href='#connections-and-disconnecting'></a> Connections and disconnecting </h4>
|
||||||
|
|
||||||
|
<p>Owntracks treats a region name with a leading <code>-</code> as a hint that it shouldn’t disconnect after a single missed packet. This improves the ability to keep a connection to a beacon.</p>
|
||||||
|
|
||||||
|
<p>However, even when using this feature I’ve noticed that you can still lose connections (although it seems to vary by beacon manufacturer and type - I’ll talk more about this in <em>part 2</em>). This means that it’s best to take into account that you may see false enter/leave events in HA. You may be able to improve this by changing how often the beacons send packets - and by increasing the signal strength (both will drain your beacon batteries more quickly). You can usually change these parameters in the app supplied by the iBeacon maker. You can also find some high power beacons (which have worked well for me).</p>
|
||||||
|
|
||||||
|
<p>In automations you can use a <code>for:</code> to avoid triggering during a brief disconnect, or use a script with a delay. Stay tuned for <em>part 2</em> for an example of this.</p>
|
||||||
|
|
||||||
|
<h4><a class='title-link' name='using-multiple-beacons-for-the-same-zone' href='#using-multiple-beacons-for-the-same-zone'></a> Using Multiple beacons for the same Zone </h4>
|
||||||
|
<p>iBeacons have a <code>UUID</code> (usually set to the same value for beacons from the same manufacturer), as well as a <code>minor</code> and <code>major</code> number. If you set two beacons to have exactly same details then OwnTracks will think multiple beacons are at the same location.</p>
|
||||||
|
|
||||||
|
<p>This means you can have more than one beacon around your home - and a connection to any of them will count as <code>home</code> to OwnTracks and HA. This reduces disconnections.</p>
|
||||||
|
|
||||||
|
<p>You can achieve the same effect by using the same the same <code>UUID</code> but different <code>major</code> / <code>minor</code> numbers - and tell OwnTracks not to worry about the <code>minor</code> / <code>major</code> numbers for a particular region by setting them to 0).</p>
|
||||||
|
|
||||||
|
<p><em>Stay tuned for part II where I’ll talk about how to use iBeacons to track any object.</em></p>
|
||||||
|
]]></content>
|
||||||
|
</entry>
|
||||||
|
|
||||||
|
</feed>
|
278
blog/categories/presence-detection/index.html
Normal file
278
blog/categories/presence-detection/index.html
Normal file
|
@ -0,0 +1,278 @@
|
||||||
|
<!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>Category: Presence-Detection - Home Assistant</title>
|
||||||
|
<meta name="author" content="Paulus Schoutsen">
|
||||||
|
<meta name="description" content="Category: Presence-Detection">
|
||||||
|
|
||||||
|
<meta name="viewport" content="width=device-width">
|
||||||
|
<link rel="canonical" href="https://home-assistant.io/blog/categories/presence-detection/">
|
||||||
|
|
||||||
|
<meta property="fb:app_id" content="338291289691179">
|
||||||
|
<meta property="og:title" content="Category: Presence-Detection">
|
||||||
|
<meta property="og:site_name" content="Home Assistant">
|
||||||
|
<meta property="og:url" content="https://home-assistant.io/blog/categories/presence-detection/">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:description" content="Category: Presence-Detection">
|
||||||
|
<meta property="og:image" content="https://home-assistant.io/images/home-assistant-logo-2164x2164.png">
|
||||||
|
|
||||||
|
<meta name="twitter:card" content="summary">
|
||||||
|
<meta name="twitter:site" content="@home_assistant">
|
||||||
|
|
||||||
|
<meta name="twitter:title" content="Category: Presence-Detection">
|
||||||
|
<meta name="twitter:description" content="Category: Presence-Detection">
|
||||||
|
<meta name="twitter:image" content="https://home-assistant.io/images/home-assistant-logo-2164x2164.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='/cookbook/'>Examples</a></li>
|
||||||
|
<li><a href="/developers/">Developers</a></li>
|
||||||
|
<li><a href="/blog/">Blog</a></li>
|
||||||
|
<li><a href="/help/">Need help?</a></li>
|
||||||
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="grid-wrapper">
|
||||||
|
<div class="grid grid-center">
|
||||||
|
|
||||||
|
<div class="grid__item two-thirds lap-one-whole palm-one-whole">
|
||||||
|
|
||||||
|
|
||||||
|
<article class="page">
|
||||||
|
|
||||||
|
|
||||||
|
<div class='edit-github'><a href='https://github.com/home-assistant/home-assistant.io/tree/master/source/blog/categories/presence-detection/index.html'>Edit this page on GitHub</a></div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<header>
|
||||||
|
<h1 class="title indent">
|
||||||
|
Category: Presence-Detection
|
||||||
|
</h1>
|
||||||
|
</header>
|
||||||
|
<hr class="divider">
|
||||||
|
|
||||||
|
|
||||||
|
<div id="archive-list">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<h2>2016</h2>
|
||||||
|
|
||||||
|
<article>
|
||||||
|
<div class="grid">
|
||||||
|
|
||||||
|
<div class="grid__item one-fifth palm-one-whole">
|
||||||
|
<time datetime="2016-04-30T06:50:09+00:00" pubdate>
|
||||||
|
<span class='month'>Apr</span> <span class='day'>30</span>
|
||||||
|
</time>
|
||||||
|
</div>
|
||||||
|
<div class="grid__item four-fifths palm-one-whole">
|
||||||
|
<h1 class="gamma"><a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a></h1>
|
||||||
|
|
||||||
|
<footer class="meta">
|
||||||
|
<span>
|
||||||
|
<i class="icon-tags"></i>
|
||||||
|
<ul class="tags unstyled">
|
||||||
|
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/owntracks/'>OwnTracks</a></li>
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/presence-detection/'>Presence-Detection</a></li>
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/ibeacons/'>iBeacons</a></li>
|
||||||
|
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</span>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<hr class="divider">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</article>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<aside id="sidebar" class="grid__item one-third lap-one-whole palm-one-whole">
|
||||||
|
<div class="grid">
|
||||||
|
|
||||||
|
|
||||||
|
<section class="aside-module grid__item one-whole lap-one-half">
|
||||||
|
<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>
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
<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>
|
||||||
|
|
||||||
|
|
||||||
|
<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/categories/presence-detection/"
|
||||||
|
data-counturl="https://home-assistant.io/blog/categories/presence-detection/" >Tweet</a>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="fb-share-button" style='top: -6px;'
|
||||||
|
data-href="https://home-assistant.io/blog/categories/presence-detection/"
|
||||||
|
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>
|
||||||
|
<script>
|
||||||
|
window.fbAsyncInit = function() {
|
||||||
|
FB.init({appId: '338291289691179', xfbml: true, version: 'v2.2'});
|
||||||
|
};
|
||||||
|
|
||||||
|
(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/sdk.js";
|
||||||
|
fjs.parentNode.insertBefore(js, fjs);
|
||||||
|
}(document, 'script', 'facebook-jssdk'));
|
||||||
|
</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/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/19/to-infinity-and-beyond/">To Infinity and Beyond 🚀</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/17/updated-documentation/">Updated documentation</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/09/onkyo-panasonic-gtfs-and-config-validation/">0.17: Onkyo, Panasonic, GTFS and config validation</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://github.com/home-assistant/home-assistant'><i class="icon-github"></i></a>
|
||||||
|
|
||||||
|
<div class="credit">
|
||||||
|
Website powered by <a href='http://jekyllrb.com/'>Jekyll</a> and the <a href='https://github.com/coogie/oscailte'>Oscalite theme</a>.<br />
|
||||||
|
Hosted by <a href='https://pages.github.com/'>GitHub</a> and served by <a href='https://cloudflare.com'>CloudFlare</a>.
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var _gaq=[['_setAccount','UA-57927901-1'],['_trackPageview']];
|
||||||
|
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
|
||||||
|
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
|
||||||
|
s.parentNode.insertBefore(g,s)}(document,'script'));
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
var disqus_shortname = 'home-assistant';
|
||||||
|
|
||||||
|
|
||||||
|
var disqus_script = 'count.js';
|
||||||
|
|
||||||
|
(function () {
|
||||||
|
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
||||||
|
dsq.src = '//' + disqus_shortname + '.disqus.com/' + disqus_script;
|
||||||
|
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
||||||
|
}());
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: Public-Service-Announcement | Home Assistant]]></title>
|
<title><![CDATA[Category: Public-Service-Announcement | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/public-service-announcement/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/public-service-announcement/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-04-30T11:04:27+00:00</updated>
|
<updated>2016-04-30T11:26:57+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Paulus Schoutsen]]></name>
|
<name><![CDATA[Paulus Schoutsen]]></name>
|
||||||
|
|
|
@ -195,6 +195,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -218,12 +224,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: Release-Notes | Home Assistant]]></title>
|
<title><![CDATA[Category: Release-Notes | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/release-notes/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/release-notes/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-04-30T11:04:27+00:00</updated>
|
<updated>2016-04-30T11:26:57+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Paulus Schoutsen]]></name>
|
<name><![CDATA[Paulus Schoutsen]]></name>
|
||||||
|
|
|
@ -1224,6 +1224,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -1247,12 +1253,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: Survey | Home Assistant]]></title>
|
<title><![CDATA[Category: Survey | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/survey/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/survey/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-04-30T11:04:27+00:00</updated>
|
<updated>2016-04-30T11:26:57+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Paulus Schoutsen]]></name>
|
<name><![CDATA[Paulus Schoutsen]]></name>
|
||||||
|
|
|
@ -195,6 +195,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -218,12 +224,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: User-Stories | Home Assistant]]></title>
|
<title><![CDATA[Category: User-Stories | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/user-stories/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/user-stories/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-04-30T11:04:27+00:00</updated>
|
<updated>2016-04-30T11:26:57+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Paulus Schoutsen]]></name>
|
<name><![CDATA[Paulus Schoutsen]]></name>
|
||||||
|
|
|
@ -195,6 +195,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -218,12 +224,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
<title><![CDATA[Category: Website | Home Assistant]]></title>
|
<title><![CDATA[Category: Website | Home Assistant]]></title>
|
||||||
<link href="https://home-assistant.io/blog/categories/website/atom.xml" rel="self"/>
|
<link href="https://home-assistant.io/blog/categories/website/atom.xml" rel="self"/>
|
||||||
<link href="https://home-assistant.io/"/>
|
<link href="https://home-assistant.io/"/>
|
||||||
<updated>2016-04-30T11:04:27+00:00</updated>
|
<updated>2016-04-30T11:26:57+00:00</updated>
|
||||||
<id>https://home-assistant.io/</id>
|
<id>https://home-assistant.io/</id>
|
||||||
<author>
|
<author>
|
||||||
<name><![CDATA[Paulus Schoutsen]]></name>
|
<name><![CDATA[Paulus Schoutsen]]></name>
|
||||||
|
|
|
@ -230,6 +230,12 @@
|
||||||
<ul class="divided">
|
<ul class="divided">
|
||||||
|
|
||||||
|
|
||||||
|
<li class="post">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
<li class="post">
|
||||||
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
<a href="/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/">0.18: Bluetooth, LG WebOS TVs and Roombas.</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -253,12 +259,6 @@
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<li class="post">
|
|
||||||
<a href="/blog/2016/04/07/static-website/">Static website</a>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
155
blog/index.html
155
blog/index.html
|
@ -78,6 +78,64 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article class="listing">
|
||||||
|
<header>
|
||||||
|
|
||||||
|
<h1 class="beta">
|
||||||
|
<a href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/">iBeacons: Making presence detection work better (part I)</a>
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="meta clearfix">
|
||||||
|
<time datetime="2016-04-30T06:50:09+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> April 30, 2016</time>
|
||||||
|
<span class="byline author vcard"><i class='icon-user'></i> Greg Dowling</span>
|
||||||
|
<span><i class='icon-time'></i> nine minutes reading time</span>
|
||||||
|
<span>
|
||||||
|
<i class="icon-tags"></i>
|
||||||
|
<ul class="tags unstyled">
|
||||||
|
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/owntracks/'>OwnTracks</a></li>
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/presence-detection/'>Presence-Detection</a></li>
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/ibeacons/'>iBeacons</a></li>
|
||||||
|
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<a class='comments'
|
||||||
|
href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/#disqus_thread"
|
||||||
|
>Comments</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="entry-content clearfix">
|
||||||
|
<p><em>This is a guest post by Home Assistant contributor <a href="https://github.com/pavoni">Greg Dowling</a>.</em></p>
|
||||||
|
|
||||||
|
<p>In 2013 Apple introduced iBeacons: a class of Bluetooth low energy (LE) devices that broadcast their identifier to nearby devices, including most smartphones. At first glance it’s hard to imagine why they might be useful. In this two part blog I’ll try and explain why they are useful and how you can use them with Home Assistant.</p>
|
||||||
|
|
||||||
|
<p>The reason I started using iBeacons was to improve presence detection (and I think that’s the case with most people) so that’s what I’ll discuss in <em>part 1</em>. In <em>part 2</em> I’ll talk about using iBeacons to track devices that can’t track themselves.</p>
|
||||||
|
|
||||||
|
<h3><a class="title-link" name="using-beacons-to-improve-owntracks-location-data" href="#using-beacons-to-improve-owntracks-location-data"></a> Using beacons to improve OwnTracks location data</h3>
|
||||||
|
|
||||||
|
<p>When you use OwnTracks in standard <em>major move</em> mode (which is kind to your phone battery) it sometimes fails to update when you’d like it to. In my case I found that it would often send a location update as I was on my way home, but then not update when I got home. The result would be that Home Assistant would think I was 500M away from home, and take quite a while to notice I was home. It would also mean that the automation that should turn on my lights when I got home didn’t work very well! There were a few times when my phone location updated at 2am and turned the lights on for me. Fortunately my wife is very patient!</p>
|
||||||
|
|
||||||
|
<p>Luckily, OwnTracks supports iBeacons so I could use them to make presence detection more reliable. When OwnTracks sees a beacon it recognises, it will send an update. This means that if you put a beacon at your front door - OwnTracks will see it within a few seconds of you arriving home - and send an update saying it has seen this iBeacon.</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="btn pull-right" href="/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/#read-more">Read on →</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
<hr>
|
||||||
|
|
||||||
<article class="listing">
|
<article class="listing">
|
||||||
<header>
|
<header>
|
||||||
|
|
||||||
|
@ -712,97 +770,6 @@ player state attributes. This change affects automations, scripts and scenes.</l
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
<article class="listing">
|
|
||||||
<header>
|
|
||||||
|
|
||||||
<h1 class="beta">
|
|
||||||
<a href="/blog/2016/02/20/community-highlights/">Community Highlights</a>
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="meta clearfix">
|
|
||||||
<time datetime="2016-02-20T09:06:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> February 20, 2016</time>
|
|
||||||
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
|
|
||||||
<span><i class='icon-time'></i> two minutes reading time</span>
|
|
||||||
<span>
|
|
||||||
<i class="icon-tags"></i>
|
|
||||||
<ul class="tags unstyled">
|
|
||||||
|
|
||||||
|
|
||||||
<li><a class='category' href='/blog/categories/community/'>Community</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<a class='comments'
|
|
||||||
href="/blog/2016/02/20/community-highlights/#disqus_thread"
|
|
||||||
>Comments</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</header>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="entry-content clearfix">
|
|
||||||
<p>Home Assistant land has been busy and a lot of people have been creating awesome stuff. We’ve added <a href="/cookbook/">a cookbook section</a> to the website full of examples how you can automate different things. Make sure you take a look and share your own recipes too!</p>
|
|
||||||
|
|
||||||
<h3><a class="title-link" name="home-automation-demo-by-part-of-the-thing" href="#home-automation-demo-by-part-of-the-thing"></a> Home automation demo by Part of the Thing</h3>
|
|
||||||
|
|
||||||
<div class="videoWrapper">
|
|
||||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/Mc_29EC3aZw" frameborder="0" allowfullscreen=""></iframe>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<h3><a class="title-link" name="haaska---alexa-skill-adapter-for-home-assistant" href="#haaska---alexa-skill-adapter-for-home-assistant"></a> Haaska - Alexa Skill Adapter for Home Assistant</h3>
|
|
||||||
|
|
||||||
<p>Haaska allows you to control lights, switches, and scenes exposed by your Home Assistant instance using an Amazon Echo. This is different from our own <a href="/components/alexa/">Alexa</a> component because it will teach the Amazon Echo directly about the devices instead of teaching it to talk to Home Assistant. It will not allow you to use custom sentences but it will allow you to skip the ‘Ask Home Assistant’ part when giving commands:</p>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>“Alexa, set kitchen to twenty percent”</li>
|
|
||||||
<li>“Alexa, turn on evening scene”</li>
|
|
||||||
<li>“Alexa, turn off bedroom light”</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p><a href="https://github.com/auchter/haaska">Haaska on GitHub</a></p>
|
|
||||||
|
|
||||||
<h3><a class="title-link" name="integrating-home-assistant-with-homekit" href="#integrating-home-assistant-with-homekit"></a> Integrating Home Assistant with HomeKit</h3>
|
|
||||||
|
|
||||||
<p>Contributor Maddox has created a plugin for HomeBridge, an open-source HomeKit bridge. This will allow you to control your home using Siri on your Apple devices. HomeBridge has recently restructured so you’ll have to install the plugin separately with the homebridge-homeassistant npm package.</p>
|
|
||||||
|
|
||||||
<p>Example config.json entry to load Home Assistant:</p>
|
|
||||||
|
|
||||||
<div class="highlighter-coderay"><div class="CodeRay">
|
|
||||||
<div class="code"><pre><span class="key"><span class="delimiter">"</span><span class="content">platforms</span><span class="delimiter">"</span></span>: [
|
|
||||||
{
|
|
||||||
<span class="key"><span class="delimiter">"</span><span class="content">platform</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">HomeAssistant</span><span class="delimiter">"</span></span>,
|
|
||||||
<span class="key"><span class="delimiter">"</span><span class="content">name</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">HomeAssistant</span><span class="delimiter">"</span></span>,
|
|
||||||
<span class="key"><span class="delimiter">"</span><span class="content">host</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">http://192.168.1.50:8123</span><span class="delimiter">"</span></span>,
|
|
||||||
<span class="key"><span class="delimiter">"</span><span class="content">password</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">xxx</span><span class="delimiter">"</span></span>,
|
|
||||||
<span class="key"><span class="delimiter">"</span><span class="content">supported_types</span><span class="delimiter">"</span></span>: [<span class="string"><span class="delimiter">"</span><span class="content">light</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">switch</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">media_player</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">scene</span><span class="delimiter">"</span></span>]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
</pre></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<p><a href="https://github.com/nfarina/homebridge">HomeBridge on GitHub</a><br />
|
|
||||||
<a href="https://github.com/maddox/homebridge-homeassistant">HomeBridge Home Assistant Plugin</a></p>
|
|
||||||
|
|
||||||
<h3><a class="title-link" name="custom-alarm-system-with-home-assistant" href="#custom-alarm-system-with-home-assistant"></a> Custom alarm system with Home Assistant</h3>
|
|
||||||
|
|
||||||
<p>User thaijames <a href="https://community.home-assistant.io/t/controlling-house-alarm-from-ha/67">describes in the Home Assistant forums</a> how he has created his own NFC-based alarm system using Home Assistant, DIY components and Garfield dolls.</p>
|
|
||||||
|
|
||||||
<p class="img">
|
|
||||||
<img src="/images/blog/2016-02-community-highlights/garfield-nfc.png" />
|
|
||||||
Hold your NFC tag against the belly of Garfield to unlock the alarm.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -855,6 +822,10 @@ Hold your NFC tag against the belly of Garfield to unlock the alarm.
|
||||||
|
|
||||||
<li><a href="/blog/categories/organisation/">Organisation</a></li>
|
<li><a href="/blog/categories/organisation/">Organisation</a></li>
|
||||||
|
|
||||||
|
<li><a href="/blog/categories/owntracks/">OwnTracks</a></li>
|
||||||
|
|
||||||
|
<li><a href="/blog/categories/presence-detection/">Presence Detection</a></li>
|
||||||
|
|
||||||
<li><a href="/blog/categories/public-service-announcement/">Public Service Announcement</a></li>
|
<li><a href="/blog/categories/public-service-announcement/">Public Service Announcement</a></li>
|
||||||
|
|
||||||
<li><a href="/blog/categories/release-notes/">Release Notes</a></li>
|
<li><a href="/blog/categories/release-notes/">Release Notes</a></li>
|
||||||
|
@ -865,6 +836,8 @@ Hold your NFC tag against the belly of Garfield to unlock the alarm.
|
||||||
|
|
||||||
<li><a href="/blog/categories/website/">Website</a></li>
|
<li><a href="/blog/categories/website/">Website</a></li>
|
||||||
|
|
||||||
|
<li><a href="/blog/categories/ibeacons/">iBeacons</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -78,6 +78,97 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article class="listing">
|
||||||
|
<header>
|
||||||
|
|
||||||
|
<h1 class="beta">
|
||||||
|
<a href="/blog/2016/02/20/community-highlights/">Community Highlights</a>
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="meta clearfix">
|
||||||
|
<time datetime="2016-02-20T09:06:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> February 20, 2016</time>
|
||||||
|
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
|
||||||
|
<span><i class='icon-time'></i> two minutes reading time</span>
|
||||||
|
<span>
|
||||||
|
<i class="icon-tags"></i>
|
||||||
|
<ul class="tags unstyled">
|
||||||
|
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/community/'>Community</a></li>
|
||||||
|
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<a class='comments'
|
||||||
|
href="/blog/2016/02/20/community-highlights/#disqus_thread"
|
||||||
|
>Comments</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="entry-content clearfix">
|
||||||
|
<p>Home Assistant land has been busy and a lot of people have been creating awesome stuff. We’ve added <a href="/cookbook/">a cookbook section</a> to the website full of examples how you can automate different things. Make sure you take a look and share your own recipes too!</p>
|
||||||
|
|
||||||
|
<h3><a class="title-link" name="home-automation-demo-by-part-of-the-thing" href="#home-automation-demo-by-part-of-the-thing"></a> Home automation demo by Part of the Thing</h3>
|
||||||
|
|
||||||
|
<div class="videoWrapper">
|
||||||
|
<iframe width="560" height="315" src="https://www.youtube.com/embed/Mc_29EC3aZw" frameborder="0" allowfullscreen=""></iframe>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3><a class="title-link" name="haaska---alexa-skill-adapter-for-home-assistant" href="#haaska---alexa-skill-adapter-for-home-assistant"></a> Haaska - Alexa Skill Adapter for Home Assistant</h3>
|
||||||
|
|
||||||
|
<p>Haaska allows you to control lights, switches, and scenes exposed by your Home Assistant instance using an Amazon Echo. This is different from our own <a href="/components/alexa/">Alexa</a> component because it will teach the Amazon Echo directly about the devices instead of teaching it to talk to Home Assistant. It will not allow you to use custom sentences but it will allow you to skip the ‘Ask Home Assistant’ part when giving commands:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>“Alexa, set kitchen to twenty percent”</li>
|
||||||
|
<li>“Alexa, turn on evening scene”</li>
|
||||||
|
<li>“Alexa, turn off bedroom light”</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p><a href="https://github.com/auchter/haaska">Haaska on GitHub</a></p>
|
||||||
|
|
||||||
|
<h3><a class="title-link" name="integrating-home-assistant-with-homekit" href="#integrating-home-assistant-with-homekit"></a> Integrating Home Assistant with HomeKit</h3>
|
||||||
|
|
||||||
|
<p>Contributor Maddox has created a plugin for HomeBridge, an open-source HomeKit bridge. This will allow you to control your home using Siri on your Apple devices. HomeBridge has recently restructured so you’ll have to install the plugin separately with the homebridge-homeassistant npm package.</p>
|
||||||
|
|
||||||
|
<p>Example config.json entry to load Home Assistant:</p>
|
||||||
|
|
||||||
|
<div class="highlighter-coderay"><div class="CodeRay">
|
||||||
|
<div class="code"><pre><span class="key"><span class="delimiter">"</span><span class="content">platforms</span><span class="delimiter">"</span></span>: [
|
||||||
|
{
|
||||||
|
<span class="key"><span class="delimiter">"</span><span class="content">platform</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">HomeAssistant</span><span class="delimiter">"</span></span>,
|
||||||
|
<span class="key"><span class="delimiter">"</span><span class="content">name</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">HomeAssistant</span><span class="delimiter">"</span></span>,
|
||||||
|
<span class="key"><span class="delimiter">"</span><span class="content">host</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">http://192.168.1.50:8123</span><span class="delimiter">"</span></span>,
|
||||||
|
<span class="key"><span class="delimiter">"</span><span class="content">password</span><span class="delimiter">"</span></span>: <span class="string"><span class="delimiter">"</span><span class="content">xxx</span><span class="delimiter">"</span></span>,
|
||||||
|
<span class="key"><span class="delimiter">"</span><span class="content">supported_types</span><span class="delimiter">"</span></span>: [<span class="string"><span class="delimiter">"</span><span class="content">light</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">switch</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">media_player</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content">scene</span><span class="delimiter">"</span></span>]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p><a href="https://github.com/nfarina/homebridge">HomeBridge on GitHub</a><br />
|
||||||
|
<a href="https://github.com/maddox/homebridge-homeassistant">HomeBridge Home Assistant Plugin</a></p>
|
||||||
|
|
||||||
|
<h3><a class="title-link" name="custom-alarm-system-with-home-assistant" href="#custom-alarm-system-with-home-assistant"></a> Custom alarm system with Home Assistant</h3>
|
||||||
|
|
||||||
|
<p>User thaijames <a href="https://community.home-assistant.io/t/controlling-house-alarm-from-ha/67">describes in the Home Assistant forums</a> how he has created his own NFC-based alarm system using Home Assistant, DIY components and Garfield dolls.</p>
|
||||||
|
|
||||||
|
<p class="img">
|
||||||
|
<img src="/images/blog/2016-02-community-highlights/garfield-nfc.png" />
|
||||||
|
Hold your NFC tag against the belly of Garfield to unlock the alarm.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
<hr>
|
||||||
|
|
||||||
<article class="listing">
|
<article class="listing">
|
||||||
<header>
|
<header>
|
||||||
|
|
||||||
|
@ -699,57 +790,6 @@ Example of the new views in the frontend. <a href="/components/group/">Learn mor
|
||||||
</article>
|
</article>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<article class="listing">
|
|
||||||
<header>
|
|
||||||
|
|
||||||
<h1 class="beta">
|
|
||||||
<a href="/blog/2015/12/12/philips-hue-blocks-3rd-party-bulbs/">[Update: decision reversed!] Philips Hue blocks 3rd party lights</a>
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="meta clearfix">
|
|
||||||
<time datetime="2015-12-12T18:44:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> December 12, 2015</time>
|
|
||||||
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
|
|
||||||
<span><i class='icon-time'></i> 1 minute reading time</span>
|
|
||||||
<span>
|
|
||||||
<i class="icon-tags"></i>
|
|
||||||
<ul class="tags unstyled">
|
|
||||||
|
|
||||||
|
|
||||||
<li><a class='category' href='/blog/categories/public-service-announcement/'>Public-Service-Announcement</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<a class='comments'
|
|
||||||
href="/blog/2015/12/12/philips-hue-blocks-3rd-party-bulbs/#disqus_thread"
|
|
||||||
>Comments</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</header>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="entry-content clearfix">
|
|
||||||
<p><strong>Update Dec 16</strong>: Great news! Philips has decided to <a href="http://www.developers.meethue.com/documentation/friends-hue-update">reverse their decision</a> and is working on a software update to allow 3rd party light bulbs again.</p>
|
|
||||||
|
|
||||||
<p class="img">
|
|
||||||
<img src="/images/blog/2015-12-philips-hue-3rd-party/philips-hue-reversed-faq.png" />
|
|
||||||
Philips Hue FAQ entries regarding reversing the decision.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p><em>Original post:</em></p>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a class="btn pull-right" href="/blog/2015/12/12/philips-hue-blocks-3rd-party-bulbs/#read-more">Read on →</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="pagination">
|
<div class="pagination">
|
||||||
|
|
||||||
|
@ -800,6 +840,10 @@ Philips Hue FAQ entries regarding reversing the decision.
|
||||||
|
|
||||||
<li><a href="/blog/categories/organisation/">Organisation</a></li>
|
<li><a href="/blog/categories/organisation/">Organisation</a></li>
|
||||||
|
|
||||||
|
<li><a href="/blog/categories/owntracks/">OwnTracks</a></li>
|
||||||
|
|
||||||
|
<li><a href="/blog/categories/presence-detection/">Presence Detection</a></li>
|
||||||
|
|
||||||
<li><a href="/blog/categories/public-service-announcement/">Public Service Announcement</a></li>
|
<li><a href="/blog/categories/public-service-announcement/">Public Service Announcement</a></li>
|
||||||
|
|
||||||
<li><a href="/blog/categories/release-notes/">Release Notes</a></li>
|
<li><a href="/blog/categories/release-notes/">Release Notes</a></li>
|
||||||
|
@ -810,6 +854,8 @@ Philips Hue FAQ entries regarding reversing the decision.
|
||||||
|
|
||||||
<li><a href="/blog/categories/website/">Website</a></li>
|
<li><a href="/blog/categories/website/">Website</a></li>
|
||||||
|
|
||||||
|
<li><a href="/blog/categories/ibeacons/">iBeacons</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -78,6 +78,57 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article class="listing">
|
||||||
|
<header>
|
||||||
|
|
||||||
|
<h1 class="beta">
|
||||||
|
<a href="/blog/2015/12/12/philips-hue-blocks-3rd-party-bulbs/">[Update: decision reversed!] Philips Hue blocks 3rd party lights</a>
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="meta clearfix">
|
||||||
|
<time datetime="2015-12-12T18:44:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> December 12, 2015</time>
|
||||||
|
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
|
||||||
|
<span><i class='icon-time'></i> 1 minute reading time</span>
|
||||||
|
<span>
|
||||||
|
<i class="icon-tags"></i>
|
||||||
|
<ul class="tags unstyled">
|
||||||
|
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/public-service-announcement/'>Public-Service-Announcement</a></li>
|
||||||
|
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<a class='comments'
|
||||||
|
href="/blog/2015/12/12/philips-hue-blocks-3rd-party-bulbs/#disqus_thread"
|
||||||
|
>Comments</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="entry-content clearfix">
|
||||||
|
<p><strong>Update Dec 16</strong>: Great news! Philips has decided to <a href="http://www.developers.meethue.com/documentation/friends-hue-update">reverse their decision</a> and is working on a software update to allow 3rd party light bulbs again.</p>
|
||||||
|
|
||||||
|
<p class="img">
|
||||||
|
<img src="/images/blog/2015-12-philips-hue-3rd-party/philips-hue-reversed-faq.png" />
|
||||||
|
Philips Hue FAQ entries regarding reversing the decision.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p><em>Original post:</em></p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="btn pull-right" href="/blog/2015/12/12/philips-hue-blocks-3rd-party-bulbs/#read-more">Read on →</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
<hr>
|
||||||
|
|
||||||
<article class="listing">
|
<article class="listing">
|
||||||
<header>
|
<header>
|
||||||
|
|
||||||
|
@ -593,77 +644,6 @@ Home Assistant will keep track of historical values and allow you to integrate i
|
||||||
<p>Also, the media player was extended by <a href="https://github.com/maddox">@maddox</a> to support the play media command. This has been implemented for the <a href="/components/media_player.itunes/">iTunes platform</a>.</p>
|
<p>Also, the media player was extended by <a href="https://github.com/maddox">@maddox</a> to support the play media command. This has been implemented for the <a href="/components/media_player.itunes/">iTunes platform</a>.</p>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
<article class="listing">
|
|
||||||
<header>
|
|
||||||
|
|
||||||
<h1 class="beta">
|
|
||||||
<a href="/blog/2015/10/05/home-assistant-goes-geo-with-owntracks/">Home Assistant goes geo with OwnTracks</a>
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="meta clearfix">
|
|
||||||
<time datetime="2015-10-05T21:49:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> October 5, 2015</time>
|
|
||||||
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
|
|
||||||
<span><i class='icon-time'></i> 1 minute reading time</span>
|
|
||||||
<span>
|
|
||||||
<i class="icon-tags"></i>
|
|
||||||
<ul class="tags unstyled">
|
|
||||||
|
|
||||||
|
|
||||||
<li><a class='category' href='/blog/categories/release-notes/'>Release-Notes</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<a class='comments'
|
|
||||||
href="/blog/2015/10/05/home-assistant-goes-geo-with-owntracks/#disqus_thread"
|
|
||||||
>Comments</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</header>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="entry-content clearfix">
|
|
||||||
<p>A few weeks have past and it is time again for another release: version 0.7.4. This time we’re very glad to be able to introduce brand new integration with OwnTracks to allow tracking of people on a map. The geo support consists of three different parts:</p>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li><a href="/components/device_tracker.owntracks/">OwnTracks platform for the device tracker</a> to get locations for devices</li>
|
|
||||||
<li>Brand new <a href="/components/zone/">zone component</a> to define zones to identify locations and <a href="/getting-started/automation-trigger/#zone-trigger">trigger automation</a></li>
|
|
||||||
<li>A map in the UI to see all this (<a href="/demo/">see it in action in the demo</a>)</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<p>We have added a new <a href="/getting-started/presence-detection/">getting started section</a> to get up and running.</p>
|
|
||||||
|
|
||||||
<p class="img">
|
|
||||||
<img src="/images/screenshots/map.png" />
|
|
||||||
Map in Home Assistant showing two people and three zones (home, school, work)
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>Ofcourse more things happened in the last three weeks. I’m moving away from my usual long post to a short summary of highlights:</p>
|
|
||||||
|
|
||||||
<p><a href="/components/media_player.plex/">
|
|
||||||
<img src="/images/supported_brands/plex.png" style="border:none; box-shadow: none; float: right;" height="50" />
|
|
||||||
</a></p>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>Sensor: <a href="/components/sensor.rest/">rest platform</a> added (<a href="https://github.com/fabaff">@fabaff</a>)</li>
|
|
||||||
<li>Alarm Control Panel: <a href="/components/alarm_control_panel.mqtt/">MQTT platform</a> added (<a href="https://github.com/sfam">@sfam</a>)</li>
|
|
||||||
<li>Media Player: <a href="/components/media_player.plex/">Plex platform</a> added (<a href="https://github.com/miniconfig, [@adrienbrault](https://github.com/adrienbrault)">@miniconfig</a></li>
|
|
||||||
<li>Dev Tools: services can now show description of fields (<a href="https://github.com/balloob">@balloob</a>)</li>
|
|
||||||
<li>MQTT: Support for certificates and improved error reporting (<a href="https://github.com/balloob">@balloob</a>)</li>
|
|
||||||
<li>Light: <a href="/components/light.limitlessled/">limitlessled platform</a> extended with white light support (<a href="https://github.com/auchter">@auchter</a>)</li>
|
|
||||||
<li>Fuzzy matching for scenes (<a href="https://github.com/pavoni">@pavoni</a>)</li>
|
|
||||||
<li>Scene support for media player (<a href="https://github.com/maddox">@maddox</a>)</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</article>
|
</article>
|
||||||
<hr>
|
<hr>
|
||||||
|
@ -718,6 +698,10 @@ Map in Home Assistant showing two people and three zones (home, school, work)
|
||||||
|
|
||||||
<li><a href="/blog/categories/organisation/">Organisation</a></li>
|
<li><a href="/blog/categories/organisation/">Organisation</a></li>
|
||||||
|
|
||||||
|
<li><a href="/blog/categories/owntracks/">OwnTracks</a></li>
|
||||||
|
|
||||||
|
<li><a href="/blog/categories/presence-detection/">Presence Detection</a></li>
|
||||||
|
|
||||||
<li><a href="/blog/categories/public-service-announcement/">Public Service Announcement</a></li>
|
<li><a href="/blog/categories/public-service-announcement/">Public Service Announcement</a></li>
|
||||||
|
|
||||||
<li><a href="/blog/categories/release-notes/">Release Notes</a></li>
|
<li><a href="/blog/categories/release-notes/">Release Notes</a></li>
|
||||||
|
@ -728,6 +712,8 @@ Map in Home Assistant showing two people and three zones (home, school, work)
|
||||||
|
|
||||||
<li><a href="/blog/categories/website/">Website</a></li>
|
<li><a href="/blog/categories/website/">Website</a></li>
|
||||||
|
|
||||||
|
<li><a href="/blog/categories/ibeacons/">iBeacons</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -78,6 +78,77 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article class="listing">
|
||||||
|
<header>
|
||||||
|
|
||||||
|
<h1 class="beta">
|
||||||
|
<a href="/blog/2015/10/05/home-assistant-goes-geo-with-owntracks/">Home Assistant goes geo with OwnTracks</a>
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="meta clearfix">
|
||||||
|
<time datetime="2015-10-05T21:49:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> October 5, 2015</time>
|
||||||
|
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
|
||||||
|
<span><i class='icon-time'></i> 1 minute reading time</span>
|
||||||
|
<span>
|
||||||
|
<i class="icon-tags"></i>
|
||||||
|
<ul class="tags unstyled">
|
||||||
|
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/release-notes/'>Release-Notes</a></li>
|
||||||
|
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<a class='comments'
|
||||||
|
href="/blog/2015/10/05/home-assistant-goes-geo-with-owntracks/#disqus_thread"
|
||||||
|
>Comments</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="entry-content clearfix">
|
||||||
|
<p>A few weeks have past and it is time again for another release: version 0.7.4. This time we’re very glad to be able to introduce brand new integration with OwnTracks to allow tracking of people on a map. The geo support consists of three different parts:</p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="/components/device_tracker.owntracks/">OwnTracks platform for the device tracker</a> to get locations for devices</li>
|
||||||
|
<li>Brand new <a href="/components/zone/">zone component</a> to define zones to identify locations and <a href="/getting-started/automation-trigger/#zone-trigger">trigger automation</a></li>
|
||||||
|
<li>A map in the UI to see all this (<a href="/demo/">see it in action in the demo</a>)</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>We have added a new <a href="/getting-started/presence-detection/">getting started section</a> to get up and running.</p>
|
||||||
|
|
||||||
|
<p class="img">
|
||||||
|
<img src="/images/screenshots/map.png" />
|
||||||
|
Map in Home Assistant showing two people and three zones (home, school, work)
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>Ofcourse more things happened in the last three weeks. I’m moving away from my usual long post to a short summary of highlights:</p>
|
||||||
|
|
||||||
|
<p><a href="/components/media_player.plex/">
|
||||||
|
<img src="/images/supported_brands/plex.png" style="border:none; box-shadow: none; float: right;" height="50" />
|
||||||
|
</a></p>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Sensor: <a href="/components/sensor.rest/">rest platform</a> added (<a href="https://github.com/fabaff">@fabaff</a>)</li>
|
||||||
|
<li>Alarm Control Panel: <a href="/components/alarm_control_panel.mqtt/">MQTT platform</a> added (<a href="https://github.com/sfam">@sfam</a>)</li>
|
||||||
|
<li>Media Player: <a href="/components/media_player.plex/">Plex platform</a> added (<a href="https://github.com/miniconfig, [@adrienbrault](https://github.com/adrienbrault)">@miniconfig</a></li>
|
||||||
|
<li>Dev Tools: services can now show description of fields (<a href="https://github.com/balloob">@balloob</a>)</li>
|
||||||
|
<li>MQTT: Support for certificates and improved error reporting (<a href="https://github.com/balloob">@balloob</a>)</li>
|
||||||
|
<li>Light: <a href="/components/light.limitlessled/">limitlessled platform</a> extended with white light support (<a href="https://github.com/auchter">@auchter</a>)</li>
|
||||||
|
<li>Fuzzy matching for scenes (<a href="https://github.com/pavoni">@pavoni</a>)</li>
|
||||||
|
<li>Scene support for media player (<a href="https://github.com/maddox">@maddox</a>)</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
<hr>
|
||||||
|
|
||||||
<article class="listing">
|
<article class="listing">
|
||||||
<header>
|
<header>
|
||||||
|
|
||||||
|
@ -607,62 +678,6 @@ To update to the latest version, run <code>scripts/update</code>. Please report
|
||||||
</article>
|
</article>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<article class="listing">
|
|
||||||
<header>
|
|
||||||
|
|
||||||
<h1 class="beta">
|
|
||||||
<a href="/blog/2015/06/10/release-notes/">Release notes for June 10, 2015</a>
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="meta clearfix">
|
|
||||||
<time datetime="2015-06-10T18:54:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> June 10, 2015</time>
|
|
||||||
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
|
|
||||||
<span><i class='icon-time'></i> five minutes reading time</span>
|
|
||||||
<span>
|
|
||||||
<i class="icon-tags"></i>
|
|
||||||
<ul class="tags unstyled">
|
|
||||||
|
|
||||||
|
|
||||||
<li><a class='category' href='/blog/categories/release-notes/'>Release-Notes</a></li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<a class='comments'
|
|
||||||
href="/blog/2015/06/10/release-notes/#disqus_thread"
|
|
||||||
>Comments</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</header>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="entry-content clearfix">
|
|
||||||
<p>Wow, almost a month has gone by since the last release and this release is <em>packed</em>. The biggest part of this release is probably one that you won’t notice: the frontend has been upgraded from Polymer 0.5 to the brand new released Polymer 1.0. Polymer has been declared stable by the Google overlords which will allow us to expand functionality that was waiting for this moment to arrive.</p>
|
|
||||||
|
|
||||||
<p>This release sets a record for the amount of people involved: 8! <a href="https://github.com/Andythigpen">Andythigpen</a>, <a href="https://github.com/Jamespcole">Jamespcole</a>, <a href="https://github.com/Azelphur">Azelphur</a>, <a href="https://github.com/Fabaff">Fabaff</a>, <a href="https://github.com/Dutchy-">Dutchy-</a>, <a href="https://github.com/Fbradyirl">Fbradyirl</a>, <a href="https://github.com/wind-rider">wind-rider</a> and <a href="https://github.com/ettisan">ettisan</a>, thanks a lot for your contributions!</p>
|
|
||||||
|
|
||||||
<p>A big improvement has been brought this release by wind-rider. He took the time to revive the Chromecast support and started improving the media player integration. This triggered other people to join in resulting in a revamped media player experience and support for the Music Player Daemon.</p>
|
|
||||||
|
|
||||||
<p class="img">
|
|
||||||
<img src="/images/screenshots/media_player-card.png" /> Example of the new media player cards
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p class="note">
|
|
||||||
To update to the latest version, run <code>scripts/update</code>. Please report any issues on <a href="https://github.com/home-assistant/home-assistant/issues">GitHub</a>.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a class="btn pull-right" href="/blog/2015/06/10/release-notes/#read-more">Read on →</a>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="pagination">
|
<div class="pagination">
|
||||||
|
|
||||||
|
@ -713,6 +728,10 @@ To update to the latest version, run <code>scripts/update</code>. Please report
|
||||||
|
|
||||||
<li><a href="/blog/categories/organisation/">Organisation</a></li>
|
<li><a href="/blog/categories/organisation/">Organisation</a></li>
|
||||||
|
|
||||||
|
<li><a href="/blog/categories/owntracks/">OwnTracks</a></li>
|
||||||
|
|
||||||
|
<li><a href="/blog/categories/presence-detection/">Presence Detection</a></li>
|
||||||
|
|
||||||
<li><a href="/blog/categories/public-service-announcement/">Public Service Announcement</a></li>
|
<li><a href="/blog/categories/public-service-announcement/">Public Service Announcement</a></li>
|
||||||
|
|
||||||
<li><a href="/blog/categories/release-notes/">Release Notes</a></li>
|
<li><a href="/blog/categories/release-notes/">Release Notes</a></li>
|
||||||
|
@ -723,6 +742,8 @@ To update to the latest version, run <code>scripts/update</code>. Please report
|
||||||
|
|
||||||
<li><a href="/blog/categories/website/">Website</a></li>
|
<li><a href="/blog/categories/website/">Website</a></li>
|
||||||
|
|
||||||
|
<li><a href="/blog/categories/ibeacons/">iBeacons</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -78,6 +78,62 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article class="listing">
|
||||||
|
<header>
|
||||||
|
|
||||||
|
<h1 class="beta">
|
||||||
|
<a href="/blog/2015/06/10/release-notes/">Release notes for June 10, 2015</a>
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="meta clearfix">
|
||||||
|
<time datetime="2015-06-10T18:54:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> June 10, 2015</time>
|
||||||
|
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
|
||||||
|
<span><i class='icon-time'></i> five minutes reading time</span>
|
||||||
|
<span>
|
||||||
|
<i class="icon-tags"></i>
|
||||||
|
<ul class="tags unstyled">
|
||||||
|
|
||||||
|
|
||||||
|
<li><a class='category' href='/blog/categories/release-notes/'>Release-Notes</a></li>
|
||||||
|
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<a class='comments'
|
||||||
|
href="/blog/2015/06/10/release-notes/#disqus_thread"
|
||||||
|
>Comments</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="entry-content clearfix">
|
||||||
|
<p>Wow, almost a month has gone by since the last release and this release is <em>packed</em>. The biggest part of this release is probably one that you won’t notice: the frontend has been upgraded from Polymer 0.5 to the brand new released Polymer 1.0. Polymer has been declared stable by the Google overlords which will allow us to expand functionality that was waiting for this moment to arrive.</p>
|
||||||
|
|
||||||
|
<p>This release sets a record for the amount of people involved: 8! <a href="https://github.com/Andythigpen">Andythigpen</a>, <a href="https://github.com/Jamespcole">Jamespcole</a>, <a href="https://github.com/Azelphur">Azelphur</a>, <a href="https://github.com/Fabaff">Fabaff</a>, <a href="https://github.com/Dutchy-">Dutchy-</a>, <a href="https://github.com/Fbradyirl">Fbradyirl</a>, <a href="https://github.com/wind-rider">wind-rider</a> and <a href="https://github.com/ettisan">ettisan</a>, thanks a lot for your contributions!</p>
|
||||||
|
|
||||||
|
<p>A big improvement has been brought this release by wind-rider. He took the time to revive the Chromecast support and started improving the media player integration. This triggered other people to join in resulting in a revamped media player experience and support for the Music Player Daemon.</p>
|
||||||
|
|
||||||
|
<p class="img">
|
||||||
|
<img src="/images/screenshots/media_player-card.png" /> Example of the new media player cards
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="note">
|
||||||
|
To update to the latest version, run <code>scripts/update</code>. Please report any issues on <a href="https://github.com/home-assistant/home-assistant/issues">GitHub</a>.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="btn pull-right" href="/blog/2015/06/10/release-notes/#read-more">Read on →</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
<hr>
|
||||||
|
|
||||||
<article class="listing">
|
<article class="listing">
|
||||||
<header>
|
<header>
|
||||||
|
|
||||||
|
@ -638,70 +694,6 @@ Events are saved in a local database. Google Graphs is used to draw the graph. D
|
||||||
</article>
|
</article>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<article class="listing">
|
|
||||||
<header>
|
|
||||||
|
|
||||||
<h1 class="beta">
|
|
||||||
<a href="/blog/2015/01/24/release-notes/">Release notes for January 24, 2015</a>
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="meta clearfix">
|
|
||||||
<time datetime="2015-01-24T18:36:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> January 24, 2015</time>
|
|
||||||
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
|
|
||||||
<span><i class='icon-time'></i> 1 minute reading time</span>
|
|
||||||
<span>
|
|
||||||
<i class="icon-tags"></i>
|
|
||||||
<ul class="tags unstyled">
|
|
||||||
|
|
||||||
|
|
||||||
<li><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>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="entry-content clearfix">
|
|
||||||
<p>I have just merged the latest version of the development branch into master. Here are some of the highlights of this release:</p>
|
|
||||||
|
|
||||||
<p><strong>Configuration via the frontend</strong><br /><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 /><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 /><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 /><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 /><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>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</article>
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="pagination">
|
<div class="pagination">
|
||||||
|
|
||||||
|
@ -752,6 +744,10 @@ Home Assistant now supports <code>--open-ui</code> and <code>--demo-mode</code>
|
||||||
|
|
||||||
<li><a href="/blog/categories/organisation/">Organisation</a></li>
|
<li><a href="/blog/categories/organisation/">Organisation</a></li>
|
||||||
|
|
||||||
|
<li><a href="/blog/categories/owntracks/">OwnTracks</a></li>
|
||||||
|
|
||||||
|
<li><a href="/blog/categories/presence-detection/">Presence Detection</a></li>
|
||||||
|
|
||||||
<li><a href="/blog/categories/public-service-announcement/">Public Service Announcement</a></li>
|
<li><a href="/blog/categories/public-service-announcement/">Public Service Announcement</a></li>
|
||||||
|
|
||||||
<li><a href="/blog/categories/release-notes/">Release Notes</a></li>
|
<li><a href="/blog/categories/release-notes/">Release Notes</a></li>
|
||||||
|
@ -762,6 +758,8 @@ Home Assistant now supports <code>--open-ui</code> and <code>--demo-mode</code>
|
||||||
|
|
||||||
<li><a href="/blog/categories/website/">Website</a></li>
|
<li><a href="/blog/categories/website/">Website</a></li>
|
||||||
|
|
||||||
|
<li><a href="/blog/categories/ibeacons/">iBeacons</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
|
@ -78,6 +78,70 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<article class="listing">
|
||||||
|
<header>
|
||||||
|
|
||||||
|
<h1 class="beta">
|
||||||
|
<a href="/blog/2015/01/24/release-notes/">Release notes for January 24, 2015</a>
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="meta clearfix">
|
||||||
|
<time datetime="2015-01-24T18:36:00+00:00" pubdate data-updated="true"><i class="icon-calendar"></i> January 24, 2015</time>
|
||||||
|
<span class="byline author vcard"><i class='icon-user'></i> Paulus Schoutsen</span>
|
||||||
|
<span><i class='icon-time'></i> 1 minute reading time</span>
|
||||||
|
<span>
|
||||||
|
<i class="icon-tags"></i>
|
||||||
|
<ul class="tags unstyled">
|
||||||
|
|
||||||
|
|
||||||
|
<li><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>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="entry-content clearfix">
|
||||||
|
<p>I have just merged the latest version of the development branch into master. Here are some of the highlights of this release:</p>
|
||||||
|
|
||||||
|
<p><strong>Configuration via the frontend</strong><br /><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 /><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 /><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 /><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 /><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>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
<hr>
|
||||||
|
|
||||||
<article class="listing">
|
<article class="listing">
|
||||||
<header>
|
<header>
|
||||||
|
|
||||||
|
@ -391,6 +455,10 @@ This article will try to explain how they all relate.</p>
|
||||||
|
|
||||||
<li><a href="/blog/categories/organisation/">Organisation</a></li>
|
<li><a href="/blog/categories/organisation/">Organisation</a></li>
|
||||||
|
|
||||||
|
<li><a href="/blog/categories/owntracks/">OwnTracks</a></li>
|
||||||
|
|
||||||
|
<li><a href="/blog/categories/presence-detection/">Presence Detection</a></li>
|
||||||
|
|
||||||
<li><a href="/blog/categories/public-service-announcement/">Public Service Announcement</a></li>
|
<li><a href="/blog/categories/public-service-announcement/">Public Service Announcement</a></li>
|
||||||
|
|
||||||
<li><a href="/blog/categories/release-notes/">Release Notes</a></li>
|
<li><a href="/blog/categories/release-notes/">Release Notes</a></li>
|
||||||
|
@ -401,6 +469,8 @@ This article will try to explain how they all relate.</p>
|
||||||
|
|
||||||
<li><a href="/blog/categories/website/">Website</a></li>
|
<li><a href="/blog/categories/website/">Website</a></li>
|
||||||
|
|
||||||
|
<li><a href="/blog/categories/ibeacons/">iBeacons</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
BIN
images/blog/2016-04-ibeacons/owntracks_beacon_setup.png
Normal file
BIN
images/blog/2016-04-ibeacons/owntracks_beacon_setup.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 122 KiB |
BIN
images/blog/2016-04-ibeacons/owntracks_red_beacon.png
Normal file
BIN
images/blog/2016-04-ibeacons/owntracks_red_beacon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 75 KiB |
24
sitemap.xml
24
sitemap.xml
|
@ -1,5 +1,9 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||||
|
<url>
|
||||||
|
<loc>https://home-assistant.io/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/</loc>
|
||||||
|
<lastmod>2016-04-30T06:50:09+00:00</lastmod>
|
||||||
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/</loc>
|
<loc>https://home-assistant.io/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/</loc>
|
||||||
<lastmod>2016-04-20T06:10:00+00:00</lastmod>
|
<lastmod>2016-04-20T06:10:00+00:00</lastmod>
|
||||||
|
@ -415,6 +419,15 @@
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/blog/categories/public-service-announcement/</loc>
|
<loc>https://home-assistant.io/blog/categories/public-service-announcement/</loc>
|
||||||
</url>
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>https://home-assistant.io/blog/categories/ibeacons/</loc>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>https://home-assistant.io/blog/categories/presence-detection/</loc>
|
||||||
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>https://home-assistant.io/blog/categories/owntracks/</loc>
|
||||||
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/blog/posts/2/</loc>
|
<loc>https://home-assistant.io/blog/posts/2/</loc>
|
||||||
</url>
|
</url>
|
||||||
|
@ -1507,20 +1520,23 @@
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/</loc>
|
<loc>https://home-assistant.io/blog/2016/04/20/bluetooth-lg-webos-tvs-and-roombas/</loc>
|
||||||
</url>
|
</url>
|
||||||
|
<url>
|
||||||
|
<loc>https://home-assistant.io/blog/2016/04/30/ibeacons-part-1-making-presence-detection-work-better/</loc>
|
||||||
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/demo/frontend.html</loc>
|
<loc>https://home-assistant.io/demo/frontend.html</loc>
|
||||||
<lastmod>2016-04-30T11:03:46+00:00</lastmod>
|
<lastmod>2016-04-30T11:26:11+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/demo/index.html</loc>
|
<loc>https://home-assistant.io/demo/index.html</loc>
|
||||||
<lastmod>2016-04-30T11:03:46+00:00</lastmod>
|
<lastmod>2016-04-30T11:26:11+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/googlef4f3693c209fe788.html</loc>
|
<loc>https://home-assistant.io/googlef4f3693c209fe788.html</loc>
|
||||||
<lastmod>2016-04-30T11:03:46+00:00</lastmod>
|
<lastmod>2016-04-30T11:26:11+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
<url>
|
<url>
|
||||||
<loc>https://home-assistant.io/static/mdi-demo.html</loc>
|
<loc>https://home-assistant.io/static/mdi-demo.html</loc>
|
||||||
<lastmod>2016-04-30T11:03:46+00:00</lastmod>
|
<lastmod>2016-04-30T11:26:12+00:00</lastmod>
|
||||||
</url>
|
</url>
|
||||||
</urlset>
|
</urlset>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue