From 08f4293ed7ea9beede1a3e923f1b307af2d96915 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Fri, 8 Apr 2016 23:52:47 -0700 Subject: [PATCH 01/56] Update 2016-04-09-onkyo-panasonic-gtfs-and-config-validation.markdown --- ...16-04-09-onkyo-panasonic-gtfs-and-config-validation.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_posts/2016-04-09-onkyo-panasonic-gtfs-and-config-validation.markdown b/source/_posts/2016-04-09-onkyo-panasonic-gtfs-and-config-validation.markdown index 5cb3106d8a3..3b5dfa4c65f 100644 --- a/source/_posts/2016-04-09-onkyo-panasonic-gtfs-and-config-validation.markdown +++ b/source/_posts/2016-04-09-onkyo-panasonic-gtfs-and-config-validation.markdown @@ -10,7 +10,7 @@ comments: true categories: Release-Notes --- -Another awesome release ready to hit your homes. YAML can be hard for beginners and more experienced automators. So to help catch those pesky errors that sneak into your files we've been hard at work to introduce config validation! Especially huge thanks to @jaharkes for his hard work on this. Config validation is still in it's early stages. More common platforms and components have been added but we didn't do everything yet. +Another awesome release ready to hit your homes. YAML can be hard for beginners and more experienced automators. So to help catch those pesky errors that sneak into your files we've been hard at work to introduce config validation! Especially huge thanks to [@jaharkes] for his hard work on this. Config validation is still in it's early stages. More common platforms and components have been added but we didn't do everything yet. When we encounter an invalid config we will now write a warning to your logs. You can see those in the frontend by clicking on the last developer tool. We're looking into options to make it more clear - it is a work in progress. From 83a743f8b5ac7dd43d3ca3ac1a7a81e882ef9dc0 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 9 Apr 2016 10:33:34 +0200 Subject: [PATCH 02/56] Add more details (fix for #368) --- source/getting-started/autostart.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/getting-started/autostart.markdown b/source/getting-started/autostart.markdown index 77b9cdc1e6e..72e76957e59 100644 --- a/source/getting-started/autostart.markdown +++ b/source/getting-started/autostart.markdown @@ -51,7 +51,7 @@ $ ps -p 1 -o comm= If the preceding command returns the string `systemd`, you are likely using `systemd`. -If you want Home Assistant to be launched automatically, an extra step is needed to setup `systemd`. You need a service file to control Home Assistant with `systemd`. If you are using a Raspberry Pi then replace the `[your user]` with `pi` otherwise use your user you want to run Home Assistant. +If you want Home Assistant to be launched automatically, an extra step is needed to setup `systemd`. You need a service file to control Home Assistant with `systemd`. If you are using a Raspberry Pi with Raspbian then replace the `[your user]` with `pi` otherwise use your user you want to run Home Assistant. `ExecStart` contains the path to `hass` and this may vary. Check with `whereis hass` for the location. ```bash $ su -c 'cat <> /lib/systemd/system/home-assistant@[your user].service From 04581ecde4c7e3dddd3f964ddda2540b6f89e189 Mon Sep 17 00:00:00 2001 From: Greg Dowling Date: Sat, 9 Apr 2016 10:56:46 +0100 Subject: [PATCH 03/56] Add info about how to get the required keys (#379) --- .../_components/sensor.loop_energy.markdown | 40 +++++++++++++++---- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/source/_components/sensor.loop_energy.markdown b/source/_components/sensor.loop_energy.markdown index 0d6aa9c0c11..533215c7f40 100644 --- a/source/_components/sensor.loop_energy.markdown +++ b/source/_components/sensor.loop_energy.markdown @@ -14,22 +14,48 @@ ha_category: Sensor Integrate your [Loop Energy](https://www.your-loop.com/) meter information into Home Assistant. -To enable the Loop Energy sensor, add the following lines to your `configuration.yaml`: +To use this sensor you need the the client serial number and secret keys for your devices. + +The library used to get the data isn't officially supported and the only way to get the keys is to log into loop energy's website and type a command into your browser console. + +To do this log into [Loop Energy](https://www.your-loop.com/). Once you're logged in you should be able see see your live readings on the webpage. + +You can then open your browser's console window, how you do this varies by browser but in Chrome you click on `More Tools / Developer Tools' and click on the console window. You then type:- + +`Drupal.settings.navetas_realtime.` + +This should show something like +```` +client_ip: "127.0.0.1" +gas_secret: "GAS_SECRET" +gas_serial: "GAS_SERIAL" +host: "www.your-loop.com" +... +secret: "ELECTRICAL_SECRET" +serial: "ELECTRICAL_SERIAL" +```` + +The serial and secret tokens are the ones you need. If you just have an electricity monitor - then you won't see the gas keys. + +Now you have the keys, add the following lines to your `configuration.yaml`, replacing the `SERIAL` and `SECRET` keys with the ones you found in the console: ```yaml # Example configuration.yaml entry sensor: platform: loopenergy - electricity_serial: ELECRITCAL_SERIAL - electricity_secret: ELECTRICAL_OFFSET + electricity_serial: ELECTRICAL_SERIAL + electricity_secret: ELECTRICAL_SECRET gas_serial: GAS_SERIAL gas_secret: GAS_SECRET ``` Configuration variables: -- **electricity_serial** (*Required*): Serial of your electricity sensor -- **electricity_secret** (*Required*): Secret for your electricity Sensor -- **gas_serial** (*Required*): Serial for your gas sensor. -- **gas_secret** (*Required*): Secret for your gas sensor. +- **electricity_serial** (*Required*): Serial number of your electricity sensor +- **electricity_secret** (*Required*): Secret key for your electricity sensor +- **gas_serial** (*Required*): Serial number for your gas sensor. +- **gas_secret** (*Required*): Secret key for your gas sensor. +The electricity readings are updated every 10 seconds and the gas readings every 15 minutes. + +The gas readings are experimental and not all gas meters are properly supported - so if the data you see doesn't agree with the readings you see via loop energy please report an issue. From 28a915a01531fb23cb32d35ea5b2d2c540e28ab7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20H=C3=B8yer=20Iversen?= Date: Sat, 9 Apr 2016 17:51:37 +0200 Subject: [PATCH 04/56] Update input_slider.markdown (#380) --- source/_components/input_slider.markdown | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/_components/input_slider.markdown b/source/_components/input_slider.markdown index 5fd9d136c42..ae9d1bf77d6 100644 --- a/source/_components/input_slider.markdown +++ b/source/_components/input_slider.markdown @@ -21,6 +21,7 @@ input_slider: initial: 30 min: -20 max: 35 + step: 1 ``` Configuration variables: @@ -30,4 +31,5 @@ Configuration variables: - **initial** (*Optional*): Initial value when Home Assistant starts. - **min** (*Optional*): Minimum value for the slider. - **max** (*Optional*): Maximum value for the slider. +- **step** (*Optional*): Step value for the slider. From fca2c46dd456d9252cb0b12c84a86c20d9d6c438 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 9 Apr 2016 15:43:46 +0200 Subject: [PATCH 05/56] Remove trailing whitespaces --- source/getting-started/configuration.markdown | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/source/getting-started/configuration.markdown b/source/getting-started/configuration.markdown index 787f20885b1..887a0421be1 100644 --- a/source/getting-started/configuration.markdown +++ b/source/getting-started/configuration.markdown @@ -11,9 +11,7 @@ footer: true Home Assistant will create a configuration folder when it is run for the first time. The location of the folder differs between operating systems: on OS X and Linux it's `~/.homeassistant` and on Windows it's `%APPDATA%/.homeassistant`. If you want to use a different folder for configuration, run `hass --config path/to/config`. -Inside your configuration folder is the file `configuration.yaml`. This is the main file that contains which components will be loaded and what their configuration is. -This file contains YAML code, which is explained briefly below. -[An example configuration file is located here](https://github.com/balloob/home-assistant/blob/master/config/configuration.yaml.example). +Inside your configuration folder is the file `configuration.yaml`. This is the main file that contains which components will be loaded and what their configuration is. This file contains YAML code, which is explained briefly below. [An example configuration file is located here](https://github.com/balloob/home-assistant/blob/master/config/configuration.yaml.example). When launched for the first time, Home Assistant will write a default configuration file enabling the web interface and device discovery. It can take up to a minute for your devices to be discovered and show up in the user interface. @@ -28,8 +26,8 @@ If you run into trouble while configuring Home Assistant, have a look at [the co Home Assistant uses the [YAML](http://yaml.org/) syntax for configuration. YAML might take a while to get used to but is really powerful in allowing you to express complex configurations. -For each component that you want to use in Home Assistant, you add code in your `configuraton.yaml` file to specify its settings. -Example, the following code specifies that you want to use the [notify component](/components/notify) with the [pushbullet platform](/components/notify.pushbullet). +For each component that you want to use in Home Assistant, you add code in your `configuraton.yaml` file to specify its settings. +The following example entry specifies that you want to use the [notify component](/components/notify) with the [pushbullet platform](/components/notify.pushbullet). ```yaml @@ -42,15 +40,14 @@ notify: - A **component** provides the core logic for some functionality (like `notify` provides sending notifications). - A **platform** makes the connection to a specific software or hardware platform (like `pushbullet` works with the service from pushbullet.com). -The basics of YAML syntax are block collections and mappings containing key-value pairs. -Each item in a collection starts with a `-` while mappings have the format `key: value`. If you specify duplicate keys, the last value for a key is used. +The basics of YAML syntax are block collections and mappings containing key-value pairs. Each item in a collection starts with a `-` while mappings have the format `key: value`. If you specify duplicate keys, the last value for a key is used. -Note that indentation is an important part of specifying relationships using YAML. Things that are indented are nested "inside" things that are one level higher. So in the above example, `platform: pushbullet` is a property of (nested inside) the `notify` component. +Note that indentation is an important part of specifying relationships using YAML. Things that are indented are nested "inside" things that are one level higher. So in the above example, `platform: pushbullet` is a property of (nested inside) the `notify` component. Getting the right indentation can be tricky if you're not using an editor with a fixed width font. Tabs are not allowed to be used for indentation. Convention is to use 2 spaces for each level of indentation. Lines that start with **#** are comments and are ignored by the system. -The next example shows an [input_select](/components/input_select) component that uses a block collection for the options values. +The next example shows an [input_select](/components/input_select) component that uses a block collection for the options values. The other properties (like name) are specified using mappings. Note that the second line just has `threat:` with no value on the same line. Here threat is the name of the input_select and the values for it are everything nested below it. ```yaml @@ -66,8 +63,7 @@ input_select: initial: 0 ``` -The following example shows nesting a collection of mappings in a mapping. -In Home Assistant, this would create two sensors that each use the MQTT platform but have different values for their `state_topic` (one of the properties used for MQTT sensors). +The following example shows nesting a collection of mappings in a mapping. In Home Assistant, this would create two sensors that each use the MQTT platform but have different values for their `state_topic` (one of the properties used for MQTT sensors). ```yaml sensor: From b2d510662451b1cecb43165b23cfb031fbbde679 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 9 Apr 2016 15:53:08 +0200 Subject: [PATCH 06/56] Add SSE and link to Let's Encrypt blog post --- source/_components/http.markdown | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/source/_components/http.markdown b/source/_components/http.markdown index e66976ca8d5..3490451a05d 100644 --- a/source/_components/http.markdown +++ b/source/_components/http.markdown @@ -31,10 +31,12 @@ Configuration variables: - **ssl_certificate** (*Optional*): Path to your TLS/SSL certificate to serve Home Assistant over a secure connection. - **ssl_key** (*Optional*): Path to your TLS/SSL key to serve Home Assistant over a secure connection. -On top of the `http` component is a [REST API](/developers/rest_api/) and a [Python API](/developers/python_api/) available. +The [Set up encryption using Let's Encrypt](/blog/2015/12/13/setup-encryption-using-lets-encrypt/) blog post gives you details about the encryption of your traffic using free certificates from [Let's Encrypt](https://letsencrypt.org/). + +On top of the `http` component is a [REST API](/developers/rest_api/) and a [Python API](/developers/python_api/) available. There is also support for [Server-sent events](/developers/server_sent_events/) available. The `http` platforms are not real platforms within the meaning of the terminology used around Home Assistant. Home Assistant's [REST API](/developers/rest_api/) sends and receives messages over HTTP. -To use those kind of sensors in your installation no configuration in Home Assistant is needed. All configuration is done on the devices themselves. This means that you must be able to edit the target URL or endpoint and the payload. The entity will be created after the first message has arrived. +To use those kind of [sensors](/components/sensor.http/) or [binary sensors](components/binary_sensor.http/) in your installation no configuration in Home Assistant is needed. All configuration is done on the devices themselves. This means that you must be able to edit the target URL or endpoint and the payload. The entity will be created after the first message has arrived. All [requests](/developers/rest_api/#post-apistatesltentity_id) need to be sent to the endpoint of the device and must be **POST**. From b6f2cc301dd4278cdcbcf4da0414fbe017bace4a Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 9 Apr 2016 17:55:18 +0200 Subject: [PATCH 07/56] Remove trailing whitespaces --- source/developers/index.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/developers/index.markdown b/source/developers/index.markdown index 583e5c161a2..926accf982e 100644 --- a/source/developers/index.markdown +++ b/source/developers/index.markdown @@ -19,7 +19,7 @@ Home Assistant is open-source and MIT licensed. The source can be found here: ### {% linkable_title Starting development %} -You will need to set up a development environment if you want to start developing a new feature or component for Home Assistant. Please follow these steps to get setup. +You will need to set up a development environment if you want to start developing a new feature or component for Home Assistant. Please follow these steps to get setup. Visit the [the Home Assistant repository](https://github.com/balloob/home-assistant) first and click fork in the top right. We suggest that you setup a [virtual environment](https://docs.python.org/3.4/library/venv.html) aka `venv` before running the setup script. From 44c76069e37a0c1454eec5cbca63257cca7fbb15 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 9 Apr 2016 18:11:20 +0200 Subject: [PATCH 08/56] Update link --- source/getting-started/configuration.markdown | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/source/getting-started/configuration.markdown b/source/getting-started/configuration.markdown index 887a0421be1..35e597ae540 100644 --- a/source/getting-started/configuration.markdown +++ b/source/getting-started/configuration.markdown @@ -106,9 +106,7 @@ http: api_password: YOUR_PASSWORD ``` -_See the [HTTP component documentation][http] for more options like HTTPS encryption._ - -[http]: /components/http/ +See the [HTTP component documentation](/components/http/) for more options like HTTPS encryption. ### {% linkable_title Setting up your phone or tablet %} From 4d565f53ef719389df48717ac00c8a1169b8424f Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 9 Apr 2016 18:11:35 +0200 Subject: [PATCH 09/56] Add inital note for venv (fixes #378) --- source/getting-started/index.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index 12e7ccb7b8d..b7974af6749 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -22,6 +22,10 @@ footer: true
Installing and running Home Assistant on your local machine is easy. Make sure you have [Python 3.4 or higher](https://www.python.org/downloads/) installed and execute the following code in a console: +

+It's highly recommended to use a [virtual environment](https://docs.python.org/3.4/library/venv.html) aka `venv` to keep things separated. A virtual environment can be created by exceuting the following command: `pyvenv /path/where/you/home-assistant/` (or on some systems `pyvenv-3.4`). Then change to that the created directory and go the next step. +

+ ```bash $ pip3 install homeassistant $ hass --open-ui From a6e93edc7155a864f3f708608f77cca33f4695c3 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 9 Apr 2016 23:07:04 +0200 Subject: [PATCH 10/56] Add UE40F6500 (fixes #382) --- source/_components/media_player.samsungtv.markdown | 1 + 1 file changed, 1 insertion(+) diff --git a/source/_components/media_player.samsungtv.markdown b/source/_components/media_player.samsungtv.markdown index 0b39452b466..698d11e0560 100644 --- a/source/_components/media_player.samsungtv.markdown +++ b/source/_components/media_player.samsungtv.markdown @@ -38,6 +38,7 @@ Currently known supported models: - D8000 - ES5500 - ES6800 +- UE40F6500 If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/balloob/home-assistant.io). The two letters at the beginning of the model number represent the region, UE is Europe, UN is North America and UA is Asia & Australia. The two numbers following that represent the screen size. If you add your model remember to remove these before adding them to the list. From d879665cdfde21a5102c690bf79b5c44b2a7b797 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 9 Apr 2016 23:15:40 +0200 Subject: [PATCH 11/56] Add forum for feature requests (fixes #381) --- source/help/index.markdown | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/help/index.markdown b/source/help/index.markdown index 740f22d3ec3..c89f7e6d824 100644 --- a/source/help/index.markdown +++ b/source/help/index.markdown @@ -20,10 +20,11 @@ There are various ways to get in touch with the Home Assistant community. It doe ### {% linkable_title Bugs, Feature requests, and alike %} -Have you found an issue in your Home Assistant installation? Please report it in one of the issue trackers. Reporting it there makes it easy to track and ensures that it gets fixed. +Have you found an issue in your Home Assistant installation? Please report it. Reporting it makes it easy to track and ensures that it gets fixed. - [Issue tracker Home Assistant](https://github.com/balloob/home-assistant/issues) - [Issue tracker home-assistant.io](https://github.com/balloob/home-assistant.io/issues) (Website and documentation) +- [Feature requests Home Assistant](https://community.home-assistant.io/c/feature-requests) ### {% linkable_title Roadmap %} From d31013597f83e2ca9a710a285bca18a695b46005 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 9 Apr 2016 23:18:45 +0200 Subject: [PATCH 12/56] Fix entry --- source/_components/media_player.samsungtv.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/media_player.samsungtv.markdown b/source/_components/media_player.samsungtv.markdown index 698d11e0560..bcd63bcda47 100644 --- a/source/_components/media_player.samsungtv.markdown +++ b/source/_components/media_player.samsungtv.markdown @@ -38,7 +38,7 @@ Currently known supported models: - D8000 - ES5500 - ES6800 -- UE40F6500 +- F6500 If your model is not on the list then give it a test, if everything works correctly then add it to the list on [GitHub](https://github.com/balloob/home-assistant.io). The two letters at the beginning of the model number represent the region, UE is Europe, UN is North America and UA is Asia & Australia. The two numbers following that represent the screen size. If you add your model remember to remove these before adding them to the list. From b6fdc6f46fd323ea929bfa1d2731ebc78245b941 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Sat, 9 Apr 2016 23:27:18 +0200 Subject: [PATCH 13/56] Add @justyns, @JshWright, @coteyr, and @danieljkemp --- source/developers/credits.markdown | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/developers/credits.markdown b/source/developers/credits.markdown index f6f63365775..8ef5cde5a83 100644 --- a/source/developers/credits.markdown +++ b/source/developers/credits.markdown @@ -35,8 +35,10 @@ This page contains a list of people who have contributed in one way or another t - [Charles Spirakis](https://github.com/srcLurker) - [Chris Mulder](https://github.com/chrisvis) - [Christian Braedstrup](https://github.com/LinuxChristian) +- [coteyr](https://github.com/coteyr/) - [Dan Cinnamon](https://github.com/Cinntax) - [Daniel Iversen](https://github.com/danielhiversen) +- [Daniel J. Kemp](https://github.com/danieljkemp/) - [Dan Smith](https://github.com/kk7ds) - [Daren Lord](https://github.com/Xorso) - [Dean Galvin](https://github.com/FreekingDean) @@ -70,8 +72,10 @@ This page contains a list of people who have contributed in one way or another t - [joopert](https://github.com/joopert) - [Joseph Hughes](https://github.com/joshughes) - [Joseph Piron](https://github.com/eagleamon) +- [Josh Wright](https://github.com/JshWright/) - [Julien Danjou](https://github.com/jd) - [Justin Moy](https://github.com/justincmoy) +- [Justyn Shull](https://github.com/justyns/) - [Karen Goode](https://github.com/kfgoode) - [kennedyshead](https://github.com/kennedyshead) - [kixam](https://github.com/kixam) From 9cbd2d11415e7f3cec8e7d08cb192d6e4aac466f Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 9 Apr 2016 15:49:40 -0700 Subject: [PATCH 14/56] pyvenv -> python3 -m venv --- source/getting-started/index.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/getting-started/index.markdown b/source/getting-started/index.markdown index b7974af6749..b161bf6d241 100644 --- a/source/getting-started/index.markdown +++ b/source/getting-started/index.markdown @@ -23,7 +23,7 @@ footer: true Installing and running Home Assistant on your local machine is easy. Make sure you have [Python 3.4 or higher](https://www.python.org/downloads/) installed and execute the following code in a console:

-It's highly recommended to use a [virtual environment](https://docs.python.org/3.4/library/venv.html) aka `venv` to keep things separated. A virtual environment can be created by exceuting the following command: `pyvenv /path/where/you/home-assistant/` (or on some systems `pyvenv-3.4`). Then change to that the created directory and go the next step. +It's highly recommended to use a [virtual environment](https://docs.python.org/3.4/library/venv.html) to keep things separated. A virtual environment can be created by exceuting the following command: `python3 -m venv /path/where/you/home-assistant/`. Then change to the created directory and go the next step.

```bash From 383f58daea1b3838e745e43410aa3503f7b2e49d Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 9 Apr 2016 16:33:08 -0700 Subject: [PATCH 15/56] Update demo --- source/demo/frontend.html | 2572 +++++++++++++------------ source/demo/index.html | 4 +- source/demo/webcomponents-lite.min.js | 6 +- 3 files changed, 1324 insertions(+), 1258 deletions(-) diff --git a/source/demo/frontend.html b/source/demo/frontend.html index aa9efcef31f..918f027e716 100644 --- a/source/demo/frontend.html +++ b/source/demo/frontend.html @@ -1,585 +1,493 @@ -