New blog post introducing discovery component

This commit is contained in:
Paulus Schoutsen 2015-01-11 22:44:39 -08:00
parent 88de11b0ff
commit 58add7ce75
2 changed files with 24 additions and 0 deletions

View File

@ -0,0 +1,23 @@
---
layout: post
title: "Bootstrapping your setup with Discovery"
description: "Home Assistant can now auto detect and setup certain devices in your network."
date: 2015-01-11 21:49:08 -0800
date_formatted: January 11, 2015
comments: true
categories: component
---
Most people do not like configuring things. Things just have to work, out of the box. Reaching this scenario is the goal of what we are about to introduce: our new discovery component.
The discovery component will scan the WiFi network from time to time for connected zeroconf/mDNS and uPnP devices. The intial introduction is mainly focussed on getting the right architecture in place and discovers Belkin WeMo switches and Google Chromecasts connected to your network. When found, it will load and notify the appropritate component and it will be ready to use within seconds.
Most devices still require some sort of interaction from the user after being discovered - be it a button being pressed or some sort of authentication. This is a challenge that will be solved in the future.
To enable the discovery component, add the following to your `home-assistant.conf`:
```
[discovery]
```
A new [discovery section]({{site_root}}/developers/add_new_platform.html#discovery) has been added to the Adding a new platform page with instructions how to make your platform discoverable.

View File

@ -25,6 +25,7 @@ If you are planning to add support for a new type of device to an existing compo
Platform logic should not interface directly with the devices but use a third-party Python 3 library that speaks the actual API.
</p>
<a name='discovery'></a>
## Allowing your platform to be discovered
Home Assistant has a discovery service running in the background to discover new devices. Whenever a new device is discovered, an `SERVICE_DISCOVERED` event will be fired with the found service and the information. The `discovery` component has some knowledge about which components handle which type of services and will ensure those are loaded and listening before firing the `SERVICE_DISCOVERED` event.