Merge branch 'current' into next

This commit is contained in:
Fabian Affolter 2017-12-27 19:50:18 +01:00
commit 6817c7fcab
No known key found for this signature in database
GPG key ID: DDF3D6F44AAB1336
28 changed files with 493 additions and 175 deletions

View file

@ -16,7 +16,7 @@ The `egardia` platform enables the ability to control an [Egardia](http://egardi
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.
To enable this, add the following lines to your `configuration.yaml`:
To enable this, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry

View file

@ -16,7 +16,7 @@ The `ialarm` platform provides connectivity with the [Antifurto365](https://www.
This platform supports the following services: `alarm_arm_away`, `alarm_arm_home` and `alarm_disarm`.
To enable this, add the following lines to your `configuration.yaml`:
To enable this, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
@ -37,7 +37,7 @@ alarm_control_panel:
required: true
type: string
password:
description: Password used to sign into the iAlarm web client.
description: Password used to sign into the iAlarm web client. If it has a leading zero you need to put the password within quotes.
required: true
type: string
name:

View file

@ -70,11 +70,6 @@ custom_calendars:
required: true
pending_charges: Regular expression for filtering the events
type: string
all_day:
required: false
description: Include events that last the whole day.
type: boolean
default: true
{% endconfiguration %}

View file

@ -93,3 +93,7 @@ Currently, the following domains are available to be used with Alexa:
- switch
[alexa skill]: https://alexa.amazon.com/spa/index.html#skills/dp/B0772J1QKB/?ref=skill_dsk_skb_sr_2
### {% linkable_title Frequently Asked Questions %}
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).

View file

@ -2,7 +2,7 @@
layout: page
title: "Z-Wave Cover"
description: "Instructions how to setup the Z-Wave covers within Home Assistant."
date: 2016-08-24 14:15
date: 2016-12-18 19:41
sidebar: true
comments: false
sharing: true
@ -16,3 +16,12 @@ ha_iot_class: "Local Push"
Z-Wave garage doors, blinds, and roller shutters are supported as cover in Home Assistant.
To get your Z-Wave covers working with Home Assistant, follow the instructions for the general [Z-Wave component](/components/zwave/).
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:
```yaml
zwave:
device_config:
cover.my_cover:
invert_openclose_buttons: true
```

View file

@ -20,7 +20,7 @@ After you configure access to the Meraki CMX API, add the following to your `con
# Example configuration.yaml entry
device_tracker:
- platform: meraki
secret: your_secert
secret: your_secret
validator: meraki_validator
```

View file

@ -33,7 +33,7 @@ Configuration variables:
- **password** (*Required*): The password for your given admin account.
- **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).
- **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".
- **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.
- **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.
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.

View file

@ -13,14 +13,15 @@ featured: true
ha_release: 0.56
---
# Google Assistant Docs
The `google_assistant` component allows you to control things via Google Assistant (on your mobile or tablet) or a Google Home device.
The Google Assistant component requires a bit more setup than most due to the way Google requires Assistant Apps to be set up.
<p class='note'>
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.
</p>
### {% linkable_title Configuration %}
To enable this, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
@ -36,20 +37,15 @@ google_assistant:
- group
```
*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:
Configuration variables:
`cat /dev/urandom|fold -w 120|head -n 1|base64 -w 0|tr -dc '0-9A-Za-z'|cut -c -80`
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.
*Configuration Variables:*
* *expose_by_default* (Optional): Expose devices in all supported domains by default.
* *project_id* (Required): Project ID from the Google Developer console (looks like `words-2ab12`)
* *client_id* (Required): A long random URL safe string (no spaces or special characters) that will be used for Implicit OAuth.
* *access_token* (Required): Another different long random URL safe string.
* *agent_user_id* (Optional): A string to identify the user, e.g., email address. If not provided, the component will generate one.
* *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.
* *exposed_domains* (Optional): An array of Home Assistant domains to expose to Google Assistant. Options include:
- **expose_by_default** (*Optional*): Expose devices in all supported domains by default.
- **project_id** (*Required*): Project ID from the Google Developer console (looks like `words-2ab12`)
- **client_id** (*Required*): A long random URL safe string (no spaces or special characters) that will be used for Implicit OAuth.
- **access_token** (*Required*): Another different long random URL safe string.
- **agent_user_id** (*Optional*): A string to identify the user, e.g., email address. If not provided, the component will generate one.
- **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.
- **exposed_domains** (*Optional*): An array of Home Assistant domains to expose to Google Assistant. Options include:
- `switch`
- `light`
- `cover`
@ -60,6 +56,15 @@ If you're not using Linux, you can use sites such as [this one](https://www.brow
- `script`
- `climate`
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:
```bash
$ cat /dev/urandom | fold -w 120 | head -n 1 | base64 -w 0 | tr -dc '0-9A-Za-z' | cut -c -80
```
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.
You can also customize your devices similar to other components by adding keys to entities:
```yaml
@ -77,11 +82,12 @@ homeassistant:
google_assistant_type: light
```
*Entity Customization Keys:*
* *google_assistant*: True exposes entity, false will hide it
* *google_assistant_name*: Can be used to override the primary name of an entity. By default the `friendly_name` of an entity is used.
* *google_assistant_type*: Can be used to override the domain/type of an entity. For example a switch can be treated as a light
* *aliases*: Provides "nicknames" to Google Assistant. These function as alternate names for an entity that Assistant will understand when spoken.
Entity Customization Keys:
- **google_assistant**: True exposes entity, false will hide it.
- **google_assistant_name**: Can be used to override the primary name of an entity. By default the `friendly_name` of an entity is used.
- **google_assistant_type**: Can be used to override the domain/type of an entity. For example a switch can be treated as a light
- **aliases**: Provides "nicknames" to Google Assistant. These function as alternate names for an entity that Assistant will understand when spoken.
### {% linkable_title Setup %}

View file

@ -127,7 +127,7 @@ script:
*Note*: `group_name` is not linked to Home Assistant group name.
*** Finding Group and Scene Names ***
### {% linkable_title Finding Group and Scene Names %}
How do you find these names?
@ -135,7 +135,7 @@ The easiest way to do this is only use the scenes from the 2nd generation Hue ap
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.
*** Caveats ***
### {% linkable_title Caveats %}
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.

View file

@ -39,17 +39,49 @@ input_number:
mode: box
```
Configuration variables:
- **[alias]** (*Required*): Alias for the input. Multiple entries are allowed.
- **min** (*Required*): Minimum value.
- **max** (*Required*): Maximum value.
- **name** (*Optional*): Friendly name of the input.
- **initial** (*Optional*): Initial value when Home Assistant starts. Defaults to 0.
- **step** (*Optional*): Step value for the slider. Defaults to 1.
- **mode** (*Optional*): Can specify `box`, or `slider`. Defaults to `slider`.
- **unit_of_measurement** (*Optional*): Unit of measurement in which the value of the slider is expressed in.
- **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.
{% configuration %}
input_number:
description: Alias for the input. Multiple entries are allowed.
required: true
type: map
keys:
min:
description: Minimum value.
required: true
type: float
max:
description: Maxium value.
required: true
type: float
name:
description: Friendly name of the input.
required: false
type: string
initial:
description: Initial value when Home Assistant starts.
required: false
type: float
default: 0
step:
description: Step value for the slider. Smallest value `0.001`.
required: false
type: float
default: 1
mode:
description: Can specify `box` or `slider`.
required: false
type: box | slider
default: slider
unit_of_measurement:
description: Unit of measurement in which the value of the slider is expressed in.
required: false
type: string
icon:
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.
required: false
type: icon
{% endconfiguration %}
## {% linkable_title Automation Examples %}
@ -75,8 +107,7 @@ automation:
# Note the use of 'data_template:' below rather than the normal 'data:' if you weren't using an input variable
data_template:
entity_id: light.bedroom
brightness: '{{ trigger.to_state.state | int }}'
brightness: "{{ trigger.to_state.state | int }}"
```
{% endraw %}
@ -114,7 +145,7 @@ automation:
# Again, note the use of 'data_template:' rather than the normal 'data:' if you weren't using an input variable.
data_template:
entity_id: light.bedroom
brightness: '{{ states.input_number.bedroom_brightness.state | int }}'
brightness: "{{ states('input_number.bedroom_brightness') | int }}"
```
{% endraw %}
@ -131,20 +162,23 @@ input_number:
step: 1
unit_of_measurement: step
icon: mdi:target
# This automation script runs when a value is received via MQTT on retained topic: setTemperature
# It sets the value slider on the GUI. This slides also had its own automation when the value is changed.
automation:
- alias: Set temp slider
trigger:
platform: mqtt
topic: "setTemperature"
topic: 'setTemperature'
action:
service: input_number.set_value
data_template:
entity_id: input_number.target_temp
value: '{{ trigger.payload}}'
value: "{{ trigger.payload }}"
# This automation script runs when the target temperature slider is moved.
# It publishes its value to the same MQTT topic it is also subscribed to.
automation:
- alias: Temp slider moved
trigger:
platform: state
@ -152,8 +186,8 @@ automation:
action:
service: mqtt.publish
data_template:
topic: "setTemperature"
topic: 'setTemperature'
retain: true
payload: '{{ states.input_number.target_temp.state | int }}'
payload: "{{ states('input_number.target_temp') | int }}"
```
{% endraw %}

View file

@ -109,7 +109,7 @@ Clear the sleep timer on a speaker, if one is set.
### {% linkable_title Service `sonos_update_alarm` %}
Update an existing sonos alarm.
Update an existing Sonos alarm.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
@ -119,3 +119,15 @@ Update an existing sonos alarm.
| `volume` | yes | Float for volume level.
| `enabled` | yes | Boolean for whether or not to enable this alarm.
| `include_linked_zones` | yes | Boolean that defines if the alarm also plays on grouped players.
### {% linkable_title Service `sonos_set_option` %}
Set Sonos speaker options.
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.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | String or list of `entity_id`s that will have their options set.
| `night_sound` | yes | Boolean to control Night Sound mode.
| `speech_enhance` | yes | Boolean to control Speech Enhancement mode.

View file

@ -41,11 +41,12 @@ Configuration variables:
#### {% linkable_title Verify your domain with Hass.io %}
1. For verifying your domain you need to download a file in step 2.
2. Create a dictionary named "www" in you Hass.io configuration directory.
3. Place the file (something like this: google*.html) in the "www" directory.
4. You can open it by going to **https://yourdomain/local/exact_file_name.html**
5. Proceed with step 3.
1. Set `https://yourdomain/local/` as URL.
2. For verifying your domain you need to download a file in step 2.
3. Create a directory named "www" in you Hass.io configuration directory.
4. Place the file (something like this: google*.html) in the "www" directory.
5. Verify the domain.
6. Proceed with step 3.
### {% linkable_title Requirements %}

View file

@ -24,15 +24,17 @@ Configure with either your username/password or your API token for the official
```yaml
# Example configuration.yaml entry
- platform: hook
username: <email address>
password: !secret hook
switch:
- platform: hook
username: <email address>
password: !secret hook
```
Or
```yaml
# Example configuration.yaml entry
- platform: hook
token: <your API token>
switch:
- platform: hook
token: <your API token>
```
Extra debug logging is available, if you need it.

View file

@ -21,9 +21,15 @@ To get started, add the devices to your `configuration.yaml` file.
tellstick:
```
```yaml
# Example configuration.yaml entry for hass.io with TellStick add-on
tellstick:
host: core-tellstick
port: [50800, 50801]
```
Configuration variables:
- **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.
- **host** (*Optional*): If you run tellstick on a other server or with a hass.io add-on.
- **port** (*Optional*): If needed with host config option.
- **port** (*Optional*): If needed with host config option. Must be port pair, for example `[50800, 50801]`.

View file

@ -35,7 +35,7 @@ tts:
language: 'de'
```
If you are using SSL certificate or Docker, you may need to add the `base_url` configuration variable to your `html` component as follows:
If you are using SSL certificate or Docker, you may need to add the `base_url` configuration variable to your `http` component as follows:
```yaml
#Example configuration.yaml entry

View file

@ -244,6 +244,6 @@ That means that Home Assistant is not getting any response from your Xiaomi gate
- Try to disable and then enable LAN access.
- Hard reset the gateway: Press the button of the gateway 30 seconds and start again from scratch.
- If you are using Home Assistant in [Docker](/docs/installation/docker/), make sure to use `--net=host`.
- If you receive an `{"error":"Invalid key"}` in your log while trying to control the gateway light, you should generate the key again using an Android Phone or alternativly an emulator such as [bluestacks](https://www.bluestacks.com). In some instances there is an issue with keys being generated using the iOS application.
- If you receive an `{"error":"Invalid key"}` in your log while trying to control the gateway light, you should generate the key again using an Android Phone or alternatively an emulator such as [bluestacks](https://www.bluestacks.com). In some instances there is an issue with keys being generated using the iOS application.
- If the required library "PyXiaomiGateway" cannot be installed you will need to install some missing system dependencies `python3-dev`, `libssl-dev`, `libffi-dev` manually (e.g., `$ sudo apt-get install python3-dev libssl-dev libffi-dev`).