home-assistant.github.io/blog/categories/internet-of-things/atom.xml
2018-03-06 20:58:58 +00:00

453 lines
36 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<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/"/>
<updated>2018-03-06T20:48:12+00:00</updated>
<id>https://home-assistant.io/</id>
<author>
<name><![CDATA[Home Assistant]]></name>
</author>
<generator uri="http://octopress.org/">Octopress</generator>
<entry>
<title type="html"><![CDATA[IKEA Trådfri: Internet of Things done right]]></title>
<link href="https://home-assistant.io/blog/2017/04/17/ikea-tradfri-internet-of-things-done-right/"/>
<updated>2017-04-17T08:04:05+00:00</updated>
<id>https://home-assistant.io/blog/2017/04/17/ikea-tradfri-internet-of-things-done-right</id>
<content type="html"><![CDATA[Last month IKEA released a new home automation lineup called [Trådfri][tradfri]. It consists of white bulbs, dimming remotes, color temperature remotes and motion sensors. After almost two weeks of research, we have come to the conclusion that this is going to be the perfect companion hardware to work with Home Assistant. Here is the gist of our breakdown:
- **Works out of the box.** You can get started by just buying the already paired light and remote. You only need to buy the gateway if you want to set time-based rules for your lights or use your phone as a remote.
- **Local only hub.** No cloud that gathers data about how you live your life and it will keep working even if IKEA stops supporting it.
- **Based on open standards.** It uses Zigbee between devices and CoAP/dTLS to talk to the gateway. This means that you are not locked into a single vendor. You can pair it with Philips Hue bulbs and other compatible vendors.
- **Affordable.** Lights start at $12 standalone and $20 if bundled with a remote (USA prices).
- **Useful design.** The gateway has built-in space to hide excess cables and remotes come with magnetic holders for on the wall.
- **Able to subscribe to changes (local push).** Automations will be able to instantly respond to changes to device states by subscribing to the gateway for changes.
- **Full integration in Home Assistant 0.43 (scheduled for release April 22).** Our community built a standalone library [pytradfri] and we use it in Home Assistant. Home Assistant will automatically discover gateways on your network and guide the user to set them up.
- **Downside: no integration with other systems yet.** There are rumors that Homekit support will land in October and I expect both Google Home and Amazon Echo to eventually add support. Use Home Assistant to connect them all in the meanwhile.
- **Semi-downside: you cant control your lights remotely.** Because its local only, you wont be able to control your lights remotely unless via a third-party integration.
Full breakdown available after clicking read more.
_(Note: we are not affiliated with IKEA nor do we receive commission for sales. We are just big fans of their new line up!)_
<!--more-->
## <a class='title-link' name='works-out-of-the-box' href='#works-out-of-the-box'></a> Works out of the box
IKEA Trådfri focuses on the basics: making a product that works out of the box. They sell various dimming kits. Each contain a light and a remote paired to control the light. You put the light into the socket, slide the battery into the remote and. it. works. No need to purchase a gateway, download an app and use your phone to set it up. Heck, you dont even need internet to get started!
You will only need to buy the gateway if you want to use your phone as a remote or set up home automation.
## <a class='title-link' name='only-works-locally' href='#only-works-locally'></a> Only works locally
The gateway only works locally. It only reaches out to the internet to synchronize the time and to check for firmware updates. This is awesome for many different reasons.
**Privacy & Security.** No one but yourself will have access to the state of your house. And inside your house your communication with the gateway is encrypted.
**Reliability & Speed.** All communication will always happen locally. Even if your internet will go out, you can still control your lights and your automations will still run. Even if IKEA would decide to drop support it will still continue to work.
Check out [this blog post by Matthew Garrett][mjg59] for a more in-depth analysis of the security of the gateway. His conclusion:
<blockquote>
Overall: as far as design goes, this is one of the most secure IoT-style devices I've looked at. I haven't examined the COAP stack in detail to figure out whether it has any exploitable bugs, but the attack surface is pretty much as minimal as it could be while still retaining any functionality at all. I'm impressed.
</blockquote>
## <a class='title-link' name='based-on-open-standards' href='#based-on-open-standards'></a> Based on open standards
IKEA Trådfri devices use the open standard Zigbee to communicate. The gateway speaks both Zigbee and connects to your network to offer an API based on the open standard CoAP. The API communication is secured via the open standard DTLS.
Because its based on Zigbee, you dont have to just buy IKEA devices the rest of your life. For example, Philips Hue lights will pair just fine with the IKEA gateway.
Note that there are reports that the other way around, pairing an IKEA light to the Philips Hue hub is currently not possible. IKEA is working on it according to [a post by Philips Hue support][hue-support]:
<blockquote>
The non-interoperability between the newly launched IKEA smart lighting products and the Philips Hue bridge has been analyzed. One of the issues found is that the IKEA bulbs report their ProfileID as corresponding to the ZigBee Home Automation (ZHA) profile rather than the ZigBee Light Link (ZLL) profile. As the IKEA bulbs do not behave fully compliant with the ZLL standard, they are rejected by the Hue bridge. IKEA is aware of this and informed us their intent is to have the IKEA smart lighting bulbs to work with the Philips Hue bridge.
</blockquote>
## <a class='title-link' name='affordable' href='#affordable'></a> Affordable
A white IKEA light bulb that just supports dimming starts at $12. Youll have to shell out $18 If you want a white bulb that can control the light temperature to allow for different shades of white (relax, cool, focus etc). These prices are slightly lower than the competition. Right now on Amazon the cheapest just-dimming white bulbs come in at $15.
However what really differentiates this system is the availability of all the cheap remotes and motion sensors. Ranging between $20 and $27 you get a light and a remote. Standalone Zigbee remotes on Amazon currently start at $21!
Remotes are [a very important aspect of home automation][perfect]. The electricity has to be always on for the bulbs to function so youll need Zigbee switches and remotes to control your lights. The fact that they are so cheap will really help with adoption.
<p class='img'>
<img src='/images/blog/2017-04-tradfri/prices.png' />
Prices of the various available dimming kits.
</p>
## <a class='title-link' name='useful-design' href='#useful-design'></a> Useful design
The lights and gateway are all made with a simple design and will easily blend into your home. They did sneak in some great and useful things. You can slide the cover off the gateway and open it up. Inside is a mini case for the actual electronics but mainly its just empty space so you can roll up any excess network and usb cable from the hub inside!
<p class='img'>
<img src='/images/blog/2017-04-tradfri/gateway.jpg' />
The cables you don't need can be hidden in the gateway.
</p>
Another nice feature is that the remote comes with a magnetic mount for the wall.
## <a class='title-link' name='able-to-subscribe-to-changes-local-push' href='#able-to-subscribe-to-changes-local-push'></a> Able to subscribe to changes (local push)
This is a feature that I am really excited about. By being able to subscribe to changes in the Zigbee network Home Assistant will be able to instantly be notified about changes and trigger automations if necessary.
This means that you will be able to turn the power on for a light and see it instantly turn on in Home Assistant.
[_(Learn more about the different ways IoT devices broadcast changes)_][classification]
## <a class='title-link' name='full-integration-in-home-assistant-043-scheduled-for-release-april-22' href='#full-integration-in-home-assistant-043-scheduled-for-release-april-22'></a> Full integration in Home Assistant 0.43 (scheduled for release April 22)
Home Assistant will automatically discover gateways on your network and guide the user to set them up.
Once IKEA Trådfri got released, our community, lead by [Patrik], got quickly organized and started analyzing the different aspects [in our forums][forums]. I am happy to say that the end result is a standalone Python library [pytradfri] to control the gateway. This means that starting from our next release, Home Assistant 0.43, we will auto discover your gateway and integrate all your lights.
The initial version of our integration will not yet stream events from the gateway. Were still working on figuring out that part of the API.
<p class='img'>
<img src='/images/blog/2017-04-tradfri/discovery.png' />
After automatic discovery, Home Assistant will ask the user to finish pairing with the gateway.
</p>
## <a class='title-link' name='downside-not-many-integrations-yet' href='#downside-not-many-integrations-yet'></a> Downside: not many integrations yet
The one major downside right now is that there are not many integrations yet because the system is brand new. There are [rumors] that Homekit is planned for October. And given the way the API is set up, I expect Google Home and Amazon Echo (Alexa) to eventually announce integration too.
Since Home Assistant does integrate with it, you can use Home Assistant to bridge to these systems. For Homekit use [Homebridge] with the [Home Assistant plugin][hb-hass]. For integration with Google Home and Amazon Echo use [the Emulated Hue component][emulated_hue]. For Google Home you can also use [the API.ai integration][apiai] and Amazon Echo can also work with [Haaska].
## <a class='title-link' name='semi-downside-you-cant-control-your-lights-remotely' href='#semi-downside-you-cant-control-your-lights-remotely'></a> Semi-downside: you cant control your lights remotely
Because the system is local only, you wont be able to control your lights remotely. As with the previous downside, you will be able to use Home Assistant to make your system available remotely.
Classified this as a semi-downside because besides showing off, the actual use cases are very rare. Although it makes [great marketing material].
## <a class='title-link' name='conclusion' href='#conclusion'></a> Conclusion
With Trådfri, IKEA has managed to put out an affordable and secure home automation system that does not compromise on functionality or design. There are still some downsides which I expect to get resolved in the future.
As it currently stands, this is going to be the perfect companion hardware to work with Home Assistant: local, affordable, secure. And as cherry on the pie, local push will make us aware of changes right away.
[tradfri]: http://www.ikea.com/us/en/catalog/categories/departments/lighting/36812/
[mjg59]: http://mjg59.dreamwidth.org/47803.html
[hue-support]: https://developers.meethue.com/content/philips-hue-and-ikea-tr%C3%A5dfri#comment-2686
[perfect]: https://home-assistant.io/blog/2016/01/19/perfect-home-automation/#you-should-not-have-to-adapt-to-technology
[Patrik]: https://github.com/ggravlingen
[forums]: https://community.home-assistant.io/t/ikea-tradfri-gateway-zigbee/14788
[pytradfri]: https://github.com/ggravlingen/pytradfri
[rumors]: https://github.com/bwssytems/ha-bridge/issues/570#issuecomment-293505087
[Homebridge]: https://github.com/nfarina/homebridge
[hb-hass]: https://github.com/home-assistant/homebridge-homeassistant
[emulated_hue]: https://home-assistant.io/components/emulated_hue/
[apiai]: https://home-assistant.io/components/apiai/
[Haaska]: https://github.com/auchter/haaska
[great marketing material]: https://i2.wp.com/blog.smartthings.com/wp-content/uploads/2014/06/summer-vacay-683x405-blog.png?fit=683%2C405&ssl=1
[classification]: https://home-assistant.io/blog/2016/02/12/classifying-the-internet-of-things/
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[Your hub should be local and open]]></title>
<link href="https://home-assistant.io/blog/2016/04/05/your-hub-should-be-local-and-open/"/>
<updated>2016-04-05T21:11:00+00:00</updated>
<id>https://home-assistant.io/blog/2016/04/05/your-hub-should-be-local-and-open</id>
<content type="html"><![CDATA[Today the news spread that Google will be [shutting down the Revolv hubs][medium-revolv]. And shutting down here doesn't mean they stop selling or supporting them - no, they are sending an update to each hub to turn your perfectly fine home automation hub into a useless piece of plastic. The fact that this seemed like a good idea by Google astonishes me. If anything, they should have gone the same route as [ninjasphere]: open it all up and let people decide on the fate of their _own_ hub.
I've said it [before][perfect-cloud] but I'll repeat it again:
<blockquote>
The cloud should be treated as an extension to your smart home instead of running it.
</blockquote>
Your hub should not be affected when your internet breaks down or the company that sold you your hub goes out of business. It should work locally so that it can continue to work even long after the vendor goes out of business or decides to kill it. Preferably, your hub should also be open so that the community can take over development after the vendor stops caring.
Unless you can afford losing a product here and there, be cautious when buying IoT products that depend on the cloud from companies that are not well established. The chances are high that they go bankrupt or get acquired and closed. This however is easier said than done as [Gartner] predicts that by 2017, 50 percent of IoT solutions will originate in startups that are less than three years old.
[medium-revolv]: https://medium.com/@arlogilbert/the-time-that-tony-fadell-sold-me-a-container-of-hummus-cb0941c762c1#.rmppks86a
[ninjasphere]: https://discuss.ninjablocks.com/t/ninja-blocks-whats-been-happening-whats-happening-next/3608
[perfect-cloud]: /blog/2016/01/19/perfect-home-automation/#your-system-should-run-at-home-not-in-the-cloud
[Gartner]: http://www.gartner.com/newsroom/id/2869521
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[Classifying the Internet of Things]]></title>
<link href="https://home-assistant.io/blog/2016/02/12/classifying-the-internet-of-things/"/>
<updated>2016-02-12T22:31:00+00:00</updated>
<id>https://home-assistant.io/blog/2016/02/12/classifying-the-internet-of-things</id>
<content type="html"><![CDATA[The core of home automation is knowing whats going on. The faster we know about a state change, the better we can serve the user. If you want to have your lights to turn on when you arrive at home, it doesnt help if it only knows about it after youve already opened the door and manually (!!) turned on the light.
Each smart device consists of the normal device and the piece that makes it smart: the connectivity. The connectivity part of a device can consists of either control, state or both.
State describes what a device is up to right now. For example, a light can be on with a red color and a medium brightness.
Control is about controlling the smart device by sending commands via an API. These commands can vary from configuring how a device works till mimicking how a user would interact with a device. A media player can allow skipping to the next track and a sensor could allow to configure its sensitivity or polling interval.
The Home Assistant APIs are setup to be as convenient as possible. However, a network is always as weak as its weakest link. In our case these are the integrations. Take for example controlling a light that does not report state. The only state Home Assistant can report on after sending a command is the assumed state: what do we expect the state of the light to be if the command worked.
We want our users to get the best home automation experience out there and this starts with making sure they have devices that work well with Home Assistant. Thats why we will start applying the following classifiers to our integrations:
<a name='classifiers'>
<table>
<tr>
<th colspan='2'>Classifier</th>
<th>Description</th>
</tr>
<tr>
<td><i class="icon-adjust"></i></td>
<td style='white-space: nowrap;'>Assumed State</td>
<td>
We are unable to get the state of the device. Best we can do is to assume the state based on our last command.
</td>
</tr>
<tr>
<td><i class="icon-cloud-upload"></i></td>
<td>Cloud Polling</td>
<td>
Integration of this device happens via the cloud and requires an active internet connection. Polling the state means that an update might be noticed later.
</td>
</tr>
<tr>
<td><i class="icon-cloud-download"></i></td>
<td>Cloud Push</td>
<td>
Integration of this device happens via the cloud and requires an active internet connection. Home Assistant will be notified as soon as a new state is available.
</td>
</tr>
<tr>
<td><i class="icon-download-alt"></i></td>
<td>Local Polling</td>
<td>
Offers direct communication with device. Polling the state means that an update might be noticed later.
</td>
</tr>
<tr>
<td><i class="icon-upload-alt"></i></td>
<td>Local Push</td>
<td>
Offers direct communication with device. Home Assistant will be notified as soon as a new state is available.
</td>
</tr>
</table>
The background to how we got to these classifiers can be read after the break.
<!--more-->
## <a class='title-link' name='state' href='#state'></a> State
How state is communicated can be broken down into 5 categories. They are not mutually exclusive - a device state can be available both via the cloud and local connectivity.
### <a class='title-link' name='no-state-available' href='#no-state-available'></a> No state available
These are devices that do not have the capabilities to make their state available. They only allow to be controlled. For example, devices with infrared remote controls like TVs and ACs. You can press the turn on button on the remote but can only assume that your command was received and executed successfully. The device might not be powered or something is blocking the infrared receiver.
Home automation will have to approach such devices based on the assumption that its commands are received correctly: using optimistic updates. This means that after sending a command it will update the state of the device as if the command was received successfully.
Advantages:
- None
Disadvantages:
- Home automation will assume the wrong state if the command is not received correctly or if the device is controlled in any other way outside of the home automation system.
### <a class='title-link' name='polling-the-cloud' href='#polling-the-cloud'></a> Polling the cloud
These are devices that will only report their state to their own cloud backend. The cloud backend will allow reading the state but will not notify when a new state has arrived. This requires the home automation to check frequently if the state has been updated.
Advantages:
- Able to control devices while at home or away.
- Cloud has access to more computing power to mine the device data to suggest optimizations to the user.
Disadvantages:
- It doesnt work if the internet is down or the company stops support.
- You are no longer in control about who has access to your data.
### <a class='title-link' name='cloud-pushing-new-state' href='#cloud-pushing-new-state'></a> Cloud pushing new state
All off the previous section applies to this one. On top of that the cloud will now notify the home automation when a new state has arrived. This means that as soon as the cloud knows, the home automation knows.
Advantages:
- New state known as soon as available in the cloud.
### <a class='title-link' name='polling-the-local-device' href='#polling-the-local-device'></a> Polling the local device
These devices will offer an API that is locally accessible. The home automation will have to frequently check if the state has been updated.
Advantages:
- Does not depend on the internet
Disadvantages:
- To be pollable, a device needs to be always online which requires the device to be connected to a power source.
### <a class='title-link' name='local-device-pushing-new-state' href='#local-device-pushing-new-state'></a> Local device pushing new state
The best of the best. These devices will send out a notice when they get to a new state. These devices usually use a home automation protocol to pass its message to a hub that will do the heavy lifting of managing and notifying subscribers
Advantages:
- Near instant delivery of new states.
- Able to get a long battery life by going into deep sleep between state updates.
Disadvantages:
- If it does not also support polling, home automation will not be made aware of the state after booting up until it changes.
- If using deep sleep and wifi, will suffer a delay when waking up because connecting to WiFi and receiving an IP takes time.
## <a class='title-link' name='control' href='#control'></a> Control
Controlling a device can, just like state, be done through cloud and/or local connectivity. But the more important part of control is knowing if your command was a success and the new state of the device.
### <a class='title-link' name='no-control-available' href='#no-control-available'></a> No control available
These devices are not able to be controlled. They will only offer state.
### <a class='title-link' name='poll-state-after-sending-command' href='#poll-state-after-sending-command'></a> Poll State after sending command
These devices will require the state to be polled after sending a command to see if a command was successful.
Advantages:
- The state will be known right after the command was issued.
Disadvantages:
- It can take time before the state gets updated. How often do we poll and how long do we wait till we consider the command failed? Also, a state may change because of other factors. Difficult to determine if the updated state is because of our command.
### <a class='title-link' name='device-pushes-state-update' href='#device-pushes-state-update'></a> Device pushes state update
These devices will not return a new state as a result of the command but instead will push a new state right away. The downside of this approach is that we have to assume that a state update coming in within a certain period of time after a command is related to the command.
### <a class='title-link' name='command-returns-new-state' href='#command-returns-new-state'></a> Command returns new state
The very best. These devices will answer the command with the new state after executing the command.
## <a class='title-link' name='classifying-home-assistant' href='#classifying-home-assistant'></a> Classifying Home Assistant
Home Assistant tries to offer the best experience possible via its APIs. There are different ways of interacting with Home Assistant but all are local.
- State polling is available via the REST API
- There is a stream API that will push new states as soon as they arrive to subscribers. This is how the frontend is able to always stay in sync.
- Calling a service on Home Assistant will return all states that changed while the service was executing. This sadly does not always include the new state of devices that push their new state, as they might arrive after the service has finished.
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[Perfect Home Automation]]></title>
<link href="https://home-assistant.io/blog/2016/01/19/perfect-home-automation/"/>
<updated>2016-01-19T08:20:00+00:00</updated>
<id>https://home-assistant.io/blog/2016/01/19/perfect-home-automation</id>
<content type="html"><![CDATA[People often ask me about my vision for Home Assistant. Before I can describe where I want to go with Home Assistant, I should first talk about how home automation would look in my ideal world. This will be the aim of this post. Im not going to focus on protocols, networks or specific hubs. That's all implementation details. Instead, this post will focus on what is most important: the interaction between the users and their home.
### <a class='title-link' name='you-should-not-have-to-adapt-to-technology' href='#you-should-not-have-to-adapt-to-technology'></a> You should not have to adapt to technology.
When people start using home automation, they always experience home control first: being able to control devices in new ways using a phone or computer. They believe the future is now and their app will be their remote for their lives. They only focus on what they are getting, not on what they are losing. You install some light bulbs and all of a sudden you are no longer able to use the light switches. You'll arrive at home at night and have to pull out your phone, open the app, let it connect and finally you'll be able to turn on the light. All while turning the light on could have been a switch away.
Yes, you can solve this with presence detection. What if your phone runs out of battery? Youll have to resort to the switch again.
If you find that using your new home devices is cumbersome, the promise of home automation technology has failed you. Your lights should work with both a switch (or button) at the entrance of your room and via presence detection. Honestly, there are hardly any valid use cases for being able to control lights from your phone except for showing off.
<!--more-->
### <a class='title-link' name='you-are-not-the-only-user-of-your-home-automation' href='#you-are-not-the-only-user-of-your-home-automation'></a> You are not the only user of your home automation.
People tend to forget that they are not the only ones in their home. As the developer of your house you're enthusiastic about the possibilities and are willing to overlook flaws. Chances are very high that the other people in your household have different hobbies and just want to mind their own business.
This means that everything you automate has to work flawlessly. If you successfully manage to cause a response to some stimulus 90% of the time, youre going to have a disproportionately poor experience 10% of the time. A common automation that fits this pattern is to fade the lights when you start watching a movie or series in the living room. It only works if everyone is watching.
### <a class='title-link' name='limit-the-impact-of-false-positives-and-negatives' href='#limit-the-impact-of-false-positives-and-negatives'></a> Limit the impact of false positives and negatives.
With every automation, you always have to think: what will be the impact if it doesnt work? Home automation is composed of many different systems by many different vendors that speak many different protocols: things will go wrong. Its up to you to make sure that they have a limited impact when they fail. Ideally, devices should fall back to a pre-smart home experience. A Philips Hue bulb will act like a standard white light if turned on/off using a normal switch or when not connected to a hub. If things get worse when your system is out of order, your users will revolt. Take for example the Nest thermostat that [had a bug in the beginning of January][nest-bug] which caused it to stop heating the house, yikes!
[nest-bug]: http://www.nytimes.com/2016/01/14/fashion/nest-thermostat-glitch-battery-dies-software-freeze.html
### <a class='title-link' name='the-perfect-app-is-no-app' href='#the-perfect-app-is-no-app'></a> The perfect app is no app.
Home automation should blend with your current workflow, not replace it. For most devices, there is no faster way to control most devices than how you are already doing it today. Most of the time, the best app is no app. The only interface that can be more convenient, and is accessible for visitors of your home of all ages is a voice interface. The industry has realized this too and there are some major players focussing on voice interaction. Take Apple for example: the only way to control your HomeKit devices is with Siri. Amazon has taken it one step further with the Amazon Echo, providing an always-listening connected speaker/microphone for the living room. I expect a lot more companies to join this segment in 2016.
Voice interfaces are not perfect either. The speed at which you can issue commands is low because you have to wait for a response. There are also issues with the discoverability of commands, recognition of accents and dependency on the cloud for processing your voice. I believe that all but the first one are problems that are going to be solved eventually.
This however doesnt mean there isnt a place for apps, there definitely is. They are perfectly well-suited for checking in while youre away, browsing the state changes of your house or making the lights go all funky when there are kids visiting.
### <a class='title-link' name='your-system-should-run-at-home-not-in-the-cloud' href='#your-system-should-run-at-home-not-in-the-cloud'></a> Your system should run at home, not in the cloud.
The cloud is a magical thing. Somewhere in the world there are computers collecting the data that your house generates, testing them against your automation rules and sending commands back when needed. The cloud will receive updates and improve itself over time so it is able to serve you better. Until its not. There are many reasons why your home might lose its connection to the cloud. The internet can stop working, an update might have gone wrong or the servers running the cloud crash.
When this happens, your house should be able to keep functioning. The cloud should be treated as an extension to your smart home instead of running it. That way youll avoid awkward situations like when Amazon AWS was down and the [Amazon Echo stopped working][echo-crash].
[echo-crash]: http://www.zdnet.com/article/the-night-alexa-lost-her-mind/
**Good home automation never annoys but is missed when it is not working.**
*Thanks to Chris LaRose for this feedback and comments.*
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[Home Control, Automation &amp; the Smart Home]]></title>
<link href="https://home-assistant.io/blog/2014/12/26/home-control-home-automation-and-the-smart-home/"/>
<updated>2014-12-26T18:23:13+00:00</updated>
<id>https://home-assistant.io/blog/2014/12/26/home-control-home-automation-and-the-smart-home</id>
<content type="html"><![CDATA[The internet has been buzzing over the last year about home automation. A lot of different terms fly around like the internet of things, home automation and the smart home.
This article will try to explain how they all relate.
The first thing to introduce is the **Internet of Things** (IoT). This refers to a new generation of devices that cannot only be controlled by humans via buttons or remotes but also provide an interface to communicate with other devices and applications. For example, an IoT-capable coffee machine could receive commands to create different types of coffee and be able to broadcast the amount of water left in its reservoir.
There is no widely adopted open standard for smart device communication. This prevents a lot of devices to communicate with one another. And even if they could, most devices are not designed to manage other devices. To solve this we need a device to be able to communicate with and manage all these connected devices. This device is called a **hub**.
As a bare minimum a hub has to keep track of the state of each device and should be able to control them if possible. For example, it has to know which lights are on or off and offer a way to control the lights. For a sensor it only has to know the value. A hub with these capabilities offers **home control**.
<p class='img'>
<a href='/images/screenshots/nexus_7_dashboard.png'>
<img alt='Hub dashboard example'
src='/images/screenshots/nexus_7_dashboard.png' />
</a>
Example of a hub's dashboard. Showing the state of 2 persons, 4 lights and the sun.
</p>
<!--more-->
A step up from home control is to have the user setup triggers to send commands based on information in the home control layer. For example, to turn on the lights when a person arrives home. A hub with these capabilities is capable of **home automation**.
Most hubs on the market today offer this in various degrees of functionality and usability. Some IoT-capable devices offer this too, but only control themselves and are usually limited to location and time-based events.
The last category, and this is still very much in the future, is the **smart home**. A self-learning and adopting system that will decide which events should impact other devices.
An example of a smart home in action is that it observes that when person A comes home, the lights in the living room and the kitchen switch on. While if person B comes home, the lights in the living room and the study room are switched on. The next time person A or B comes home, the smart home will turn on its preferred lights without any configuration being set by the user.
A glimpse today at how the future can look is the [Nest thermostat](https://nest.com/). A thermostat smart enough to learn your schedule and adjust its own temperature accordingly.
All this results in the following overview of Home Automation.
<p class='img'>
<a href='/images/architecture/home_automation_landscape.png'>
<img alt='Home Automation landscape'
src='/images/architecture/home_automation_landscape.png' />
</a>
Overview of the home automation landscape.
</p>
### Challenges
You are probably wondering, this all seems relatively simple, why don't I have my very own smart home yet? There are a couple of challenges today that keep us from stepping into the future.
#### More Internet of Things-capable devices
The majority of the IoT products out there are either lights, switches or presence detection. That's not enough for your home to be very smart about. We need televisions, fridges, ovens and more to join the party to increase the number of devices that we can control.
#### More data
Most first generation IoT devices are only exposing information that is needed for controlling it. We need to be able to track all interactions with each device for our smart home to learn how interaction with devices influence other things. For example, we need to be able to track how many cups of coffee were made or how often the fridge was open. This will increase the information flow and open up a whole bunch of new possibilities. For example, the smart home can order new coffee when you're running low.
#### Easy to use, open software that we can trust
To increase adoption we will need people to trust their smart home system. It will be very tough to convince people to upgrade all their devices and upload all interactions with each of them to the cloud. This data could reveal their whole life including all bad habits. That's why such a system should be simple and open-source so people can validate that their data generated at home stays home.
Anoter important booster for adoption is that the software should be easy to set up and use by the average user. A lot of people are not burning their hands yet on Home Automation because they are scared of configurating it.
Home Assistant is trying to be this software. It is not there yet but trying hard. Device discovery and a user interface for configuring home automation are problems we hope to tackle in 2015 while not sacrificing any modularity or usability.
Happy new year!
]]></content>
</entry>
</feed>