Skip to content

Commit 6817c7f

Browse files
committed
Merge branch 'current' into next
2 parents af85293 + 6679247 commit 6817c7f

28 files changed

+493
-175
lines changed

source/_addons/tellstick.markdown

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,10 @@ You can also use this to list devices or sensors and read the output in the add-
9494
- `"function":"list-sensors"`
9595
- `"function":"list-devices"`: Alternative devices/sensors listing: Shows devices and/or sensors using key=value format (with tabs as separators, one device/sensor per line, no header lines.)
9696

97-
- `"function":"on":"device":"x"`: Turns on device. ’x’ could either be an integer of the device-id, or the name of the device.
97+
- `"function":"on","device":"x"`: Turns on device. ’x’ could either be an integer of the device-id, or the name of the device.
9898

99-
- `"function":"off":"device":"x"`: Turns off device. ’x’ could either be an integer of the device-id, or the name of the device.
99+
- `"function":"off","device":"x"`: Turns off device. ’x’ could either be an integer of the device-id, or the name of the device.
100100

101-
- `"function":"bell":"device":"x"`: Sends bell command to devices supporting this. ’x’ could either be an integer of the device-id, or the name of the device.
101+
- `"function":"bell","device":"x"`: Sends bell command to devices supporting this. ’x’ could either be an integer of the device-id, or the name of the device.
102102

103-
- `"function":"learn":"device":"x"`: Sends a special learn command to devices supporting this. This is normaly devices of ’selflearning’ type. ’x’ could either be an integer of the device-id, or the name of the device.
103+
- `"function":"learn","device":"x"`: Sends a special learn command to devices supporting this. This is normaly devices of ’selflearning’ type. ’x’ could either be an integer of the device-id, or the name of the device.

source/_components/alarm_control_panel.egardia.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ The `egardia` platform enables the ability to control an [Egardia](http://egardi
1616

1717
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

19-
To enable this, add the following lines to your `configuration.yaml`:
19+
To enable this, add the following lines to your `configuration.yaml` file:
2020

2121
```yaml
2222
# Example configuration.yaml entry

source/_components/alarm_control_panel.ialarm.markdown

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ The `ialarm` platform provides connectivity with the [Antifurto365](https://www.
1616

1717
This platform supports the following services: `alarm_arm_away`, `alarm_arm_home` and `alarm_disarm`.
1818

19-
To enable this, add the following lines to your `configuration.yaml`:
19+
To enable this, add the following lines to your `configuration.yaml` file:
2020

2121
```yaml
2222
# Example configuration.yaml entry
@@ -37,7 +37,7 @@ alarm_control_panel:
3737
required: true
3838
type: string
3939
password:
40-
description: Password used to sign into the iAlarm web client.
40+
description: Password used to sign into the iAlarm web client. If it has a leading zero you need to put the password within quotes.
4141
required: true
4242
type: string
4343
name:

source/_components/calendar.caldav.markdown

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,6 @@ custom_calendars:
7070
required: true
7171
pending_charges: Regular expression for filtering the events
7272
type: string
73-
all_day:
74-
required: false
75-
description: Include events that last the whole day.
76-
type: boolean
77-
default: true
7873
{% endconfiguration %}
7974
8075

source/_components/cloud.markdown

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,3 +93,7 @@ Currently, the following domains are available to be used with Alexa:
9393
- switch
9494

9595
[alexa skill]: https://alexa.amazon.com/spa/index.html#skills/dp/B0772J1QKB/?ref=skill_dsk_skb_sr_2
96+
97+
### {% linkable_title Frequently Asked Questions %}
98+
99+
You can find a list of frequently asked questions (and their answers) in [this blog post](https://home-assistant.io/blog/2017/12/17/introducing-home-assistant-cloud/#faq).

source/_components/cover.zwave.markdown

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
layout: page
33
title: "Z-Wave Cover"
44
description: "Instructions how to setup the Z-Wave covers within Home Assistant."
5-
date: 2016-08-24 14:15
5+
date: 2016-12-18 19:41
66
sidebar: true
77
comments: false
88
sharing: true
@@ -16,3 +16,12 @@ ha_iot_class: "Local Push"
1616
Z-Wave garage doors, blinds, and roller shutters are supported as cover in Home Assistant.
1717

1818
To get your Z-Wave covers working with Home Assistant, follow the instructions for the general [Z-Wave component](/components/zwave/).
19+
20+
If you discover that you need to [invert the operation]](/docs/z-wave/installation/#invert_openclose_buttons) of open/close for a particular device, you may change this behavior in your Z-Wave section of your `configuration.yaml` file as follows:
21+
22+
```yaml
23+
zwave:
24+
device_config:
25+
cover.my_cover:
26+
invert_openclose_buttons: true
27+
```

source/_components/device_tracker.meraki.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ After you configure access to the Meraki CMX API, add the following to your `con
2020
# Example configuration.yaml entry
2121
device_tracker:
2222
- platform: meraki
23-
secret: your_secert
23+
secret: your_secret
2424
validator: meraki_validator
2525
```
2626

source/_components/device_tracker.unifi.markdown

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Configuration variables:
3333
- **password** (*Required*): The password for your given admin account.
3434
- **site_id** (*Optional*): Allows you to specify a `site_id` for device tracking. Defaults to `default`. Found in the URL of the controller (i.e. https://CONTROLLER:PORT/manage/site/SITE_ID/dashboard).
3535
- **verify_ssl** (*Optional*): Controls if the SSL certificate running on your Unifi webserver must be trusted by a known Certificate Authority on the server running Home Assistant. Defaults to 'True' but can also be a value that points to your custom cert "path/to/custom_cert.pem".
36-
- **detection_time** (*Optional*): The Unifi component will not return a device that has not been seen by the controller in the last 180 seconds. You can adjust this threshold with this variable and accepts seconds or `00:00:00` time formats.
36+
- **detection_time** (*Optional*): The Unifi component will only return devices that have been seen by the controller in the last 180 seconds. You can adjust this threshold with this variable and accepts seconds or `00:00:00` time formats.
3737

3838
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
3939

source/_components/google_assistant.markdown

Lines changed: 26 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,15 @@ featured: true
1313
ha_release: 0.56
1414
---
1515

16-
# Google Assistant Docs
16+
The `google_assistant` component allows you to control things via Google Assistant (on your mobile or tablet) or a Google Home device.
17+
1718
The Google Assistant component requires a bit more setup than most due to the way Google requires Assistant Apps to be set up.
1819

1920
<p class='note'>
2021
To use Google Assistant your Home Assistant configuration has to be externally accessible, with a hostname and SSL certificate. If you haven't already configured that you should do so before continuing.
2122
</p>
2223

23-
### {% linkable_title Configuration %}
24+
To enable this, add the following lines to your `configuration.yaml` file:
2425

2526
```yaml
2627
# Example configuration.yaml entry
@@ -36,20 +37,15 @@ google_assistant:
3637
- group
3738
```
3839
39-
*Note:* It's very important that you use very long strings for `client_id` and `access_token`. Those are essentially the credentials to your Home Assistant instance. You can generate them with the following command:
40-
41-
`cat /dev/urandom|fold -w 120|head -n 1|base64 -w 0|tr -dc '0-9A-Za-z'|cut -c -80`
42-
43-
If you're not using Linux, you can use sites such as [this one](https://www.browserling.com/tools/random-string) to generate a random string (containing mixed case letters and numbers) of up to 80 characters.
40+
Configuration variables:
4441
45-
*Configuration Variables:*
46-
* *expose_by_default* (Optional): Expose devices in all supported domains by default.
47-
* *project_id* (Required): Project ID from the Google Developer console (looks like `words-2ab12`)
48-
* *client_id* (Required): A long random URL safe string (no spaces or special characters) that will be used for Implicit OAuth.
49-
* *access_token* (Required): Another different long random URL safe string.
50-
* *agent_user_id* (Optional): A string to identify the user, e.g., email address. If not provided, the component will generate one.
51-
* *api_key* (Optional): An API Key generated for the project from [Google Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) which allows you to update devices without unlinking and relinking an account (see setup below). If not provided then the request_sync service is not exposed.
52-
* *exposed_domains* (Optional): An array of Home Assistant domains to expose to Google Assistant. Options include:
42+
- **expose_by_default** (*Optional*): Expose devices in all supported domains by default.
43+
- **project_id** (*Required*): Project ID from the Google Developer console (looks like `words-2ab12`)
44+
- **client_id** (*Required*): A long random URL safe string (no spaces or special characters) that will be used for Implicit OAuth.
45+
- **access_token** (*Required*): Another different long random URL safe string.
46+
- **agent_user_id** (*Optional*): A string to identify the user, e.g., email address. If not provided, the component will generate one.
47+
- **api_key** (*Optional*): An API Key generated for the project from [Google Console](https://console.cloud.google.com/apis/api/homegraph.googleapis.com/overview) which allows you to update devices without unlinking and relinking an account (see setup below). If not provided then the request_sync service is not exposed.
48+
- **exposed_domains** (*Optional*): An array of Home Assistant domains to expose to Google Assistant. Options include:
5349
- `switch`
5450
- `light`
5551
- `cover`
@@ -60,6 +56,15 @@ If you're not using Linux, you can use sites such as [this one](https://www.brow
6056
- `script`
6157
- `climate`
6258

59+
It's very important that you use very long strings for `client_id` and `access_token`. Those are essentially the credentials to your Home Assistant instance. You can generate them with the following command:
60+
61+
```bash
62+
$ cat /dev/urandom | fold -w 120 | head -n 1 | base64 -w 0 | tr -dc '0-9A-Za-z' | cut -c -80
63+
```
64+
65+
If you're not using Linux, you can use sites such as [this one](https://www.browserling.com/tools/random-string) to generate a random string (containing mixed case letters and numbers) of up to 80 characters.
66+
67+
6368
You can also customize your devices similar to other components by adding keys to entities:
6469

6570
```yaml
@@ -77,11 +82,12 @@ homeassistant:
7782
google_assistant_type: light
7883
```
7984

80-
*Entity Customization Keys:*
81-
* *google_assistant*: True exposes entity, false will hide it
82-
* *google_assistant_name*: Can be used to override the primary name of an entity. By default the `friendly_name` of an entity is used.
83-
* *google_assistant_type*: Can be used to override the domain/type of an entity. For example a switch can be treated as a light
84-
* *aliases*: Provides "nicknames" to Google Assistant. These function as alternate names for an entity that Assistant will understand when spoken.
85+
Entity Customization Keys:
86+
87+
- **google_assistant**: True exposes entity, false will hide it.
88+
- **google_assistant_name**: Can be used to override the primary name of an entity. By default the `friendly_name` of an entity is used.
89+
- **google_assistant_type**: Can be used to override the domain/type of an entity. For example a switch can be treated as a light
90+
- **aliases**: Provides "nicknames" to Google Assistant. These function as alternate names for an entity that Assistant will understand when spoken.
8591

8692
### {% linkable_title Setup %}
8793

source/_components/hue.markdown

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,15 +127,15 @@ script:
127127

128128
*Note*: `group_name` is not linked to Home Assistant group name.
129129

130-
*** Finding Group and Scene Names ***
130+
### {% linkable_title Finding Group and Scene Names %}
131131

132132
How do you find these names?
133133

134134
The easiest way to do this is only use the scenes from the 2nd generation Hue app. That is organized by room (group) and scene Name. Use the values of room name and scene name that you see in the app. You can test these work on the `dev-service` console of your Home Assistant instance.
135135

136136
Alternatively, you can dump all rooms and scene names using this [gist](https://gist.github.com/sdague/5479b632e0fce931951c0636c39a9578). This does **not** tell you which groups and scenes work together but it's sufficient to get values that you can test in the `dev-service` console.
137137

138-
*** Caveats ***
138+
### {% linkable_title Caveats %}
139139

140140
The Hue API doesn't activate scenes directly, only on a Hue Group (typically rooms, especially if using the 2nd gen app). But Hue Scenes don't actually reference their group. So heuristic matching is used.
141141

source/_components/input_number.markdown

Lines changed: 51 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -39,17 +39,49 @@ input_number:
3939
mode: box
4040
```
4141
42-
Configuration variables:
4342
44-
- **[alias]** (*Required*): Alias for the input. Multiple entries are allowed.
45-
- **min** (*Required*): Minimum value.
46-
- **max** (*Required*): Maximum value.
47-
- **name** (*Optional*): Friendly name of the input.
48-
- **initial** (*Optional*): Initial value when Home Assistant starts. Defaults to 0.
49-
- **step** (*Optional*): Step value for the slider. Defaults to 1.
50-
- **mode** (*Optional*): Can specify `box`, or `slider`. Defaults to `slider`.
51-
- **unit_of_measurement** (*Optional*): Unit of measurement in which the value of the slider is expressed in.
52-
- **icon** (*Optional*): Icon to display in front of the box/slider in the frontend. Refer to the [Customizing devices](https://home-assistant.io/docs/configuration/customizing-devices/#possible-values) page for possible values.
43+
{% configuration %}
44+
input_number:
45+
description: Alias for the input. Multiple entries are allowed.
46+
required: true
47+
type: map
48+
keys:
49+
min:
50+
description: Minimum value.
51+
required: true
52+
type: float
53+
max:
54+
description: Maxium value.
55+
required: true
56+
type: float
57+
name:
58+
description: Friendly name of the input.
59+
required: false
60+
type: string
61+
initial:
62+
description: Initial value when Home Assistant starts.
63+
required: false
64+
type: float
65+
default: 0
66+
step:
67+
description: Step value for the slider. Smallest value `0.001`.
68+
required: false
69+
type: float
70+
default: 1
71+
mode:
72+
description: Can specify `box` or `slider`.
73+
required: false
74+
type: box | slider
75+
default: slider
76+
unit_of_measurement:
77+
description: Unit of measurement in which the value of the slider is expressed in.
78+
required: false
79+
type: string
80+
icon:
81+
description: Icon to display in front of the box/slider in the frontend. Refer to the [Customizing devices](https://home-assistant.io/docs/configuration/customizing-devices/#possible-values) page for possible values.
82+
required: false
83+
type: icon
84+
{% endconfiguration %}
5385

5486
## {% linkable_title Automation Examples %}
5587

@@ -75,8 +107,7 @@ automation:
75107
# Note the use of 'data_template:' below rather than the normal 'data:' if you weren't using an input variable
76108
data_template:
77109
entity_id: light.bedroom
78-
brightness: '{{ trigger.to_state.state | int }}'
79-
110+
brightness: "{{ trigger.to_state.state | int }}"
80111
```
81112
{% endraw %}
82113

@@ -114,7 +145,7 @@ automation:
114145
# Again, note the use of 'data_template:' rather than the normal 'data:' if you weren't using an input variable.
115146
data_template:
116147
entity_id: light.bedroom
117-
brightness: '{{ states.input_number.bedroom_brightness.state | int }}'
148+
brightness: "{{ states('input_number.bedroom_brightness') | int }}"
118149
```
119150
{% endraw %}
120151

@@ -131,29 +162,32 @@ input_number:
131162
step: 1
132163
unit_of_measurement: step
133164
icon: mdi:target
165+
134166
# This automation script runs when a value is received via MQTT on retained topic: setTemperature
135167
# It sets the value slider on the GUI. This slides also had its own automation when the value is changed.
136168
automation:
137169
- alias: Set temp slider
138170
trigger:
139171
platform: mqtt
140-
topic: "setTemperature"
172+
topic: 'setTemperature'
141173
action:
142174
service: input_number.set_value
143175
data_template:
144176
entity_id: input_number.target_temp
145-
value: '{{ trigger.payload}}'
177+
value: "{{ trigger.payload }}"
178+
146179
# This automation script runs when the target temperature slider is moved.
147180
# It publishes its value to the same MQTT topic it is also subscribed to.
181+
automation:
148182
- alias: Temp slider moved
149183
trigger:
150184
platform: state
151185
entity_id: input_number.target_temp
152186
action:
153187
service: mqtt.publish
154188
data_template:
155-
topic: "setTemperature"
189+
topic: 'setTemperature'
156190
retain: true
157-
payload: '{{ states.input_number.target_temp.state | int }}'
191+
payload: "{{ states('input_number.target_temp') | int }}"
158192
```
159193
{% endraw %}

source/_components/media_player.sonos.markdown

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ Clear the sleep timer on a speaker, if one is set.
109109

110110
### {% linkable_title Service `sonos_update_alarm` %}
111111

112-
Update an existing sonos alarm.
112+
Update an existing Sonos alarm.
113113

114114
| Service data attribute | Optional | Description |
115115
| ---------------------- | -------- | ----------- |
@@ -119,3 +119,15 @@ Update an existing sonos alarm.
119119
| `volume` | yes | Float for volume level.
120120
| `enabled` | yes | Boolean for whether or not to enable this alarm.
121121
| `include_linked_zones` | yes | Boolean that defines if the alarm also plays on grouped players.
122+
123+
### {% linkable_title Service `sonos_set_option` %}
124+
125+
Set Sonos speaker options.
126+
127+
Night Sound and Speech Enhancement modes are only supported on Sonos PLAYBAR and PLAYBASE speakers when playing from the TV source. Other speaker types will ignore these options.
128+
129+
| Service data attribute | Optional | Description |
130+
| ---------------------- | -------- | ----------- |
131+
| `entity_id` | no | String or list of `entity_id`s that will have their options set.
132+
| `night_sound` | yes | Boolean to control Night Sound mode.
133+
| `speech_enhance` | yes | Boolean to control Speech Enhancement mode.

source/_components/notify.html5.markdown

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,12 @@ Configuration variables:
4141

4242
#### {% linkable_title Verify your domain with Hass.io %}
4343

44-
1. For verifying your domain you need to download a file in step 2.
45-
2. Create a dictionary named "www" in you Hass.io configuration directory.
46-
3. Place the file (something like this: google*.html) in the "www" directory.
47-
4. You can open it by going to **https://yourdomain/local/exact_file_name.html**
48-
5. Proceed with step 3.
44+
1. Set `https://yourdomain/local/` as URL.
45+
2. For verifying your domain you need to download a file in step 2.
46+
3. Create a directory named "www" in you Hass.io configuration directory.
47+
4. Place the file (something like this: google*.html) in the "www" directory.
48+
5. Verify the domain.
49+
6. Proceed with step 3.
4950

5051
### {% linkable_title Requirements %}
5152

source/_components/switch.hook.markdown

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,17 @@ Configure with either your username/password or your API token for the official
2424

2525
```yaml
2626
# Example configuration.yaml entry
27-
- platform: hook
28-
username: <email address>
29-
password: !secret hook
27+
switch:
28+
- platform: hook
29+
username: <email address>
30+
password: !secret hook
3031
```
3132
Or
3233
```yaml
3334
# Example configuration.yaml entry
34-
- platform: hook
35-
token: <your API token>
35+
switch:
36+
- platform: hook
37+
token: <your API token>
3638
```
3739
3840
Extra debug logging is available, if you need it.

source/_components/tellstick.markdown

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,15 @@ To get started, add the devices to your `configuration.yaml` file.
2121
tellstick:
2222
```
2323
24+
```yaml
25+
# Example configuration.yaml entry for hass.io with TellStick add-on
26+
tellstick:
27+
host: core-tellstick
28+
port: [50800, 50801]
29+
```
2430
Configuration variables:
2531
2632
- **signal_repetitions** (*Optional*): Because the tellstick sends its actions via radio and from most receivers it's impossible to know if the signal was received or not. Therefore you can configure the switch and light to try to send each signal repeatedly.
2733
- **host** (*Optional*): If you run tellstick on a other server or with a hass.io add-on.
28-
- **port** (*Optional*): If needed with host config option.
34+
- **port** (*Optional*): If needed with host config option. Must be port pair, for example `[50800, 50801]`.
2935

0 commit comments

Comments
 (0)