mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-21 16:27:19 +00:00
Merge branch 'master' into next
This commit is contained in:
commit
14a04556ac
@ -74,31 +74,24 @@
|
||||
.blog-date {
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
|
||||
.supported-brands {
|
||||
text-align: center;
|
||||
img {
|
||||
border: none !important;
|
||||
box-shadow: none !important;
|
||||
max-height: 50px;
|
||||
max-width: 140px;
|
||||
margin: 10px;
|
||||
vertical-align: middle;
|
||||
.supported-brands {
|
||||
text-align: center;
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
img {
|
||||
border: none !important;
|
||||
box-shadow: none !important;
|
||||
max-height: 50px;
|
||||
max-width: 140px;
|
||||
margin: 10px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.brand {
|
||||
border: none !important;
|
||||
box-shadow: none !important;
|
||||
max-height: 50px;
|
||||
max-width: 200px;
|
||||
margin: 10px;
|
||||
|
||||
&.overview {
|
||||
max-width: 100px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
// https://fortawesome.github.io/Font-Awesome/3.2.1/icons/
|
||||
@ -202,10 +195,6 @@ article.post, article.page, article.listing {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
.frontpage a {
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
p.note {
|
||||
@ -406,3 +395,8 @@ ul.sidebar-menu {
|
||||
a code {
|
||||
color: #049cdb;
|
||||
}
|
||||
|
||||
twitterwidget {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
@ -9,6 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: enocean.png
|
||||
ha_category: Binary Sensor
|
||||
ha_release: 0.21
|
||||
---
|
||||
|
||||
This can typically be one of those batteryless wall switches. Currently only one type has been tested: Eltako FT55. Other devices will most likely not work without changing the Home-Asisstant code.
|
||||
|
@ -17,7 +17,7 @@ The `generic` camera platform allows you to integrate any IP camera into Home As
|
||||
|
||||
Home Assistant will serve the images via its server, making it possible to view your IP camera's while outside of your network. The endpoint is `/api/camera_proxy/camera.[name]?time=[timestamp]`.
|
||||
|
||||
To enable this camery in your installation, add the following to your `configuration.yaml` file:
|
||||
To enable this camera in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -31,7 +31,7 @@ camera:
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **still_image_url** *Required*: The URL your camera serves the image on, eg. http://192.168.1.21:2112/
|
||||
- **name** *Optional*: This parameter allows you to override the name of your camera.
|
||||
- **username** *Optional*: The username for accessing your camera.
|
||||
- **password** *Optional*: The password for accessing your camera.
|
||||
- **still_image_url** (*Required*): The URL your camera serves the image on, eg. http://192.168.1.21:2112/
|
||||
- **name** (*Optional*): This parameter allows you to override the name of your camera.
|
||||
- **username** (*Optional*): The username for accessing your camera.
|
||||
- **password** (*Optional*): The password for accessing your camera.
|
||||
|
@ -31,10 +31,10 @@ camera:
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **mjpeg_url** *Required*: The URL your camera serves the video on, eg. http://192.168.1.21:2112/
|
||||
- **name** *Optional*: This parameter allows you to override the name of your camera.
|
||||
- **username** *Optional*: The username for accessing your camera.
|
||||
- **password** *Optional*: The password for accessing your camera.
|
||||
- **mjpeg_url** (*Required*): The URL your camera serves the video on, eg. http://192.168.1.21:2112/
|
||||
- **name** (*Optional*): This parameter allows you to override the name of your camera.
|
||||
- **username** (*Optional*): The username for accessing your camera.
|
||||
- **password** (*Optional*): The password for accessing your camera.
|
||||
|
||||
<p class='note'>
|
||||
There is a <a href="https://github.com/shazow/urllib3/issues/800" target="_blank">known issue in urllib3</a> that you will get error messages in your logs like <code>[StartBoundaryNotFoundDefect(), MultipartInvariantViolationDefect()], unparsed data: ''</code> but the component still works fine. You can ignore the messages.
|
||||
|
@ -14,7 +14,9 @@ ha_release: 0.17
|
||||
---
|
||||
|
||||
|
||||
The `rpi` platform allows you to integrate the Raspberry Pi camera into Home Assistant. This component uses the application "raspistill" to store the image from camera.
|
||||
The `rpi` platform allows you to integrate the Raspberry Pi camera into Home Assistant. This component uses the application [`raspistill`](https://www.raspberrypi.org/documentation/usage/camera/raspicam/raspistill.md) to store the image from camera.
|
||||
|
||||
To enable this camera in your installation, add the following to your `configuration.yaml` file:
|
||||
|
||||
```yaml
|
||||
# Example configuration.yaml entry
|
||||
@ -33,14 +35,14 @@ camera:
|
||||
|
||||
Configuration variables:
|
||||
|
||||
- **name** (optional): name of the camera
|
||||
- **image_width** (optional): set the image width (default: 640)
|
||||
- **image_height** (optional): set the image height (default: 480)
|
||||
- **image_quality** (optional): set the image quality (from 0 to 100, default: 7)
|
||||
- **image_rotation** (optional): Set image rotation (0-359, default: 0)
|
||||
- **horizontal_flip** (optional): Set horizontal flip (0 to disable, 1 to enable, default: 0)
|
||||
- **vertical_flip** (optional): Set vertical flip (0 to disable, 1 to enable, default: 0)
|
||||
- **timelapse** (optional): Takes a picture every <t>ms (default: 1000)
|
||||
- **file_path** (optional): Save the picture in a custom file path (default: camera components folder)
|
||||
- **name** (*Optional*): Name of the camera
|
||||
- **image_width** (*Optional*): Set the image width (default: 640)
|
||||
- **image_height** (*Optional*): Set the image height (default: 480)
|
||||
- **image_quality** (*Optional*): Set the image quality (from 0 to 100, default: 7)
|
||||
- **image_rotation** (*Optional*): Set image rotation (0-359, default: 0)
|
||||
- **horizontal_flip** (*Optional*): Set horizontal flip (0 to disable, 1 to enable, default: 0)
|
||||
- **vertical_flip** (*Optional*): Set vertical flip (0 to disable, 1 to enable, default: 0)
|
||||
- **timelapse** (*Optional*): Takes a picture every ms (default: 1000)
|
||||
- **file_path** (*Optional*): Save the picture in a custom file path (default: camera components folder)
|
||||
|
||||
The given **file_path** must be an existing file because the camera platform setup make a writeable check on it.
|
||||
|
@ -9,9 +9,9 @@ sharing: true
|
||||
footer: true
|
||||
logo: ddwrt.png
|
||||
ha_category: Presence Detection
|
||||
ha_release: pre 0.7
|
||||
---
|
||||
|
||||
|
||||
This platform offers presence detection by looking at connected devices to a [DD-WRT](http://www.dd-wrt.com/site/index) based router.
|
||||
|
||||
To use a DD-WRT router in your installation, add the following to your `configuration.yaml` file:
|
||||
|
@ -10,6 +10,7 @@ footer: true
|
||||
logo: netgear.png
|
||||
ha_category: Presence Detection
|
||||
ha_iot_class: "Local Polling"
|
||||
ha_release: pre 0.7
|
||||
---
|
||||
|
||||
|
||||
|
@ -15,7 +15,9 @@ featured: true
|
||||
|
||||
The Ecobee platform lets you control a thermostats and view sensor data from the [Ecobee](https://ecobee.com) thermostat.
|
||||
|
||||
You will need to obtain an API key from ecobee's [developer site](https://www.ecobee.com/developers/) to use this component. The first time you run Home-Assistant with this component it will give you a PIN code that you need to authorize in the [ecobee consumer portal](https://www.ecobee.com/consumerportal/index.html). You can do this by clicking 'Add Application' in the 'My Apps' section in the sidebar.
|
||||
You will need to obtain an API key from ecobee's [developer site](https://www.ecobee.com/developers/) to use this component. To get the key, first you need to register your thermostat. Once you have done that, click on the 'Become a developer' link on the developer site. Login with your ecobee credentials, accept the SDK agreement, fill in the fields, and click save. Now login to the regular consumer portal, and in the hamburger menu there will br a new option 'Developer'. Select that, then select 'Create New'. Give your app a name (it appears to need to be unique across all users, as I tried 'home-assistant' and it said it was already in use) and a summary (neither of these are important as they are not used anywhere). For Authorization method select 'ecobee PIN'. You don't need an Application Icon or Detailed Description. Click Save. Now under the Name and Summary Section you will have an API key. Copy this key and use it in you configuration section below. Click the 'X' to close the Developer section.
|
||||
|
||||
The first time you run Home-Assistant with this component it will give you a PIN code that you need to authorize in the [ecobee consumer portal](https://www.ecobee.com/consumerportal/index.html). You can do this by clicking 'Add Application' in the 'My Apps' section in the sidebar. Enter the PIN code from the Home Assistant screeen. To get the PIN code select the item in the Ecobee card. If you do not have an Ecobee card, you may be using groups with default_view that don't show the card. To get around this you can temporarily comment out the default_view section and restart Home Assistant. Once you enter the PIN on the Ecobee site, wait approximately 5 minutes and then click on the 'I have authorized the app' link at the bottom of the Ecobee popup window. If everything worked correctly, you should now be able to restart Home Assistant again to see the full Ecobee card with all of the sensors populated. Now you can re-enable your default_view (if you had to disable it) and add the Ecobee sensors to a group and/or view.
|
||||
|
||||
To set it up, add the following information to your `configuration.yaml` file:
|
||||
|
||||
|
@ -9,6 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: enocean.png
|
||||
ha_category: Hub
|
||||
ha_release: 0.21
|
||||
---
|
||||
|
||||
The [EnOcean](https://en.wikipedia.org/wiki/EnOcean) standard is supported by many different vendors. There are switches and sensors of many different kinds, and typically they employ energy harvesting to get power such that no batteries are unnecessary.
|
||||
|
@ -9,6 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: enocean.png
|
||||
ha_category: Light
|
||||
ha_release: 0.21
|
||||
---
|
||||
|
||||
An EnOcean light can take many formes. Currently only one type has been tested: Eltako FUD61 dimmer.
|
||||
|
@ -49,7 +49,7 @@ Turns one or multiple lights off.
|
||||
| Service data attribute | Optional | Description |
|
||||
| ---------------------- | -------- | ----------- |
|
||||
| `entity_id` | no | String or list of strings that point at `entity_id`s of lights. Else targets all.
|
||||
| `transition` | yes | Integer that represents the time the light should take to transition to the new state.
|
||||
| `transition` | yes | Integer that represents the time the light should take to transition to the new state in seconds.
|
||||
|
||||
### {% linkable_title Service `light.toggle` %}
|
||||
|
||||
|
@ -9,6 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: osramlightify.png
|
||||
ha_category: Light
|
||||
ha_release: 0.21
|
||||
---
|
||||
|
||||
The `osramlightify` platform allows you to integrate your [Osram Lightify](http://www.osram.com/osram_com/products/led-technology/lightify/index.jsp) into Home Assistant.
|
||||
|
@ -9,6 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: enocean.png
|
||||
ha_category: Sensor
|
||||
ha_release: 0.21
|
||||
---
|
||||
|
||||
|
||||
|
@ -9,6 +9,7 @@ sharing: true
|
||||
footer: true
|
||||
logo: enocean.png
|
||||
ha_category: Switch
|
||||
ha_release: 0.21
|
||||
---
|
||||
|
||||
An EnOcean switch can take many forms. Currently only one type has been tested: Permundo PSC234
|
||||
|
@ -95,7 +95,7 @@ def setup(hass, config):
|
||||
To add the latest feature of our component, update the entry in your `configuration.yaml` file.
|
||||
|
||||
```yaml
|
||||
information:
|
||||
hello_state:
|
||||
text: 'Hello, World!'
|
||||
```
|
||||
|
||||
|
@ -29,7 +29,7 @@ Home Assistant will keep track of historical values and allow you to integrate i
|
||||
|
||||
<!--more-->
|
||||
|
||||
### Components
|
||||
### {% linkable_title Components %}
|
||||
|
||||
I've been using Adafruit for my shopping:
|
||||
|
||||
@ -39,7 +39,11 @@ I've been using Adafruit for my shopping:
|
||||
|
||||
_Besides this, you will need the usual hardware prototype equipment: a breadboard, some wires, soldering iron + wire, Serial USB cable._
|
||||
|
||||
### Connections
|
||||
<p class='note'>
|
||||
Adafruit has stopped selling the HDC1008. One possible replacement is the [BME280](https://www.adafruit.com/product/2652). Adjusted sketch to work with the BME280 can be found [here](https://gist.github.com/mtl010957/9ee85fb404f65e15c440b08c659c0419).
|
||||
</p>
|
||||
|
||||
### {% linkable_title Connections %}
|
||||
|
||||
On your breadboard, make the following connections from your ESP8266 to the HDC1008:
|
||||
|
||||
@ -52,7 +56,7 @@ On your breadboard, make the following connections from your ESP8266 to the HDC1
|
||||
|
||||
_I picked `#2` and `14` myself, you can configure them in the sketch._
|
||||
|
||||
### Preparing your IDE
|
||||
### {% linkable_title Preparing your IDE %}
|
||||
|
||||
Follow [these instructions](https://github.com/esp8266/Arduino#installing-with-boards-manager) on how to install and prepare the Arduino IDE for ESP8266 development.
|
||||
|
||||
@ -61,7 +65,7 @@ After you're done installing, open the Arduino IDE, in the menu click on `sketch
|
||||
- PubSubClient by Nick 'O Leary
|
||||
- Adafruit HDC1000
|
||||
|
||||
### Sketch
|
||||
### {% linkable_title Sketch %}
|
||||
|
||||
If you have followed the previous steps, you're all set.
|
||||
|
||||
@ -187,7 +191,7 @@ void loop() {
|
||||
}
|
||||
```
|
||||
|
||||
### Configuring Home Assistant
|
||||
### {% linkable_title Configuring Home Assistant %}
|
||||
|
||||
The last step is to integrate the sensor values into Home Assistant. This can be done by setting up Home Assistant to connect to the MQTT broker and subscribe to the sensor topics.
|
||||
|
||||
|
@ -4,7 +4,7 @@ title: "Set up encryption using Let's Encrypt"
|
||||
description: "Tutorial how to encrypt your connection with Home Assistant."
|
||||
date: 2015-12-13 10:05:00 -0800
|
||||
date_formatted: "December 13, 2015"
|
||||
author: Paulus Schoutsen
|
||||
author: Paulus Schoutsen & Martin Hjelmare
|
||||
author_twitter: balloob
|
||||
comments: true
|
||||
categories: How-To
|
||||
@ -21,12 +21,15 @@ This tutorial will take you through the steps to setup a dynamic DNS for your IP
|
||||
|
||||
<!--more-->
|
||||
|
||||
**Updated 2016-06-18**
|
||||
|
||||
### {% linkable_title Requirements %}
|
||||
|
||||
The DuckDNS part of this tutorial has no requirements but there are a few requirements as of now to run the Let's Encrypt client.
|
||||
|
||||
- Direct connection to the internet or admin access to your router to set up port forwarding
|
||||
- A machine running a Unix-ish OS that include Python 2.6 or 2.7 (Docker can be used)
|
||||
- Direct connection to the internet or admin access to your router to set up port forwarding.
|
||||
- A machine running a Unix-ish OS that include Python 2.6 or 2.7 (Docker can be used).
|
||||
- Root access, to write to default config, log and library directories and bind port 80.
|
||||
|
||||
<img src='/images/supported_brands/duckdns.png' style='clear: right; border:none; box-shadow: none; float: right; margin-left: 8px; margin-bottom: 8px;' width='60' />
|
||||
|
||||
@ -46,48 +49,45 @@ First step is to acquire and set up our domain name. For this, go to [DuckDNS],
|
||||
|
||||
Let's Encrypt will give you a free 90-day certificate if you pass their domain validation challenge. Domains are validated by having certain data be accessible on your domain for Let's Encrypt ([they describe it better themselves][letsencrypt-technology]).
|
||||
|
||||
Assuming that your home is behind a router, the first thing to do is to set up port forwarding from your router to your computer that will run Let's Encrypt. For the Let's Encrypt set up we need to temporary forward ports `80` (http connections) and `443` (https connections). This can be set up by accessing your router admin interface ([Site with port forwarding instructions per router][port-forward]).
|
||||
Assuming that your home is behind a router, the first thing to do is to set up port forwarding from your router to your computer that will run Let's Encrypt. For the Let's Encrypt set up we need to forward external port `80` to internal port `80` (http connections). This can be set up by accessing your router admin interface ([Site with port forwarding instructions per router][port-forward]). This port forward must be active whenever you want to request a new certificate from Let's Encrypt, typically every three months. If you normally don't use or have an app that listens to port `80`, it should be safe to leave the port open. This will make renewing certificates easier.
|
||||
|
||||
Now you're ready to run Let's Encrypt:
|
||||
Now you're ready to install and run the client that requests certificates from Let's Encrypt. The following example will use the platform independent script to install and run the [certbot][certbot] client from Let's Encrypt. If there is a certbot package for your OS, it's recommended to install the package instead of the platform independent script. Read the [docs][certbot] for more information. There are also other clients that might offer more customization and options. See the [client options page][letsencrypt-clients] at Let's Encrypt.
|
||||
|
||||
```bash
|
||||
$ git clone https://github.com/letsencrypt/letsencrypt
|
||||
[…]
|
||||
$ cd letsencrypt
|
||||
$ ./letsencrypt-auto certonly --email your@email.address -d hass-example.duckdns.org
|
||||
|
||||
Updating letsencrypt and virtual environment dependencies.......
|
||||
Running with virtualenv: sudo /path/letsencrypt/bin/letsencrypt certonly --email your@e-mail.address -d hass-example.duckdns.org
|
||||
|
||||
IMPORTANT NOTES:
|
||||
- Congratulations! Your certificate and chain have been saved at
|
||||
/etc/letsencrypt/live/hass-example.duckdns.org/fullchain.pem. Your cert
|
||||
will expire on 2016-03-12. To obtain a new version of the
|
||||
certificate in the future, simply run Let's Encrypt again.
|
||||
- If like Let's Encrypt, please consider supporting our work by:
|
||||
|
||||
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
|
||||
Donating to EFF: https://eff.org/donate-le
|
||||
$ mkdir certbot
|
||||
$ cd certbot/
|
||||
$ wget https://dl.eff.org/certbot-auto
|
||||
$ chmod a+x certbot-auto
|
||||
$ ./certbot-auto certonly --standalone \
|
||||
--standalone-supported-challenges http-01 \
|
||||
--email your@email.address \
|
||||
-d hass-example.duckdns.org
|
||||
```
|
||||
|
||||
If you're using Docker, run the following command to generate the required keys:
|
||||
|
||||
```bash
|
||||
sudo mkdir /etc/letsencrypt /var/lib/letsencrypt
|
||||
sudo docker run -it --rm -p 443:443 -p 80:80 --name letsencrypt \
|
||||
sudo docker run -it --rm -p 80:80 --name certbot \
|
||||
-v "/etc/letsencrypt:/etc/letsencrypt" \
|
||||
-v "/var/lib/letsencrypt:/var/lib/letsencrypt" \
|
||||
quay.io/letsencrypt/letsencrypt:latest certonly \
|
||||
--email your@e-mail.address -d hass-example.duckdns.org
|
||||
--standalone --standalone-supported-challenges http-01 \
|
||||
--email your@email.address -d hass-example.duckdns.org
|
||||
```
|
||||
|
||||
With either method your certificate will be generated and put in the directory `/etc/letsencrypt/live/hass-example.duckdns.org`. As the lifetime is only 90 days, you will have to repeat this every 90 days.
|
||||
With either method your certificate will be generated and put in the directory `/etc/letsencrypt/live/hass-example.duckdns.org`. As the lifetime is only 90 days, you will have to repeat this every 90 days. There's a special command to simplify renewing certificates:
|
||||
|
||||
```bash
|
||||
./certbot-auto renew --quiet --no-self-upgrade --standalone \
|
||||
--standalone-supported-challenges http-01
|
||||
```
|
||||
|
||||
<img width="60" src="/images/favicon-192x192.png" style='float: right; border:none; box-shadow: none;'>
|
||||
|
||||
### {% linkable_title Home Assistant %}
|
||||
|
||||
Before updating the Home Assistant configuration, we have to update the port forwarding at your router config. We can drop the port forwarding for port `80` as we no longer care about unecrypted messages. Update port `443` to forward to port `8123` on the computer that will run Home Assistant.
|
||||
Before updating the Home Assistant configuration, we have to forward port `443` (https connections) to port `8123` on the computer that will run Home Assistant. Do this in your router configuration as previously done for port `80`.
|
||||
|
||||
The final step is to point Home Assistant at the generated certificates. Before you do this, make sure that the user running Home Assistant has read access to the folder that holds the certificates.
|
||||
|
||||
@ -105,5 +105,7 @@ _Big thanks to Fabian Affolter for his help and feedback on this article._
|
||||
[DuckDNS]: https://duckdns.org
|
||||
[duckdns-install]: https://www.duckdns.org/install.jsp
|
||||
[Let's Encrypt]: https://letsencrypt.org
|
||||
[letsencrypt-technology]: https://letsencrypt.org/howitworks/technology/
|
||||
[letsencrypt-technology]: https://letsencrypt.org/how-it-works/
|
||||
[letsencrypt-clients]: https://letsencrypt.org/docs/client-options/
|
||||
[port-forward]: http://portforward.com
|
||||
[certbot]: https://certbot.eff.org/
|
||||
|
@ -41,7 +41,32 @@ Alright, time for the changes:
|
||||
|
||||
- Our work in the WSGI stack is not fully done yet. We still have a minor issues where retrieving the error log in the about screen can raise an encoding error
|
||||
- The API used to incorrectly accept a JSON body with form-url-encoded headers. Our cURL examples on the website used to be wrong and have [been updated].
|
||||
- Make sure your configuration.yaml file contains `frontend:` to serve the frontend
|
||||
|
||||
### Hotfixes 0.21.1 and 0.21.2
|
||||
|
||||
We released two hotfixes to address some issues that couldn't wait till the next release.
|
||||
|
||||
##### 0.21.1 - June 12
|
||||
|
||||
- Add eventlet to base requirements to resolve some installation issues ([@balloob])
|
||||
- GTFS will filter out routes in the wrong direction ([@imrehg])
|
||||
- Recover from rare error condition from LIRC ([@partofthething])
|
||||
- Z-Wave autoheal will no longer raise exception ([@balloob])
|
||||
- Alexa will now execute the script before making reply ([@balloob])
|
||||
- Fix MJPEG camera streaming ([@stjohnjohnson])
|
||||
- Fix frontend in older browsers ([@balloob])
|
||||
- Fix history in more info dialog being cut off ([@balloob])
|
||||
|
||||
##### 0.21.2 - June 15
|
||||
|
||||
- Fix input_select calling the set_option service again when changed ([@persandstrom])
|
||||
- Fix more info dialog not being able to open on Safari ([@balloob])
|
||||
- Add support for OPTIONS HTTP command to get CORS working ([@JshWright])
|
||||
|
||||
[@stjohnjohnson]: https://github.com/stjohnjohnson
|
||||
[@imrehg]: https://github.com/imrehg
|
||||
[@persandstrom]: https://github.com/persandstrom
|
||||
[@armills]: https://github.com/armills
|
||||
[@balloob]: https://github.com/balloob
|
||||
[@Bart274]: https://github.com/Bart274
|
||||
|
@ -0,0 +1,53 @@
|
||||
---
|
||||
layout: post
|
||||
title: "Home Assistant at PyCon 2016"
|
||||
description: "A wrap up of what our developers were up to during PyCon 2016."
|
||||
date: 2016-06-13 01:06:00 +0000
|
||||
date_formatted: "June 13, 2016"
|
||||
author: Paulus Schoutsen
|
||||
author_twitter: balloob
|
||||
comments: true
|
||||
categories: Video
|
||||
og_image: /images/blog/2016-06-pycon/crew.jpg
|
||||
---
|
||||
|
||||
It's been already almost two weeks ago that a few of the Home Assistant developers headed towards Portland for [PyCon 2016] - the conference about everything Python. We were there to learn all the nifty tricks to make our code better but most of all, to talk Home Automation.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/blog/2016-06-pycon/crew.jpg' alt='Home Assistant developers' />
|
||||
Couple of Home Assistant devs. Left to right: [Paulus (@balloob)], [Alex (@infamy)], [Ryan (@rmkraus)].
|
||||
</p>
|
||||
|
||||
On Monday I (Paulus) gave a presentation about Home Assistant to an audience of over 400 people! It was a bit scary at first but after a couple of minutes it went all great including some great questions afterwards. Slides can be found [here][slides] and the talk is embedded right below:
|
||||
|
||||
<div class='videoWrapper'>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/UhccJacWhdM" frameborder="0" allowfullscreen></iframe>
|
||||
</div>
|
||||
|
||||
One of the things that really impressed me was the amount of people that approached us to tell how they love Home Assistant, how it has replaced their previous solution, how they enjoyed contributing to Home Assistant and how helpful our community is. It makes me proud of Home Assistant and especially our community.
|
||||
|
||||
<!--more-->
|
||||
PyCon has a few great concepts that I haven't seen at other conferences: open spaces and sprints. Open spaces give anyone the opportunity to get a room and host a session for an hour to talk about any topic. Sprints happen after the conference part of PyCon is over. For four days there are rooms available for participants to get together and hack on their favorite open source projects.
|
||||
|
||||
My talk had limited time for Q&A so open spaces offered a great opportunity to get all pending questions answered and connect with the commmunity. There was more interest after the first day so we ended up hosting another open space on the second day.
|
||||
|
||||
<blockquote markdown="0" class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr"><a href="https://twitter.com/anschoen">@anschoen</a> <a href="https://twitter.com/home_assistant">@home_assistant</a> I'm located in Detroit. I could facilitate a workshop. What are we talking (group, potential dates, etc)?</p>— Jonathan Baginski (@jbags81) <a href="https://twitter.com/jbags81/status/739057625636167680">June 4, 2016</a></blockquote>
|
||||
|
||||
We've had such positive reception on our open spaces that [Jonathan Baginski][@jbags81] decided to repeat it online. We will be hosting a free online webinar [Home Assistant Support 101 - Getting around in Home Assistant][webinar] later this month. Make sure to RSVP.
|
||||
|
||||
After the conference part of PyCon was over we spent one extra day to host a Home Assistant sprint. This allowed us to help people get started with hacking on Home Assistant which lead to some great contributions.
|
||||
|
||||
<p class='img'>
|
||||
<img src='/images/blog/2016-06-pycon/sprint.jpg' alt='Home Assistant sprint group photo' />
|
||||
Home Assistant sprint group photo.
|
||||
</p>
|
||||
|
||||
I've had a really great time at PyCon. It was awesome to meet everyone in person and I hope to see many of you next year!
|
||||
|
||||
[PyCon 2016]: https://us.pycon.org/2016/
|
||||
[Paulus (@balloob)]: https://github.com/balloob/
|
||||
[Alex (@infamy)]: https://github.com/infamy/
|
||||
[Ryan (@rmkraus)]: https://github.com/rmkraus/
|
||||
[@jbags81]: https://github.com/jbags81/
|
||||
[slides]: https://docs.google.com/presentation/d/1F1pGOoSf0dD79Dl5dgys0ll7xiuIA4XiQeNeJ-xlqMg/edit
|
||||
[webinar]: https://www.eventbrite.com/e/home-assistant-support-101-getting-around-in-home-assistant-tickets-25943868810
|
File diff suppressed because one or more lines are too long
1
source/demo/data.js
Normal file
1
source/demo/data.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -86,6 +86,7 @@
|
||||
}
|
||||
</script>
|
||||
<home-assistant auth='no_password_set' icons='demo'></home-assistant>
|
||||
<script src='/demo/data.js'></script>
|
||||
<script src='/demo/core.js'></script>
|
||||
<link rel='import' href='/demo/frontend.html' onerror='initError()' async />
|
||||
<link rel='import' href='/static/mdi-demo.html' async />
|
||||
|
@ -19,13 +19,13 @@ $ wget -Nnv https://raw.githubusercontent.com/home-assistant/fabric-home-assista
|
||||
```
|
||||
*Note this command is one line and not run as sudo*
|
||||
|
||||
Installation will take approx. 1-2 hours depending on the Raspberry Pi model the installer is being run against.
|
||||
Installation will take approx. 1-2 hours depending on the Raspberry Pi model the installer is being run against. The installer will identitfy what Raspberry PI hardware revision you are using and adjust commands accordingly. A complete log of the install is located at: `/home/pi/fabric-home-assistant/installation_report.txt` The installer has been updated to simply log any errors encountered, but resume installing. Please consult the "installation report" if your install encountered issues.
|
||||
|
||||
[BRUH automation](http://www.bruhautomation.com) has created [a tutorial video](https://www.youtube.com/watch?v=VGl3KTrYo6s) explaining how to install Raspbian on your Raspberry Pi and install Home Assistant using the All-In-One Installer.
|
||||
|
||||
Once rebooted, your Raspberry Pi will be up and running with Home Assistant. You can access it at [http://your_raspberry_pi_ip:8123](http://your_raspberry_pi_ip:8123).
|
||||
|
||||
The Home Assistant configuration is located at `/home/hass`. The virtualenv with the Home Assistant installation is located at `/srv/hass/hass_venv`. As part of the secure installation, a new user is added to your Raspberry Pi to run Home Assistant as named, **hass**. This is a system account and does not have login or other abilities by design. When editing your configuration.yaml files, you will need to run the commands with "sudo" or by switching user.
|
||||
The Home Assistant configuration is located at `/home/hass/.homeassistant`. The virtualenv with the Home Assistant installation is located at `/srv/hass/hass_venv`. As part of the secure installation, a new user is added to your Raspberry Pi to run Home Assistant as named, **hass**. This is a system account and does not have login or other abilities by design. When editing your configuration.yaml files, you will need to run the commands with "sudo" or by switching user.
|
||||
*Windows users* - Setting up WinSCP to allow this seemlessly is detailed below.
|
||||
|
||||
By default, installation makes use of a Python Virtualenv. If you wish to not follow this recommendation, you may add the flag `-n` to the end of the install command specified above.
|
||||
@ -38,19 +38,25 @@ The All-In-One Installer script will do the following automatically:
|
||||
* Setup a python virtualenv to run Home Assistant and components inside.
|
||||
* Run as `hass` service account
|
||||
* Install Home Assistant in a virtualenv
|
||||
* Build and install Mosquitto from source with websocket support running on ports 1883 and 9001
|
||||
* Build and install Mosquitto v1.4.9 from source with websocket support running on ports 1883 and 9001
|
||||
* Build and Install Python-openzwave in the Home Assistant virtualenv
|
||||
* Build openzwave-control-panel in `/srv/hass/src/open-zwave-control-panel`
|
||||
* Add both Home Assistant and Mosquitto to systemd services to start at boot
|
||||
|
||||
|
||||
To upgrade the All-In-One setup:
|
||||
To upgrade the All-In-One setup manually:
|
||||
|
||||
* Login to Raspberry Pi ```ssh pi@your_raspberry_pi_ip```
|
||||
* Change to hass user `sudo su -s /bin/bash hass`
|
||||
* Change to virtual enviroment `source /srv/hass/hass_venv/bin/activate`
|
||||
* Update HA `pip3 install --upgrade homeassistant`
|
||||
|
||||
To upgrade with fabric:
|
||||
|
||||
* Login to Raspberry Pi ```ssh pi@your_raspberry_pi_ip```
|
||||
* Change to `cd ~/fabric-home-assistant`
|
||||
* Run `fab upgrade_homeassistant`
|
||||
|
||||
To launch the OZWCP webapp:
|
||||
|
||||
* Login to Raspberry Pi `ssh pi@your_raspberry_pi_ip`
|
||||
|
BIN
source/images/blog/2016-06-pycon/crew.jpg
Normal file
BIN
source/images/blog/2016-06-pycon/crew.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 140 KiB |
BIN
source/images/blog/2016-06-pycon/sprint.jpg
Normal file
BIN
source/images/blog/2016-06-pycon/sprint.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 192 KiB |
@ -22,7 +22,7 @@ hide_github_edit: true
|
||||
</div>
|
||||
<div class="grid__item two-thirds lap-two-thirds palm-one-whole">
|
||||
<div class='material-card text'>
|
||||
<h1>Latest blog items</h1>
|
||||
<h1>Recent Blog Posts</h1>
|
||||
|
||||
{% for post in site.posts limit: 3 %}
|
||||
<li class="post">
|
||||
|
Loading…
x
Reference in New Issue
Block a user