Skip to content

Commit c0e904b

Browse files
committed
Merge remote-tracking branch 'origin/current' into next
2 parents 386bd3d + 684c8ac commit c0e904b

16 files changed

+560
-42
lines changed

_config.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -139,12 +139,12 @@ social:
139139

140140
# Home Assistant release details
141141
current_major_version: 0
142-
current_minor_version: 52
143-
current_patch_version: 1
144-
date_released: 2017-08-28
142+
current_minor_version: 53
143+
current_patch_version: 0
144+
date_released: 2017-09-9
145145

146146
# Either # or the anchor link to latest release notes in the blog post.
147147
# Must be prefixed with a # and have double quotes around it.
148148
# Major release:
149-
patch_version_notes: "#release-0521---august-28"
149+
patch_version_notes: "#"
150150
# Minor release (Example #release-0431---april-25):

source/_components/alarm_control_panel.egardia.markdown

+19-4
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ You can change this, however, using the following procedure. This is a more adva
4343

4444
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'.
46-
3. On your Home Assistant machine run `$ sudo python3 egardiaserver.py`. 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).**
46+
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`:
4848
```yaml
4949
# Example configuration.yaml entry
@@ -62,9 +62,24 @@ alarm_control_panel:
6262
standby: XXXXXXXXXXXXXXXX
6363
```
6464
Note that you can have more than one code for triggered since every sensor generates its own code. arm, disarm, armhome and standby will all be one code.
65-
5. Start the `egardiaserver.py` script on boot of your Home Assistant machine, for example by adding the following to your `/etc/rc.local`:
65+
5. Start the `egardiaserver.py` script on boot of your Home Assistant machine, for example by using systemd. To use this method, create a shell script named `egardiaserver.sh` that contains the following:
6666
```bash
67-
python3 [path/to/]egardiaserver.py &
67+
source /srv/homeassistant/homeassistant_venv/bin/activate
68+
python3 /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/pythonegardia/egardiaserver.py -host [YOURHOST] -password '[YOURPASSWORD]' -ssl True > /tmp/egardiaserver.log 2>&1
6869
```
69-
**Do not forget the trailing & here; otherwise you will be having a hard time logging back into the machine.**
70+
71+
Mark it as executable (`$ chmod +x`) and run `sudo nano /lib/systemd/system/egardiaserver.service`. Enter the following into the `egardiaserver.service` file:
72+
```bash
73+
[Unit]
74+
Description=Egardia Server Service
75+
76+
[Service]
77+
ExecStart=/srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/pythonegardia/egardiaserver.sh
78+
StandardOutput=journal+console
79+
80+
[Install]
81+
WantedBy=multi-user.target
82+
Alias=egardiaserver.service
83+
```
84+
Save and then run `sudo systemctl enable egardiaserver.service` and `sudo systemctl start egardiaserver.service`.
7085
6. Test your setup and enjoy. The component will update if the alarm status changes, including triggers. You can use this to build your own automations and send notifications as you wish.

source/_components/alexa.markdown

+15-2
Original file line numberDiff line numberDiff line change
@@ -33,7 +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. 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).
37+
38+
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:
39+
40+
1. In your router, forward external 443 to your Home Assistant serving port (defaults to 8123)
41+
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
3743

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

@@ -48,7 +54,7 @@ To get started with Alexa skills:
4854
- Version: 1.0
4955
- Endpoint:
5056
- https
51-
- https://YOUR_HOST/api/alexa?api_password=YOUR_API_PASSWORD
57+
- `https://YOUR_HOST/api/alexa?api_password=YOUR_API_PASSWORD`
5258

5359
You can use this [specially sized Home Assistant logo][large-icon] as the large icon and [this one][small-icon] as the small one.
5460

@@ -95,6 +101,12 @@ This means that we can now ask Alexa things like:
95101

96102
When activated, the Alexa component will have Home Assistant's native intent support handle the incoming intents. If you want to run actions based on intents, use the [`intent_script`](/components/intent_script) component.
97103

104+
To enable Alex add the following entry to your `configuration.yaml` file:
105+
106+
```yaml
107+
alexa:
108+
```
109+
98110
### {% linkable_title Working With Scenes %}
99111
100112
One of the most useful applications of Alexa integrations is to call scenes directly. This is easily achieved with some simple setup on the Home Assistant side and by letting Alexa know which scenes you want to run.
@@ -120,6 +132,7 @@ Then create a custom slot type called `Scenes` listing every scene you want to c
120132
<img src='/images/components/alexa/scene_slot.png' />
121133
Custom slot type for scene support.
122134
</p>
135+
123136
The names must exactly match the scene names (minus underscores - amazon discards them anyway and we later map them back in with the template).
124137

125138
Add a sample utterance:

source/_components/apiai.markdown

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ apiai:
7070

7171
intent_script:
7272
Temperature:
73-
speech:
73+
speech:
7474
text: The temperature at home is {{ states('sensor.home_temp') }} degrees
7575
LocateIntent:
7676
speech:

source/_components/light.mqtt.markdown

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ Configuration variables:
4747
- **payload_on** (*Optional*): The payload that represents enabled state. Default is "ON".
4848
- **qos** (*Optional*): The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
4949
- **retain** (*Optional*): If the published message should have the retain flag on or not.
50+
- **rgb_command_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to compose message which will be sent to `rgb_command_topic`. Available variables: `red`, `green` and `blue`.
5051
- **rgb_command_topic** (*Optional*): The MQTT topic to publish commands to change the light's RGB state.
5152
- **rgb_state_topic** (*Optional*): The MQTT topic subscribed to receive RGB state updates.
5253
- **rgb_value_template** (*Optional*): Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract the RGB value.

source/_components/media_player.kodi.markdown

+3
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,9 @@ media_player:
193193
command: standby
194194
```
195195

196+
<p class='note'>
197+
This example and the following requires to have the [script.json-cec](https://github.com/joshjowen/script.json-cec) plugin installed on your kodi player. It'll also expose th endpoints standy, toggle and activate without authentication on your kodi player. Use this with caution.
198+
</p>
196199

197200
### {% linkable_title Kodi services samples %}
198201

source/_components/media_player.plex.markdown

+8-5
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ ha_iot_class: "Local Polling"
1717

1818
The `plex` platform allows you to connect a [Plex Media Server](https://plex.tv) to Home Assistant. It will allow you to control media playback and see the current playing item.
1919

20-
## Setup
20+
## {% linkable_title Setup %}
2121

2222
The preferred way to setup the Plex platform is by enabling the [discovery component](/components/discovery/) which requires GDM enabled on your Plex server.
2323

@@ -52,11 +52,13 @@ In case [discovery](/components/discovery/) does not work (GDM disabled or non-l
5252
- **IP_ADDRESS** (*Required*): IP address of the Plex Media Server.
5353
- **PORT** (*Required*): Port where Plex is listening. Default is 32400.
5454
- **TOKEN** (*Optional*): Only if authentication is required. Set to `null` (without quotes) otherwise.
55-
- **ssl** (*Optional*): Whether to use SSL or not. _(Boolean)_
56-
- **verify** (*Optional*): Whether to allow invalid or self-signed SSL certificates or not. _(Boolean)_
55+
- **ssl** (*Optional*): Whether to use SSL/TLS or not. Defaults to `False` if not present.
56+
- **verify** (*Optional*): Perform a verification of the certificate. To allow invalid or self-signed SSL certificates set it to `False`. Defaults to `True` if not present.
57+
58+
## {% linkable_title Customization %}
5759

58-
## Customization
5960
You can customize the Plex component by adding any of the variables below to your configuration:
61+
6062
```yaml
6163
# Example configuration.yaml entry
6264
media_player:
@@ -124,7 +126,8 @@ Plays a song, playlist, TV episode, or video on a connected client.
124126
| Plex Web | None |
125127
| Tivo Plex App | Only play, pause, stop/off controls enabled |
126128

127-
### Notes
129+
### {% linkable_title Notes %}
130+
128131
* At this moment, the Plex platform only supports one Plex Media Server.
129132
* It is possible to get errors that look like the following.
130133

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
layout: page
3+
title: "Season Sensor"
4+
description: "Instructions how to add season sensors into Home Assistant."
5+
date: 2017-07-04 07:00:00
6+
sidebar: true
7+
comments: false
8+
sharing: true
9+
footer: true
10+
ha_category: Sensor
11+
ha_iot_class: "Local Polling"
12+
ha_release: 0.53
13+
---
14+
15+
This sensor will display the current astronomical or meteorological season (Spring, Summer, Autumn, Winter) based on the users setting in the config file.
16+
17+
All information about how the seasons work was taken from Wikipedia:
18+
19+
- [https://en.wikipedia.org/wiki/Season#Astronomical](https://en.wikipedia.org/wiki/Season#Astronomical)
20+
- [https://en.wikipedia.org/wiki/Equinox](https://en.wikipedia.org/wiki/Equinox)
21+
- [https://en.wikipedia.org/wiki/Solstice](https://en.wikipedia.org/wiki/Solstice)
22+
23+
24+
```yaml
25+
# Example configuration.yaml entry
26+
sensor:
27+
- platform: season
28+
type: astronomical (optional, will default to astronomical)
29+
```

source/_components/sensor.yr.markdown

+3-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ha_iot_class: "Cloud Polling"
1414
---
1515

1616

17-
The `yr` platform uses [YR.no](http://www.yr.no/) as an source for current meteorological data for your location. The
17+
The `yr` platform uses [YR.no](http://www.yr.no/) as an source for current meteorological data for your location. The
1818
weather forecast is delivered by the Norwegian Meteorological Institute and the NRK.
1919

2020
To add YR to your installation, add the following to your `configuration.yaml` file:
@@ -28,6 +28,7 @@ sensor:
2828
Configuration variables:
2929
3030
- **name** (*Optional*): Additional name for the sensors. Default to platform name.
31+
- **forecast** integer (*Optional*): If you want to get forecast data instead of the current weather data, set this to the number of hours that you want to look into the future.
3132
- **monitored_conditions** array (*Optional*): Conditions to display in the frontend.
3233
- **symbol**: A symbol for the current weather.
3334
- **temperature**: The current temperature.
@@ -50,6 +51,7 @@ A full configuration example can be found below:
5051
sensor:
5152
- platform: yr
5253
name: Weather
54+
forecast: 24
5355
monitored_conditions:
5456
- temperature
5557
- symbol

source/_components/tts.amazon_polly.markdown

+8-5
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ tts:
2525
aws_secret_access_key: AWS_SECRET_ACCESS_KEY
2626
profile_name: AWS_PROFILE
2727
region_name: 'us-east-1'
28+
voice: Joanna
2829
```
2930
3031
Configuration variables:
@@ -33,12 +34,14 @@ Configuration variables:
3334
|---------------------|----------|-------------|
3435
| `aws_access_key_id` | Required | Your AWS Access Key ID. For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). If provided, you must also provide an `aws_secret_access_key` and must **not** provide a `profile_name` |
3536
| `aws_secret_access_key` | Required | Your AWS Secret Access Key. For more information, please read the [AWS General Reference regarding Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html). If provided, you must also provide an `aws_access_key_id` and must **not** provide a `profile_name`. |
36-
| `profile_name` | Optional | A credentials profile name. For more information, please see the [boto3 |
37+
| `profile_name` | Optional | A credentials profile name. For more information, please see the [boto3 Documentation](http://boto3.readthedocs.io/en/latest/guide/configuration.html#shared-credentials-file) for more information. |
3738
| `region_name` | Optional | The region identifier to connect to. The default is `us-east-1`. |
38-
| `name` | Optional | Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`.
39-
|
40-
| `text_type` | text/ssml | text or ssml: Specify wherever to use text (default) or ssml markup |
41-
39+
| `name` | Optional | Setting the optional parameter `name` allows multiple notifiers to be created. The default value is `notify`. The notifier will bind to the service `notify.NOTIFIER_NAME`. |
40+
| `text_type` | text/ssml | text or ssml: Specify wherever to use text (default) or ssml markup by default. |
41+
| `voice` | Optional | Voice name to be used. See the [Amazon Documentation](http://docs.aws.amazon.com/polly/latest/dg/voicelist.html) for available voices. |
42+
| `output_format` | mp3/ogg_vorbis/pcm | Override the default output format, defaults to MP3. |
43+
| `sample_rate` | 8000/16000/22050 | Override the default sample rate, defaults to 22050 for MP3 and Ogg Vorbis, 16000 for pcm. |
44+
4245
## Usage
4346
Say to all `media_player` device entities:
4447
```yaml

source/_components/zone.markdown

+16-18
Original file line numberDiff line numberDiff line change
@@ -13,29 +13,27 @@ ha_category: Organization
1313

1414
Zones allow you to specify certain regions on earth (for now). When a device tracker sees a device to be within a zone, the state will take the name from the zone. Zones can also be used as a [trigger](/getting-started/automation-trigger/#zone-trigger) or [condition](/getting-started/automation-condition/#zone-condition) inside automation setups.
1515

16-
Zones support the usual method to specify multiple zones, use keys `zone:`, `zone 2:` etc.
16+
The Zone component uses YAML sequences to configure multiple zones:
1717

1818
```yaml
1919
# Example configuration.yaml entry
2020
zone:
21-
name: School
22-
latitude: 32.8773367
23-
longitude: -117.2494053
24-
radius: 250
25-
icon: mdi:school
21+
- name: School
22+
latitude: 32.8773367
23+
longitude: -117.2494053
24+
radius: 250
25+
icon: mdi:school
2626

27-
zone 2:
28-
name: Work
29-
latitude: 32.8753367
30-
longitude: -117.2474053
27+
- name: Work
28+
latitude: 32.8753367
29+
longitude: -117.2474053
3130

32-
# This will override the default home zone
33-
zone 3:
34-
name: Home
35-
latitude: 32.8793367
36-
longitude: -117.2474053
37-
radius: 100
38-
icon: mdi:account-multiple
31+
# This will override the default home zone
32+
- name: Home
33+
latitude: 32.8793367
34+
longitude: -117.2474053
35+
radius: 100
36+
icon: mdi:account-multiple
3937
```
4038
4139
Configuration variables:
@@ -47,7 +45,7 @@ Configuration variables:
4745
- **icon** (*Optional*): Optional icon to show instead of name.
4846
- **passive** (*Optional*): Optional boolean to only use the zone for automation and hide it from the UI and not use the zone for device tracker name. Defaults to false.
4947
50-
To find your latitude/longitude of a certain place you can use for example [Google Maps](https://www.google.nl/maps/) or [Bing Maps](https://www.bing.com/maps). Just right click and copy the coordinates from there (Bing) or click on the "What is here?" (Google)
48+
To find the latitude/longitude of a certain place you can use [Google Maps](https://www.google.com/maps/) or [Bing Maps](https://www.bing.com/maps). Just right click and copy the coordinates from there (Bing) or click on the "What is here?" (Google)
5149
5250
#### {% linkable_title Home zone %}
5351

source/_cookbook/track_battery_level.markdown

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ The `else` part is used to have the sensor keep it's last state if the newest [i
3232

3333
### {% linkable_title Android and iOS Devices %}
3434

35-
While running the [Owntracks](/components/device_tracker.owntracks/) device tracker you can retrieve the battery level with a MQTT sensor.
35+
While running the [Owntracks](/components/device_tracker.owntracks/) device tracker you can retrieve the battery level with a MQTT sensor. Replace username with your MQTT username (for the embedded MQTT it's simply homeassistant), and deviceid with the set Device ID in Owntracks.
3636

3737
```yaml
3838
sensor:
3939
- platform: mqtt
40-
state_topic: "owntracks/tablet/tablet"
40+
state_topic: "owntracks/username/deviceid"
4141
name: "Battery Tablet"
4242
unit_of_measurement: "%"
4343
value_template: {% raw %}'{{ value_json.batt }}'{% endraw %}

0 commit comments

Comments
 (0)