Merge pull request #4519 from home-assistant/release-0-62

0.62
This commit is contained in:
Paulus Schoutsen 2018-01-26 21:08:19 -08:00 committed by GitHub
commit 3c453c54eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
62 changed files with 2041 additions and 119 deletions

View File

@ -1 +1 @@
2.4.1
2.4.1

View File

@ -139,12 +139,12 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 61
current_patch_version: 1
date_released: 2018-01-16
current_minor_version: 62
current_patch_version: 0
date_released: 2018-01-27
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
# Major release:
patch_version_notes: "#release-0611---january-16"
patch_version_notes: "#"
# Minor release (Example #release-0431---april-25):

View File

@ -36,6 +36,8 @@ Load and update configuration files for Home Assistant from a GIT repository.
- **auto_restart** (*Optional*): Make a restart of Home-Assistant if the config have change and is valid.
- **repeat/active** (*Optional*): Pull periodic for GIT updates.
- **repeat/interval** (*Optional*): Pull all x seconds and look for changes.
- **deployment_user** (*Optional*): Username to use when authenticating to a repo with a username and password.
- **deployment_password** (*Optional*): Password to use when authenticating to a repo. Ignored if deployment_user is not set.
- **deployment_key** (*Optional*): A private SSH key that will be used for communication during git operations. This key is mandatory for ssh-accessed repositories, which are the ones with the following pattern: `<user>@<host>:<repository path>`.
- **deployment_key_protocol** (*Optional*): The key protocol. Default is "rsa". Valid protocols are:

View File

@ -21,6 +21,7 @@ There are a few ways that you can use Amazon Echo and Home Assistant together.
- [Build custom commands to use](#i-want-to-build-custom-commands-to-use-with-echo)
- [Create a new Flash Briefing source](#flash-briefing-skills)
- [Use the Smart Home API to control lights, etc](#smart-home)
- Alternative: use the [Emulated Hue component][emulated-hue-component] to trick Alexa to thinking Home Assistant is a Philips Hue hub.
Amazon has released [Echosim], a website that simulates the Alexa service in your browser. That way it is easy to test your skills without having access to a physical Amazon Echo.
@ -332,6 +333,50 @@ Please refer to the [Amazon documentation][flash-briefing-api-docs] for more inf
- Having passed all validations to reach this screen, you can now click on "< Back to All Skills" as your flash briefing is now available as in "Development" service.
- To invoke your flash briefing, open the Alexa app on your phone or go to the [Alexa Settings Site][alexa-settings-site], open the "Skills" configuration section, select "Your Skills", scroll to the bottom, tap on the Flash Briefing Skill you just created, enable it, then manage Flash Briefing and adjust ordering as necessary. Finally ask your Echo for your "news","flash briefing", or "briefing".
## {% linkable_title Smart Home %}
While the Skills API described above allows for arbitrary intents, all
utterances must begin with "Alexa, tell $invocation_name ..."
The [Emulated Hue component][emulated-hue-component] provides a simpler
interface such as, "Alexa, turn on the kitchen light". However it has some
limitations since everything looks like a light bulb.
Amazon provides a Smart Home API for richer home automation control. It takes
considerable effort to configure. The easy solution is to use
[Home Assistant Cloud](/components/cloud/).
If you don't want to use Home Assistant Cloud and are willing to do the
integration work yourself, Home Assistant can expose an HTTP API which makes
the integration work easier. Example configuration:
```yaml
alexa:
smart_home:
filter:
include_entities:
- light.kitchen
- light.kitchen_left
include_domains:
- switch
exclude_entities:
- switch.outside
entity_config:
light.kitchen:
name: Custom Name for Alexa
description: The light in the kitchen
switch.stairs:
display_categories: LIGHT
```
This exposes an HTTP POST endpoint at `http://your_hass_ip/api/alexa/smart_home`
which accepts and returns messages conforming to the
[Smart Home v3 payload](https://developer.amazon.com/docs/smarthome/smart-home-skill-api-message-reference.html).
You must then create an Amazon developer account with an Alexa skill and Lambda
function to integrate this endpoint. See
[Haaska](https://github.com/auchter/haaska) for an example.
[amazon-dev-console]: https://developer.amazon.com
[flash-briefing-api]: https://developer.amazon.com/alexa-skills-kit/flash-briefing
[flash-briefing-api-docs]: https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/flash-briefing-skill-api-feed-reference

View File

@ -0,0 +1,25 @@
---
layout: page
title: "API"
description: "Instructions how to setup the RESTful API within Home Assistant."
date: 2018-01-21 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category: "Other"
---
The `api` component exposes a RESTful API and allows one to interact with a Home Assistant instance that is running headless. This component depends on the [`http` component](/components/http/).
<p class='note warning'>
It is HIGHLY recommended that you set the `api_password`, especially if you are planning to expose your installation to the internet.
</p>
```yaml
# Example configuration.yaml entry
api:
```
For details to use the API, please refer to the [REST API](/developers/rest_api/) or the [Python REST API documentation](/developers/python_api/) in the "Developer" section.

View File

@ -0,0 +1,69 @@
---
layout: page
title: "IHC Binary Sensor"
description: "Instructions how to integrate IHC Binary Sensors within Home Assistant."
date: 2017-11-27 13:35
sidebar: true
comments: false
sharing: true
footer: true
logo: ihc.png
ha_category: Binary Sensor
ha_release: 0.62
ha_iot_class: "Local Push"
---
Before you can use the IHC Binary Sensor platform, you must setup the [IHC Component](/components/ihc/)
When auto setup is enabled the following products will be found in the IHC project and setup as binary sensors:
* Dataline magnet contacts
* Dataline Pir sensors
* Dataline Pir sensors with twilight detection
* Dataline Pir alarm sensor
* Dataline smoke detector
* Dataline gas detector
* Dataline light sensor
To manually configure IHC Binary Sensors insert this section in your configuration:
```yaml
binary_sensor:
- platform: ihc
binary_sensors:
- id: 12345
name: mysensor
type: opening
inverting: True
- id: 12346
...
```
{% configuration %}
binary_sensors:
description: List of binary sensors to setup manually.
required: false
type: map
keys:
id:
description: The IHC resource id.
required: true
type: int
inverting:
description: If True the sensor will be inverted.
required: false
type: bool
default: false
name:
description: The name of the component
required: false
type: string
type:
description: The binary sensor type. See [Home Assistant binary sensor](/components/binary_sensor/) for available types.
required: false
type: string
{% endconfiguration %}
The resource id should be an id of a boolean IHC resource.
For more information about IHC resource ids see [Manual Setup](/components/ihc/#manual-setup)

View File

@ -28,8 +28,8 @@ binary_sensor:
Configuration variables:
- **name** (*Optional*): A name for this sensor. Defaults to *Workday Sensor*
- **country** (*Required*): Country code according to [holidays](https://pypi.python.org/pypi/holidays/0.8.1) notation.
- **province** (*Optional*): Province code according to [holidays](https://pypi.python.org/pypi/holidays/0.8.1) notation. Defaults to None.
- **country** (*Required*): Country code according to [holidays](https://pypi.python.org/pypi/holidays/0.9.3) notation.
- **province** (*Optional*): Province code according to [holidays](https://pypi.python.org/pypi/holidays/0.9.3) notation. Defaults to None.
- **workdays** (*Optional*): List of workdays. Defaults to `mon`, `tue`, `wed`, `thu`, `fri`.
- **excludes** (*Optional*): List of workday excludes. Defaults to `sat`, `sun`, `holiday`.
- **days_offset** (*Optional*): Set days offset. Defaults to `0`.

View File

@ -31,6 +31,6 @@ Configuration variables:
- **username** (*Optional*): The username for the camera.
- **password** (*Optional*): The password for the camera.
- **port** (*Optional*): The port for the camera. This defaults to 5000
- **extra_arguments** (*Optional*): Extra options to pass to `ffmpeg`, e.g. image quality or video filter options. More details in [FFmpeg component](/components/ffmpeg).
If you are running into trouble with this sensor, please refer to the [Troubleshooting section](/components/ffmpeg/#troubleshooting).

View File

@ -0,0 +1,89 @@
---
layout: page
title: "Xeoma Camera"
description: "Instructions on how to integrate camera video feeds from a Xeoma server in Home Assistant"
date: 2018-01-12 20:05
sidebar: true
comments: false
sharing: true
footer: true
logo: xeoma.png
ha_category: Camera
ha_iot_class: "Local Polling"
ha_release: 0.62
---
The `Xeoma` camera platform allows you to view the video feeds from a [Xeoma](http://felenasoft.com/xeoma) video surveillance server.
To enable Xeoma camera feeds, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
camera:
- platform: xeoma
host: http://localhost:10090
```
{% configuration %}
host:
description: The URL of the Xeoma server's web interface.
required: true
type: string
username:
description: The username used to access the Xeoma server's web interface.
required: false
type: string
password:
description: The password used to access the Xeoma server's web interface.
required: false
type: string
new_version:
description: Set to false if the Xeoma server version is 17.5 or earlier.
required: false
default: true
type: boolean
cameras:
description: List of customizations for individual Xeoma cameras.
required: false
type: list
keys:
image_name:
description: The name of the JPEG image for this camera as configured in Xeoma (without .jpg extension).
required: true
type: string
name:
description: The name to display in the frontend for this camera.
required: false
default: The `image_name` for this camera.
type: string
hide:
description: Don't show this camera in Home Assistant.
required: false
default: false
type: boolean
{% endconfiguration %}
## {% linkable_title Full examples %}
```yaml
# Example configuration.yaml entry
camera:
- platform: xeoma
host: http://localhost:10090
username: user
password: secretpassword
new_version: false
cameras:
- image_name: front_porch
name: Front Porch
- image_name: back_patio
hide: true
```
To use this platform, you must have the Xeoma Web Server module enabled in at least one of your camera chains.
This platform will parse the Xeoma web interface to find all enabled cameras and add them all to Home Assistant. You can
hide individual cameras using the platform configuration.
The `image_name` configuration value for each camera should match the name supplied to the Xeoma Web Server configuration (under _Path to access images_) with the _.jpg_ extension removed.

View File

@ -17,16 +17,18 @@ ha_iot_class: "Local Polling"
The `daikin` climate platform integrates Daikin air conditioning systems into Home Assistant, enabling control of setting the following parameters:
- **mode** (cool, heat, dry, fan only or auto)
- **fan speed**
- **fan speed** (on supported models)
- **target temperature**
- **swing mode** (on supported models)
Current temperature is displayed.
<p class='note warning'>
Please note, the `daikin` platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant
Please note, the `daikin` platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant. BRP069A42 does not support setting of fan speed or fan swing mode.
</p>
The platform has been integrated with discovery so all your Daikin AC's climate devices can be automatically discovered.
To enable the platform, add the following lines to your `configuration.yaml` file:
```yaml

View File

@ -39,7 +39,7 @@ Configuration variables:
- **hot_tolerance** (*Optional*): Set a minimum amount of difference between the temperature read by the sensor specified in the *target_sensor* option and the target temperature that must change prior to being switched off. For example, if the target temperature is 25 and the tolerance is 0.5 the heater will stop when the sensor equals or goes above 25.5.
- **keep_alive** (*Optional*): Set a keep-alive interval. If set, the switch specified in the *heater* option will be triggered every time the interval elapses. Use with heaters and A/C units that shut off if they don't receive a signal from their remote for a while. Use also with switches that might lose state. The keep-alive call is done with the current valid climate component state (either on or off).
- **initial_operation_mode** (*Optional*): Set the initial operation mode. Valid values are `off` or `auto`. Value has to be double quoted. If this parameter is not set, it is preferable to set a *keep_alive* value. This is helpful to align any discrepancies between *generic_thermostat* and *heater* state.
- **away_temp** (*Optional*): Set the temperature used by "away_mode" (default: 16). Please specify when using `ac_mode: True` to a higher value.
- **away_temp** (*Optional*): Set the temperature used by "away_mode". If this is not specified, away_mode feature will not get activated.
A full configuration example looks like the one below. `min_cycle_duration` and `keep_alive` must contain at least one of the following entries: `days:`, `hours:`, `minutes:`, `seconds:` or `milliseconds:`.

View File

@ -78,6 +78,10 @@ payload_not_available:
required: false
type: string
default: offline
value_template:
description: Default template to render the payloads on *all* `*_state_topic`s with.
type: template
required: false
current_temperature_topic:
description: The MQTT topic on which to listen for the current temperature.
required: false
@ -94,6 +98,10 @@ mode_state_topic:
description: The MQTT topic to subscribe for changes of the HVAC operation mode. If this is not set, the operation mode works in optimistic mode (see below).
required: false
type: string
mode_state_template:
description: A template to render the value received on the `mode_state_topic` with.
required: false
type: template
temperature_command_topic:
description: The MQTT topic to publish commands to change the target temperature.
required: false
@ -102,6 +110,10 @@ temperature_state_topic:
description: The MQTT topic to subscribe for changes in the target temperature. If this is not set, the target temperature works in optimistic mode (see below).
required: false
type: string
temperature_state_template:
description: A template to render the value received on the `temperature_state_topic` with.
required: false
type: template
fan_mode_command_topic:
description: The MQTT topic to publish commands to change the fan mode.
required: false
@ -110,6 +122,10 @@ fan_mode_state_topic:
description: The MQTT topic to subscribe for changes of the HVAC fan mode. If this is not set, the fan mode works in optimistic mode (see below).
required: false
type: string
fan_mode_state_template:
description: A template to render the value received on the `fan_mode_state_topic` with.
required: false
type: template
swing_mode_command_topic:
description: The MQTT topic to publish commands to change the swing mode.
required: false
@ -118,6 +134,10 @@ swing_mode_state_topic:
description: The MQTT topic to subscribe for changes of the HVAC swing mode. If this is not set, the swing mode works in optimistic mode (see below).
required: false
type: string
swing_mode_state_template:
description: A template to render the value received on the `swing_mode_state_topic` with.
required: false
type: template
away_mode_command_topic:
description: The MQTT topic to publish commands to change the away mode.
required: false
@ -126,6 +146,10 @@ away_mode_state_topic:
description: The MQTT topic to subscribe for changes of the HVAC away mode. If this is not set, the away mode works in optimistic mode (see below).
required: false
type: string
away_mode_state_template:
description: A template to render the value received on the `away_mode_state_topic` with.
required: false
type: template
hold_command_topic:
description: The MQTT topic to publish commands to change the hold mode.
required: false
@ -134,6 +158,10 @@ hold_state_topic:
description: The MQTT topic to subscribe for changes of the HVAC hold mode. If this is not set, the hold mode works in optimistic mode (see below).
required: false
type: string
hold_state_template:
description: A template to render the value received on the `hold_state_topic` with.
required: false
type: template
aux_command_topic:
description: The MQTT topic to publish commands to switch auxiliary heat.
required: false
@ -142,12 +170,40 @@ aux_state_topic:
description: The MQTT topic to subscribe for changes of the auxiliary heat mode. If this is not set, the auxiliary heat mode works in optimistic mode (see below).
required: false
type: string
aux_state_template:
description: A template to render the value received on the `aux_state_topic` with.
required: false
type: template
{% endconfiguration %}
#### Optimistic mode
#### {% linkable_title Optimistic mode %}
If a property works in *optimistic mode* (when the corresponding state topic is not set), home assistant will assume that any state changes published to the command topics did work and change the internal state of the entity immediately after publishing to the command topic. If it does not work in optimistic mode, the internal state of the entity is only updated when the requested update is confirmed by the device through the state topic.
#### {% linkable_title Using Templates %}
For all `*_state_topic`s, a template can be specified that will be used to render the incoming payloads on these topics. Also, a default template that applies to all state topis can be specified as `value_template`. This can be useful if you received payloads are e.g. in JSON format. Since in JSON, a quoted string (e.g. `"foo"`) is just a string, this can also be used for unquoting.
Say you receive the operation mode `"auto"` via your `mode_state_topic`, but the mode is actually called just `auto`, here's what you could do:
{% raw %}
```yaml
climate:
- platform: mqtt
name: Study
modes:
- off
- on
- auto
mode_command_topic: "study/ac/mode/set"
mode_state_topic: "study/ac/mode/state"
mode_state_template: "{{ value_json }}"
```
{% endraw %}
This will parse the incoming `"auto"` as JSON, resulting in `auto`. Obvisouly, in this case you could also just set `value_template: {% raw %}"{{ value_json }}"{% endraw %}`.
### {% linkable_title Example %}
A full configuration example looks like the one below.

View File

@ -0,0 +1,77 @@
---
layout: page
title: "Venstar Thermostat"
description: "Instructions for how to integrate Venstar WiFi thermostats within Home Assistant."
date: 2018-01-14 00:04
sidebar: true
comments: false
sharing: true
footer: true
logo: venstar.png
ha_category: Climate
ha_release: 0.62
ha_iot_class: "Local Polling"
---
The `venstar` climate platform allows you to control [Venstar](http://www.venstar.com) thermostats from Home Assistant.
Venstar thermostats feature a local API that allows for automation without the need for a cloud service.
Currently supported and tested thermostats:
- Color Touch T7900
Currently supported functionality:
- Setting heat/cool temperature when the thermostat is in the appropriate mode.
- Changing the operation mode of the thermostat (heat/cool/off/auto)
- Turning the fan on/off
- Setting the humidity level
Note - Please ensure you update your thermostat to the latest firmware. Currently tested on firmware 5.10.
To set it up, add the following information to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
climate:
- platform: venstar
host: IP_OR_HOSTNAME_OF_THERMOSTAT
```
{% configuration %}
host:
description: Address of your thermostat, e.g., 192.168.1.32.
required: true
type: string
username:
description: Username for the thermostat.
required: false
type: string
password:
description: Password for the thermostat.
required: false
type: string
ssl:
description: Whether to use SSL or not when communicating.
required: false
type: boolean
default: False
timeout:
description: Number of seconds for API timeout.
required: false
type: int
default: 5
{% endconfiguration %}
## {% linkable_title Full configuration sample %}
```yaml
# Example configuration.yaml entry
climate:
- platform: venstar
host: IP_OR_HOSTNAME_OF_THERMOSTAT
ssl: True/False
username: OPTIONAL_AUTH_USER_HERE
password: OPTIONAL_AUTH_PASS_HERE
timeout: 5
```

View File

@ -38,7 +38,7 @@ cloud:
- switch.outside
entity_config:
switch.kitchen:
name: Custom Name for Alexa
name: Custom Name for Google Assistant
aliases:
- bright lights
- entry lights
@ -52,7 +52,7 @@ google_actions:
type: map
keys:
filter:
description: Filters for entities to include/exclude from Alexa.
description: Filters for entities to include/exclude from Google Assistant.
required: false
type: map
keys:

View File

@ -0,0 +1,16 @@
---
layout: page
title: "Lutron Cover"
description: "Instructions how to setup the Lutron shades within Home Assistant."
date: 2018-01-11 20:00
sidebar: true
comments: false
sharing: true
footer: true
logo: lutron.png
ha_category: Cover
ha_iot_class: "Local Polling"
ha_release: 0.61
---
To get your Lutron roller shades working with Home Assistant, follow the instructions for the general [Lutron component](/components/lutron/).

View File

@ -16,27 +16,29 @@ ha_iot_class: "Local Polling"
The `daikin` component integrates Daikin air conditioning systems into Home Assistant.
<p class='note warning'>
Please note, the Daikin platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant
</p>
To automatically add all your Daikin devices (ACs and associated sensors) into your Home Assistant installation, add the following to your 'configuration.yaml' file:
<p class='note warning'>
Please note, the Daikin platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant.
</p>
To automatically add all your Daikin devices (ACs and associated sensors) into your Home Assistant installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
# Full manual example configuration.yaml entry
daikin:
hosts:
- 192.168.4.161
monitored_conditions:
- inside_temperature
- outside_temperature
- inside_temperature
- outside_temperature
```
{% configuration %}
hosts:
description: List of IP addresses or hostnames.
required: true
required: false
default: All discovered hosts
type: array
monitored_conditions:
description: List of items you want to monitor for each device.

View File

@ -29,14 +29,47 @@ device_tracker:
http_id: YOUR_HTTP_ID
```
Configuration variables:
- **host** (*Required*): The IP address of your router, e.g. 192.168.1.1.
- **username** (*Required*: The username of an user with administrative privileges, usually *admin*.
- **password** (*Required*): The password for your given admin account.
- **http_id** (*Required*): The value can be obtained by logging in to the Tomato admin interface and search for `http_id` in the page source code.
{% configuration %}
host:
description: "The IP address or hostname of your router, e.g. `192.168.1.1` or `rt-ac68u`."
required: false
type: string
port:
description: "The port number of your router, e.g. `443`."
required: false
type: int
default: 80/443 (automatically detected)
ssl:
description: "Whether to connect via `https`."
required: false
type: bool
default: false
verify_ssl:
description: "If SSL verification for https resources needs to be turned off (for self-signed certs, etc.) this can take on boolean values `False` or `True` or you can pass a location on the device where a certificate can be used for verification e.g. `/mnt/NAS/router_cert.pem`."
required: false
type: [string, bool]
default: true
username:
description: "The username of an user with administrative privileges, usually *admin*."
required: true
type: string
password:
description: "The password for your given admin account."
required: true
type: string
http_id:
description: "The value can be obtained by logging in to the Tomato admin interface and search for `http_id` in the page source code."
required: true
type: string
{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions how to configure the people to be tracked.
A description of the API s available in this [Tomato API](http://paulusschoutsen.nl/blog/2013/10/tomato-api-documentation/) blog post.
SSL Certificate:
Gathering the SSL Certificate of your router can be accomplished with this (or a similar) command:
```bash
openssl s_client -showcerts -connect 172.10.10.1:443 </dev/null 2>/dev/null | openssl x509 -outform PEM > router_cert.pem
```

View File

@ -1,111 +1,139 @@
---
layout: page
title: "Xiaomi Air Purifier 2"
description: "Instructions how to integrate your Xiaomi Air Purifier 2 within Home Assistant."
title: "Xiaomi Air Purifier"
description: "Instructions how to integrate your Xiaomi Air Purifier within Home Assistant."
date: 2017-10-13 12:35
sidebar: true
comments: false
sharing: true
footer: true
logo: xiaomi.png
ha_category: Switch
ha_category: Fan
ha_version: 0.57
ha_iot_class: "Local Polling"
---
The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier 2, Air Purifier 2S and Air Purifier Pro.
Currently, the supported features are
Currently, the supported features are:
* On, Off
* Operation modes (auto, silent, favorite, idle)
* Buzzer (on, off)
* Child lock (on, off)
* LED (on, off), LED brightness (bright, dim, off)
* Favorite Level
* States
* Favorite Level (0...16)
* Attributes
- power
- aqi
- average_aqi
- humidity
- temperature
- mode
- favorite_level
- led
- led_brightness
- buzzer
- child_lock
- brightness
- favorite_level
- filter1_life
- f1_hour_used
- use_time
- motor1_speed
- purify_volume
- filter_life_remaining
- filter_hours_used
- motor_speed
## {% linkable_title Setup %}
Please follow the instructions on [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to get the API token to use in the `configuration.yaml` file.
Please follow the instructions on [Retrieving the Access Token](/components/vacuum.xiaomi_miio/#retrieving-the-access-token) to get the API token.
To add a Xiaomi Air Purifier to your installation, add the following to your `configuration.yaml` file:
```yaml
fan:
# Example configuration.yaml entry
- platform: xiaomi_miio
name: Xiaomi Air Purifier 2
host: 192.168.130.66
token: YOUR_TOKEN
```
Configuration variables:
- **host** (*Required*): The IP of your plug.
- **token** (*Required*): The API token of your plug.
- **name** (*Optional*): The name of your plug.
{% configuration %}
host:
description: The IP address of your fan.
required: true
type: string
token:
description: The API token of your fan.
required: true
type: string
name:
description: The name of your fan.
required: false
type: string
default: Xiaomi Air Purifier
{% endconfiguration %}
## {% linkable_title Platform Services %}
### Service fan/xiaomi_miio_set_buzzer_on
### {% linkable_title Service fan/xiaomi_miio_set_buzzer_on %}
Turn the buzzer on.
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | yes | Only act on specific air purifier. Else targets all. |
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
### Service fan/xiaomi_miio_set_buzzer_off
### {% linkable_title Service fan/xiaomi_miio_set_buzzer_off %}
Turn the buzzer off.
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | yes | Only act on specific air purifier. Else targets all. |
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
### Service fan/xiaomi_miio_set_led_on
### {% linkable_title Service fan/xiaomi_miio_set_led_on %}
Turn the led on.
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | yes | Only act on specific air purifier. Else targets all. |
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
### Service fan/xiaomi_miio_set_led_off
### {% linkable_title Service fan/xiaomi_miio_set_led_off %}
Turn the led off.
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | yes | Only act on specific air purifier. Else targets all. |
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
### Service fan/xiaomi_miio_set_led_brightness
### {% linkable_title Service fan/xiaomi_miio_set_child_lock_on %}
Turn the child lock on.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
### {% linkable_title Service fan/xiaomi_miio_set_child_lock_off %}
Turn the child lock off.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
### {% linkable_title Service fan/xiaomi_miio_set_led_brightness %}
Set the led brightness. Supported values are 0 (Bright), 1 (Dim), 2 (Off).
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | yes | Only act on specific air purifier. Else targets all. |
| `brightness` | no | Brightness, between 0 and 2. |
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
| `brightness` | no | Brightness, between 0 and 2. |
### Service fan/xiaomi_miio_set_favorite_level
### {% linkable_title Service fan/xiaomi_miio_set_favorite_level %}
Set the favorite level of the operation mode "favorite".
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | yes | Only act on specific air purifier. Else targets all. |
| `level` | no | Level, between 0 and 16. |
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | yes | Only act on a specific air purifier. Else targets all. |
| `level` | no | Level, between 0 and 16. |

View File

@ -37,7 +37,7 @@ google_assistant:
- group
entity_config:
switch.kitchen:
name: Custom Name for Alexa
name: Custom Name for Google Assistant
aliases:
- bright lights
- entry lights

View File

@ -65,9 +65,9 @@ http:
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/).
Or use a self signed certificate following the instructions here [Self-signed certificate for SSL/TLS](/docs/ecosystem/certificates/tls_self_signed_certificate/)
Or use a self signed certificate following the instructions here [Self-signed certificate for SSL/TLS](/docs/ecosystem/certificates/tls_self_signed_certificate/).
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/).
On top of the `http` component is a [REST API](/developers/rest_api/), [Python API](/developers/python_api/) and [WebSocket API](/developers/websocket_api/) available. There is also support for [Server-sent events](/developers/server_sent_events/).
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.

View File

@ -0,0 +1,90 @@
---
layout: page
title: "IHC"
description: "Instructions on how to integrate the IHC components with Home Assistant"
date: 2017-11-11 22:00
sidebar: true
comments: false
sharing: true
footer: true
logo: ihc.png
ha_category: Hub
ha_release: "0.62"
ha_iot_class: "Local Push"
---
IHC Controller integration for Home Assistant allows you to connect the LK IHC controller to Home Assistant.
(The controller is sold under other names in different countries - "ELKO Living system" in Sweden and Norway)
An `ihc` section must be present in the `configuration.yaml` file and contain the following options:
```yaml
# Example configuration.yaml entry
ihc:
host: http://192.168.1.3
username: admin
password: mysecret
auto_setup: True
info: True
```
{% configuration %}
auto_setup:
description: True to have IHC products auto setup.
required: false
type: bool
host:
description: The URL of the IHC Controller.
required: true
type: string
info:
description: If True additional IHC info will be shown on each component.
required: false
type: bool
password:
description: The password for the IHC Controller.
required: true
type: string
username:
description: The username for the IHC Controller.
required: true
type: string
{% endconfiguration %}
The info option will show the IHC "name", "note" and "position" attributes.
This will make it easier to identify the IHC products within Home Assistant
There is currently support for the following device types within Home Assistant:
- [Binary Sensor](/components/binary_sensor.ihc/)
- [Sensor](/components/sensor.ihc/)
- [Light](/components/light.ihc/)
- [Switch](/components/switch.ihc/)
### Auto setup of IHC products
If auto setup is enabled, the `ihc` component will automatically find IHC products and insert these as devices in Home Assistant.
To disable this set auto_setup to False. (Auto setup is on by default)
See the individual device types for a list of IHC products to be recognized automatically.
Components will get a default name that is a combination of the IHC group and IHC resource id.
If you want to change the display names use the [Customizing entities](/docs/configuration/customizing-devices/)
### {% linkable_title Manual setup %}
Each device is associated with an IHC resource id.
To manually setup components you specify resource ids from the IHC project.
(The IHC project is the file you edit/upload to the IHC Controller using LK IHC Visual - or similar program if your controller is not the LK brand).
The project file is an XML file and you can view it with any text/XML editor.
You can rename it to have the XML extension and use a browser like Chrome or Internet Explorer.
The resources are the \<airlink_xxx> or \<dataline_xxx> eleements.
Shown as inputs or outputs of products in the IHC application.
You can also use inputs and outputs from function blocks.
These are the \<resource_input> and \<resource_output> elements from the project file.
The IHC resource id should be specified as an integer value. (In the project file the id will be specified as a hex number)
If you want an easier way to get the IHC resource ids, you can download the [Alternative Service View application](https://www.dingus.dk/updated-ihc-alternative-service-view/).
The application will show the product tree. You can expand it, select inputs and outputs and when selected you can see the resource id.
See each device type for the manual configuration options.

View File

@ -0,0 +1,62 @@
---
layout: page
title: "IOTA"
description: "Instructions on how to integrate IOTA wallets with Home Assistant."
date: 2017-12-31 13:29
sidebar: true
comments: false
sharing: true
footer: true
logo: iota.png
ha_category: Finance
ha_release: 0.62
ha_iot_class: "Cloud Polling"
---
[IOTA](http://iota.org/) is a new blockless distributed ledger which is scalable, lightweight and makes it possible to transfer value without any fees.
The `iota` component displays various details (e.g., the balance, node attributes) of IOTA wallets.
```yaml
# configuration.yaml example
iota:
iri: https://testnet140.tangle.works:4434
wallets:
- name: Default Wallet
seed: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
```
{% configuration %}
iri:
description: URL of the IRI node.
required: true
type: string
testnet:
description: Flag for indicating "testnet".
required: false
default: false
type: bool
wallets:
description: List of IOTA wallets.
required: true
type: list
keys:
name:
description: Name of the wallet.
seed:
description: Seed of the wallet.
{% endconfiguration %}
A full configuration example could look the one below:
```yaml
# Full example
iota:
iri: https://testnet140.tangle.works:4434
testnet: true
wallets:
- name: Default Wallet
seed: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
- name: Exchange Wallet
seed: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
```

View File

@ -29,5 +29,7 @@ Configuration variables:
- **host** (*Required*): The IP address of the device the Hyperion service is running on.
- **port** (*Optional*): The port used to communicate with the Hyperion service. Defaults to `19444`.
- **name** (*Optional*): The name of the device used in the frontend.
- **priority** (*Optional*): The priority of the hyperion instance. Defaults to `128`.
- **priority** (*Optional*): The priority of the Hyperion instance. Defaults to `128`.
- **hdmi_priority** (*Optional*): The priority of the HDMI grabber of this Hyperion instance, note that this priority must be higher than all other priorities used for correct behavior. Defaults to `880`.
- **default_color** (*Optional*): The color of the light. Defaults to `[255, 255, 255]`.
- **effect_list** (*Optional*): The list of effects that can be used. Defaults to `['HDMI', 'Cinema brighten lights', 'Cinema dim lights', 'Knight rider', 'Blue mood blobs', 'Cold mood blobs', 'Full color mood blobs', 'Green mood blobs', 'Red mood blobs', 'Warm mood blobs', 'Police Lights Single', 'Police Lights Solid', 'Rainbow mood', 'Rainbow swirl fast', 'Rainbow swirl', 'Random', 'Running dots', 'System Shutdown', 'Snake', 'Sparks Color', 'Sparks', 'Strobe blue', 'Strobe Raspbmc', 'Strobe white', 'Color traces', 'UDP multicast listener', 'UDP listener', 'X-Mas']`.

View File

@ -0,0 +1,65 @@
---
layout: page
title: "IHC Light"
description: "Instructions how to integrate IHC lights within Home Assistant."
date: 2017-11-27 13:35
sidebar: true
comments: false
sharing: true
footer: true
logo: ihc.png
ha_category: Light
ha_release: 0.62
ha_iot_class: "Local Push"
---
Before you can use the IHC Light platform, you must setup the [IHC Component](/components/ihc/)
When auto setup is enabled the following products will be found in the IHC project and setup as light devices:
* Wireless lamp outlet dimmer
* Wireless dimmer
* Wireless combi dimmer 4 buttons
* Wireless lamp outlet relay
* Wireless combi relay 4 buttons
* Wireless mobile dimmer
* Dataline lamp outlet
To manually configure IHC lights insert this section in your configuration:
```yaml
light:
- platform: ihc
lights:
- id: 12345
name: tablelight
dimmable: True
- id: 12346
name: anotherlight
...
```
{% configuration %}
lights:
description: List of lights to setup manually
required: false
type: map
keys:
dimmable:
description: Set to True if the IHC resource is a light level
required: false
type: bool
default: false
id:
description: The IHC resource id.
required: true
type: int
name:
description: The name of the component
required: false
type: string
{% endconfiguration %}
In the example above 12345 is ihc resource id and "tablelight" is the name.
The IHC resource id can be a light level for dimmers or an boolean output of a relay.
For more information about IHC resource ids see [Manual Setup](/components/ihc/#manual-setup)

View File

@ -63,6 +63,11 @@ brightness:
required: false
type: boolean
default: false
brightness_scale:
description: "Defines the maximum brightness value (i.e. 100%) of the MQTT device."
required: false
type: integer
default: 255
color_temp:
description: Flag that defines if the light supports color temperature.
required: false
@ -191,6 +196,29 @@ light:
brightness: true
```
### {% linkable_title Brightness Scaled %}
To enable a light using a brightness scale other than 8bit the `brightness_scale` option may be added to denote the "fully on" value:
```yaml
# Example configuration.yaml entry
light:
- platform: mqtt_json
name: mqtt_json_light_1
state_topic: "home/light"
command_topic: "home/light/set"
brightness: true
brightness_scale: 4095
```
Home Assistant will then convert its 8bit value in the message to and from the device:
```json
{
"brightness": 4095,
"state": "ON",
}
```
### {% linkable_title Implementations %}
- A full example of custom lighting using this platform and an ESP8266 microcontroller can be found [here](https://github.com/corbanmailloux/esp-mqtt-rgb-led). It supports on/off, brightness, transitions, RGB colors, and flashing.

View File

@ -1,7 +1,7 @@
---
layout: page
title: "Belkin WeMo Lights"
description: "Instructions how to integrate Belkin WeMo LED lights into Home Assistant."
description: "Instructions how to integrate Belkin WeMo LED lights and WeMo Dimmer Switch into Home Assistant."
date: 2016-02-20 00:45
sidebar: true
comments: false
@ -14,7 +14,7 @@ ha_release: 0.14
---
The `wemo` platform allows you to control your [Belkin WeMo](http://www.belkin.com/us/p/P-F5Z0489/) LED lights from within Home Assistant.
The `wemo` platform allows you to control your Belkin WeMo [LED lights](http://www.belkin.com/us/p/P-F5Z0489/) and [Smart Dimmer Switch](http://www.belkin.com/us/F7C059-Belkin/p/P-F7C059/) from within Home Assistant.
They will be automatically discovered if the discovery component is enabled.

View File

@ -34,3 +34,14 @@ Configuration variables:
- **host** (*Required*): The IP of your light.
- **token** (*Required*): The API token of your light.
- **name** (*Optional*): The name of your light.
## {% linkable_title Platform Services %}
### Service fan/xiaomi_miio_set_scene
Set one of the 4 available fixed scenes.
| Service data attribute | Optional | Description |
|---------------------------|----------|-------------------------------------------------------|
| `entity_id` | yes | Only act on specific light. Else targets all. |
| `scene` | no | Scene, between 1 and 4. |

View File

@ -14,7 +14,7 @@ Interacts with media players on your network. Please check the sidebar for a ful
## {% linkable_title Services %}
### {% linkable_title Media control services %}
Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`, `media_play_pause`, `media_play`, `media_pause`, `media_stop`, `media_next_track`, `media_previous_track`, `clear_playlist`
Available services: `turn_on`, `turn_off`, `toggle`, `volume_up`, `volume_down`, `volume_set`, `media_play_pause`, `media_play`, `media_pause`, `media_stop`, `media_next_track`, `media_previous_track`, `clear_playlist`, `shuffle_set`
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ------------------------------------------------ |
@ -63,6 +63,6 @@ Currently only supported on [Spotify](/components/media_player.spotify/), [MPD](
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ---------------------------------------------------- |
| `entity_id` | no | Target a specific media player. For example `media_player.spotify`|
| `shuffle` | no | `true`/`false` for enabling/disabling shuffle |
| `shuffle` | no | `true`/`false` for enabling/disabling shuffle |

View File

@ -56,6 +56,7 @@ Currently known supported models:
- U6300 (port must be set to 8001, and `pip3 install websocket-client` must be executed)
- K6500AF (port must be set to 8001)
- KS8005 (port must be set to 8001, and `pip3 install websocket-client` must be executed)
- KU6290 (port must be set to 8001)
- MU6170UXZG (port must be set to 8001, and `pip3 install websocket-client` must be executed)
- KS7502 (port must be set to 8001, and `pip3 install websocket-client` must be executed, turn on doesn't work, turn off works fine)
- K5600AK (partially supported, turn on works but state is not updated)

View File

@ -113,3 +113,13 @@ script:
media_content_id: "Bookmarks>Internet>Radio Paradise"
```
### {% linkable_title Service `yamaha_enable_output` %}
Enable or disable an output port (HDMI) on the receiver.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | yes | String or list of strings that point at `entity_id`s of Yamaha receivers.
| `port` | no | Port to enable or disable, e.g. `hdmi1`.
| `enabled` | no | To enable set true, otherwise set to false.

View File

@ -0,0 +1,73 @@
---
layout: page
title: "MyChevy"
description: "Instructions on how to integrate Chevy Bolt car into Home Assistant."
date: 2017-08-28 17:00
sidebar: true
comments: false
sharing: true
footer: true
logo: chevy.png
ha_category: Hub
ha_release: 0.62
ha_iot_class: "Cloud Polling"
---
The `MyChevy` component communicates with the
[my.chevrolet](https://my.chevrolet.com) website using selenium to log
in as your user, and screen scrape the data provided. GM does not
make it easy to sign up for any official development program, so this
provides a workaround to get access to your data.
This component provides the following platforms:
- Binary sensors - if the car is plugged in
- Sensors - such as Battery Level, Charge Mode, EST Range, Total
Distance Traveled
To use MyChevy in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
mychevy:
username: email
password: password
```
{% configuration %}
username:
description: The email address associated with your my.chevrolet account
required: true
type: string
password:
description: The password for your given my.chevrolet account
required: true
type: string
{% endconfiguration %}
#### {% linkable_title Installation %}
Because this uses selenium behind the scenes, installation is more
complicated than merely pip install. See the installation instructions
at https://github.com/sdague/mychevy.
#### {% linkable_title Limitations %}
The architecture of the GM automotive networking imposes some
limitations on the functionality of the component.
The OnStar network link is very slow, and takes 1 - 3 minutes to get
information back from the car. As such the mychevy component only
polls every 30 minutes to not overwhelms that connection.
The OnStar network (or more specifically the gateway used by the
my.chevrolet website) appears to suffer more than most networks when
the car is a) in a garage, and b) it's cold outside (like < 15 degrees
F). One of the provided sensors is a status sensor which indicates if
we got connectivity with the car on the last polling cycle or not.
The "API" for this is written by web scraping. As such, it only
currently is known to work if you have a Chevy Bolt EV, and only 1
Chevy car connected to OnStar. Patches for extended support should go
to the https://github.com/sdague/mychevy project first, then
Home Assistant can be extended.

View File

@ -18,10 +18,10 @@ The `clicksend` platform uses [ClickSend](https://clicksend.com) to deliver noti
### Get your ClickSend API Credentials
Go to your [ClickSend Dashboard](https://dashboard.clicksend.com) section and create your new project. After creating your project, you should now be able to obtain your `username` and `api_key`.
### Configuration
To add ClickSend to your installation, add the following to your Home Assistant `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
- platform: clicksend
name: ClickSend
@ -30,12 +30,28 @@ notify:
recipient: PHONE_NO
```
Configuration variables:
* **name** (Optional): Setting the optional parameter name allows multiple notifiers to be created. The default value is `ClickSend`. The notifier will bind to the service notify.NOTIFIER_NAME.
* **username** (Required): Your `Username`.
* **api_key** (Required): Your `API Key`.
* **recipient** (Required): Your phone no. This is where you want to send your notification SMS messages. eg: `09171234567`
{% configuration %}
name:
description: "Setting the optional parameter name allows multiple notifiers to be created. The default value is `ClickSend`. The notifier will bind to the service `notify.NOTIFIER_NAME`."
required: false
type: string
username:
description: Your Clicksend username.
required: true
type: string
api_key:
description: Your Clicksend API Key.
required: true
type: string
recipient:
description: "Your phone number. This is where you want to send your notification SMS messages, e.g., `09171234567`."
required: true
type: string
sender:
description: The name or number of the sender.
required: false
type: string
default: recipient
{% endconfiguration %}
To use notifications, please see the [getting started with automation page](https://home-assistant.io/getting-started/automation/).

View File

@ -45,8 +45,9 @@ Configuration variables:
- **max_conductivity** (*Optional*): Maximum conductivity level before triggering a problem. Typical value: 3000
- **min_temperature** (*Optional*): Minimum temperature before triggering a problem.
- **max_temperature** (*Optional*): Maximum temperature before triggering a problem.
- **min_brightness** (*Optional*): Minimum brightness before triggering a problem.
- **min_brightness** (*Optional*): Minimum brightness before triggering a problem. In contrast to the other values, this check is *not* looking at the current situation, but rather at the last days. A problem is only reported if the maximum brightness over the last days was lower than min_brightness. You can use this to check if the plant gets enough light during the course of the day.
- **max_brightness** (*Optional*): Maximum brightness before triggering a problem.
- **check_days** (*Optional*): time interval (in days) used when checking **min_brightness**, if not set, the default value is 3
## {% linkable_title Examples %}
### Using plain MQTT sensor to get the data

View File

@ -0,0 +1,222 @@
---
layout: page
title: "BME680 Sensor"
description: "Instructions on how to integrate a BME680 sensor into Home Assistant."
date: 2018-01-16 00:00
sidebar: true
comments: false
sharing: true
footer: true
logo: raspberry-pi.png
ha_category: Sensor
ha_release: 0.62
ha_iot_class: "Local Push"
---
The `bme680` sensor platform allows you to read temperature, humidity, pressure and gas resistance values of a [Bosch BME680 Environmental sensor](https://cdn-shop.adafruit.com/product-files/3660/BME680.pdf) connected via an [I2C](https://en.wikipedia.org/wiki/I²C) bus (SDA, SCL pins). It allows you to use all the operation modes of the sensor described in its datasheet. In addition, it includes a basic air quality calculation that uses gas resistance and humidity measurements to calculate a percentage based air quality measurement.
Tested devices:
- [Raspberry Pi](https://www.raspberrypi.org/)
To use your BME680 sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: bme680
```
{% configuration %}
name:
description: The name of the sensor
required: false
default: BME680 Sensor
type: string
i2c_bus:
description: I2C bus that the sensor is connected to.
required: false
default: 1
type: int
i2c_address:
description: I2C address of the sensor. It is 0x76 or 0x77.
required: false
default: 0x77
type: int
monitored_conditions:
description: Conditions to monitor.
required: false
default:
- temperature
- humidity
- pressure
- airquality
type: list
keys:
temperature:
description: Monitor temperature.
humidity:
description: Monitor relative humidity.
pressure:
description: Monitor pressure.
gas:
description: Monitor gas resistance values on the VOC sensor.
airquality:
description: Monitor air quality using the values of humidity and gas resistance and calculate a percentage based air quality measurement.
oversampling_temperature:
description: Oversampling multiplier as described in the sensor datasheet. Can be 0 (no sampling), 1, 2, 4, 8, or 16.
required: false
default: 8
type: int
oversampling_pressure:
description: Oversampling multiplier as described in the sensor datasheet. Can be 0 (no sampling), 1, 2, 4, 8, or 16.
required: false
default: 2
type: int
oversampling_humidity:
description: Oversampling multiplier as described in the sensor datasheet. Can be 0 (no sampling), 1, 2, 4, 8, or 16.
required: false
default: 4
type: int
filter_size:
description: IIR filter size as described in the sensor datasheet. Can be 0 (off), 1, 3, 7, 15, 31, 63 or 127.
required: false
default: 3
type: int
gas_heater_temperature:
description: The temperature to heat the hotplate to for gas resistance measurements as described in the sensor datasheet. Can be between 200-400&deg;C.
required: false
default: 320
type: int
gas_heater_duration:
description: The duration to heat the hotplate in milliseconds for gas resistance measurements as described in the sensor datasheet. Can be between 1-4032 ms. In reality, you will likely need between 80-100ms to reach a stable temperature. Using a duration greater than 1000ms is inadvisable as it will essentially result in the heater being continually on due to the 1-second update interval.
required: false
default: 150
type: int
aq_burn_in_time:
description: The duration to perform gas resistance measurements to establish a stable baseline measurements for Air Quality calculations in seconds. The burn in time is only performed when the sensor component is first initialized.
required: false
default: 300
type: int
aq_humidity_baseline:
description: The baseline *ideal* relative humidity value for the air quality calculations.
required: false
default: 40
type: int
aq_humidity_bias:
description: The bias for humidity to the gas resistance measurement in the air quality calculations expressed as a percentage of the total calculation e.g. 25% hudidtity to 75% gas.
required: false
default: 25
type: int
{% endconfiguration %}
## {% linkable_title Full Examples %}
If you want to specify the working mode of the digital sensor or need to change the default I2C address (which is 0x77), add more details to the `configuration.yaml` file:
```yaml
# Example of customized configuration.yaml entry
sensor:
- platform: bme680
name: BME680 Sensor
i2c_bus: 1
i2c_address: 0x77
monitored_conditions:
- temperature
- humidity
- pressure
- gas
- airquality
oversampling_temperature: 8
oversampling_humidity: 2
oversampling_pressure: 4
filter_size: 3
gas_heater_temperature: 320
gas_heater_duration: 150
aq_burn_in_time: 300
aq_humidity_baseline: 40
aq_humidity_bias: 25
```
## {% linkable_title Customizing the sensor data %}
Give the values friendly names and icons, add the following to your `customize:` section.
```yaml
# Example configuration.yaml entry
customize:
sensor.bme680_sensor_temperature:
icon: mdi:thermometer
friendly_name: Temperature
sensor.bme680_sensor_humidity:
icon: mdi:water
friendly_name: Humidity
sensor.bme680_sensor_pressure:
icon: mdi:gauge
friendly_name: Pressure
sensor.bme680_sensor_air_quality:
icon: mdi:blur
friendly_name: Air Quality
```
To create a group, add the following to your `group` section.
```yaml
# Example configuration.yaml entry
group:
climate:
name: Climate
entities:
- sensor.bme680_sensor_temperature
- sensor.bme680_sensor_humidity
- sensor.bme680_sensor_pressure
- sensor.bme680_sensor_air_quality
```
## {% linkable_title Directions for installing SMBus support on Raspberry Pi %}
Enable I2C interface with the Raspberry Pi configuration utility:
```bash
# pi user environment: Enable I2C interface
$ sudo raspi-config
```
Select `Interfacing options->I2C` choose `<Yes>` and hit `Enter`, then go to `Finish` and you'll be prompted to reboot.
Install dependencies to use the `smbus-cffi` module and add your _homeassistant_ user to the _i2c_ group:
```bash
# pi user environment: Install I2C dependencies and utilities
$ sudo apt-get install build-essential libi2c-dev i2c-tools python-dev libffi-dev
# pi user environment: Add homeassistant user to the I2C group
$ sudo addgroup homeassistant i2c
# pi user environment: Reboot Raspberry Pi to apply changes
$ sudo reboot
```
### {% linkable_title Check the I2C address of the sensor %}
After installing `i2c-tools`, a new utility is available to scan the addresses of the connected sensors:
```bash
$ /usr/sbin/i2cdetect -y 1
```
It will output a table like this:
```text
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- 76
```
So you can see the sensor address that you are looking for is **0x76** (there is another I2C device on that Raspberry Pi).

View File

@ -20,10 +20,10 @@ The `daikin` sensor platform integrates Daikin air conditioning systems into Hom
- **outside temperature**
<p class='note warning'>
Please note, the `daikin` platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant
Please note, the `daikin` platform integrates **ONLY the european versions of Daikin ACs (models BRP069A41, 42, 43, 45)** into Home Assistant.
</p>
To enable the platform, add the following lines to your `configuration.yaml` file:
To enable the platform manually, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
@ -31,8 +31,8 @@ sensor:
- platform: daikin
host: 10.0.0.1
monitored_conditions:
- inside_temperature
- outside_temperature
- inside_temperature
- outside_temperature
```
{% configuration %}

View File

@ -0,0 +1,59 @@
---
layout: page
title: "IHC Sensor"
description: "Instructions how to integrate IHC Sensors within Home Assistant."
date: 2017-11-27 13:35
sidebar: true
comments: false
sharing: true
footer: true
logo: ihc.png
ha_category: Sensor
ha_release: 0.62
ha_iot_class: "Local Push"
---
Before you can use the IHC Sensor platform, you must setup the [IHC Component](/components/ihc/)
When auto setup is enabled the following products will be found in the IHC project and setup as sensors:
* Dataline temperature sensor - Will insert 2 temperature sensors
* Dataline Humidity - Will insert 1 humidity and 2 temperature sensors (calculated dewpoint)
* Dataline Lux - will insert 1 light and 1 temperature sensor
To manually configure IHC sensors insert this section:
```yaml
sensor:
- platform: ihc
sensors:
- id: 12345
name: 'mysensor'
unit_of_measurement: '°C'
- id: 12346
...
```
{% configuration %}
sensors:
description: List of sensors to setup manually
required: false
type: map
keys:
id:
description: The IHC resource id.
required: true
type: int
name:
description: The name of the component
required: false
type: string
unit_of_measurement:
description: Defines the unit of measurement of the sensor, if any.
required: false
type: string
{% endconfiguration %}
The resource id should be a IHC float resource.
For more information about IHC resource ids see [Manual Setup](/components/ihc/#manual-setup)

View File

@ -0,0 +1,22 @@
---
layout: page
title: "IOTA sensor"
description: "Instructions on how to integrate IOTA wallets sensors with Home Assistant."
date: 2017-12-31 13:29
sidebar: true
comments: false
sharing: true
footer: true
logo: iota.png
ha_category: Finance
ha_release: 0.62
ha_iot_class: "Cloud Polling"
---
The sensors are automatically created if the [IOTA hub](/components/iota/) is present.
Available sensors:
- Wallet balance
- Node information

View File

@ -13,8 +13,18 @@ ha_release: 0.29
ha_iot_class: "Local Polling"
---
The `miflora` sensor platform allows one to monitor to plants. The [Mi Flora plant sensor](https://xiaomi-mi.com/sockets-and-sensors/xiaomi-huahuacaocao-flower-care-smart-monitor/) is a small Bluetooth Low Energy device that monitors not only the moisture, but also light, temperature and conductivity. As only a single BLE device can be polled at the same time, the library implements locking to make sure this is the case.
The `miflora` sensor platform allows one to monitor plants. The [Mi Flora plant sensor](https://xiaomi-mi.com/sockets-and-sensors/xiaomi-huahuacaocao-flower-care-smart-monitor/) is a small Bluetooth Low Energy device that monitors not only the moisture but also light, temperature, and conductivity. As only a single BLE device can be polled at the same time, the library implements locking to make sure this is the case.
# Installation
Depending on the operating system you're running, you have to configure the proper Bluetooth backend on your system:
- On [Hass.io](https://home-assistant.io/hassio/installation/): Miflora will work out of the box.
- On other Linux systems:
- Prefered solution: Install the `bluepy` library (via pip). When using a virtual environment, make sure to use install the library in the right one.
   - Fallback solution: Install `gatttool` via your package manager. Depending on the distribution, the package name might be: `bluez`, `bluetooth`, `bluez-deprecated`
- Windows and MacOS are currently not supported by the [miflora library](https://github.com/open-homeautomation/miflora/).
# Configuration
Start a scan to determine the MAC addresses of the sensor:
```bash
@ -25,6 +35,17 @@ C4:D3:8C:12:4C:57 Flower mate
[...]
```
Or if your distribution is using bluetoothctl:
```bash
$ bluetoothctl
[bluetooth]# scan on
[NEW] Controller <your Bluetooth adapter> [default]
[NEW] F8:04:33:AF:AB:A2 [TV] UE48JU6580
[NEW] C4:D3:8C:12:4C:57 Flower mate
```
Check for `Flower care` or `Flower mate` entries, those are your sensor.
To use your Mi Flora plant sensor in your installation, add the following to your `configuration.yaml` file:
@ -56,7 +77,7 @@ sensor:
Note that by default the sensor is only polled once every 15 minutes. This means with the `median: 3` setting will take as least 30 minutes before the sensor will report a value after a Home Assistant restart. As the values usually change very slowly, this isn't a big problem.
Reducing polling intervals will have a negative effect on the battery life.
A full configuration example could looks the one below:
A full configuration example could look like the one below:
```yaml
# Example configuration.yaml entry

View File

@ -14,7 +14,7 @@ ha_release: "0.31"
---
The `min_max` sensor platform consumes the state from other sensors to determine the minimum, maximum, and the mean of the collected states. The sensor will always show you the lowest/highest value which was received from all monitored sensors. If you have spikes in your values, it's recommended to filter/equalize your values with a [statistics sensor](/components/sensor.statistics/) first.
The `min_max` sensor platform consumes the state from other sensors to determine the minimum, maximum, latest (last) and the mean of the collected states. The sensor will always show you the lowest/highest/latest value which was received from all monitored sensors. If you have spikes in your values, it's recommended to filter/equalize your values with a [statistics sensor](/components/sensor.statistics/) first.
This sensor is an alternative to the [template sensor](/components/sensor.template/)'s `value_template:` to get the average of multiple sensors.
@ -42,7 +42,7 @@ sensor:
Configuration variables:
- **entity_ids** (*Required*): At least two entities to monitor. The unit of measurement of the first entry will be the one that's used. All entities must use the same unit of measurement.
- **type** (*Optional*): The type of sensor: `min`, `max` or `mean`. Defaults to `max`.
- **type** (*Optional*): The type of sensor: `min`, `max`, `last` or `mean`. Defaults to `max`.
- **name** (*Optional*): Name of the sensor to use in the frontend.
- **round_digits** (*Optional*): Round mean value to specified number of digits. Defaults to 2.

View File

@ -0,0 +1,77 @@
---
layout: page
title: "TekSavvy"
description: "Instructions on how to integrate TekSavvy data usage within Home Assistant."
date: 2017-12-17 00:00
sidebar: true
comments: false
sharing: true
footer: true
logo: teksavvy.png
ha_category: Sensor
ha_release: 0.62
ha_iot_class: "Cloud Polling"
---
Integrate your [TekSavvy](https://myaccount.teksavvy.com/) account information into Home Assistant.
You can get your API key from
https://myaccount.teksavvy.com/ApiKey/ApiKeyManagement
To use your TekSavvy sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: teksavvy
api_key: API_KEY
total_bandwidth: 400
monitored_variables:
- usage
- usage_gb
- limit
- onpeak_download
- onpeak_upload
- onpeak_total
- offpeak_download
- offpeak_upload
- offpeak_total
- onpeak_remaining
```
{% configuration %}
api_key:
description: The TekSavvy API key to access the service.
required: true
type: string
total_bandwidth:
description: Your bandwidth limit in gigabytes.
required: true
type: string
monitored_conditions:
description: Conditions to display in the frontend.
required: true
type: list
keys:
usage:
description: Bandwidth usage (percentage).
usage_gb:
description: Bandwidth usage (gigabytes).
limit:
description: Monthly bandwidth limit (gigabytes).
onpeak_download:
description: Bandwidth used by download outside the unmetered period (gigabytes).
onpeak_upload:
description: Bandwidth used by upload outside the unmetered period (gigabytes).
onpeak_total:
description: Total bandwidth used outside the unmetered period (gigabytes).
offpeak_download:
description: Bandwidth used by download during the unlimited period (gigabytes).
offpeak_upload:
description: Bandwidth used by upload during the unlimited period (gigabytes).
offpeak_total:
description: Total bandwidth used during the unlimited period (gigabytes).
onpeak_remaining:
description: Remaining bandwidth (gigabytes).
{% endconfiguration %}

View File

@ -171,3 +171,61 @@ SetTimer:
```
{% endraw %}
### Sending TTS Notifications
You can send TTS notifications to Snips using the snips.say and snips.say_action services. Say_action starts a session and waits for user response, "Would you like me to close the garage door?", "Yes, close the garage door".
#### {% linkable_title Service `snips/say` %}
| Service data attribute | Optional | Description |
|------------------------|----------|--------------------------------------------------------|
| `text` | no | Text to say. |
| `site_id` | yes | Site to use to start session. |
| `custom_data` | yes | custom data that will be included with all messages in this session. |
#### {% linkable_title Service `snips/say_action` %}
| Service data attribute | Optional | Description |
|------------------------|----------|--------------------------------------------------------|
| `text` | no | Text to say. |
| `site_id` | yes | Site to use to start session. |
| `custom_data` | yes | custom data that will be included with all messages in this session. |
| `can_be_enqueued` | yes | If True, session waits for an open session to end, if False session is dropped if one is running. |
| `intent_filter` | yes | Array of Strings - A list of intents names to restrict the NLU resolution to on the first query. |
#### Configuration Examples
```yaml
script:
turn_on_light:
sequence:
service: script.turn_on_light
service: snips.say
data:
text: 'OK, the light is now on'
automation:
query_garage_door:
trigger:
- platform: state
entity_id: binary_sensor.my_garage_door_sensor
from: 'off'
to: 'on'
for:
minutes: 10
sequence:
service: snips.say_action
data:
text: 'Garage door has been open 10 minutes, would you like me to close it?'
intentFilter:
- closeGarageDoor
# This intent is fired if the user responds with the appropriate intent after the above notification
intent_script:
closeGarageDoor:
speech:
type: plain
text: 'OK, closing the garage door'
action:
- service: script.garage_door_close
```

View File

@ -0,0 +1,56 @@
---
layout: page
title: "IHC Switch"
description: "Instructions how to integrate IHC switches within Home Assistant."
date: 2017-11-27 13:35
sidebar: true
comments: false
sharing: true
footer: true
logo: ihc.png
ha_category: Switch
ha_release: 0.62
ha_iot_class: "Local Push"
---
Before you can use the IHC Switch platform, you must setup the [IHC Component](/components/ihc/)
When auto setup is enabled the following products will be found in the ihc project and setup as switch devices:
* Wireless plug outlet
* Wireless relay
* Mobile wireless relay
* Dataline plug outlet
To manually configure IHC switches insert this section in your configuration:
```yaml
switch:
- platform: ihc
auto_setup: True
switches:
- id: 12345
name: myswitch
- id: 12346
....
```
{% configuration %}
switches:
description: List of switches to setup manually
required: false
type: map
keys:
id:
description: The IHC resource id.
required: true
type: int
name:
description: The name of the component
required: false
type: string
{% endconfiguration %}
The resource id should be a boolean resource. (On/Off)
For more information about IHC resource ids see [Manual Setup](/components/ihc/#manual-setup)

View File

@ -29,13 +29,16 @@ switch:
Configuration variables:
- **baseoid** (*Required*): The SNMP BaseOID which to poll for the state of the switch and which to set in order to turn the switch on and off.
- **baseoid** (*Required*): The SNMP BaseOID which to poll for the state of the switch.
- **command_oid** (*Optional*): The SNMP OID which to set in order to turn the switch on and off, if different from `baseoid`.
- **host** (*Optional*): The IP/host which to control. Defaults to `localhost`.
- **port** (*Optional*): The port on which to communicate. Defaults to `161`.
- **community** (*Optional*): community string to use for authentication. Defaults to `private`.
- **version** (*Optional*): SNMP version to use - either `1` or `2c`. Defaults to `1`.
- **payload_on** (*Optional*): What return value represents an `On` state for the switch. The same value is used in writes to turn on the switch. Defaults to `1`.
- **payload_off** (*Optional*): What return value represents an `Off` state for the switch. The same value is used in writes to turn off the switch. Defaults to `0`.
- **payload_on** (*Optional*): What return value represents an `On` state for the switch. The same value is used in writes to turn on the switch if `command_payload_on` is not set. Defaults to `1`.
- **payload_off** (*Optional*): What return value represents an `Off` state for the switch. The same value is used in writes to turn off the switch if `command_payload_off` is not set. Defaults to `0`.
- **command_payload_on** (*Optional*): The value to write to turn on the switch, if different from `payload_on`.
- **command_payload_off** (*Optional*): The value to write to turn off the switch, if different from `payload_off`.
You should check with your device's vendor to find out the correct BaseOID and what values turn the switch on and off.

View File

@ -0,0 +1,68 @@
---
layout: page
title: "WaterFurnace"
description: "Instructions on how to integrate WaterFurnace Geothermal System into Home Assistant."
date: 2018-01-19 17:00
sidebar: true
comments: false
sharing: true
footer: true
logo: waterfurnace.png
ha_category: Hub
ha_release: 0.62
ha_iot_class: "Cloud Polling"
---
The `waterfurnace` component communicates with the WaterFurnace
Symphony website's WebSocket to show you many of the sensors in your
system. While not an official API, this is the same backend the
Symphony website is based on, and should be reasonably stable.
The sensors provided include:
- Thermostat Setpoint
- Thermostat Current Temp
- Leaving Air Temp
- Entering Water Loop Temp
- Current Humidity
- Current Humidity Setpoint
- Total system power (in Watts)
- Furnace Mode
To use Waterfurnace in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
waterfurnace:
username: you@example.com
password: secr3tpassword
unit: 0123456789AB
```
{% configuration %}
username:
description: The email address for your Symphony WaterFurnace account
required: true
type: string
password:
description: The password for your Symphony WaterFurnace account
required: true
type: string
unit:
description: The unit serial number for your WaterFurnace
required: true
type: string
{% endconfiguration %}
#### {% linkable_title Limitations %}
The WebSocket interface used by this module requires active polling,
otherwise the server side shuts down the connection. By default, this
polling is happening every 10 seconds. All sensors are updated during
every polling cycle.
While this is communicating with a thermostat, geothermal systems
operate most efficiently when setbacks are not used, and the home is
kept at a constant temperature. It remains useful to collect the data
from the system to understand it's performance, but a full climate
interface won't be implemented.

View File

@ -0,0 +1,25 @@
---
layout: page
title: "Websocket API"
description: "Instructions how to setup the WebSocket API within Home Assistant."
date: 2018-01-21 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category: "Other"
---
The `websocket_api` component set up a WebSocket API and allows one to interact with a Home Assistant instance that is running headless. This component depends on the [`http` component](/components/http/).
<p class='note warning'>
It is HIGHLY recommended that you set the `api_password`, especially if you are planning to expose your installation to the internet.
</p>
```yaml
# Example configuration.yaml entry
websocket_api:
```
For details to use the WebSocket API, please refer to the [WebSocket API documentation](/developers/websocket_api/) .

View File

@ -8,6 +8,6 @@ comments: false
sharing: true
footer: true
ha_category: Example configuration.yaml
ha_external_link: https://github.com/aneisch/home-assistant/
ha_external_link: https://github.com/aneisch/home-assistant-config/
---

View File

@ -116,7 +116,6 @@ wait_template: "{{ is_state(dummy, 'off') }}"
This action allows you to fire an event. Events can be used for many things. It could trigger an automation or indicate to another component that something is happening. For instance, in the below example it is used to create an entry in the logbook.
{% raw %}
```yaml
event: LOGBOOK_ENTRY
event_data:
@ -125,6 +124,17 @@ event_data:
entity_id: device_tracker.paulus
domain: light
```
You can also use event_data_template to fire an event with custom data. This could be used to pass data to another script awaiting
an event trigger.
{% raw %}
```yaml
event: MY_EVENT
event_data_template:
name: myEvent
customData: "{{ myCustomVariable }}"
```
{% endraw %}
### {% linkable_title Raise and Consume Custom Events %}

View File

@ -10,6 +10,14 @@ footer: true
redirect_from: /getting-started/z-wave-installation/
---
The first time you enable the Z-Wave component it will install the Z-Wave drivers (python-openzwave). This can take up to half an hour on slow machines like Raspberry Pi.
Installing the drivers might require some extra packages to be installed. Check your platform below.
## {% linkable_title Platform specific installation instructions %}
### {% linkable_title Linux (except Hass.io) %}
On Linux platforms (other than Hass.io) there is one dependency you will need to have installed ahead of time (included in `systemd-devel` on Fedora/RHEL systems):
```bash
@ -18,15 +26,17 @@ $ sudo apt-get install libudev-dev
On Python 3.6 you may also have to install libpython3.6-dev, and possibly python3.6-dev.
When installing on macOS you may have to also run the command below ahead of time, replace "x.x" with the version of Python (`$ python3 --version`) you have installed.
### {% linkable_title macOS %}
When installing on macOS you may have to also run the command below ahead of time, replace "x.x" with the version of Python (`$ python3 --version`) you have installed.
```bash
$ sudo /Applications/Python\ x.x/Install\ Certificates.command
```
<p class='note'>
The installation of python-openzwave happens when you first enable the Z-Wave component, and can take half an hour or more on a Raspberry Pi.
</p>
### {% linkable_title Raspberry Pi %}
On Raspberry Pi you will need to enable the serial interface in the `raspbi-config` tool before you can add Z-Wave to Home Assistant.
## {% linkable_title Configuration %}
@ -37,7 +47,7 @@ zwave:
```
{% configuration zwave %}
usb_path:
usb_path:
description: The port where your device is connected to your Home Assistant host.
required: false
type: string
@ -47,7 +57,7 @@ network_key:
required: false
type: string
default: None
config_path:
config_path:
description: The path to the Python OpenZWave configuration files.
required: false
type: string
@ -72,11 +82,11 @@ new_entity_ids:
required: false
type: boolean
default: True
device_config:
device_config:
description: This attribute contains node-specific override values. (For releases prior to 0.39 this variable is called **customize**) See [Customizing devices and services](/docs/configuration/customizing-devices/) for the format.
required: false
type: string, list
keys:
keys:
ignored:
description: Ignore this entity completely. It won't be shown in the Web Interface and no events are generated for it.
required: false
@ -162,7 +172,7 @@ zwave:
usb_path: /dev/ttyACM0
```
Depending on your Z-Wave device it may instead be `/dev/ttyAMA0` (eg Razberry board) or `/dev/ttyUSB0` (eg HUBUZB-1).
Depending on your Z-Wave device it may instead be `/dev/ttyAMA0` (eg Razberry board) or `/dev/ttyUSB0` (eg HUBUZB-1).
### {% linkable_title RancherOS %}

View File

@ -0,0 +1,480 @@
---
layout: post
title: "0.62: MyChevy, Iota and Venstar Thermostat"
description: "Keep track of your Chevy Bolt, monitor your IOTA wallets and control your Venstar Thermostats."
date: 2018-01-27 01:00:00
date_formatted: "January 27, 2018"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Release-Notes
og_image: /images/blog/2018-01-0.62/components.png
---
<a href='/components/#version/0.62'><img src='/images/blog/2018-01-0.62/components.png' style='border: 0;box-shadow: none;'></a>
Second release of the year and it's buzzing on GitHub. This release we had 70 people contribute code. We've also managed to finally get our PR count below a 100 open PRs again. A lot of cool stuff still waiting to make it to a future Home Assistant release.
I want to give a shout out to [@martinhjelmare] and [@frenck]. Martin is doing an amazing job at code reviews and Franck has been kicking ass with Hass.io add-ons and keeping track of our documentation PRs. Thanks for this amazing work!
## MyChevy
With this new integration by [@sdague] you are able to keep an eye on your Chevy Bolt EV. Keep track if your car is plugged in, the battery stats and the range it is currently capable of driving. Hip!
## New Platforms
- Adding support for Lutron covers ([@nickovs] - [#11602]) ([lutron docs]) ([cover.lutron docs]) (new-platform)
- Add basic mychevy component ([@sdague] - [#11409]) ([mychevy docs]) (new-platform)
- Added support for TekSavvy bandwidth sensor ([@jpjodoin] - [#11186]) ([sensor.teksavvy docs]) (new-platform)
- Ihc component and platforms ([@dingusdk] - [#10916]) ([ihc docs]) ([binary_sensor.ihc docs]) ([light.ihc docs]) ([sensor.ihc docs]) ([switch.ihc docs]) (new-platform)
- Iota wallet ([@jinnerbichler] - [#11398]) ([iota docs]) ([sensor.iota docs]) (new-platform)
## {% linkable_title If you need help... %}
...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e). The release notes have comments enabled but it's preferred if you use the former communication channels. Thanks.
## {% linkable_title Reporting Issues %}
Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/home-assistant/issues). Make sure to fill in all fields of the issue template.
<!--more-->
## Breaking Changes
- Tahoma platform will get new entity IDs ([@glpatcern] - [#11547]) ([tahoma docs]) ([cover.tahoma docs]) (breaking change)
- Mold indicator: attribute names no longer include spaces or periods ([@olskar] - [#11694]) ([sensor.mold_indicator docs]) (breaking change)
- Custom component devs only: `EntityComponent.add_entity(entity)` and `EntityComponent.async_add_entity(entity)` have been removed. Use `EntityComponent.add_entities([entity])` and `EntityComponent.async_add_entities([entity])` instead. ([@balloob] - [#11691]) (breaking change)
## All changes
- Upgrade keyring to 10.6.0 ([@fabaff] - [#11608])
- Upgrad youtube_dl to 2017.12.31 ([@fabaff] - [#11610])
- small sonos cleanup ([@pvizeli] - [#11607]) ([media_player.sonos docs])
- Update Xiaomi Miio compontent broken URI ([@keesschollaart81] - [#11621]) ([light.xiaomi_miio docs])
- light/mqqt_json: allow brightness scaling ([@jkoelker] - [#11613])
- Adding support for Lutron covers ([@nickovs] - [#11602]) ([lutron docs]) ([cover.lutron docs]) (new-platform)
- Hyperion: Add brightness, HDMI and effect support ([@starkillerOG] - [#11543]) ([light.hyperion docs])
- Fixes and enhancements for the Tahoma platform ([@glpatcern] - [#11547]) ([tahoma docs]) ([cover.tahoma docs]) (breaking change)
- upgrade xiaomi lib ([@danielhiversen] - [#11629])
- Add templates to MQTT climate ([@tinloaf] - [#11623])
- Upgrade coinmarketcap to 4.1.2 ([@fabaff] - [#11634])
- Add Deconz support for Zigbee green power devices like Hue Tap ([@Kane610] - [#11455]) ([deconz docs]) ([sensor.deconz docs])
- Bump dev to 0.62.0.dev0 ([@fabaff] - [#11652])
- Add ability to specify a sender in the clicksend notification ([@heydonms] - [#11046]) ([notify.clicksend docs])
- Round values to one decimal ([@covrig] - [#11673]) ([sensor.xiaomi_aqara docs])
- Add basic mychevy component ([@sdague] - [#11409]) ([mychevy docs]) (new-platform)
- update mypy commandline arguments ([@benleb] - [#11638])
- Add support for configuring jeelink RF parameters ([@hthiery] - [#11620])
- Wemo Dimmer Support ([@angel12] - [#10882]) ([wemo docs]) ([light.wemo docs])
- add temperature controls to eph-ember ([@ttroy50] - [#11400]) ([climate.ephember docs])
- Upgrade youtube_dl to 2018.01.14 ([@fabaff] - [#11661])
- Change line separator to LN ([@fabaff] - [#11662]) ([hive docs]) ([map docs]) ([binary_sensor.hive docs]) ([climate.hive docs]) ([light.hive docs]) ([notify.prowl docs]) ([sensor.hive docs]) ([switch.hive docs])
- Upgrade sqlalchemy to 1.2.1 ([@fabaff] - [#11666])
- Upgrade pylast to 2.1.0 ([@fabaff] - [#11668])
- Added extra arguments to onvif platform config ([@karlkar] - [#11680]) ([camera.onvif docs])
- Enable probot move ([@fabaff] - [#11690])
- fixed not to include spaces or dots in attribute names ([@olskar] - [#11694]) ([sensor.mold_indicator docs]) (breaking change)
- Add attributes ([@fabaff] - [#11698]) ([sensor.random docs])
- Feature/fritzdect errorhandling ([@BastianPoe] - [#11490]) ([switch.fritzdect docs])
- Tesla bug fix #11598 ([@zabuldon] - [#11707])
- Update mold_indicator.py ([@olskar] - [#11715]) ([sensor.mold_indicator docs])
- Override default name for TP-Link devices ([@DanNixon] - [#11710]) ([light.tplink docs]) ([switch.tplink docs])
- Don't use None inside header ([@pvizeli] - [#11725]) ([hassio docs])
- Add enable_output service to Yamaha platform ([@postlund] - [#11103]) ([media_player.yamaha docs])
- Fix effects not appearing in UI due to missing attribute ([@shortbloke] - [#11738]) ([light.flux_led docs])
- Fix for None object access attempt ([@karlkar] - [#11748])
- Fixed universal media player templated source_select bug (issue #10981) and corrected typo in test_universal ([@iliketoprogram14] - [#11746])
- Fix Tahoma device class ([@bakedraccoon] - [#11745]) ([cover.tahoma docs])
- Add deCONZ entities in a predicitive order ([@Kane610] - [#11712]) ([binary_sensor.deconz docs]) ([sensor.deconz docs])
- Xbox sensor - Extend error handling ([@ReneNulschDE] - [#11637]) ([sensor.xbox_live docs])
- Upgrade netdisco ([@balloob] - [#11752])
- set default value for rfxtrx config ([@danielhiversen] - [#11767]) ([binary_sensor.rfxtrx docs])
- Round off exchange rate ([@arsaboo] - [#11765]) ([sensor.alpha_vantage docs])
- Update icon (fixes #11744) ([@fabaff] - [#11758]) ([sensor.fixer docs])
- Use localized forecast for openweathermap ([@brainexe] - [#11770]) ([sensor.openweathermap docs])
- Unit should be mph as that is what the metoffices datapoint API returns ([@ioangogo] - [#11760]) ([sensor.metoffice docs])
- Owntracks: Use bluetooth_le as source_type if beacon was used for location change. ([@cnrd] - [#11615]) ([device_tracker.owntracks docs])
- Add a 'last' mode and attribute to min_max sensor ([@markferry] - [#11037]) ([sensor.min_max docs])
- Update header and make it less verbose ([@fabaff] - [#11774]) ([asterisk_mbox docs])
- Added support for TekSavvy bandwidth sensor ([@jpjodoin] - [#11186]) ([sensor.teksavvy docs]) (new-platform)
- Fix for Neato D3 and D5 ([@karlkar] - [#11775])
- Axis discovery fails to save conf ([@Kane610] - [#11769]) ([axis docs])
- Limit service description loading to a single thread ([@amelchio] - [#11733])
- Snips: (change) Removed unknown intent speech response ([@tschmidty69] - [#11776]) ([snips docs])
- Implemented event_data_template (new) ([@tschmidty69] - [#11057])
- Fix PEP8 and PEP257 issues ([@fabaff] - [#11780]) ([deconz docs]) ([scene docs]) ([binary_sensor.deconz docs]) ([light.deconz docs]) ([sensor.deconz docs])
- Fix typos ([@fabaff] - [#11781]) ([system_log docs])
- Support for performance mode on Rheem water heaters. ([@w1ll1am23] - [#11786]) ([climate.econet docs])
- Service for setting a fixed scene of Xiaomi MIIO lights ([@syssi] - [#10819]) ([light.xiaomi_miio docs])
- Homematic ip tilt covers ([@steffenslavetinsky] - [#11650]) ([cover.homematic docs])
- plant - check history for min_brightness ([@ChristianKuehnel] - [#9534]) ([plant docs])
- add generic rollershutter agian, was missing in last merge ([@philklei] - [#11788]) ([tahoma docs])
- Additional attributes and services of the Xiaomi Air Purifier introduced ([@syssi] - [#11249]) ([fan.xiaomi_miio docs]) ([light.xiaomi_miio docs]) ([switch.xiaomi_miio docs]) ([vacuum.xiaomi_miio docs])
- flux led version 0.20 ([@danielhiversen] - [#11791])
- Hyperion: fix ([@starkillerOG] - [#11793]) ([light.hyperion docs])
- Fix sensibo function names ([@andrey-git] - [#11797]) ([climate.sensibo docs])
- Always load yr picture from https ([@andrey-git] - [#11796]) ([sensor.yr docs])
- Make Google TTS secure ([@PRabahy] - [#11031]) ([tts.google docs])
- Correct inadvertent change to file permissions ([@shortbloke] - [#11755]) ([light.flux_led docs])
- Fix recorder purge ([@tinloaf] - [#11802])
- Disable installing Telldus in Docker ([@balloob] - [#11806])
- Nad ([@robhuls] - [#11800])
- bump roku version ([@soberstadt] - [#11816])
- MiFlora - use bluepy on linux systems ([@ChristianKuehnel] - [#11284]) ([light.decora docs]) ([sensor.miflora docs])
- Ihc component and platforms ([@dingusdk] - [#10916]) ([ihc docs]) ([binary_sensor.ihc docs]) ([light.ihc docs]) ([sensor.ihc docs]) ([switch.ihc docs]) (new-platform)
- Change telldus domain to download.telldus.com ([@michaelarnauts] - [#11825])
- Add more workday sensor countries and update holidays library to version 0.9.3 ([@drndos] - [#11826]) ([binary_sensor.workday docs])
- Add missing availability schema to MQTT alarm panel ([@DanNixon] - [#11829]) ([alarm_control_panel.mqtt docs])
- python-miio version bumped. Fixes all xiaomi_miio components. (Closes: #11768) ([@syssi] - [#11837]) ([fan.xiaomi_miio docs]) ([light.xiaomi_miio docs]) ([switch.xiaomi_miio docs]) ([vacuum.xiaomi_miio docs])
- Add waterfurnace platform ([@sdague] - [#11732])
- (Re)Enable Daikin autodiscovery ([@rofrantz] - [#11842])
- Fixes for PEP257 ([@fabaff] - [#11810])
- bump eq3bt version ([@rytilahti] - [#11834]) ([climate.eq3btsmart docs])
- Fix Unifi direct errors caused by AP reboot. ([@w1ll1am23] - [#11835]) ([device_tracker.unifi_direct docs])
- Change 'on' to 'heat' as fallback thermostat mode ([@andrewdolphin] - [#11377]) ([google_assistant docs])
- Use strict timeout when polling Samsung TV (Fix for #6375) ([@kennedyshead] - [#11759]) ([media_player.samsungtv docs])
- Fix issues with generic thermostat ([@ciotlosm] - [#11805])
- maxcube: Set MAX! Window Sensor's class to 'window' ([@leppa] - [#11799]) ([binary_sensor.maxcube docs])
- Fix new iframe panel url ([@pvizeli] - [#11850]) ([hassio docs])
- Fix races on recorder test ([@sdague] - [#11857])
- Clean up entity component ([@balloob] - [#11691]) (breaking change)
- Allow exposing sensors as temperature or humidity 'climate' devices to Google Assistant ([@rofrantz] - [#11095]) ([google_assistant docs])
- BME680 Sensor Component ([@arcsur] - [#11695])
- Respond to Alexa scene activation correctly ([@bitglue] - [#11869]) ([alexa docs])
- Checking Xiaomi Aqara devices unavailability states ([@PaulAnnekov] - [#11631]) ([xiaomi_aqara docs]) ([binary_sensor.xiaomi_aqara docs]) ([cover.xiaomi_aqara docs]) ([light.xiaomi_aqara docs]) ([sensor.xiaomi_aqara docs]) ([switch.xiaomi_aqara docs])
- Hass.io panel v2 ([@pvizeli] - [#11860]) ([hassio docs])
- Add missing mock call for test_minimal_config ([@sdague] - [#11858])
- Expose Alexa Smart Home via HTTP POST ([@bitglue] - [#11859]) ([alexa docs])
- fixed async function called in a thread ([@PaulAnnekov] - [#11882]) ([xiaomi_aqara docs])
- upgrade ecobee ([@nkgilley] - [#11878]) ([ecobee docs])
- Fix for hive aux_heat target temperature display ([@Rendili] - [#11884]) ([hive docs])
- Bump waterfurnace library to 0.3.0 ([@sdague] - [#11888]) ([waterfurnace docs])
- Postpone "Z-wave not ready" warning ([@amelchio] - [#11807]) ([zwave docs])
- [SMALL-PR] Don't make climate calls if feature is not supported ([@rofrantz] - [#11841]) ([climate docs])
- Handle Daikin AC adapters without fan mode and swing mode support ([@rofrantz] - [#11840]) ([climate.daikin docs])
- device tracker - tomato https support ([@GregoryDosh] - [#11566]) ([device_tracker.tomato docs])
- Bme680 ([@arcsur] - [#11892]) ([sensor.bme680 docs])
- Add android option for linux_battery.py ([@mu4yu3] - [#11852]) ([sensor.linux_battery docs])
- Pushbullet (fix) invalid keyword, added unittests ([@tschmidty69] - [#11804])
- Snips - (fix) removed endSession mqtt response on error and unknown intents ([@tschmidty69] - [#11908]) ([snips docs])
- Clarify emulated hue warning ([@balloob] - [#11910]) ([emulated_hue docs])
- Use API to discover Hue if no bridges specified ([@balloob] - [#11909]) ([hue docs])
- Update python-wink version and multiple wink fixes/updates. ([@w1ll1am23] - [#11833]) ([wink docs]) ([binary_sensor.wink docs]) ([climate.wink docs]) ([cover.wink docs])
- New venstar climate component ([@Cinntax] - [#11639])
- Iota wallet ([@jinnerbichler] - [#11398]) ([iota docs]) ([sensor.iota docs]) (new-platform)
- Improve foscam library exception support ([@i-am-shodan] - [#11701]) ([camera.foscam docs])
- Added Xeoma camera platform ([@jeradM] - [#11619])
- Multi-Room Support for Greenwave Reality ([@dfiel] - [#11364]) ([light.greenwave docs])
- Minor fix to configuration validation and related log line. ([@arcsur] - [#11898]) ([sensor.bme680 docs])
- Report scripts and groups as scenes to Alexa ([@bitglue] - [#11900]) ([alexa docs])
- Add ERC20 tokens to etherscan.io sensor ([@nkgilley] - [#11916]) ([sensor.etherscan docs])
- Allow separate command and state OIDs and payloads in SNMP switch ([@nkaminski] - [#11075]) ([switch.snmp docs])
- Add "write" service to system_log ([@andrey-git] - [#11901]) ([system_log docs])
- fixes #11848 ([@kennedyshead] - [#11915]) ([device_tracker.asuswrt docs])
- Allow setting climate devices to AUTO mode via Google Assistant ([@balloob] - [#11923]) ([google_assistant docs]) ([climate.nest docs])
- Fixed rfxtrx binary_sensor KeyError on missing optional device_class ([@basschipper] - [#11925]) ([rfxtrx docs]) ([binary_sensor.rfxtrx docs])
- Implement Alexa temperature sensors ([@bitglue] - [#11930]) ([alexa docs])
- Update pyhomematic to 0.1.38 ([@danielperna84] - [#11936]) ([homematic docs])
[#10819]: https://github.com/home-assistant/home-assistant/pull/10819
[#10882]: https://github.com/home-assistant/home-assistant/pull/10882
[#10916]: https://github.com/home-assistant/home-assistant/pull/10916
[#11031]: https://github.com/home-assistant/home-assistant/pull/11031
[#11037]: https://github.com/home-assistant/home-assistant/pull/11037
[#11046]: https://github.com/home-assistant/home-assistant/pull/11046
[#11057]: https://github.com/home-assistant/home-assistant/pull/11057
[#11075]: https://github.com/home-assistant/home-assistant/pull/11075
[#11095]: https://github.com/home-assistant/home-assistant/pull/11095
[#11103]: https://github.com/home-assistant/home-assistant/pull/11103
[#11186]: https://github.com/home-assistant/home-assistant/pull/11186
[#11249]: https://github.com/home-assistant/home-assistant/pull/11249
[#11284]: https://github.com/home-assistant/home-assistant/pull/11284
[#11364]: https://github.com/home-assistant/home-assistant/pull/11364
[#11377]: https://github.com/home-assistant/home-assistant/pull/11377
[#11398]: https://github.com/home-assistant/home-assistant/pull/11398
[#11400]: https://github.com/home-assistant/home-assistant/pull/11400
[#11409]: https://github.com/home-assistant/home-assistant/pull/11409
[#11455]: https://github.com/home-assistant/home-assistant/pull/11455
[#11490]: https://github.com/home-assistant/home-assistant/pull/11490
[#11543]: https://github.com/home-assistant/home-assistant/pull/11543
[#11547]: https://github.com/home-assistant/home-assistant/pull/11547
[#11566]: https://github.com/home-assistant/home-assistant/pull/11566
[#11602]: https://github.com/home-assistant/home-assistant/pull/11602
[#11607]: https://github.com/home-assistant/home-assistant/pull/11607
[#11608]: https://github.com/home-assistant/home-assistant/pull/11608
[#11610]: https://github.com/home-assistant/home-assistant/pull/11610
[#11613]: https://github.com/home-assistant/home-assistant/pull/11613
[#11615]: https://github.com/home-assistant/home-assistant/pull/11615
[#11619]: https://github.com/home-assistant/home-assistant/pull/11619
[#11620]: https://github.com/home-assistant/home-assistant/pull/11620
[#11621]: https://github.com/home-assistant/home-assistant/pull/11621
[#11623]: https://github.com/home-assistant/home-assistant/pull/11623
[#11629]: https://github.com/home-assistant/home-assistant/pull/11629
[#11631]: https://github.com/home-assistant/home-assistant/pull/11631
[#11634]: https://github.com/home-assistant/home-assistant/pull/11634
[#11637]: https://github.com/home-assistant/home-assistant/pull/11637
[#11638]: https://github.com/home-assistant/home-assistant/pull/11638
[#11639]: https://github.com/home-assistant/home-assistant/pull/11639
[#11650]: https://github.com/home-assistant/home-assistant/pull/11650
[#11652]: https://github.com/home-assistant/home-assistant/pull/11652
[#11661]: https://github.com/home-assistant/home-assistant/pull/11661
[#11662]: https://github.com/home-assistant/home-assistant/pull/11662
[#11666]: https://github.com/home-assistant/home-assistant/pull/11666
[#11668]: https://github.com/home-assistant/home-assistant/pull/11668
[#11673]: https://github.com/home-assistant/home-assistant/pull/11673
[#11680]: https://github.com/home-assistant/home-assistant/pull/11680
[#11690]: https://github.com/home-assistant/home-assistant/pull/11690
[#11691]: https://github.com/home-assistant/home-assistant/pull/11691
[#11694]: https://github.com/home-assistant/home-assistant/pull/11694
[#11695]: https://github.com/home-assistant/home-assistant/pull/11695
[#11698]: https://github.com/home-assistant/home-assistant/pull/11698
[#11701]: https://github.com/home-assistant/home-assistant/pull/11701
[#11707]: https://github.com/home-assistant/home-assistant/pull/11707
[#11710]: https://github.com/home-assistant/home-assistant/pull/11710
[#11712]: https://github.com/home-assistant/home-assistant/pull/11712
[#11715]: https://github.com/home-assistant/home-assistant/pull/11715
[#11725]: https://github.com/home-assistant/home-assistant/pull/11725
[#11732]: https://github.com/home-assistant/home-assistant/pull/11732
[#11733]: https://github.com/home-assistant/home-assistant/pull/11733
[#11738]: https://github.com/home-assistant/home-assistant/pull/11738
[#11745]: https://github.com/home-assistant/home-assistant/pull/11745
[#11746]: https://github.com/home-assistant/home-assistant/pull/11746
[#11748]: https://github.com/home-assistant/home-assistant/pull/11748
[#11752]: https://github.com/home-assistant/home-assistant/pull/11752
[#11755]: https://github.com/home-assistant/home-assistant/pull/11755
[#11758]: https://github.com/home-assistant/home-assistant/pull/11758
[#11759]: https://github.com/home-assistant/home-assistant/pull/11759
[#11760]: https://github.com/home-assistant/home-assistant/pull/11760
[#11765]: https://github.com/home-assistant/home-assistant/pull/11765
[#11767]: https://github.com/home-assistant/home-assistant/pull/11767
[#11769]: https://github.com/home-assistant/home-assistant/pull/11769
[#11770]: https://github.com/home-assistant/home-assistant/pull/11770
[#11774]: https://github.com/home-assistant/home-assistant/pull/11774
[#11775]: https://github.com/home-assistant/home-assistant/pull/11775
[#11776]: https://github.com/home-assistant/home-assistant/pull/11776
[#11780]: https://github.com/home-assistant/home-assistant/pull/11780
[#11781]: https://github.com/home-assistant/home-assistant/pull/11781
[#11786]: https://github.com/home-assistant/home-assistant/pull/11786
[#11788]: https://github.com/home-assistant/home-assistant/pull/11788
[#11791]: https://github.com/home-assistant/home-assistant/pull/11791
[#11793]: https://github.com/home-assistant/home-assistant/pull/11793
[#11796]: https://github.com/home-assistant/home-assistant/pull/11796
[#11797]: https://github.com/home-assistant/home-assistant/pull/11797
[#11799]: https://github.com/home-assistant/home-assistant/pull/11799
[#11800]: https://github.com/home-assistant/home-assistant/pull/11800
[#11802]: https://github.com/home-assistant/home-assistant/pull/11802
[#11804]: https://github.com/home-assistant/home-assistant/pull/11804
[#11805]: https://github.com/home-assistant/home-assistant/pull/11805
[#11806]: https://github.com/home-assistant/home-assistant/pull/11806
[#11807]: https://github.com/home-assistant/home-assistant/pull/11807
[#11810]: https://github.com/home-assistant/home-assistant/pull/11810
[#11816]: https://github.com/home-assistant/home-assistant/pull/11816
[#11825]: https://github.com/home-assistant/home-assistant/pull/11825
[#11826]: https://github.com/home-assistant/home-assistant/pull/11826
[#11829]: https://github.com/home-assistant/home-assistant/pull/11829
[#11833]: https://github.com/home-assistant/home-assistant/pull/11833
[#11834]: https://github.com/home-assistant/home-assistant/pull/11834
[#11835]: https://github.com/home-assistant/home-assistant/pull/11835
[#11837]: https://github.com/home-assistant/home-assistant/pull/11837
[#11840]: https://github.com/home-assistant/home-assistant/pull/11840
[#11841]: https://github.com/home-assistant/home-assistant/pull/11841
[#11842]: https://github.com/home-assistant/home-assistant/pull/11842
[#11850]: https://github.com/home-assistant/home-assistant/pull/11850
[#11852]: https://github.com/home-assistant/home-assistant/pull/11852
[#11857]: https://github.com/home-assistant/home-assistant/pull/11857
[#11858]: https://github.com/home-assistant/home-assistant/pull/11858
[#11859]: https://github.com/home-assistant/home-assistant/pull/11859
[#11860]: https://github.com/home-assistant/home-assistant/pull/11860
[#11869]: https://github.com/home-assistant/home-assistant/pull/11869
[#11878]: https://github.com/home-assistant/home-assistant/pull/11878
[#11882]: https://github.com/home-assistant/home-assistant/pull/11882
[#11884]: https://github.com/home-assistant/home-assistant/pull/11884
[#11888]: https://github.com/home-assistant/home-assistant/pull/11888
[#11892]: https://github.com/home-assistant/home-assistant/pull/11892
[#11898]: https://github.com/home-assistant/home-assistant/pull/11898
[#11900]: https://github.com/home-assistant/home-assistant/pull/11900
[#11901]: https://github.com/home-assistant/home-assistant/pull/11901
[#11908]: https://github.com/home-assistant/home-assistant/pull/11908
[#11909]: https://github.com/home-assistant/home-assistant/pull/11909
[#11910]: https://github.com/home-assistant/home-assistant/pull/11910
[#11915]: https://github.com/home-assistant/home-assistant/pull/11915
[#11916]: https://github.com/home-assistant/home-assistant/pull/11916
[#11923]: https://github.com/home-assistant/home-assistant/pull/11923
[#11925]: https://github.com/home-assistant/home-assistant/pull/11925
[#11930]: https://github.com/home-assistant/home-assistant/pull/11930
[#11936]: https://github.com/home-assistant/home-assistant/pull/11936
[#9534]: https://github.com/home-assistant/home-assistant/pull/9534
[@BastianPoe]: https://github.com/BastianPoe
[@ChristianKuehnel]: https://github.com/ChristianKuehnel
[@Cinntax]: https://github.com/Cinntax
[@DanNixon]: https://github.com/DanNixon
[@GregoryDosh]: https://github.com/GregoryDosh
[@Kane610]: https://github.com/Kane610
[@PRabahy]: https://github.com/PRabahy
[@PaulAnnekov]: https://github.com/PaulAnnekov
[@Rendili]: https://github.com/Rendili
[@ReneNulschDE]: https://github.com/ReneNulschDE
[@amelchio]: https://github.com/amelchio
[@andrewdolphin]: https://github.com/andrewdolphin
[@andrey-git]: https://github.com/andrey-git
[@angel12]: https://github.com/angel12
[@arcsur]: https://github.com/arcsur
[@arsaboo]: https://github.com/arsaboo
[@bakedraccoon]: https://github.com/bakedraccoon
[@balloob]: https://github.com/balloob
[@basschipper]: https://github.com/basschipper
[@benleb]: https://github.com/benleb
[@bitglue]: https://github.com/bitglue
[@brainexe]: https://github.com/brainexe
[@ciotlosm]: https://github.com/ciotlosm
[@cnrd]: https://github.com/cnrd
[@covrig]: https://github.com/covrig
[@danielhiversen]: https://github.com/danielhiversen
[@danielperna84]: https://github.com/danielperna84
[@dfiel]: https://github.com/dfiel
[@dingusdk]: https://github.com/dingusdk
[@drndos]: https://github.com/drndos
[@fabaff]: https://github.com/fabaff
[@glpatcern]: https://github.com/glpatcern
[@heydonms]: https://github.com/heydonms
[@hthiery]: https://github.com/hthiery
[@i-am-shodan]: https://github.com/i-am-shodan
[@iliketoprogram14]: https://github.com/iliketoprogram14
[@ioangogo]: https://github.com/ioangogo
[@jeradM]: https://github.com/jeradM
[@jinnerbichler]: https://github.com/jinnerbichler
[@jkoelker]: https://github.com/jkoelker
[@jpjodoin]: https://github.com/jpjodoin
[@karlkar]: https://github.com/karlkar
[@keesschollaart81]: https://github.com/keesschollaart81
[@kennedyshead]: https://github.com/kennedyshead
[@leppa]: https://github.com/leppa
[@markferry]: https://github.com/markferry
[@michaelarnauts]: https://github.com/michaelarnauts
[@mu4yu3]: https://github.com/mu4yu3
[@nickovs]: https://github.com/nickovs
[@nkaminski]: https://github.com/nkaminski
[@nkgilley]: https://github.com/nkgilley
[@olskar]: https://github.com/olskar
[@philklei]: https://github.com/philklei
[@postlund]: https://github.com/postlund
[@pvizeli]: https://github.com/pvizeli
[@robhuls]: https://github.com/robhuls
[@rofrantz]: https://github.com/rofrantz
[@rytilahti]: https://github.com/rytilahti
[@sdague]: https://github.com/sdague
[@shortbloke]: https://github.com/shortbloke
[@soberstadt]: https://github.com/soberstadt
[@starkillerOG]: https://github.com/starkillerOG
[@steffenslavetinsky]: https://github.com/steffenslavetinsky
[@syssi]: https://github.com/syssi
[@tinloaf]: https://github.com/tinloaf
[@tschmidty69]: https://github.com/tschmidty69
[@ttroy50]: https://github.com/ttroy50
[@w1ll1am23]: https://github.com/w1ll1am23
[@zabuldon]: https://github.com/zabuldon
[alarm_control_panel.mqtt docs]: https://home-assistant.io/components/alarm_control_panel.mqtt/
[alexa docs]: https://home-assistant.io/components/alexa/
[asterisk_mbox docs]: https://home-assistant.io/components/asterisk_mbox/
[axis docs]: https://home-assistant.io/components/axis/
[binary_sensor.deconz docs]: https://home-assistant.io/components/binary_sensor.deconz/
[binary_sensor.hive docs]: https://home-assistant.io/components/binary_sensor.hive/
[binary_sensor.ihc docs]: https://home-assistant.io/components/binary_sensor.ihc/
[binary_sensor.maxcube docs]: https://home-assistant.io/components/binary_sensor.maxcube/
[binary_sensor.rfxtrx docs]: https://home-assistant.io/components/binary_sensor.rfxtrx/
[binary_sensor.wink docs]: https://home-assistant.io/components/binary_sensor.wink/
[binary_sensor.workday docs]: https://home-assistant.io/components/binary_sensor.workday/
[binary_sensor.xiaomi_aqara docs]: https://home-assistant.io/components/binary_sensor.xiaomi_aqara/
[camera.foscam docs]: https://home-assistant.io/components/camera.foscam/
[camera.onvif docs]: https://home-assistant.io/components/camera.onvif/
[climate docs]: https://home-assistant.io/components/climate/
[climate.daikin docs]: https://home-assistant.io/components/climate.daikin/
[climate.econet docs]: https://home-assistant.io/components/climate.econet/
[climate.ephember docs]: https://home-assistant.io/components/climate.ephember/
[climate.eq3btsmart docs]: https://home-assistant.io/components/climate.eq3btsmart/
[climate.hive docs]: https://home-assistant.io/components/climate.hive/
[climate.nest docs]: https://home-assistant.io/components/climate.nest/
[climate.sensibo docs]: https://home-assistant.io/components/climate.sensibo/
[climate.wink docs]: https://home-assistant.io/components/climate.wink/
[cover.homematic docs]: https://home-assistant.io/components/cover.homematic/
[cover.lutron docs]: https://home-assistant.io/components/cover.lutron/
[cover.tahoma docs]: https://home-assistant.io/components/cover.tahoma/
[cover.wink docs]: https://home-assistant.io/components/cover.wink/
[cover.xiaomi_aqara docs]: https://home-assistant.io/components/cover.xiaomi_aqara/
[deconz docs]: https://home-assistant.io/components/deconz/
[device_tracker.asuswrt docs]: https://home-assistant.io/components/device_tracker.asuswrt/
[device_tracker.owntracks docs]: https://home-assistant.io/components/device_tracker.owntracks/
[device_tracker.tomato docs]: https://home-assistant.io/components/device_tracker.tomato/
[device_tracker.unifi_direct docs]: https://home-assistant.io/components/device_tracker.unifi_direct/
[ecobee docs]: https://home-assistant.io/components/ecobee/
[emulated_hue docs]: https://home-assistant.io/components/emulated_hue/
[fan.xiaomi_miio docs]: https://home-assistant.io/components/fan.xiaomi_miio/
[google_assistant docs]: https://home-assistant.io/components/google_assistant/
[hassio docs]: https://home-assistant.io/components/hassio/
[hive docs]: https://home-assistant.io/components/hive/
[homematic docs]: https://home-assistant.io/components/homematic/
[hue docs]: https://home-assistant.io/components/hue/
[ihc docs]: https://home-assistant.io/components/ihc/
[ihc.const docs]: https://home-assistant.io/components/ihc.const/
[ihc.ihcdevice docs]: https://home-assistant.io/components/ihc.ihcdevice/
[iota docs]: https://home-assistant.io/components/iota/
[light.deconz docs]: https://home-assistant.io/components/light.deconz/
[light.decora docs]: https://home-assistant.io/components/light.decora/
[light.flux_led docs]: https://home-assistant.io/components/light.flux_led/
[light.greenwave docs]: https://home-assistant.io/components/light.greenwave/
[light.hive docs]: https://home-assistant.io/components/light.hive/
[light.hyperion docs]: https://home-assistant.io/components/light.hyperion/
[light.ihc docs]: https://home-assistant.io/components/light.ihc/
[light.tplink docs]: https://home-assistant.io/components/light.tplink/
[light.wemo docs]: https://home-assistant.io/components/light.wemo/
[light.xiaomi_aqara docs]: https://home-assistant.io/components/light.xiaomi_aqara/
[light.xiaomi_miio docs]: https://home-assistant.io/components/light.xiaomi_miio/
[lutron docs]: https://home-assistant.io/components/lutron/
[map docs]: https://home-assistant.io/components/map/
[media_player.samsungtv docs]: https://home-assistant.io/components/media_player.samsungtv/
[media_player.sonos docs]: https://home-assistant.io/components/media_player.sonos/
[media_player.yamaha docs]: https://home-assistant.io/components/media_player.yamaha/
[notify.clicksend docs]: https://home-assistant.io/components/notify.clicksend/
[notify.prowl docs]: https://home-assistant.io/components/notify.prowl/
[plant docs]: https://home-assistant.io/components/plant/
[rfxtrx docs]: https://home-assistant.io/components/rfxtrx/
[scene docs]: https://home-assistant.io/components/scene/
[sensor.alpha_vantage docs]: https://home-assistant.io/components/sensor.alpha_vantage/
[sensor.linux_battery docs]: https://home-assistant.io/components/sensor.linux_battery/
[sensor.bme680 docs]: https://home-assistant.io/components/sensor.bme680/
[sensor.deconz docs]: https://home-assistant.io/components/sensor.deconz/
[sensor.etherscan docs]: https://home-assistant.io/components/sensor.etherscan/
[sensor.fixer docs]: https://home-assistant.io/components/sensor.fixer/
[sensor.hive docs]: https://home-assistant.io/components/sensor.hive/
[sensor.ihc docs]: https://home-assistant.io/components/sensor.ihc/
[sensor.iota docs]: https://home-assistant.io/components/sensor.iota/
[sensor.metoffice docs]: https://home-assistant.io/components/sensor.metoffice/
[sensor.miflora docs]: https://home-assistant.io/components/sensor.miflora/
[sensor.min_max docs]: https://home-assistant.io/components/sensor.min_max/
[sensor.mold_indicator docs]: https://home-assistant.io/components/sensor.mold_indicator/
[mychevy docs]: https://home-assistant.io/components/mychevy/
[sensor.openweathermap docs]: https://home-assistant.io/components/sensor.openweathermap/
[sensor.random docs]: https://home-assistant.io/components/sensor.random/
[sensor.teksavvy docs]: https://home-assistant.io/components/sensor.teksavvy/
[sensor.xbox_live docs]: https://home-assistant.io/components/sensor.xbox_live/
[sensor.xiaomi_aqara docs]: https://home-assistant.io/components/sensor.xiaomi_aqara/
[sensor.yr docs]: https://home-assistant.io/components/sensor.yr/
[snips docs]: https://home-assistant.io/components/snips/
[switch.fritzdect docs]: https://home-assistant.io/components/switch.fritzdect/
[switch.hive docs]: https://home-assistant.io/components/switch.hive/
[switch.ihc docs]: https://home-assistant.io/components/switch.ihc/
[switch.snmp docs]: https://home-assistant.io/components/switch.snmp/
[switch.tplink docs]: https://home-assistant.io/components/switch.tplink/
[switch.xiaomi_aqara docs]: https://home-assistant.io/components/switch.xiaomi_aqara/
[switch.xiaomi_miio docs]: https://home-assistant.io/components/switch.xiaomi_miio/
[system_log docs]: https://home-assistant.io/components/system_log/
[tahoma docs]: https://home-assistant.io/components/tahoma/
[tts.google docs]: https://home-assistant.io/components/tts.google/
[vacuum.xiaomi_miio docs]: https://home-assistant.io/components/vacuum.xiaomi_miio/
[waterfurnace docs]: https://home-assistant.io/components/waterfurnace/
[wemo docs]: https://home-assistant.io/components/wemo/
[wink docs]: https://home-assistant.io/components/wink/
[xiaomi_aqara docs]: https://home-assistant.io/components/xiaomi_aqara/
[zwave docs]: https://home-assistant.io/components/zwave/
[@martinhjelmare]: https://github.com/martinhjelmare
[@frenck]: https://github.com/frenck

View File

@ -12,7 +12,10 @@ footer: true
Home Assistant provides various APIs. For detail please refer to [Home Assistant API](https://dev-docs.home-assistant.io/en/dev/) documentation.
* [Python API](https://dev-docs.home-assistant.io/)
* [Websocket API](/developers/websocket_api/)
* [WebSocket API](/developers/websocket_api/)
* [REST API](/developers/rest_api/)
* [Python REST API](/developers/python_api/)
* [Server-sent events](/developers/server_sent_events/)
If you are not using the [`frontend`](/components/frontend/) in your setup then you need to enable the components by adding them to your `configuration.yaml` file. E.g., [`websocket_api:`](/components/websocket_api/) for the WebSocket API or [`api:`](/components/api/) for the [REST API](/developers/rest_api/) and the [Python REST API](/developers/python_api/).

View File

@ -13,7 +13,7 @@ See the [developer documentation][devdocs] for a full overview of the documentat
[devdocs]: https://dev-docs.home-assistant.io/en/master/api/homeassistant.html#module-homeassistant.remote
In the package [`homeassistant.remote`](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/remote.py) a Python API on top of the [HTTP API](/developers/api/) can be found.
In the package [`homeassistant.remote`](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/remote.py) a Python API on top of the [HTTP API](/developers/api/) can be found. If you are not using the [`frontend`](/components/frontend/) in your setup then you need to add the [`api` component](/components/api/) to your `configuration.yaml` file to use the Python Remote API.
A simple way to get all current entities is to visit the "Set State" page in the "Developer Tools". For the examples below just choose one from the available entries. Here the sensor `sensor.office_temperature` and the switch `switch.livingroom_pin_2` are used.

View File

@ -16,6 +16,8 @@ Home Assistant runs a web server accessible on port 8123.
The API accepts and returns only JSON encoded objects. All API calls have to be accompanied by the header `X-HA-Access: YOUR_PASSWORD` (YOUR_PASSWORD as specified in your `configuration.yaml` file in the [`http:` section](/components/http/)).
If you are not using the [`frontend`](/components/frontend/) in your setup then you need to add the [`api` component](/components/api/) to your `configuration.yaml` file.
There are multiple ways to consume the Home Assistant Rest API. One is with `curl`:
```bash

View File

@ -17,13 +17,15 @@ Home Assistant contains a WebSocket API. This API can be used to stream informat
Connect your websocket implementation to `ws://localhost:8123/api/websocket`.
If you are not using the [`frontend`](/components/frontend/) in your setup then you need to add the [`websocket_api` component](/components/websocket_api/) to your `configuration.yaml` file to use the WebSocket API.
## {% linkable_title Server states %}
1. Client connects
1. Authentication phase starts
- If no further authentication necessary for the user: go to 3
- Server sends `auth_required` message
- Client sends `auth` message
1. Client connects.
1. Authentication phase starts.
- If no further authentication necessary for the user: go to 3.
- Server sends `auth_required` message.
- Client sends `auth` message.
- If `auth` message correct: go to 3.
- Server sends `auth_invalid`. Go to 6.
1. Send `auth_ok` message

View File

@ -7,6 +7,7 @@ sidebar: true
comments: false
sharing: true
footer: true
redirect_from: /components/hassio/
---
Hass.io turns your Raspberry Pi (or another device) into the ultimate home automation hub powered by Home Assistant. With Hass.io you can focus on integrating your devices and writing automations.

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB