Skip to content

Commit c8ec839

Browse files
committed
Merge branch 'current' into next
2 parents f2373f8 + 8a72917 commit c8ec839

File tree

190 files changed

+786
-378
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

190 files changed

+786
-378
lines changed

README.markdown

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
[![Krihelimeter](http://www.krihelinator.xyz/badge/home-assistant/home-assistant.github.io)](http://www.krihelinator.xyz)
44
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
55

6-
# Home Assistant website
6+
# Home Assistant website
77

88
This is the source for the [Home-Assistant.io website](https://home-assistant.io).
99

@@ -16,5 +16,19 @@ Setting up to contribute to documentation and the process for submitting pull re
1616
In order to make the preview available on [http://127.0.0.1:4000](http://127.0.0.1:4000), use the command as follows:
1717

1818
```bash
19-
$ rake preview
19+
bundle exec rake preview
20+
```
21+
22+
## Speeding up site generation
23+
24+
Every release we post long changelogs to the website. This slows down generation of the website significantly! We include some tools to temporarily exclude the blog posts that you're not working on out of the way.
25+
26+
```bash
27+
bundle exec rake isolate[filename-of-blogpost]
28+
```
29+
30+
When you're done working on the site, run the following command to move the posts back again:
31+
32+
```bash
33+
bundle exec rake integrate
2034
```

source/_addons/configurator.markdown

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
---
2+
layout: page
3+
title: "HASS Configurator"
4+
description: "Browser-based configuration file editor for Home Assistant."
5+
date: 2017-09-25 14:00
6+
sidebar: true
7+
comments: false
8+
sharing: true
9+
footer: true
10+
featured: true
11+
og_image: /images/hassio/screenshots/addon-hass-configurator.png
12+
---
13+
14+
As long as a fully featured configuration GUI for Home Assistant is still under development, you can use this add-on to add a browser based file-editor to your Hass.IO installation. By default it will listen on port `3218` of the host Hass.IO is running on.
15+
16+
More information and a standalone version for regular Home Assistant installations can be found in the [GitHub repository][code].
17+
18+
[code]: https://github.com/danielperna84/hass-configurator
19+
20+
<p class='img'>
21+
<img src='/images/hassio/screenshots/addon-hass-configurator.png'>
22+
Screenshot of the HASS Configurator.
23+
</p>
24+
25+
### {% linkable_title Feature list %}
26+
27+
- Web-Based editor to modify your files with syntax highlighting.
28+
- Upload and download files.
29+
- Stage and commit changes in Git repositories, create and switch between branches, push to remotes.
30+
- Lists of available triggers, events, entities, conditions and services. Selected element gets inserted into the editor at the last cursor position.
31+
- Restart Home Assitant directly with the click of a button. Reloading groups, automations etc. can be done as well. An API-password is required.
32+
- SSL support.
33+
- Optional authentication and IP filtering for added security.
34+
- Direct links to Home Assistant documentation and icons.
35+
- Execute shell commands within the add-on container.
36+
- Editor settings are saved in your browser.
37+
38+
### {% linkable_title Add-on Configuration %}
39+
40+
```json
41+
{
42+
"homeassistant_api": "http://homeassistant:8123/api",
43+
"homeassistant_password": "",
44+
"username": "admin",
45+
"password": "secret",
46+
"certfile": "fullchain.pem",
47+
"keyfile": "privkey.pem",
48+
"ssl": false,
49+
"allowed_networks": ["192.168.0.0/16"],
50+
"banned_ips": ["8.8.8.8"],
51+
"ignore_pattern": ["__pycache__"]
52+
}
53+
```
54+
55+
- **homeassistant_api** (*Optional*): The configurator fetches some data from your running Home Assistant instance. If the API is not available through the default URL, modify this variable to fix this.
56+
- **homeassistant_password** (*Optional*): If you plan on using API functions, you have to set your API password. Calling services of Home Assistant is prohibited without authentication.
57+
- **username** (*Optional*): Set a username to access your configuration is protected.
58+
- **password** (*Required*): Set a password for access.
59+
- **ssl** (*Optional*): Enable or Disable SSL for the editor.
60+
- **allowed_networks** (*Optional*): Limit access to the configurator by adding allowed IP addresses / networks to the list.
61+
- **banned_ips** (*Optional*): List of statically banned IP addresses.
62+
- **ignore_pattern** (*Optional*): Files and folders to ignore in the UI.
63+
64+
### {% linkable_title Embedding into Home-Assistant %}
65+
66+
Using the Home Assistant component [panel_iframe](https://home-assistant.io/components/panel_iframe/) it is possible to embed the configurator directly into Home Assistant, allowing you to modify your configuration within the Home Assistant frontend.
67+
68+
An example configuration would look like this:
69+
70+
```yaml
71+
panel_iframe:
72+
configurator:
73+
title: Configurator
74+
icon: mdi:wrench
75+
url: http://hassio.local:3218
76+
```
77+
78+
<p class='note warning'>
79+
Be careful when setting up port forwarding to the configurator while embedding into Home Assistant. If you don't restrict access by requiring authentication and / or blocking based on client IP addresses, your configuration will be exposed to the internet!
80+
</p>

source/_addons/duckdns.markdown

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,15 @@ footer: true
1010
featured: true
1111
---
1212

13-
[Duck DNS](https://duckdns.org/) is a free dynamic DNS service. Using this service you can have a custom domainname under duckdns.org point at your home computer.
13+
[Duck DNS](https://duckdns.org/) is a free service which will point a DNS (sub domains of duckdns.org) to an IP of your choice. This add-on includes support for Let's Encrypt and will automatically create and renew your certificates.
1414

1515
```json
1616
{
17+
"lets_encrypt": {
18+
"accept_terms": true
19+
},
1720
"token": "sdfj-2131023-dslfjsd-12321",
18-
"domains": ["my-first-account.duckdns.org", "my-second-account.duckdns.org"]
21+
"domains": ["my-domain.duckdns.org"]
1922
}
2023
```
2124

@@ -24,3 +27,16 @@ Configuration variables:
2427
- **token** (*Required*): Your Duck DNS API key.
2528
- **domains** (*Required*): A list of domains to update DNS.
2629
- **seconds** (*Optional*): Seconds between updates to Duck DNS.
30+
- **lets_encrypt.accept_terms** (*Optional*): If you accept the [Let's Encrypt Subscriber Agreement][le], it will generate & update Let's Enrypt certificates for your DuckDNS domain.
31+
32+
[le]: https://letsencrypt.org/repository/
33+
34+
## {% linkable_title Home Assistant configuration %}
35+
36+
Use the following configuration in Home Assistant to use the generated certificate:
37+
38+
```yaml
39+
http:
40+
ssl_certificate: /ssl/fullchain.pem
41+
ssl_key: /ssl/privkey.pem
42+
```

source/_addons/git_pull.markdown

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
layout: page
3+
title: "GIT pull"
4+
description: "Load and update configuration files for Home Assistant from a GIT repository."
5+
date: 2017-09-25 14:00
6+
sidebar: true
7+
comments: false
8+
sharing: true
9+
footer: true
10+
---
11+
12+
Load and update configuration files for Home Assistant from a GIT repository.
13+
14+
```json
15+
{
16+
"repository": null,
17+
"auto_restart": false,
18+
"repeat": {
19+
"active": false,
20+
"interval": 300
21+
}
22+
}
23+
```
24+
25+
- **repository** (*Required*): GIT url to your repository.
26+
- **auto_restart** (*Optional*): Make a restart of Home-Assistant if the config have change and is valid.
27+
- **repeat/active** (*Optional*): Pull periodic for GIT updates.
28+
- **repeat/interval** (*Optional*): Pull all x seconds and look for changes.

source/_addons/google_assistant.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ Configuration example that uses the USB microphone and use the built-in headset
5656
{
5757
"mic": "1,0",
5858
"speaker": "0,0",
59-
"client_secrets": "google_assistant.json",
59+
"client_secrets": "google_assistant.json"
6060
}
6161
```
6262

source/_addons/mosquitto.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Set up [Mosquitto](https://mosquitto.org/) as MQTT broker.
2222
],
2323
"customize": {
2424
"active": false,
25-
"folder": "mosquitto",
25+
"folder": "mosquitto"
2626
}
2727
}
2828
```

source/_components/alarm_control_panel.egardia.markdown

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ha_category: Alarm
1414

1515
The `egardia` platform enables the ability to control an [Egardia](http://egardia.com/)/Woonveilig control panel. These alarm panels are known under different brand names across the world, including Woonveilig in the Netherlands. This was tested on a Gate01 version of the Egardia/Woonveilig platform.
1616

17-
You will need to know the IP of your alarm panel on your local network. Test if you can login to the panel by browsing to the IP address and log in in using your Egardia/Woonveilig account.
17+
You will need to know the IP of your alarm panel on your local network. Test if you can login to the panel by browsing to the IP address and log in using your Egardia/Woonveilig account.
1818

1919
To enable this, add the following lines to your `configuration.yaml`:
2020

@@ -41,7 +41,7 @@ Configuration variables:
4141
Note that this basic configuration will only enable you to read the armed/armed away/disarmed status of your alarm and will **not** update the status if the alarm is triggered. This is because of how Egardia built their system. The alarm triggers normally go through their servers.
4242
You can change this, however, using the following procedure. This is a more advanced configuration.
4343

44-
1. Log in into your alarm system's control panel. You will need to access http://[ip of your control panel]. You know this already since you need it in the basic configuration from above. Log in to the control panel with your Egardia/Woonveilig username and password.
44+
1. Log in into your alarm system's control panel. You will need to access http://[IP of your control panel]. You know this already since you need it in the basic configuration from above. Log in to the control panel with your Egardia/Woonveilig username and password.
4545
2. Once logged in, go to *System Settings*, *Report* and change the Server Address for your primary server to the IP or hostname of your Home Assistant machine. Also, update the port number 85 or to anything you like. The provided software that you will set up in the next steps runs on port 85 by default. **Make sure to change the settings of the primary server otherwise the messages will not come through. Note that this will limit (or fully stop) the number of alarm messages you will get through Egardia's / Woonveilig services.** Maybe, that is just what you want. Make sure to save your settings by selecting 'OK'.
4646
3. On your Home Assistant machine run `$ sudo python3 egardiaserver.py`. Refer to the [python-egardia repository](https://github.com/jeroenterheerdt/python-egardia) for detailed documentation on parameters. This will receive status codes from your alarm control panel and display them. You will need the codes to include in your configuration.yaml. Make sure to change the status of your alarm to all states (disarm, arm, armhome) as well as trigger the alarm in all ways possible to get 100% coverage. **Before triggering the alarm it might be good to disable the siren temporarily (can be done in Panel Settings).**
4747
4. Once you have the codes, update your `configuration.yaml`:

source/_components/alert.markdown

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ freshwater_temp_alert:
7575

7676
### {% linkable_title Complex Alert Criteria %}
7777

78-
By design, the `alert` component only handles very simple criteria for firing. That is, it only checks if a single entity's state is equal to a value. At some point, it may be desireable to have an alert with a more complex criteria. Possibly, when a battery percentage falls below a threshold. Maybe you want to disable the alert on certain days. Maybe the alert firing should depend on more than one input. For all of these situations, it is best to use the alert in conjunction with a `Template Binary Sensor`. The following example does that.
78+
By design, the `alert` component only handles very simple criteria for firing. That is, it only checks if a single entity's state is equal to a value. At some point, it may be desirable to have an alert with a more complex criteria. Possibly, when a battery percentage falls below a threshold. Maybe you want to disable the alert on certain days. Maybe the alert firing should depend on more than one input. For all of these situations, it is best to use the alert in conjunction with a `Template Binary Sensor`. The following example does that.
7979

8080
```yaml
8181
binary_sensor:
@@ -99,7 +99,7 @@ This example will begin firing as soon as the entity `sensor.motion`'s `battery`
9999

100100
### {% linkable_title Dynamic Notification Delay Times %}
101101

102-
It may be desireable to have the delays between alert notifications dynamically change as the alert continues to fire. This can be done by setting the `repeat` configuration key to a list of numbers rather than a single number. Altering the first example would look like the following.
102+
It may be desirable to have the delays between alert notifications dynamically change as the alert continues to fire. This can be done by setting the `repeat` configuration key to a list of numbers rather than a single number. Altering the first example would look like the following.
103103

104104
```yaml
105105
# Example configuration.yaml entry

source/_components/alexa.markdown

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ The built-in Alexa component allows you to integrate Home Assistant into Alexa/A
3333

3434
### {% linkable_title Requirements %}
3535

36-
Amazon requires the endpoint of a skill to be hosted via SSL. Self-signed certificates are ok because our skills will only run in development mode. Read more on [our blog][blog-lets-encrypt] about how to set up encryption for Home Assistant. When running Hass.io, using the [Let's Encrypt](/addons/lets_encrypt/) the and [Duck DNS](/addons/duckdns/) add-ons is the easiest method. If you are unable to get HTTPS up and running, consider using [this AWS Lambda proxy for Alexa skills](https://community.home-assistant.io/t/aws-lambda-proxy-custom-alexa-skill-when-you-dont-have-https/5230).
36+
Amazon requires the endpoint of a skill to be hosted via SSL. Self-signed certificates are OK because our skills will only run in development mode. Read more on [our blog][blog-lets-encrypt] about how to set up encryption for Home Assistant. When running Hass.io, using the [Let's Encrypt](/addons/lets_encrypt/) the and [Duck DNS](/addons/duckdns/) add-ons is the easiest method. If you are unable to get HTTPS up and running, consider using [this AWS Lambda proxy for Alexa skills](https://community.home-assistant.io/t/aws-lambda-proxy-custom-alexa-skill-when-you-dont-have-https/5230).
3737

3838
Additionally, note that at the time of this writing, your Alexa skill endpoint *must* accept requests over port 443 (Home Assistant default to 8123). There are two ways you can handle this:
3939

4040
1. In your router, forward external 443 to your Home Assistant serving port (defaults to 8123)
4141
OR
42-
2. Change your Home Assistant serving port to 443 this is done in the [`http`](/components/http/) section with the the `server_port` entry in your `configuration.yaml` file
42+
2. Change your Home Assistant serving port to 443 this is done in the [`http`](/components/http/) section with the `server_port` entry in your `configuration.yaml` file
4343

4444
[blog-lets-encrypt]: https://home-assistant.io/blog/2015/12/13/setup-encryption-using-lets-encrypt/
4545

@@ -295,7 +295,7 @@ alexa:
295295
{% endif %}{% endraw %}
296296
```
297297

298-
You can add multiple items for a feed if you want. The Amazon required uid and timestamp will be randomly generated at startup and change at every restart of Home Assistant.
298+
You can add multiple items for a feed if you want. The Amazon required UID and timestamp will be randomly generated at startup and change at every restart of Home Assistant.
299299

300300
Please refer to the [Amazon documentation][flash-briefing-api-docs] for more information about allowed configuration parameters and formats.
301301

source/_components/asterisk_mbox.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ To enable the component, a configuration is required in both Home Assistant as w
1818

1919
First follow the [Asterisk PBX configuration guide](/docs/asterisk_mbox) to setup the necessary server on the Asterisk PBX server (this is needed even if Asterisk and Home Assistant are running on the same server)
2020

21-
Once that is complete, add the the following entry `configuration.yaml` file:
21+
Once that is complete, add the following entry `configuration.yaml` file:
2222

2323
```yaml
2424
# Example configuration.yaml entry

source/_components/axis.markdown

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ Home Assistant will automatically discover their presence on your network.
2020
## {% linkable_title Dependencies %}
2121

2222
```bash
23-
$ sudo apt-get install python3-gi gir1.2-gstreamer-1.0
23+
$ sudo apt-get install python3-gst-1.0 gir1.2-gstreamer-1.0 gir1.2-gst-plugins-base-1.0 gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools python3-gi
2424
```
2525

2626
Depending on how you run Home Assistant, you may need to symlink the `gi` module into your environment.
@@ -37,6 +37,16 @@ Raspberry Pi All-In-One Installer:
3737
$ ln -s /usr/lib/python3/dist-packages/gi /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages
3838
```
3939

40+
[Virtualenv](https://home-assistant.io/docs/installation/virtualenv/) installation:
41+
42+
```bash
43+
$ ln -s /usr/lib/python3/dist-packages/gi /srv/homeassistant/lib/python3.5/site-packages
44+
```
45+
46+
<p class='note'>
47+
Adjust "python3.5" in command above to match your version as stored in "/srv/homeassistant/lib/pythonX.X"
48+
</p>
49+
4050
You can also manually configure your devices by adding the following lines to your `configuration.yaml` file:
4151

4252
```yaml
@@ -57,7 +67,7 @@ Configuration variables:
5767
- **username** (*Optional*): The username to your Axis device. Default 'root'.
5868
- **password** (*Optional*): The password to your Axis device. Default 'pass'.
5969
- **trigger_time** (*Optional*): Minimum time (in seconds) a sensor should keep its positive value. Default 0.
60-
- **http_port** (*Optional*): Configure port web server of device is accessible from. Default 80.
70+
- **port** (*Optional*): Configure port web server of device is accessible from. Default 80.
6171
- **location** (*Optional*): Physical location of your Axis device. Default not set.
6272
- **include** (*Required*): This cannot be empty else there would be no use adding the device at all.
6373
- **camera**: Stream MJPEG video to Home Assistant.

source/_components/binary_sensor.arest.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Configuration variables:
3030
3131
- **resource** (*Required*): IP address and schema of the device that is exposing an aREST API, e.g. http://192.168.1.10.
3232
- **pin** (*Required*): Number of the pin to monitor.
33-
- **name** (*Optional*): Let you overwrite the the name of the device. By default *name* from the device is used.
33+
- **name** (*Optional*): Let you overwrite the name of the device. By default *name* from the device is used.
3434
3535
Accessing the URL http://IP_ADDRESS/digital/PIN_NUMBER should give you the state of the pin inside a JSON response as `return_value`.
3636

source/_components/binary_sensor.bayesian.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Configuration variables:
4141
- **prob_given_true** (*Required*): The probability of the observation occurring, given the event is `true`.
4242
- **prob_given_false** (*Optional*): The probability of the observation occurring, given the event is `false` can be set as well. If `prob_given_false` is not set, it will default to `1 - prob_given_true`.
4343
- **platform** (*Required*): The only supported observation platforms are `state` and `numeric_state`, which are modeled after their corresponding triggers for automations.
44-
- **to_state** (*Required*): THe target start.
44+
- **to_state** (*Required*): The target start.
4545
- **probability_threshold** (*Optional*): The probability at which the sensor should trigger to `on`.
4646
- **name** (*Optional*): Name of the sensor to use in the frontend. Defaults to `Bayesian Binary`.
4747

source/_components/binary_sensor.command_line.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ binary_sensor:
2828
Configuration variables:
2929
3030
- **command** (*Required*): The action to take to get the value.
31-
- **name** (*Optional*): Let you overwrite the the name of the device. By default *name* from the device is used.
31+
- **name** (*Optional*): Let you overwrite the name of the device. By default *name* from the device is used.
3232
- **device_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
3333
- **payload_on** (*Optional*): The payload that represents enabled state. Default is "ON".
3434
- **payload_off** (*Optional*): The payload that represents disabled state. Default is "OFF".

source/_components/binary_sensor.enocean.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Configuration variables:
3030
- **name** (*Optional*): An identifier for the switch in the frontend.
3131
- **device_class** (*Optional*): The [type/class](/components/binary_sensor/) of the sensor to set the icon in the frontend.
3232
33-
EnOcean binary sensors only generate 'button_pressed' events. The event data has follwing four fields:
33+
EnOcean binary sensors only generate 'button_pressed' events. The event data has following four fields:
3434
3535
- **id**: The ID of the device (see configuration).
3636
- **pushed**: `1` for a button press, `0` for a button release.

0 commit comments

Comments
 (0)