Merge branch 'rc' into current

This commit is contained in:
Paulus Schoutsen 2019-02-06 14:52:17 -08:00
commit c931155d1a
68 changed files with 2531 additions and 154 deletions

View File

@ -143,9 +143,9 @@ social:
# Home Assistant release details
current_major_version: 0
current_minor_version: 86
current_patch_version: 4
date_released: 2019-01-29
current_minor_version: 87
current_patch_version: 0
date_released: 2019-02-06
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.

View File

@ -13,12 +13,17 @@ Load and update configuration files for Home Assistant from a [Git](https://git-
```json
{
"repository": "https://example.com/my_configs.git",
"auto_restart": false,
"git_branch": "master",
"git_command": "pull",
"git_remote": "origin",
"git_prune": "false",
"repository": "https://example.com/my_configs.git",
"auto_restart": false,
"restart_ignore": [
"ui-lovelace.yaml",
".gitignore",
"exampledirectory/"
],
"repeat": {
"active": false,
"interval": 300
@ -38,22 +43,22 @@ Load and update configuration files for Home Assistant from a [Git](https://git-
}
```
- **repository** (*Required*): Git URL to your repository (make sure to use double quotes). You have to add `.git` to your GitHub repository URL (see example configuration). The contents of the repository is assumed to be the root of Home Assistant `config/` folder. The configuration cannot be in a subdirectory, i.e., `configuration.yaml`, `groups.yaml`, etc. must be in the root of the repository.
- **git_branch** (*Required*): Branch name of the Git repo. If left empty, the currently checked out branch will be updated. Leave this as 'master' if you are unsure.
- **git_remote** (*Required*): Name of the tracked repository. Leave this as `origin` if you are unsure.
- **git_prune** (*Required*): If set to true, the add-on will cleanup branches that are deleted on the remote repository, but still have cached entries on the local machine. Leave this as `false` if you are unsure.
- **git_command** (*Required*): Must be either `pull` or `reset`. Leave this as `pull` if you are unsure.
* **pull**: Incorporates changes from a remote repository into the current branch. Will preserve any local changes to tracked files.
* **reset**: Will execute `git reset --hard` and overwrite any local changes to tracked files and update from the remote repository.
- **git_command** (*Required*): `pull`/`reset`: Command to run. Leave this as `pull` if you are unsure.
* **pull**: Incorporates changes from a remote repository into the current branch. Will preserve any local changes to tracked files.
* **reset**: Will execute `git reset --hard` and overwrite any local changes to tracked files and update from the remote repository. Use with caution.
<p class='note warning'>
Using the `reset` option will overwrite changes to tracked files. Tracked files are those visible in the Github repository or those given by the output on this command: `git ls-tree -r master --name-only`.
Using the `reset` option will overwrite changes to tracked files. Tracked files are those visible in the git repository or those given by the output on this command: `git ls-tree -r master --name-only`.
</p>
- **auto_restart** (*Optional*): Restart Home Assistant when the configuration has changed (and is valid).
- **repeat/active** (*Optional*): Pull periodic for Git updates.
- **repeat/interval** (*Optional*): Pull all x seconds and look for changes.
- **git_remote** (*Required*): Name of the tracked repository. Leave this as `origin` if you are unsure.
- **git_prune** (*Required*): `true`/`false`: If set to true, the add-on will clean-up branches that are deleted on the remote repository, but still have cached entries on the local machine. Leave this as `false` if you are unsure.
- **repository** (*Required*): Git URL to your repository (make sure to use double quotes). You have to add `.git` to your repository URL (see example configuration).
- **auto_restart** (*Required*): `true`/`false`: Restart Home Assistant when the configuration has changed (and is valid).
- **restart_ignore** (*Optional*): When `auto_restart` is enabled, changes to these files will not make HA restart. Full directories to ignore can be specified.
- **repeat**: Poll the repository for updates periodically automatically.
* **active** (*Required*): `true`/`false`: Enable/disable automatic polling.
* **interval** (*Required*): The interval in seconds to poll the repo for if automatic polling is enabled.
- **deployment_user** (*Optional*): Username to use when authenticating to a repository with a username and password.
- **deployment_password** (*Optional*): Password to use when authenticating to a repository. 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>`.
@ -63,7 +68,7 @@ Load and update configuration files for Home Assistant from a [Git](https://git-
* **ecdsa**
* **ed25519**
* **rsa**
The protocol is typically known by the suffix of the private key --e.g., a key file named `id_rsa` will be a private key using `rsa` protocol.
<p class='note warning'>

View File

@ -0,0 +1,164 @@
---
layout: page
title: "Norwegian Institute for Air Research"
description: "Instructions on how to integrate air pollution data from NILU within Home Assistant."
date: 2018-12-30 18:45
sidebar: true
comments: false
sharing: true
footer: true
logo: nilu_logo.png
ha_category: Health
ha_iot_class: "Cloud Polling"
ha_release: 0.87
---
The `nilu` air quality platform shows measurements of current air quality from NILU (Norsk Institutt for luftforskning/Norwegian Institute for Air Research) sensor stations within Norway. Makes data from the open API at [luftkvalitet.info](http://luftkvalitet.info/) and [nilu.no](https://nilu.no/) available in Home Assistant.
## {% linkable_title Configuration %}
To enable this platform, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
air_quality:
- platform: nilu
```
{% configuration %}
latitude:
description: Manually specify latitude. By default, the value will be taken from the Home Assistant configuration.
required: false
type: number
default: Provided by Home Assistant configuration.
longitude:
description: Manually specify longitude. By default, the value will be taken from the Home Assistant configuration.
required: false
type: number
default: Provided by Home Assistant configuration.
name:
description: Name of the sensor to use in the frontend.
required: false
default: NILU
type: string
area:
description: Name of an area to get sensor stations from. See available areas below.
required: exclusive
type: string
stations:
description: Name of a specific station to get measurements from.
required: exclusive
type: string
show_on_map:
description: Option to show the position of the sensor station on the map.
required: false
default: false
type: boolean
{% endconfiguration %}
## {% linkable_title Health risk index explainations %}
Under the attributes from a NILU station, there will be a `nilu pollution index`. This indicates how polluted the air is in the area around the sensor station. Following is a longer explanation of what the indexes mean.
### {% linkable_title Low %}
Low or no health risk linked to measured air pollution. Outdoor activites are recommended.
### {% linkable_title Moderate %}
Health effects may occur in some asthmatics and people with other respiratory diseases, as well as serious cardiovascular diseases. Outdoor activity can be recommended for the vast majority, but some should consider their activity in areas with high traffic or high emissions.
### {% linkable_title High %}
Health effects may occur in asthmatics and people with other respiratory diseases, as well as serious cardiovascular disease. Children with respiratory distress (asthma, bronchitis) and adults with severe cardiac or respiratory distress should reduce outdoor activity and not stay in the most polluted areas.
### {% linkable_title Extremely high %}
Sensitive groups in the population can have health effects. Respiratory irritation and discomfort may occur in healthy subjects. People with heart or respiratory distress should reduce outdoor activity and not stay in the most polluted areas.
Source: [Explainations in Norwegian](http://www.luftkvalitet.info/home/Varslingsklasser.aspx)
## {% linkable_title Available areas %}
The `area` configuration is restricted to the areas NILU has defined. Here is the list of available areas:
- `Bergen`
- `Birkenes`
- `Bodø`
- `Brumunddal`
- `Bærum`
- `Drammen`
- `Elverum`
- `Fredrikstad`
- `Gjøvik`
- `Grenland`
- `Halden`
- `Hamar`
- `Harstad`
- `Hurdal`
- `Karasjok`
- `Kristiansand`
- `Kårvatn`
- `Lillehammer`
- `Lillesand`
- `Lillestrøm`
- `Lørenskog`
- `Mo i Rana`
- `Moss`
- `Narvik`
- `Oslo`
- `Prestebakke`
- `Sandve`
- `Sarpsborg`
- `Stavanger`
- `Sør-Varanger`
- `Tromsø`
- `Trondheim`
- `Tustervatn`
- `Zeppelinfjellet`
- `Ålesund`
## {% linkable_title Configuration examples %}
Example of adding health risk monitoring from sensor stations around the Home Assistant location.
```yaml
# Example configuration.yaml entry
# Adds all sensor stations within 20km.
air_quality:
- platform: nilu
```
Example where the sensors are also added to the map.
```yaml
# Example configuration.yaml entry
# Adds all sensor stations within 20km.
# Additionally adds the sensors to the map.
air_quality:
- platform: nilu
show_on_map: True
```
Example of a specific station.
```yaml
# Example configuration.yaml entry
# Monitors stations 'Alnabru'
air_quality:
- platform: nilu
stations:
- Alnabru
```
Example of getting stations from a specified area, giving the sensors a custom name.
```yaml
# Example configuration.yaml entry
# Stations from specific area, 'Bergen'
# Custom name for the sensors.
air_quality:
- platform: nilu
area: Bergen
name: Forurensing Bergen
```

View File

@ -93,6 +93,10 @@ payload_not_available:
required: false
type: string
default: offline
json_attributes_topic:
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
required: false
type: string
device:
description: 'Information about the device this alarm panel is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.'
required: false

View File

@ -58,6 +58,12 @@ entity_id:
description: The ID of the entity to watch.
required: true
type: string
title:
description: >
A title to be used for the notification if the notifier supports it
with [template][template] support.
required: false
type: template
state:
description: The problem condition for the entity.
required: false
@ -98,6 +104,10 @@ notifiers:
description: "List of `notification` components to use for alerts."
required: true
type: list
data:
description: "Dictionary of extra parameters to send to the notifier."
required: false
type: list
{% endconfiguration %}
In this example, the garage door status (`input_boolean.garage_door`) is watched
@ -254,4 +264,31 @@ alert:
The resulting title of the alert could be `Garage has been open for 30 min`.
### {% linkable_title Additional parameters for notifiers %}
Some notifiers support more parameters (e.g., to set text color or action
buttons). These can be supplied via the `data` parameter:
```yaml
# Example configuration.yaml entry
alert:
garage_door:
name: Garage is open
entity_id: input_boolean.garage_door
state: 'on' # Optional, 'on' is the default value
repeat:
- 15
- 30
- 60
can_acknowledge: True # Optional, default is True
skip_first: True # Optional, false is the default
data:
inline_keyboard:
- 'Close garage:/close_garage, Acknowledge:/garage_acknowledge'
notifiers:
- frank_telegram
```
This particular example relies on the `inline_keyboard` functionality of
Telegram, where the user is presented with buttons to execute certain actions.
[template]: /docs/configuration/templating/

View File

@ -8,27 +8,31 @@ comments: false
logo: ambient_weather.png
ha_category: Weather
ha_release: "0.85"
ha_iot_class: "Cloud Polling"
ha_iot_class: "Cloud Push"
redirect_from:
- /components/sensor.ambient_station/
---
The `Ambient Weather Station` platform uses the [Ambient Weather](https://ambientweather.net)
web API to retrieve weather data from your personal weather station (PWS).
The `Ambient Weather Station` component retrieves local weather information
via personal weather stations from
[Ambient Weather](https://ambientweather.net).
You need to register your compatible PWS using its MAC address and then request both an API key and an Application key. The key requests can be found
under `My Account`. Requesting an application key requires emailing the ambient weather support team.
## {% linkable_title Generating API Keys and Application Keys %}
To add your Ambient Weather PWS to your Home Assistant installation, add the following to your `configuration.yaml` file:
Using this component requires both an Application Key and an API Key. To
generate both, simply utilize the profile section of
[your Ambient Weather dashboard](https:/dashboard.ambientweather.net).
## {% linkable_title Configuration %}
To add your Ambient Weather PWS to your Home Assistant installation, add the
following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: ambient_station
api_key: YOUR_API_KEY
app_key: YOUR_APP_KEY
monitored_conditions:
- tempf
- humidity
- windspeedmph
ambient_station:
api_key: <YOUR API KEY>
app_key: <YOUR APPLICATION KEY>
```
{% configuration %}
@ -42,67 +46,67 @@ app_key:
type: string
monitored_conditions:
description: Weather conditions to track.
required: true
required: optional
type: list
keys:
winddir:
description: Wind direction
windspeedmph:
description: Windspeed
windgustmph:
description: Wind gust
maxdailygust:
description: Max daily wind gust
windgustdir:
description: Wind gust direction
windspdmph_avg2m:
description: Wind speed, 2m moving average
winddir_avg2m:
description: Wind direction, 2m moving average
windspdmph_avg10m:
description: Wind speed, 10m moving average
winddir_avg10m:
description: Wind direction, 10m moving average
humidity:
description: Outdoor humidity
humidityin:
description: Indoor humidity
tempf:
description: Outdoor temperature
tempinf:
description: Indoor temperature
battout:
description: Weather station battery health
hourlyrainin:
description: Hourly rain accumulation
dailyrainin:
description: Daily rain accumulation
24hourrainin:
description: 24h rain accumulation
weeklyrainin:
description: Weekly rain accumulation
monthlyrainin:
description: Monthly rain accumulation
yearlyrainin:
description: Yearly rain accumulation
eventrainin:
description: Event Rain accumulation
totalrainin:
description: Lifetime rain accumulation (since last reset)
baromrelin:
description: Relative atmospheric pressure
baromabsin:
description: Absolute atmospheric pressure
uv:
description: UV index
solarradiation:
description: Solar radiation
baromrelin:
description: Relative atmospheric pressure
battout:
description: Weather station battery health
co2:
description: CO2 level
lastRain:
description: Datetime of last rain event
dailyrainin:
description: Daily rain accumulation
dewPoint:
description: Dewpoint temperature
description: Dewpoint temperature
eventrainin:
description: Event Rain accumulation
feelsLike:
description: Feels Like temperature
hourlyrainin:
description: Hourly rain accumulation
humidity:
description: Outdoor humidity
humidityin:
description: Indoor humidity
lastRain:
description: Datetime of last rain event
maxdailygust:
description: Max daily wind gust
monthlyrainin:
description: Monthly rain accumulation
solarradiation:
description: Solar radiation
tempf:
description: Outdoor temperature
tempinf:
description: Indoor temperature
totalrainin:
description: Lifetime rain accumulation (since last reset)
uv:
description: UV index
weeklyrainin:
description: Weekly rain accumulation
winddir:
description: Wind direction
winddir_avg10m:
description: Wind direction, 10m moving average
winddir_avg2m:
description: Wind direction, 2m moving average
windgustdir:
description: Wind gust direction
windgustmph:
description: Wind gust
windspdmph_avg10m:
description: Wind speed, 10m moving average
windspdmph_avg2m:
description: Wind speed, 2m moving average
windspeedmph:
description: Windspeed
yearlyrainin:
description: Yearly rain accumulation
{% endconfiguration %}

View File

@ -0,0 +1,21 @@
---
layout: page
title: "Danfoss Air Binary Sensor"
description: "Instructions for how to setup Danfoss Air binary sensors within Home Assistant."
date: 2019-01-21 19:03
sidebar: true
comments: false
sharing: true
footer: true
logo: danfoss_air.png
ha_category: Binary Sensor
ha_release: "0.87"
ha_iot_class: "Local Polling"
---
<p class='note'>
To get your Danfoss Air binary sensors working with Home Assistant, follow the instructions for the general [Danfoss Air component](/components/danfoss_air/).
</p>
The following binary sensor is supported.
* **Bypass active:** Indicator if heat recovery is currrently bypassed.

View File

@ -0,0 +1,22 @@
---
layout: page
title: "ZoneMinder Binary Sensor"
description: "Provides the connectivity from Home Assistant to ZoneMinder."
date: 2019-01-18 02:30
sidebar: true
comments: false
sharing: true
footer: true
logo: zoneminder.png
ha_category: Binary Sensor
ha_release: 0.87
ha_iot_class: "Local Polling"
---
The `zoneminder` binary sensor platform lets you monitor the availability of your [ZoneMinder](https://www.zoneminder.com) install.
<p class='note'>
This platform is automatically loaded by the [ZoneMinder component](/components/zoneminder/) during it's setup.
</p>
Each binary_sensor created will be named after the hostname used when configuring the [ZoneMinder component](/components/zoneminder/).

View File

@ -211,6 +211,10 @@ temp_step:
type: number
required: false
default: 1
json_attributes_topic:
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
required: false
type: string
device:
description: 'Information about the device this HVAC device is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.'
required: false

View File

@ -0,0 +1,21 @@
---
layout: page
title: "HomematicIP Cloud Cover"
description: "Instructions on how to integrate HomematicIP covers within Home Assistant."
date: 2019-01-13 13:40
sidebar: true
comments: false
sharing: true
footer: true
logo: homematicip_cloud.png
ha_category: Cover
ha_release: 0.87
ha_iot_class: "Cloud Push"
---
The `homematicip_cloud` cover platform allows you to control
[HomematicIP](http://www.homematic-ip.com) covers through Home Assistant.
Devices will be configured automatically. Please refer to the
[component](/components/homematicip_cloud/) configuration on how to setup
HomematicIP Cloud.

View File

@ -173,6 +173,10 @@ tilt_invert_state:
required: false
type: boolean
default: false
json_attributes_topic:
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
required: false
type: string
unique_id:
description: An ID that uniquely identifies this cover. If two covers have the same unique ID, Home Assistant will raise an exception.
required: false

View File

@ -0,0 +1,33 @@
---
layout: page
title: "Danfoss Air"
description: "How to integrate Danfoss Air HRV in Home Assistant."
date: 2019-01-14 20:00
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Climate
ha_release: "0.87"
logo: danfoss_air.png
ha_iot_class: "Local Polling"
---
The `danfoss_air` component allows you to access information from your Danfoss Air HRV unit.
*Note*: Danfoss Air CCM only accepts one TCP connection at a time. Due to this the component
will not work while you have the HRV PC-Tool open.
```yaml
# Example configuration.yaml entry
danfoss_air:
host: IP_ADDRESS_OF_CCM
```
{% configuration %}
host:
description: Danfoss Air CCM IP.
required: true
type: string
{% endconfiguration %}

View File

@ -0,0 +1,51 @@
---
layout: page
title: "EE Bright Box"
description: "Instructions on how to integrate EE Bright Box router into Home Assistant."
date: 2018-12-27 16:00
sidebar: true
comments: false
sharing: true
footer: true
logo: ee.png
ha_category: Presence Detection
ha_release: 0.87
ha_iot_class: "Local Polling"
---
This platform offers presence detection by looking at connected devices to a [EE Bright Box 2](https://ee.co.uk/help/phones-and-device/home-broadband/bright-box-2-wireless-router/bright-box-2-wireless-router) router.
## {% linkable_title Configuration %}
To use a EE Bright Box router in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
device_tracker:
- platform: ee_brightbox
password: router-admin-password
```
{% configuration %}
host:
description: The IP address of your router
default: 192.168.1.1
required: false
type: string
username:
description: Found at the back of the router in 'Router login details' section
default: admin
required: false
type: string
password:
description: Found at the back of the router in 'Router login details' section
required: true
type: string
version:
description: Currently only version 2 of the router is supported
default: 2
required: false
type: string
{% endconfiguration %}
See the [device tracker component page](/components/device_tracker/) for instructions on how to configure the people to be tracked.

View File

@ -0,0 +1,67 @@
---
layout: page
title: "Synology SRM"
description: "Instructions on how to integrate Synology SRM routers into Home Assistant."
date: 2019-01-22 13:43
sidebar: true
comments: false
sharing: true
footer: true
logo: synology.png
ha_category: Presence Detection
ha_release: 0.87
---
This platform allows you to detect presence by looking at connected devices to a [Synology SRM](https://www.synology.com/en-us/srm) router.
## {% linkable_title Configuration %}
To use this device tracker in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
device_tracker:
- platform: synology_srm
host: 192.168.1.254
password: YOUR_ADMIN_PASSWORD
```
{% configuration %}
host:
description: The Synology SRM router host or IP address, e.g., `192.168.1.1` or `router.mydomain.local`
required: true
type: string
port:
description: The port to connect to the Synology SRM router.
required: false
default: 8001
type: int
username:
description: The username of a user with administrative privileges.
required: false
default: admin
type: string
password:
description: The password for your given admin account.
required: true
type: string
ssl:
description: Use HTTPS instead of HTTP to connect.
required: false
default: true
type: boolean
verify_ssl:
description: Enable or disable SSL certificate verification.
required: false
default: false
type: boolean
{% endconfiguration %}
It's not possible to create another account in SRM with admin permissions. You'll need to use your admin account (or the one you renamed at creation) for this connection.
List of models known to be supported:
- RT1900ac
- RT2600ac
See the [device tracker component page](/components/device_tracker/) for instructions on how to configure the people to be tracked.

View File

@ -0,0 +1,46 @@
---
layout: page
title: "Dovado"
description: "How to integrate Dovado within Home Assistant."
date: 2019-01-26 15:45
sidebar: true
comments: false
sharing: true
footer: true
ha_category: System Monitor
logo: dovado.png
ha_release: 0.87
ha_iot_class: "Local Polling"
---
The `dovado` component manages communication with the [Dovado](http://www.dovado.com/) router. Once you've setup this component, you should enable the [sensor](/components/sensor.dovado) and [notify](/components/notity.dovado) platforms to use Dovado.
To add a Dovado component to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
dovado:
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
{% configuration %}
username:
description: Your Dovado username.
required: true
type: string
password:
description: Your Dovado password.
required: true
type: string
host:
description: The IP address of your router.
required: false
type: string
default: Home Assistant's default gateway
port:
description: The port number of your router.
required: false
type: integer
default: 6435
{% endconfiguration %}

View File

@ -0,0 +1,78 @@
---
layout: page
title: "eCoal water boiler controller"
description: "Instructions on how to integrate eSterownik.pl eCoal.pl controller into Home Assistant."
date: 2018-11-29 10:00
sidebar: true
comments: false
sharing: true
footer: true
# logo: raspberry-pi.png
ha_category: Water heater
ha_release: 0.87
ha_iot_class: "Local Polling"
redirect_from:
- /components/sensor.ecoal_boiler/
- /components/switch.ecoal_boiler/
---
The `ecoal_boiler` component is the base for pumps and sensors managed by [esterownik.pl eCoal boiler controller](https://esterownik.pl/nasze-produkty/ecoal).
## {% linkable_title Configuration %}
To use your eCoal pumps or sensors in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
ecoal_boiler:
host: YOUR_IP_ADDRESS
username: YOUR_USERNAME
password: YOUR_PASSWORD
switches:
monitored_conditions:
- central_heating_pump
- central_heating_pump2
sensors:
monitored_conditions:
- outdoor_temp
- indoor_temp
```
{% configuration %}
host:
description: The IP address or the hostname of eCoal controller.
required: true
type: string
username:
description: Login used to connect to controller.
required: false
default: admin
type: string
password:
description: Password for username.
required: false
default: admin
type: string
switches:
description: switch-related configuration options
required: false
type: map
keys:
monitored_conditions:
description: controller available source of switches
required: false
type: list
default: all (`central_heating_pump`, `central_heating_pump2`, `domestic_hot_water_pump`)
sensors:
description: sensor-related configuration options
required: false
type: map
keys:
monitored_conditions:
description: controller available source of sensors
required: false
type: list
default: all (`outdoor_temp`, `indoor_temp`, `indoor2_temp`, `domestic_hot_water_temp`, `target_domestic_hot_water_temp`,
`feedwater_in_temp`, `feedwater_out_temp`, `target_feedwater_temp`,
`fuel_feeder_temp`, `exhaust_temp`)
{% endconfiguration %}

View File

@ -142,6 +142,10 @@ payload_not_available:
required: false
type: string
default: offline
json_attributes_topic:
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
required: false
type: string
unique_id:
description: An ID that uniquely identifies this fan. If two fans have the same unique ID, Home Assistant will raise an exception.
required: false

View File

@ -13,7 +13,29 @@ ha_iot_class: "Local Polling"
ha_release: 0.57
---
The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier and Xiaomi Air Humidifier.
The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier, Air Humidifier and Air Fresh.
Supported devices:
| Name | Model | Model no. |
| ------------------- | ---------------------- | --------- |
Air Purifier | zhimi.airpurifier.v1 | |
Air Purifier 2 | zhimi.airpurifier.v2 | FJY4006CN |
Air Purifier V3 | zhimi.airpurifier.v3 | |
Air Purifier V5 | zhimi.airpurifier.v5 | |
Air Purifier Pro | zhimi.airpurifier.v6 | |
Air Purifier Pro V7 | zhimi.airpurifier.v7 | |
Air Purifier 2 (mini) | zhimi.airpurifier.m1 | |
Air Purifier (mini) | zhimi.airpurifier.m2 | |
Air Purifier MA1 | zhimi.airpurifier.ma1 | |
Air Purifier 2S | zhimi.airpurifier.ma2 | |
Air Purifier 2S | zhimi.airpurifier.mc1 | |
Air Purifier Super | zhimi.airpurifier.sa1 | |
Air Purifier Super 2 | zhimi.airpurifier.sa2 | |
Air Humidifier | zhimi.humidifier.v1 | |
Air Humidifier CA1 | zhimi.humidifier.ca1 | |
Air Fresh VA2 | zhimi.airfresh.va2 | |
## Features
@ -87,6 +109,68 @@ The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier and
- motor2_speed
- volume
### Air Purifier Pro V7 (zhimi.airpurifier.v7)
- Power (on, off)
- Operation modes (auto, silent, favorite)
- Child lock (on, off)
- LED (on, off)
- Favorite Level (0...16)
- Attributes
- model
- temperature
- humidity
- aqi
- mode
- filter_hours_used
- filter_life_remaining
- favorite_level
- child_lock
- led
- motor_speed
- average_aqi
- learn_mode
- extra_features
- turbo_mode_supported
- button_pressed
- filter_rfid_product_id
- filter_rfid_tag
- filter_type
- illuminance
- motor2_speed
- volume
### Air Purifier 2S (zhimi.airpurifier.mc1)
- Power (on, off)
- Operation modes (auto, silent, favorite)
- Buzzer (on, off)
- Child lock (on, off)
- LED (on, off)
- Favorite Level (0...16)
- Attributes
- model
- temperature
- humidity
- aqi
- mode
- filter_hours_used
- filter_life_remaining
- favorite_level
- child_lock
- led
- motor_speed
- average_aqi
- learn_mode
- extra_features
- turbo_mode_supported
- button_pressed
- filter_rfid_product_id
- filter_rfid_tag
- filter_type
- illuminance
- buzzer
### Air Purifier V3 (zhimi.airpurifier.v3)
- Power (on, off)
@ -167,6 +251,31 @@ The `xiaomi_miio` fan platform allows you to control the Xiaomi Air Purifier and
- depth
- dry
### Air Fresh VA2
* Power (on, off)
* Operation modes (auto, silent, interval, low, middle, strong)
* Buzzer (on, off)
* Child lock (on, off)
* LED (on, off), LED brightness (bright, dim, off)
* Attributes
- model
- aqi
- average_aqi
- temperature
- humidity
- co2
- mode
- led
- led_brightness
- buzzer
- child_lock
- filter_life_remaining
- filter_hours_used
- use_time
- motor_speed
- extra_features
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.
To add a Xiaomi Air Purifier to your installation, add the following to your `configuration.yaml` file:
@ -194,7 +303,7 @@ name:
type: string
default: Xiaomi Air Purifier
model:
description: The model of your miio fan. Valid values are `zhimi.airpurifier.v6`, `zhimi.airpurifier.v3`, `zhimi.humidifier.v1` and `zhimi.humidifier.ca1`. This setting can be used to bypass the device model detection and is recommended if your device isn't always available.
description: The model of your miio fan. See the table above for valid values (f.e. `zhimi.airpurifier.v2`). This setting can be used to bypass the device model detection and is recommended if your device isn't always available.
required: false
type: string
{% endconfiguration %}
@ -226,7 +335,7 @@ Turn the buzzer off.
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
### {% linkable_title Service `fan.xiaomi_miio_set_led_on` %} (Air Purifier only)
### {% linkable_title Service `fan.xiaomi_miio_set_led_on` %} (Air Purifiers only)
Turn the led on.
@ -234,7 +343,7 @@ Turn the led on.
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
### {% linkable_title Service `fan.xiaomi_miio_set_led_off` %} (Air Purifier only)
### {% linkable_title Service `fan.xiaomi_miio_set_led_off` %} (Air Purifiers only)
Turn the led off.
@ -258,7 +367,7 @@ Turn the child lock off.
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
### {% linkable_title Service `fan.xiaomi_miio_set_led_brightness` %} (Air Purifier Pro excluded)
### {% linkable_title Service `fan.xiaomi_miio_set_led_brightness` %} (Air Purifier 2S and Air Purifier Pro excluded)
Set the led brightness. Supported values are 0 (Bright), 1 (Dim), 2 (Off).
@ -267,7 +376,7 @@ Set the led brightness. Supported values are 0 (Bright), 1 (Dim), 2 (Off).
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
| `brightness` | no | Brightness, between 0 and 2. |
### {% linkable_title Service `fan.xiaomi_miio_set_favorite_level` %} (Air Purifier only)
### {% linkable_title Service `fan.xiaomi_miio_set_favorite_level` %} (Air Purifiers only)
Set the favorite level of the operation mode "favorite".
@ -276,7 +385,7 @@ Set the favorite level of the operation mode "favorite".
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
| `level` | no | Level, between 0 and 16. |
### {% linkable_title Service `fan.xiaomi_miio_set_auto_detect_on` %} (Air Purifier Pro only)
### {% linkable_title Service `fan.xiaomi_miio_set_auto_detect_on` %} (Air Purifier 2S and Air Purifier Pro only)
Turn the auto detect on.
@ -284,7 +393,7 @@ Turn the auto detect on.
|---------------------------|----------|---------------------------------------------------------|
| `entity_id` | yes | Only act on a specific Xiaomi miIO fan entity. Else targets all. |
### {% linkable_title Service `fan.xiaomi_miio_set_auto_detect_off` %} (Air Purifier Pro only)
### {% linkable_title Service `fan.xiaomi_miio_set_auto_detect_off` %} (Air Purifier 2S and Air Purifier Pro only)
Turn the auto detect off.

View File

@ -30,11 +30,6 @@ redirect_from:
[HomeKit](https://developer.apple.com/homekit/) controller integration for Home Assistant allows you to connect HomeKit accessories to Home Assistant. This component should not be confused with the [HomeKit](/components/homekit/) component, which allows you to control Home Assistant devices via HomeKit.
<p class="note warning">
You may need additional packages to support the HomeKit Python module:
`$ sudo apt-get install libgmp-dev libmpfr-dev libmpc-dev`
</p>
There is currently support for the following device types within Home Assistant:
- Alarm Control Panel (HomeKit security system)

View File

@ -0,0 +1,44 @@
---
layout: page
title: "QR Code Recognition"
description: "Instructions on how to integrate QR Code Recognition into Home Assistant."
date: 2019-01-18 00:00
sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category: Image Processing
featured: false
ha_release: 0.87
---
The `qrcode` image processing platform enables QR code recognition from cameras.
## {% linkable_title Configuration %}
To enable this, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
image_processing:
- platform: qrcode
source:
- entity_id: camera.door
```
{% configuration %}
source:
description: List of image sources.
required: true
type: list
keys:
entity_id:
description: A camera entity id to get picture from.
required: true
type: string
name:
description: This parameter allows you to override the name of your `image_processing` entity.
required: false
type: string
{% endconfiguration %}

View File

@ -23,6 +23,8 @@ With this setup sending and receiving commands to and from LCN modules is possib
There is currently support for the following device types within Home Assistant:
- [Light](/components/light.lcn)
- [Switch](/components/switch.lcn)
## {% linkable_title Configuration %}
@ -46,6 +48,11 @@ lcn:
output: output1
dimmable: true
transition: 5
switches:
- name: Sprinkler switch
address: myhome.s0.m7
output: relay1
```
{% configuration %}
@ -100,11 +107,11 @@ lights:
required: true
type: string
output:
description: "Light source ([OUTPUT_PORT](/components/lcn#ports))."
description: "Light source ([OUTPUT_PORT](/components/lcn#ports), [RELAY_PORT](/components/lcn#ports))."
required: true
type: string
dimmable:
description: Enable the dimming feature for this light
description: Enable the dimming feature for this light.
required: false
type: bool
default: false
@ -113,6 +120,24 @@ lights:
required: false
type: int
default: 0
switches:
description: List of your switches.
required: false
type: map
keys:
name:
description: "Name of the switch."
required: true
type: string
address:
description: "[Address](/components/lcn#lcn-addresses) of the module/group."
required: true
type: string
output:
description: "Switch source ([OUTPUT_PORT](/components/lcn#ports), [RELAY_PORT](/components/lcn#ports))."
required: true
type: string
{% endconfiguration %}
@ -155,3 +180,4 @@ The platforms and service calls use several predefined constants as parameters.
| Constant | Values |
| -------- | ------ |
| OUTPUT_PORT | `output1`, `output2`, `output3`, `output4` |
| RELAY_PORT | `relay1`, `relay2`, `relay3`, `relay4`, `relay5`, `relay6`, `relay7`, `relay8` |

View File

@ -118,6 +118,7 @@ There are some manual configuration options available. These are only needed wit
lifx:
light:
- server: IP_ADDRESS
port: 56700
broadcast: IP_ADDRESS
```
@ -126,6 +127,10 @@ server:
description: Your server address. Will listen on all interfaces if omitted.
required: false
type: string
port:
description: The UDP port for discovery. Will listen on a random port if omitted.
required: false
type: port
broadcast:
description: The broadcast address for discovering lights. Can also set this to the IP address of a bulb to skip discovery.
required: false

View File

@ -0,0 +1,44 @@
---
layout: page
title: "EverLights Light"
description: "Instructions on how to set up EverLights within Home Assistant."
date: 2018-12-29
sidebar: true
comments: false
sharing: true
footer: true
logo: everlights.png
ha_category: Light
ha_iot_class: "Local Polling"
ha_release: 0.87
---
[EverLights](https://myeverlights.com/) are permanent Christmas lights installed on a home's gutters or flashing. This integration can change all LEDs in a zone to a single color or activate a pattern that was previously saved to the control box.
### {% linkable_title Configuration Details %}
To enable EverLights, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
light:
- platform: everlights
hosts:
- 192.168.1.123
- 192.168.1.124
```
{% configuration %}
hosts:
description: EverLights control box IP addresses.
required: true
type: list
{% endconfiguration %}
### {% linkable_title Effects %}
EverLights patterns saved to the control box can be activated using the effect parameter to the `light.turn_on` service. If an effect is specified, then the color and brightness are ignored.
### Limitations
The EverLights control box status indicates if a zone is active but does not indicate the current color or pattern. The color and effect in the state attributes are based on the last execution of `light.turn_on`. If the control box scheduler or another app makes a change, then the state attributes are not updated.

View File

@ -16,6 +16,7 @@ ha_iot_class: "Local Push"
The `lcn` light platform allows the control of the following [LCN](http://www.lcn.eu) ports:
- (Dimmable) output ports
- Relays
## {% linkable_title Configuration %}

View File

@ -225,6 +225,10 @@ payload_not_available:
required: false
type: string
default: offline
json_attributes_topic:
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
required: false
type: string
device:
description: 'Information about the device this light is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.'
required: false
@ -479,6 +483,10 @@ payload_not_available:
required: false
type: string
default: offline
json_attributes_topic:
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
required: false
type: string
device:
description: 'Information about the device this light is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.'
required: false
@ -746,6 +754,10 @@ payload_not_available:
required: false
type: string
default: offline
json_attributes_topic:
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
required: false
type: string
device:
description: 'Information about the device this light is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set.'
required: false

View File

@ -76,6 +76,30 @@ devices:
description: "Yeelight model. Possible values are `mono1`, `color1`, `color2`, `strip1`, `bslamp1`, `ceiling1`, `ceiling2`, `ceiling3`, `ceiling4`. The setting is used to enable model specific features f.e. a particular color temperature range."
required: false
type: string
custom_effects:
description: List of custom effects to add. Check examples below.
required: false
type: array
keys:
name:
description: Name of effect.
required: true
type: string
flow_params:
description: Flow params for effect.
required: true
type: map
keys:
count:
description: The number of times to run this flow (0 to run forever).
required: false
type: integer
default: 0
transitions:
description: List of transitions, for that effect, check [example](#custom-effects).
required: true
type: array
{% endconfiguration %}
#### {% linkable_title Music mode %}
@ -122,9 +146,20 @@ Set an operation mode.
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------------------------------------------|
| `entity_id` | yes | Only act on a specific yeelight. Else targets all. |
| `entity_id` | no | Only act on a specific lights. |
| `mode` | no | Operation mode. Valid values are 'last', 'normal', 'rgb', 'hsv', 'color_flow', 'moonlight'. |
### {% linkable_title Service `light.yeelight_start_flow` %}
Start flow with specified transitions
| Service data attribute | Optional | Description |
|---------------------------|----------|---------------------------------------------------------------------------------------------|
| `entity_id` | no | Only act on a specific lights. |
| `count` | yes | The number of times to run this flow (0 to run forever). |
| `transitions` | no | Array of transitions. See [examples below](#custom-effects). |
## {% linkable_title Examples %}
In this section you find some real-life examples of how to use this light.
@ -158,3 +193,29 @@ light:
192.168.1.13:
name: Front Door
```
### {% linkable_title Custom effects %}
This example shows how you can add your custom effects in your configuration.
Possible transitions are `RGBTransition`, `HSVTransition`, `TemperatureTransition`, `SleepTransition`.
More info about transitions and their expected parameters can be found in [python-yeelight documentation](https://yeelight.readthedocs.io/en/stable/flow.html).
```yaml
light:
- platform: yeelight
devices:
192.168.1.25:
name: Living Room
custom_effects:
- name: 'Fire Flicker'
flow_params:
count: 0
transitions:
- TemperatureTransition: [1900, 1000, 80]
- TemperatureTransition: [1900, 2000, 60]
- SleepTransition: [1000]
```

View File

@ -89,6 +89,10 @@ payload_not_available:
required: false
type: string
default: offline
json_attributes_topic:
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
required: false
type: string
unique_id:
description: An ID that uniquely identifies this lock. If two locks have the same unique ID, Home Assistant will raise an exception.
required: false

View File

@ -61,9 +61,22 @@ password:
It is recommended to assign a static IP address to your main repeater. This ensures that it won't change IP addresses, so you won't have to change the `host` if it reboots and comes up with a different IP address.
</p>
## {% linkable_title Keypad buttons %}
Individual buttons on keypads are not represented as entities. Instead, they fire events called `lutron_event` whose payloads include `id` and `action` attributes.
The `id` attribute includes the name of the keypad and the name of the button, normalized the same way entity names are. For example, if the keypad is called "Kitchen Keypad" and the button is called "Dinner" the event's `id` will be `kitchen_keypad_dinner`.
The `action` attribute varies depending on the button type.
For raise/lower buttons (dimmer buttons, shade controls, etc.) there will be two values, `pressed` and `released`, fired when the button is pressed and when it's released, respectively.
For single-action buttons (scene selection, etc.), `action` will be `single`, and there will only be one event fired. This is a limitation of the Lutron controller which doesn't give Home Assistant any way of knowing when a single-action button is released.
## {% linkable_title Scene %}
This component uses keypad programming to identify scenes. Currently, it only works with SeeTouch keypads.
The Lutron scene platform allows you to control scenes programmed into your SeeTouch keypads.
After setup, scenes will appear in Home Assistant using the area, keypad, and button name.
After setup, scenes will appear in Home Assistant using the area, keypad and button name.

View File

@ -0,0 +1,46 @@
---
layout: page
title: "Dovado SMS"
description: "How to integrate Dovado SMS notifications within Home Assistant."
date: 2019-01-26 15:45
sidebar: true
comments: false
sharing: true
footer: true
ha_category: System Monitor
logo: dovado.png
ha_release: 0.87
ha_iot_class: "Local Polling"
---
The `dovado` notify platform allows you to send SMS from your [Dovado](http://www.dovado.com/) router, if it supports it.
<p class='note'>
You must have the [Dovado component](/components/dovado/) configured to use this notify platform.
</p>
To add the Dovado notify platform to your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
notify:
- platform: dovado
```
### {% linkable_title Usage %}
This is a notify platform and thus can be controlled by calling the notify service [as described here](/components/notify/). It will send an SMS notification to a single phone number in the notification **target**.
```yaml
# Example automation notification entry
automation:
- alias: The sun has set
trigger:
platform: sun
event: sunset
action:
service: notify.dovado
data:
message: 'The sun has set'
target: '+14151234567'
```

View File

@ -49,6 +49,11 @@ octoprint:
required: false
type: integer
default: 80
path:
description: The URL path of the Octoprint instance.
required: false
type: string
default: /
ssl:
description: Enable or disable SSL/TLS.
required: false

View File

@ -30,7 +30,7 @@ rest_command:
{% configuration %}
service_name:
description: The name used to expose the service. E.g., in the above example, it would be 'rest_command.service_name'.
required: true
required: true
type: map
keys:
url:
@ -59,7 +59,7 @@ service_name:
required: false
type: string
timeout:
description: Timeout for requests in seconds.
description: Timeout for requests in seconds.
required: false
type: string
defaut: 10
@ -67,6 +67,11 @@ service_name:
description: Content type for the request.
required: false
type: string
verify_ssl:
description: Verify the SSL certificate of the endpoint.
required: false
type: boolean
default: true
{% endconfiguration %}
## {% linkable_title Examples %}
@ -80,11 +85,12 @@ rest_command:
my_request:
url: https://slack.com/api/users.profile.set
method: POST
headers:
headers:
authorization: !secret rest_headers_secret
accept: 'application/json, text/html'
payload: '{"profile":{"status_text": "{{ status }}","status_emoji": "{{ emoji }}"}}'
content_type: 'application/json; charset=utf-8'
verify_ssl: true
```
{% endraw %}

View File

@ -0,0 +1,102 @@
---
layout: page
title: "CO2Signal"
description: "Instructions on how to use CO2Signal data within Home Assistant"
date: 2019-01-01 21:47
sidebar: true
comments: false
sharing: true
footer: true
logo: co2signal.png
ha_category: Environment
ha_release: 0.87
ha_iot_class: "Cloud Polling"
---
The `co2signal` sensor platform queries the [CO2Signal](https://www.co2signal.com/) API for the CO2 intensity of a specific region. Data can be collected via latitude/longitude or by country code. This API uses the same data as https://www.electricitymap.org/. Not all countries/regions in the world are supported so please consult this website to check local availability.
This platform requires a CO2Signal API key, which can be obtained [here](https://www.co2signal.com/). Note that this API key is for personal use only and other options exist when the data is used commercially.
At the moment, the free CO2Signal API only supports the average carbon intensity of a country and not the marginal carbon intensity.
<p class='note warning'>
The "free" API key is limited to a limited number of calls. Too many requests can result in data loss.
</p>
## {% linkable_title Configuration %}
To set up this platform, get your [API key](https://www.co2signal.com/) and add the following lines to your `configuration.yaml` file:
```yaml
sensor:
- platform: co2signal
token: YOUR_CO2SIGNAL_API_KEY
```
By default, the sensor will use your Home Assistant longitude and latitude. More detailed configurations to overwrite this can be found below.
{% configuration %}
token:
description: Your CO2Signal API key.
required: true
type: string
latitude:
description: The latitude of the location to monitor.
required: false
type: string
default: "The latitude defined under the `homeassistant` key in `configuration.yaml`."
longitude:
description: The longitude of the location to monitor.
required: false
type: string
default: "The longitude defined under the `homeassistant` key in `configuration.yaml`."
country_code:
description: The country code or region code.
required: false
type: string
{% endconfiguration %}
To enable the platform and gather data via a specific latitude/longitude, add the following lines to your `configuration.yaml` file:
```yaml
sensor:
- platform: co2signal
token: YOUR_CO2SIGNAL_API_KEY
latitude: YOUR_LATITUDE
longitude: YOUR_LONGITUDE
```
A similar result can be achieved by using the country code. In that case, use the following lines in your `configuration.yaml` file:
```yaml
sensor:
- platform: co2signal
token: YOUR_CO2SIGNAL_API_KEY
country_code: YOUR_COUNTRY_CODE
```
## {% linkable_title Example Configurations %}
Configuration using custom latitude and longitude:
```yaml
sensor:
- platform: co2signal
token: YOUR_CO2SIGNAL_API_KEY
latitude: 55.4
longitude: 5.5
```
Configuration using a country code:
```yaml
sensor:
- platform: co2signal
token: YOUR_CO2SIGNAL_API_KEY
country_code: BE
```
## {% linkable_title Sensor Types %}
When configured, the platform will create one sensor for each configured location.

View File

@ -0,0 +1,25 @@
---
layout: page
title: "Danfoss Air Sensor"
description: "Instructions for how to setup Danfoss Air sensors within Home Assistant."
date: 2019-01-21 20:59
sidebar: true
comments: false
sharing: true
footer: true
logo: danfoss_air.png
ha_category: Sensor
ha_release: "0.87"
ha_iot_class: "Local Polling"
---
<p class='note'>
To get your Danfoss Air sensors working with Home Assistant, follow the instructions for the general [Danfoss Air component](/components/danfoss_air/).
</p>
The following sensors are supported.
* **Outdoor temperature:** Outdoor air temperature.
* **Supply temperature:** Air temperature of the air supplied to the house.
* **Extract temperature:** Air temperature of the air extracted from the house.
* **Exhaust temperature:** Exhausted air temperature.
* **Remaining filter lifetime:** Reamining filter lifetime measured in percent.

View File

@ -1,6 +1,6 @@
---
layout: page
title: "Dovado"
title: "Dovado Sensor"
description: "How to integrate Dovado sensors within Home Assistant."
date: 2016-11-05 08:00
sidebar: true
@ -13,7 +13,7 @@ ha_release: 0.32
ha_iot_class: "Local Polling"
---
The `dovado` platform let you monitor your router from [Dovado](http://www.dovado.com/). If the router provides SMS functionality, a service for sending SMS will also be registered in Home Assistant.
The `dovado` sensor platform let you monitor your [Dovado](http://www.dovado.com/) router.
To add a Dovado sensor to your installation, add the following to your `configuration.yaml` file:
@ -21,31 +21,11 @@ To add a Dovado sensor to your installation, add the following to your `configur
# Example configuration.yaml entry
sensor:
- platform: dovado
username: YOUR_USERNAME
password: YOUR_PASSWORD
sensors:
- network
```
{% configuration %}
username:
description: Your Dovado username.
required: true
type: string
password:
description: Your Dovado password.
required: true
type: string
host:
description: The IP address of your router.
required: false
type: string
default: Home Assistant's default gateway
port:
description: The port number of your router.
required: false
type: integer
default: 6435
sensors:
description: Conditions to display in the frontend. Only accepts the values listed here.
required: true

View File

@ -70,7 +70,7 @@ filters:
type: list
keys:
filter:
description: Algorithm to be used to filter data. Available filters are `lowpass`, `outlier`, `range`, `throttle` and `time_simple_moving_average`.
description: Algorithm to be used to filter data. Available filters are `lowpass`, `outlier`, `range`, `throttle`, `time_throttle` and `time_simple_moving_average`.
required: true
type: string
window_size:
@ -149,6 +149,14 @@ To adjust the rate you need to set the window_size. To throttle a sensor down to
This filter is relevant when you have a sensor which produces states at a very high-rate, which you might want to throttle down for storing or visualization purposes.
### {% linkable_title Time Throttle %}
The Time Throttle filter (`time_throttle`) will only update the state of the sensor for the first state in the window. This means the filter will skip all other values.
To adjust the rate you need to set the window_size. To throttle a sensor down to 1 value per minute, the `window_size` should be set to 00:01.
This filter is relevant when you have a sensor which produces states at a very high inconstant rate, which you might want to throttle down to some constant rate for storing or visualization purposes.
### {% linkable_title Time Simple Moving Average %}
The Time SMA filter (`time_simple_moving_average`) is based on the paper [Algorithms for Unevenly Spaced Time Series: Moving Averages and Other Rolling Operators](http://www.eckner.com/papers/Algorithms%20for%20Unevenly%20Spaced%20Time%20Series.pdf) by Andreas Eckner.

View File

@ -0,0 +1,27 @@
---
layout: page
title: "Fritzbox temperature sensor"
description: "Instructions on how to integrate the AVM Fritzbox temperature sensor."
date: 2019-01-22 20:00
sidebar: true
comments: false
sharing: true
footer: true
logo: avm.png
ha_category: Sensor
ha_release: 0.87
ha_iot_class: "Local Polling"
---
To get AVM Fritzbox temperature sensor (e.g. FRITZ!DECT Repeater 100) follow the instructions for the [Fritzbox component](/components/fritzbox/).
## {% linkable_title Attributes %}
The are several attributes that can be useful for automations and templates.
| Attribute | Description |
| --------- | ----------- |
| `device_locked` | The state of the key lock at the device.
| `locked` | The state of the lock for configuring the device via the app or the Fritzbox web interface.
| `temperature_unit` | The unit of the temperature sensor.
| `temperature` | The current temperature sensor reading.

View File

@ -21,9 +21,7 @@ Here are some examples:
- [Bay Area Rapid Transit (BART)](http://www.bart.gov/schedules/developers/gtfs) - The light rail system for the San Francisco Bay Area.
- [Metropolitan Transit Authority of New York City (MTA)](http://web.mta.info/developers/) - Provides separate data feeds for subway, bus, LIRR and Metro-North of the greater New York City metropolitan region.
- [GBRail.info](http://www.gbrail.info/) - Provides data feeds for most if not all rail companies in Britain.
- [Official Timetable Switzerland](http://www.fahrplanfelder.ch/en/timetable-data.html) - The official timetable data for Switzerland.
- [Public Transport Victoria (Australia)](https://www.data.vic.gov.au/data/dataset/ptv-timetable-and-geographic-information-2015-gtfs) - Official PTV GTFS dataset.
- [Official Timetable Switzerland](https://opentransportdata.swiss/en/dataset/timetable-2019-gtfs) - The official timetable data for Switzerland in 2019.
You need to download a GTFS ZIP file and put it into a folder named `gtfs` in your configuration directory. For ease of use, it is suggested that you rename the file to just the agency/data source name (i.e. `bart.zip` instead of `google_transit_20160328_v1.zip`). You can also unzip and place a folder in the `gtfs` folder.

View File

@ -0,0 +1,41 @@
---
layout: page
title: "Iliad Italy"
description: "Instructions on how to integrate Iliad Italy's data inside Home Assistant"
date: 2018-12-29 00:00
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Communication
logo: iliad.png
ha_iot_class: "Cloud Polling"
ha_release: 0.87
---
The `iliad_italy` sensor will give you the data from [Iliad Italy's](https://www.iliad.it/) website inside Home Assistant.
## {% linkable_title Configuration %}
To enable this sensor, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: iliad_italy
username: USERNAME
password: PASSWORD
```
{% configuration %}
username:
description: The username you use to check Iliad.it.
required: true
type: string
password:
description: The password you use to check Iliad.it.
required: true
type: string
{% endconfiguration %}
The data is coming from the [iliad.it](https://www.iliad.it/) website.

View File

@ -57,4 +57,18 @@ folder:
required: false
default: inbox
type: string
search:
description: The IMAP search to perform on the watched folder.
required: false
default: UnSeen UnDeleted
type: string
{% endconfiguration %}
### {% linkable_title Configuring IMAP Searches %}
By default, this component will count unread emails. By configuring the search string, you can count other results, for example:
* `ALL` to count all emails in a folder
* `FROM`, `TO`, `SUBJECT` to find emails in a folder (see [IMAP RFC for all standard options](https://tools.ietf.org/html/rfc3501#section-6.4.4))
* [Gmail's IMAP extensions](https://developers.google.com/gmail/imap/imap-extensions) allow raw Gmail searches, like `X-GM-RAW "in: inbox older_than:7d"` to show emails older than one week in your inbox. Note that raw Gmail searches will ignore your folder configuration and search all emails in your account!

View File

@ -0,0 +1,78 @@
---
layout: page
title: "Integration Sensor"
description: "Instructions on how to integrate Integration Sensor into Home Assistant."
date: 2019-01-02
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Utility
ha_release: 0.87
ha_iot_class: "Local Push"
logo: integral.png
ha_qa_scale: internal
---
The `integration` platform provides the [Riemann sum](https://en.wikipedia.org/wiki/Riemann_sum) of the values provided by a source sensor. The Riemann sum is an approximation of an **integral** by a finite sum. In this implementation, we follow the Trapezoidal rule.
## {% linkable_title Configuration %}
To enable Integration Sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: integration
source: sensor.current_power
```
{% configuration %}
source:
description: The entity ID of the sensor providing numeric readings
required: true
type: string
name:
description: Name to use in the frontend.
required: false
default: source entity ID meter
type: string
round:
description: Round the calculated integration value to at most N decimal places.
required: false
default: 3
type: integer
unit_prefix:
description: Metric unit to prefix the integration result. Available units are k, M, G, T.
required: false
default: None
type: unit
unit_time:
description: SI unit of time to integrate over. Available units are s, min, h, d.
required: false
default: h
type: unit
unit:
description: Unit of Measurement to be used for the integration.
required: false
type: string
{% endconfiguration %}
If 'unit' is set then 'unit_prefix' and 'unit_time' are ignored.
## {% linkable_title Energy %}
An `integration` sensor is quite useful in energy billing scenarios since energy is generally billed in kWh and many sensors provide power in W (Watts).
If you have a sensor that provides you with power readings in Watts (uses W as `unit_of_measurement`), then you can use the `integration` sensor to track how much energy is being spent. Take the next configuration as an example:
```yaml
sensor:
- platform: integration
source: sensor.current_power
name: energy_spent
unit_prefix: k
round: 2
```
This configuration will provide you with `sensor.energy_spent` who will have your energy in kWh.

View File

@ -28,7 +28,7 @@ sensor:
language:
required: false
default: english
description: Whether to represent the sensors in Hebrew (א' תשרי תשע"ט) or English characters (1 Tishri 5779).
description: Whether to represent the sensors in Hebrew (א' תשרי תשע"ט) or English characters (1 Tishrei 5779). Valid options are 'english' and 'hebrew'.
type: string
latitude:
required: false
@ -45,6 +45,16 @@ diaspora:
description: Consider the location as diaspora or not for calculation of the weekly portion and holidays.
default: false
type: string
candle_lighting_minutes_before_sunset:
required: false
description: Number of minutes before sunset to report as candle lighting time.
default: 18
type: integer
havdalah_minutes_after_sunset:
required: false
description: Number of minutes after sunset to report as havdalah time. If this is set to 0, uses the time that the sun is 8.5 degrees below the horizon (same as the 'three_stars' sensor). If non-zero, this value is added as an offset to the time of sunset to report havdalah.
default: 0
type: integer
sensors:
required: false
default: date
@ -68,17 +78,28 @@ sensors:
description: Time of the Plag Hamincha.
first_stars:
description: Time at which the first stars are visible (Tset Hakochavim - צאת הכוכבים).
upcoming_shabbat_candle_lighting:
description: The time of candle lighting for either the current Shabbat (if it is currently Shabbat) or the immediately upcoming Shabbat.
upcoming_shabbat_havdalah:
description: The time of havdalah for either the current Shabbat (if it is currently Shabbat) or the immediately upcoming Shabbat. If it is currently a three-day holiday, this value *could* be None (i.e. if holiday is Sat./Sun./Mon. and it's Saturday, there will be no shabbat_havdalah value. See comments in hdate library for details.)
upcoming_candle_lighting:
description: The time of candle lighting for either the current Shabbat OR Yom Tov, or the immediately upcoming Shabbat OR Yom Tov. If, for example, today is Sunday, and Rosh Hashana is Monday night through Wednesday night, this reports the candle lighting for Rosh Hashana on Monday night. This avoids a situation of triggering pre-candle-lighting automations while it is currently Yom Tov. To always get the Shabbat times, use the upcoming_shabbat_candle_lighting sensor.
upcoming_havdalah:
description: The time of havdalah for either the current Shabbat OR Yom Tov, or the immediately upcoming Shabbat OR Yom Tov. If, for example, today is Sunday, and Rosh Hashana is Monday night through Wednesday night, this reports the havdalah for Rosh Hashana on Wednesday night. To always get the Shabbat times, use the upcoming_shabbat_havdalah sensor.
issur_melacha_in_effect:
description: A boolean sensor indicating if melacha is currently not permitted. The value is true when it is currently Shabbat or Yom Tov and false otherwise.
{% endconfiguration %}
### {% linkable_title Holyness levels %}
1. Mido'rayta - by Torah ordination (Rosh Hashana, Yom Kippur, Pesach, Shavuot, Sukkot)
2. Erev Yom Kippur
2. Erev Yom Tov
3. Hol Hamo'ed
4. Hanukka and Purim
5. Fast days
6. Yom Yerushalayim and Yom Haatsmaut
7. Lag ba'omer and Tu bishvat
6. Modern holidays, e.g. Yom Yerushalayim and Yom Haatsmaut
7. Minor holidays, e.g. Lag ba'omer and Tu bishvat
8. Memorial days: yom hazikaron and yom hashoah
9. Days mentioned by the Israeli parliament: Rabin memorial day, Ze'ev Zhabotinsky day, etc.
@ -90,6 +111,7 @@ sensor:
- platform: jewish_calendar
language: english
diaspora: true
havdalah_minutes_after_sunset: 50
sensors:
- date
- weekly_portion
@ -100,4 +122,6 @@ sensor:
- mga_end_shma
- plag_mincha
- first_stars
- upcoming_candle_lighting
- upcoming_havdalah
```

View File

@ -25,7 +25,6 @@ sensor:
- platform: lyft
client_id: CLIENT_ID
client_secret: CLIENT_SECRET
start_latitude: 37.8116380
```
{% configuration %}
@ -39,12 +38,14 @@ client_secret:
type: string
start_latitude:
description: The starting latitude for a trip.
required: true
required: false
type: float
default: "The latitude defined under the `homeassistant` key in `configuration.yaml`."
start_longitude:
description: The starting longitude for a trip.
required: true
required: false
type: float
default: "The longitude defined under the `homeassistant` key in `configuration.yaml`."
end_latitude:
description: The ending latitude for a trip. While `end_latitude` is optional, providing an `end_latitude`/`end_longitude` allows price estimates as well as time.
required: false

View File

@ -0,0 +1,59 @@
---
layout: page
title: Recollect Waste Sensor
description: "Instructions on how to set up Recollect Waste sensor within Home Assistant."
date: 2019-01-14 13:30
sidebar: true
comments: false
sharing: true
footer: true
logo: recollect-waste.png
ha_category: Sensor
ha_release: 0.87
ha_iot_class: "Cloud Polling"
---
The `Recollect Waste` platform allows you to track the next scheduled waste pickup and what type of waste from [Recollect](https://recollect.net/solutions/waste/). To use this sensor your city's waste company must be Recollect and you will need to find your place_id and service_id.
1. In Chrome open developer tools and go to the network tab.
2. Go to your city's Recollect collection calendar.
3. Search for and select your address in the UI.
4. Watch for a request that looks like
ht<span>tps://api.recollect.net/api/places/**(place_id)**/services/**(service_id)**/events?nomerge ...
5. Use the place_id and service_id when configuring the sensor.
## {% linkable_title Configuration %}
To enable this sensor, add the following lines to your `configuration.yaml`:
```yaml
# Example configuration.yaml entry
sensor:
- platform: recollect_waste
place_id: YOUR_PLACE_ID
service_id: YOUR_SERVICE_ID
```
{% configuration %}
place_id:
description: The place_id used for your neighbourhood.
required: true
type: string
service_id:
description: The service_id used for your city.
required: true
type: string
name:
description: Name the sensor.
required: false
type: string
default: recollect_waste
{% endconfiguration %}
The default frequency for pulling data from Recollect Waste is once a day (86400 seconds).
<p class='note warning'>
The Recollect Waste sensor uses the Recollect API <strong>URL</strong> to obtain data not an official API from Recollect. Use at your own risk.
</p>

View File

@ -67,7 +67,7 @@ payload:
required: false
type: string
verify_ssl:
description: Verify the certification of the endpoint.
description: Verify the SSL certificate of the endpoint.
required: false
type: boolean
default: true
@ -173,7 +173,7 @@ sensor:
Content-Type: application/json
```
The headers will contain all relevant details. This will also give you the ability to access endpoints that are protected by tokens.
The headers will contain all relevant details. This will also give you the ability to access endpoints that are protected by tokens.
```bash
Content-Length: 1024
@ -234,7 +234,7 @@ This sample fetches a weather report from [OpenWeatherMap](http://openweathermap
sensor:
- platform: rest
name: OWM_report
json_attributes:
json_attributes:
- main
- weather
value_template: '{{ value_json["weather"][0]["description"].title() }}'

View File

@ -0,0 +1,99 @@
---
layout: page
title: "ROVA Sensor"
description: "Instructions on how to integrate ROVA sensor within Home Assistant."
date: 2018-12-08 18:00
sidebar: true
comments: false
sharing: true
footer: true
logo: rova.jpg
ha_category: Sensor
ha_release: 0.87
ha_iot_class: "Cloud Polling"
---
[ROVA](https://rova.nl) is a waste collection company that operates in the center and east of the Netherlands. The `rova` platform uses an unofficial [ROVA](https://rova.nl) API to allow you to get your waste collection schedule and integrate this in your Home Assistant installation.
## {% linkable_title Configuration %}
To use the ROVA sensor in your installation, add the following to your configuration.yaml file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: rova
zip_code: ZIP_CODE
house_number: HOUSE_NUMBER
```
{% configuration %}
zip_code:
description: Your zip code.
required: true
type: string
house_number:
description: Your house number.
required: true
type: string
name:
description: Let you overwrite the name of the device in the frontend.
required: false
default: Rova
type: string
monitored_conditions:
description: ROVA information to be monitored. The following collection dates can be monitored.
required: false
type: list
keys:
bio:
description: Upcoming collection date of your biodegradable waste
paper:
description: Upcoming collection date of your paper waste
plastic:
description: upcoming collection date of your plastic waste
residual:
description: Upcoming collection date of your general waste
{% endconfiguration %}
If no **monitored_conditions** are specified, only **bio** will be enabled.
### {% linkable_title Full configuration sample %}
A full configuration entry would look like the sample below.
```yaml
# Example configuration.yaml entry
sensor:
- platform: rova
zip_code: ZIP_CODE
house_number: HOUSE_NUMBER
name: Rova
monitored_conditions:
- bio
- paper
- plastic
- residual
```
To have your Home Assistant installation remind you of upcoming waste collections, combine the `rova` platform with some [Automations](/docs/automation/) and a [notification platform](/components/notify/).
{% raw %}
```yaml
# Example configuration.yaml entry for Rova waste collection reminder
automation:
- id: rova-garbage-bio-reminder
alias: 'Send Rova Bio waste collection reminder'
hide_entity: true
trigger:
- platform: time
at: '19:00:00'
condition:
- condition: template
value_template: "{% if (as_timestamp(states.sensor.rova_garbage_gft.state) - as_timestamp(now())) < 43200 %}true{% endif %}"
action:
- service: NOTIFICATION_SERVICE
data:
message: 'Reminder: put out biowaste bin'
```
{% endraw %}

View File

@ -32,7 +32,7 @@ sensor:
site_id: SITE_ID
monitored_conditions:
- current_power
- last_day_data
- energy_today
```
{% endraw %}
@ -56,13 +56,13 @@ monitored_conditions:
type: list
default: current_power
keys:
life_time_data:
lifetime_energy:
description: Lifetime energy generated at your SolarEdge Site in Wh
last_year_data:
energy_this_year:
description: Energy generated this year at your SolarEdge Site in Wh
last_month_data:
energy_this_month:
description: Energy generated this month at your SolarEdge Site in Wh
last_day_data:
energy_today:
description: Energy generated today at your SolarEdge Site in Wh
current_power:
description: Current generated power in W
@ -84,10 +84,10 @@ sensor:
name: SolarEdge
monitored_conditions:
- current_power
- last_day_data
- last_month_data
- last_year_data
- life_time_data
- energy_today
- energy_this_month
- energy_this_year
- lifetime_energy
```
{% endraw %}
@ -99,7 +99,7 @@ In case you would like to convert the values for example to kWh instead of the d
sensors:
platform: template
sensors:
solaredge_last_year_data_template:
value_template: '{{(states.sensor.solaredge_last_year_data.state | float / 1000) | round(2)}}'
solaredge_energy_this_year_template:
value_template: '{{(states.sensor.solaredge_energy_this_year.state | float / 1000) | round(2)}}'
```
{% endraw %}

View File

@ -0,0 +1,151 @@
---
layout: page
title: "SmartThings"
description: "Instructions on setting up Samsung SmartThings within Home Assistant."
date: 2018-01-14 00:00
sidebar: true
comments: false
sharing: true
footer: true
featured: true
logo: samsung_smartthings.png
ha_category:
- Binary Sensor
- Fan
- Hub
- Light
- Switch
ha_release: "0.87"
ha_iot_class: "Cloud Push"
redirect_from:
- /components/smartthings.binary_sensor/
- /components/binary_sensor.smartthings/
- /components/smartthings.fan/
- /components/fan.smartthings/
- /components/smartthings.light/
- /components/light.smartthings/
- /components/smartthings.switch/
- /components/switch.smartthings/
---
Samsung SmartThings is integrated into Home Assistant through the SmartThings Cloud API. The SmartThings component is the main component to integrate all SmartThings related platforms. The basic features of this integration include:
1. Controlling SmartThings devices with pushed state updates from SmartThings.
2. Entities automatically added, removed, or updated when changed in SmartThings (upon Home Assistant restart).
3. Support for multiple SmartThings accounts and locations, each represented as a unique integration in the front-end configuration.
4. No brokers, bridges, or additional dependencies.
## {% linkable_title Basic requirements %}
1. A [personal access token](https://account.smartthings.com/tokens) tied to a Samsung or SmartThings account (see below for instructions).
2. Home Assistant setup for [remote access](/docs/configuration/remote/) via a domain name secured with SSL. *Self-signed SSL certificates are not supported by the SmartThings Cloud API.*
3. [`base_url` of the http component](/components/http#base_url) set the URL that Home Assistant is available on the internet.
## {% linkable_title Setup instructions %}
### {% linkable_title Create personal access token %}
1. Log into the [personal access tokens page](https://account.smartthings.com/tokens) and click '[Generate new token](https://account.smartthings.com/tokens/new)'
2. Enter a token name (can be whatever you want), for example, 'Home Assistant' and select the following authorized scopes:
- Devices (all)
- Installed Apps (all)
- Locations (all)
- Apps (all)
- Schedules (all)
- Scenes (all)
3. Click 'Generate token'. When the token is displayed, copy and save it somewhere safe (such as your keystore) as you will not be able to retrieve it again.
### {% linkable_title Configure Home Assistant %}
<p class='note info'>
The SmartThings component is configured exclusively through the front-end. Manual setup through `configuration.yaml` is not available at this time.
</p>
1. From the Home Assistant front-end, navigate to 'Configuration' then 'Integrations'. Under 'Set up a new integration' locate 'SmartThings' and click 'Configure'.
2. Enter the personal access token created above and click 'Submit'
3. When prompted, install the SmartApp:
1. Open the SmartThings Classic mobile app. Navigate to 'Automation' and select the 'SmartApps' tab.
2. Click 'Add a SmartApp', scroll to the bottom, and select 'My Apps', then choose 'Home Assistant'.
3. Optionally change the display name and press 'Done'
4. Authorize the app by pressing 'Allow'
4. Return to Home Assistant and click 'Submit'.
<p class='note info'>
Advanced: If you have multiple locations in SmartThings, each can be integrated into Home Assistant. Follow the steps above, then for each subsequent location, install the SmartApp and it will automatically add to Home Assistant. This can be completed during step 3 (install SmartApp) above or at any time after that.
</p>
## {% linkable_title Events %}
The SmartThings component triggers events for select device capabilities.
### {% linkable_title smartthings.button %}
The component will trigger an event when a device with the [button](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Button) capability is actuated and can be used to trigger automations within Home Assistant. Below is an example of the data payload:
```json
{
"component_id": "main",
"device_id": "42a16cf2-fef7-4ee8-b4a6-d32cb65474b7",
"location_id": "2a54b9fa-f66c-42d9-8488-d8f036b980c8",
"value": "pushed",
"name": "Scene Button"
}
```
| Attribute | Description
|---------------------------|------------------------------------------------------------------|
`component_id` | Describes which component of the device triggered the event. `main` represents the parent device. For devices with child-devices, this attribute identifies the child that raised the event.
`device_id` | The unique id of the device in SmartThings. This can be located in the HASS device registry or in the [SmartThings Groovy IDE](https://developers.smartthings.com/).
`location_id` | The unique id of the location the device is part of. This can be found in the config entry registry or in the [SmartThings Groovy IDE](https://developers.smartthings.com/).
`value` | Describes the action taken on the button. See the [button](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Button) capability reference for a list of possible values (not all are supported by every device).
`name` | The name given to the device in SmartThings.
## {% linkable_title Platforms %}
SmartThings represents devices as a set of [capabilities](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html) and the SmartThings component mapps those to entity platforms in Home Assistant. A single device may be represented by one or more platforms.
| Platform |Capabilities
|---------------------------------|--------------------------------------------------------------------------------------------|
[binary_sensor](#binary-sensor) | `accelerationSensor`, `contactSensor`, `filterStatus`, `motionSensor`, `presenceSensor`, `tamperAlert`, `valve` and `waterSensor`
[fan](#fan) | `fanSpeed` and `switch`
[light](#light) | `colorControl`, `colorTemperature`, `switch` and `switchLevel`
[switch](#switch) | `switch`
Support for additional capabilities will be added in the future.
### {% linkable_title Binary Sensor %}
The SmartThings Binary Sensor platform lets you view devices that have binary sensor-related capabilities. A Binary Sensor entity will be created for each attribute (below) supported by the device.
| Capability |Attribute |On-Value |Binary Sensor Device Class
|-------------------|--------------|----------------|---------------------------------|
| [`accelerationSensor`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Acceleration-Sensor) | `acceleration` | `active` | `moving`
| [`contactSensor`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Contact-Sensor) | `contact` | `open` | `opening`
| [`filterStatus`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Filter-Status) | `filterStatus` | `replace` | `problem`
| [`motionSensor`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Motion-Sensor) | `motion` | `active` | `motion`
| [`presenceSensor`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Presence-Sensor) | `presence` | `present` | `presence`
| [`tamperAlert`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Tamper-Alert) | `tamper` | `detected` | `problem`
| [`valve`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Valve) | `valve` | `open` | `opening`
| [`waterSensor`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Water-Sensor) | `water` | `wet` | `moisture`
### {% linkable_title Fan %}
The SmartThings fan platform lets you control devices that have fan-related capabilities. For a SmartThings device to be represented by the fan platform, it must have one or more of the capabilities below in addition to the [`switch`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Switch) capability.
| Capability |Fan Features
|-------------------|------------------------------------------------------------|
| [`fanSpeed`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Fan-Speed) | `speed` (`off`, `low`, `medium`, and `high`)
### {% linkable_title Light %}
The SmartThings light platform lets you control devices that have light-related capabilities. For a SmartThings device to be represented by the light platform, it must have one or more of the capabilities below in addition to the [`switch`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Switch) capability.
| Capability |Light Features
|-------------------|------------------------------------------------------------|
| [`switchLevel`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Switch-Level) | `brightness` and `transition`
| [`colorControl`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Color-Control) | `color`
| [`colorTemperature`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Color-Temperature) | `color_temp`
### {% linkable_title Switch %}
The SmartThings switch platform lets you control devices that have the [`switch`](https://smartthings.developer.samsung.com/develop/api-ref/capabilities.html#Switch) capability that are not already represented by a more specific platform.

View File

@ -0,0 +1,24 @@
---
layout: page
title: "LCN Switch"
description: "Instructions on how to setup LCN switches within Home Assistant."
date: 2018-11-01 08:00
sidebar: true
comments: false
sharing: true
footer: true
logo: lcn.png
ha_category: Switch
ha_release: 0.87
ha_iot_class: "Local Push"
---
The `lcn` switch platform allows the control of the following [LCN](http://www.lcn.eu) ports:
- Output ports
- Relays
## {% linkable_title Configuration %}
The `lcn` component must be configured correctly, see [LCN component](/components/lcn).
This platform is configured within the `lcn` component.

View File

@ -103,6 +103,10 @@ value_template:
description: "Defines a [template](/docs/configuration/templating/#processing-incoming-data) to extract a value from the payload."
required: false
type: string
json_attributes_topic:
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
required: false
type: string
device:
description: "Information about the device this switch is a part of to tie it into the [device registry](https://developers.home-assistant.io/docs/en/device_registry_index.html). Only works through [MQTT discovery](/docs/mqtt/discovery/) and when [`unique_id`](#unique_id) is set."
required: false

View File

@ -72,6 +72,11 @@ headers:
description: The headers for the request.
required: false
type: list, string
verify_ssl:
description: Verify the SSL certificate of the endpoint.
required: false
type: boolean
default: true
{% endconfiguration %}
<p class='note warning'>
@ -98,6 +103,7 @@ switch:
is_on_template: '{{ value_json.is_active }}'
headers:
Content-Type: application/json
verify_ssl: true
```
{% endraw %}

View File

@ -0,0 +1,18 @@
---
layout: page
title: "System Health"
description: "Systeam Health component will report system info and allow to run system diagnostics."
date: 2019-02-06 13:40
sidebar: true
comments: false
sharing: true
footer: true
logo: home-assistant.png
ha_category: "Other"
ha_qa_scale: internal
ha_release: 0.87
---
The System Health component provides an API to offer information on the system and it's components. It also allows to run diagnostic tools to diagnose problems.
The system health component data can be viewed in the developer tools under <img src='/images/screenshots/developer-tool-about-icon.png' alt='service developer tool icon' class="no-shadow" height="38">.

View File

@ -0,0 +1,130 @@
---
layout: page
title: "Utility Meter"
description: "Instructions on how to integrate the Utility Meter into Home Assistant."
date: 2019-01-02
sidebar: true
comments: false
sharing: true
footer: true
ha_category: Sensor
ha_release: 0.87
ha_iot_class: "Local Push"
logo: energy_meter.png
ha_qa_scale: internal
---
The `utility meter` component provides functionality to track consumptions of various utilities (e.g., energy, gas, water, heating).
From a user perspective, utility meters operate in cycles (usually monthly) for billing purposes. This sensor will track a source sensor values, automatically resetting the meter based on the configured cycle. On reset an attribute will store the previous meter value, providing the means for comparison operations (e.g., "did I spend more or less this month?") or billing estimation (e.g., through a sensor template that multiplies the metered value per the charged unit amount).
Some utility providers have different tariffs according to time/resource availability/etc. The utility meter enables you to define the various tariffs supported by your utility provider and accounts your consumptions in accordance. When tariffs are defined a new entity will show up indicating the current tariff. In order to change the tariff, the user must call a service, usually through an automation that can be based in time or other external source (eg. a REST sensor).
## {% linkable_title Configuration %}
To enable the Utility Meter Sensor in your installation, add the following to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
utility_meter:
energy:
source: sensor.energy_in_kwh
```
{% configuration %}
source:
description: The entity ID of the sensor providing utility readings (energy, water, gas, heating).
required: true
type: string
cycle:
description: How often to reset the counter. Valid values are `hourly`, `daily`, `weekly`, `monthly` and `yearly`.
required: true
type: string
offset:
description: Cycle reset occur at the beginning of the period (0 minutes, 0h00 hours, Monday, day 1, January). This option enables the offsetting of these beginnings.
required: false
default: 0
type: integer
tariffs:
description: List of tariffs supported by the utility meter.
required: false
default: []
type: list
{% endconfiguration %}
# {% linkable_title Services %}
### {% linkable_title Service `utility_meter.reset` %}
Reset the Utility Meter. All sensors tracking tariffs will be reset to 0.
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | String or list of strings that point at `entity_id`s of utility_meters.
### {% linkable_title Service `utility_meter.next_tariff` %}
Change the current tariff to the next in the list.
This service must be called by the user for the tariff switching logic to occur (e.g. using an automation)
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | String or list of strings that point at `entity_id`s of utility_meters.
### {% linkable_title Service `utility_meter.select_tariff` %}
Change the current tariff to the given tariff.
This service must be called by the user for the tariff switching logic to occur (e.g. using an automation)
| Service data attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `entity_id` | no | String or list of strings that point at `entity_id`s of utility_meters.
| `tariff` | no | String that is equal to one of the defined tariffs.
# {% linkable_title Advanced Configuration %}
The following configuration shows an example where 2 utility_meters (`daily_energy` and `monthly_energy`) track daily and monthly energy consumptions.
Both track the same sensor (`sensor.energy`) which continously monitors the energy consumed.
4 different sensors will be created, 2 per utility meter and corresponding to each tariff.
Sensor `sensor.daily_energy_peak`, `sensor.daily_energy_offpeak`, `sensor.monthly_energy_peak` and `sensor.monthly_energy_offpeak` will automatically be created to track the consumption in each tariff for the given cycle.
`utility_meter.daily_energy` and `utility_meter.monthly_energy` entities will track the current tariff and provide a service to change the tariff.
```yaml
utility_meter:
daily_energy:
source: sensor.energy
cycle: daily
tariffs:
- peak
- offpeak
monthly_energy:
source: sensor.energy
cycle: monthly
tariffs:
- peak
- offpeak
```
Assuming your energy provider tariffs are time based according to:
- *peak*: from 9h00 to 21h00
- *offpeak*: from 21h00 to 9h00 next day
a time based automation can be used:
```yaml
automation:
trigger:
- platform: time
at: '09:00:00'
- platform: time
at: '21:00:00'
action:
- service: utility_meter.next_tariff
entity_id: utility_meter.daily_energy
- service: utility_meter.next_tariff
entity_id: utility_meter.monthly_energy
```

View File

@ -158,6 +158,10 @@ payload_not_available:
required: false
type: string
default: offline
json_attributes_topic:
description: The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in [MQTT sensor](/components/sensor.mqtt/#json-attributes-topic-configuration) documentation.
required: false
type: string
{% endconfiguration %}
### {% linkable_title Full configuration example %}

View File

@ -14,7 +14,7 @@ ha_release: 0.31
ha_iot_class: "Local Polling"
---
The ZoneMinder component sets up the integration with your [ZoneMinder](https://www.zoneminder.com) instance so that [cameras](/components/camera.zoneminder/), [sensors](/components/sensor.zoneminder/), and [switches](/components/switch.zoneminder) can use it.
The ZoneMinder component sets up the integration with your [ZoneMinder](https://www.zoneminder.com) instance so that [cameras](/components/camera.zoneminder/), [sensors](/components/sensor.zoneminder/), and [switches](/components/switch.zoneminder) can use it. Configuring this component will automatically load the [binary_sensor](/components/binary_sensor.zoneminder) which tracks ZoneMinder availability.
## {% linkable_title Configuration %}

View File

@ -46,7 +46,7 @@ automation:
### {% linkable_title MQTT trigger %}
Triggers when a specific message is received on given topic. Optionally can match on the payload being sent over the topic.
Triggers when a specific message is received on given topic. Optionally can match on the payload being sent over the topic. The default payload encoding is 'utf-8'. For images and other byte payloads use `encoding: ''` to disable payload decoding completely.
```yaml
automation:
@ -55,6 +55,7 @@ automation:
topic: living_room/switch/ac
# Optional
payload: 'on'
encoding: 'utf-8'
```
### {% linkable_title Numeric state trigger %}

View File

@ -0,0 +1,647 @@
---
layout: post
title: "0.87: SmartThings, Areas and Entity Registry UI."
description: "Integrate SmartThings without issues"
date: 2019-01-30 00:01:03
date_formatted: "February 6, 2019"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Release-Notes
og_image: /images/blog/2019-02-release-87/smartthings.png
---
<a href='/components/#version/0.87'><img src='/images/blog/2019-02-release-87/components.png' style='border: 0;box-shadow: none;'></a>
Today we're releasing Home Assistant 0.87, our third release of the year. Besides a bunch of bugs squashing and performance improvements, we got some cool new features too.
Let's start with the big one: we now support SmartThings. Via a custom app that can be installed inside SmartThings, you can now push the state of each device, as soon as it changes, to Home Assistant. No more fiddling with MQTT bridges or other solutions. Big shoutout to [@andrewsayre] for making this possible. Have a look at the [SmartThings docs] to get started.
New in this release is a new area feature thanks to [@Kane610]. Areas will allow users to organize their devices by their physical area, like kitchen or living room. This will unlock a whole new range of possible new features (of which none are implemented yet). With this release, users will just be able to manage areas in the configuration panel and place devices in areas via the integration page. In the future, we're planning to add area based user permissions and a Lovelace area card. If you can't wait to start leveraging areas today, [@thomasloven] has created [a custom Lovelace card](https://github.com/thomasloven/lovelace-auto-entities) that can leverage areas.
This release also includes a UI to manage the entity registry. The entity registry contains all entities with unique IDs that Home Assistant has ever seen. It will allow users to quickly rename entities, change entity IDs or have Home Assistant forget entities that are no longer active.
We didn't forget about the frontend in this release. In the last release we introduced Lovelace, so for this release we focused on bug squashing, performance improvements and usability. The YAML editor is now rendered using a full editor including line numbers thanks to [@bramkragten]. There is also a new system health component that will help users diagnose problems from the "info" developer tool. [See changelog for the frontend.](https://github.com/home-assistant/home-assistant-polymer/releases/tag/20190130.1)
In this release we have also upgraded the Material Design Icons to 3.3.92, which renames some icons. Make sure to check [their changelog](https://dev.materialdesignicons.com/upgrade).
If you prefer a podcast over release notes, check out [the Hass Podcast](https://hasspodcast.io/ha043/) in which Phil and Rohan discuss each new Home Assistant release and keep a tap on what's happening in the home automation space.
## {% linkable_title New Platforms %}
- Add a Zoneminder availability sensor ([@rohankapoorcom] - [#20184]) ([zoneminder docs]) (new-platform)
- Add platform image_processing.qrcode ([@zhujisheng] - [#20215]) ([image_processing.qrcode docs]) (new-platform)
- Add LCN switch platform ([@alengwenus] - [#20267]) ([lcn docs]) ([switch.lcn docs]) (new-platform)
- Add EverLights light component ([@joncar] - [#19817]) ([light.everlights docs]) (new-platform)
- Add device tracker support for EE Brightbox 2 router ([@krygal] - [#19611]) ([device_tracker docs]) (new-platform)
- HomematicIP add cover FROLL and BROLL devices ([@mxworm] - [#19794]) ([homematicip_cloud docs]) (new-platform)
- Add Danfoss Air HRV support ([@JonasPed] - [#20138]) ([danfoss_air docs]) ([binary_sensor.danfoss_air docs]) ([sensor.danfoss_air docs]) (new-platform)
- Utility meter ([@dgomes] - [#19718]) ([utility_meter docs]) (new-platform)
- Add Co2signal sensor ([@danielsjf] - [#19204]) ([sensor.co2signal docs]) (new-platform)
- Add nilu air_quality platform ([@hfurubotten] - [#19674]) ([air_pollutants docs]) (new-platform)
- Add Iliad Italy (Mobile Telephony Provider) Sensor ([@eliseomartelli] - [#19645]) ([sensor.iliad_italy docs]) (new-platform)
- Add support for HomeKit motion sensor devices ([@Jc2k] - [#20555]) ([homekit_controller docs]) (new-platform)
- Add an Integration sensor ([@dgomes] - [#19703]) ([sensor.integration docs]) (new-platform)
- Add Synology SRM device tracker ([@aerialls] - [#20320]) ([device_tracker docs]) (new-platform)
- Add Recollect Waste ([@stealthhacker] - [#20121]) ([sensor.recollect_waste docs]) (new-platform)
- New Transmission component ([@MatteGary] - [#19230]) ([transmission docs]) ([sensor.transmission docs]) (breaking change) (new-platform)
- Add support for FRITZ DECT 100 (temp sensor) ([@choss] - [#20308]) ([fritzbox docs]) ([sensor.fritzbox docs]) (new-platform)
- RFC: Add system health component ([@balloob] - [#20436]) ([system_health docs]) ([updater docs]) (new-platform)
- Add sensor platform for Rova Garbage Collection ([@GidoHakvoort] - [#18868]) ([sensor.rova docs]) (new-platform)
- Add SmartThings component and switch platform ([@andrewsayre] - [#20148]) ([smartthings docs]) ([switch.smartthings docs]) (new-platform)
- Fix cloud webhook body ([@pvizeli] - [#20739]) ([cloud docs]) (beta fix) (new-platform)
## {% linkable_title New Features %}
- Add yeelight start_flow service and ability to declare custom effects ([@zewelor] - [#20107]) ([light.yeelight docs]) (new-feature)
## {% 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-->
## {% linkable_title Breaking Changes %}
- SolarEdge sensors: This PR changes the **entity names** of this sensor and the **monitoring condition keys** in the configuration: `sensor.solaredge_current_power` -> `sensor.solaredge_current_power`, `sensor.solaredge_last_day_data` -> `sensor.solaredge_energy_today`, `sensor.solaredge_last_month_data` -> `sensor.solaredge_energy_this_month`, `sensor.solaredge_last_year_data` -> `sensor.solaredge_energy_this_year`, `sensor.solaredge_life_time_data` -> `sensor.solaredge_lifetime_energy`, ([@LouisMT] - [#20109]) ([sensor.solaredge docs]) (breaking change)
- Geolocation is no longer creating a default group. ([@exxamalte] - [#20338]) ([geo_location docs]) (breaking change)
- The Dovado sensor platform has been broken up into a Dovado component with sensor and notify platforms. The configuration variables have been changed. Please refer to the documentation for the correct configuration. ([@rohankapoorcom] - [#20339]) ([dovado docs]) ([sensor.dovado docs]) (breaking change)
- Brottsplatskartan: The incident type count is reset every day. Before this change, it didn't reset until you restarted Home assistant. ([@chrillux] - [#20117]) ([sensor.brottsplatskartan docs]) (breaking change)
- Ambient PWS has new configuration and entity IDs will change. Configure it now via the integrations page. ([@bachya] - [#20332]) ([ambient_station docs]) ([sensor.ambient_station docs]) (breaking change)
- New Transmission component. With the introduction of the Transmission component, the configuration for Transmission sensor and switch has been moved to the component configuration. Configuration must be changed accordingly. ([@MatteGary] - [#19230]) ([transmission docs]) ([sensor.transmission docs]) (breaking change) (new-platform)
- The alarm control panel will now flag mistyped configs from `configuration.yaml` correctly as invalid, instead of just ignoring them. ([@emontnemery] - [#20224]) ([alarm_control_panel docs]) (breaking change)
- MQTT platforms will now flag mistyped configs from `configuration.yaml` correctly as invalid, instead of just ignoring them. ([@emontnemery] - [#20562]) ([mqtt docs]) (breaking change)
## {% linkable_title Beta Fixes %}
- Fix pjlink issue ([@emkay82] - [#20510]) ([media_player.pjlink docs]) (beta fix)
- Fix geofency requiring a configuration.yaml entry ([@balloob] - [#20631]) ([geofency docs]) (beta fix)
- Upgrade blinkpy to re-enable motion detection ([@fronzbot] - [#20651]) ([blink docs]) (beta fix)
- Fix parsing yeelight custom effects, when not present in config ([@zewelor] - [#20658]) ([light.yeelight docs]) (beta fix)
- Add PLATFORM_SCHEMA_BASE support to check_config.py ([@emontnemery] - [#20663]) (beta fix)
- InfluxDB - change connection test method ([@magenbrot] - [#20666]) ([sensor.influxdb docs]) (beta fix)
- Add SmartThings Light platform ([@andrewsayre] - [#20652]) ([smartthings docs]) (beta fix)
- Fix allow extra in locative webhook schema validation ([@rohankapoorcom] - [#20657]) ([locative docs]) (beta fix)
- Add SmartThings Fan platform ([@andrewsayre] - [#20681]) ([smartthings docs]) (beta fix)
- Add entity_namespace to PLATFORM_SCHEMA ([@emontnemery] - [#20693]) (beta fix)
- Add SmartThings Binary Sensor platform ([@andrewsayre] - [#20699]) ([smartthings docs]) (beta fix)
- fix test commented in #20678 ([@dgomes] - [#20680]) (beta fix)
- Add SmartThings button support via events ([@andrewsayre] - [#20707]) ([smartthings docs]) (beta fix)
- Fix temperature unit conversion in Ambient PWS ([@bachya] - [#20723]) ([ambient_station docs]) (beta fix)
- Revert pyfoscam back to libpyfoscam ([@davidlie] - [#20727]) ([camera.foscam docs]) (beta fix)
- Fix ffmpeg v4 stream issue ([@awarecan] - [#20314]) ([ffmpeg docs]) ([camera.amcrest docs]) ([camera.arlo docs]) ([camera.canary docs]) ([camera.ffmpeg docs]) ([camera.onvif docs]) ([camera.ring docs]) ([camera.xiaomi docs]) ([camera.yi docs]) (beta fix)
- Improve cloud error handling ([@balloob] - [#20729]) ([cloud docs]) (beta fix)
- Fix cloud webhook body ([@pvizeli] - [#20739]) ([cloud docs]) (beta fix) (new-platform)
- Fix the line reference in config error message ([@awarecan] - [#20743]) (beta fix)
- Upgrade to async_upnp_client==0.14.4 ([@StevenLooman] - [#20751]) ([upnp docs]) ([media_player.dlna_dmr docs]) (beta fix)
- Keep cloud tokens always valid ([@balloob] - [#20762]) ([cloud docs]) (beta fix)
- Fix tellduslive responsiveness ([@fredrike] - [#20603]) ([tellduslive docs]) (beta fix)
- Make sure Locative doesn't submit invalid device IDs ([@balloob] - [#20784]) ([locative docs]) (beta fix)
## {% linkable_title All changes %}
- Remove color call to set lights to black. ([@boralyl] - [#20176]) ([light.hyperion docs])
- Embed zoneminder platforms into component ([@rohankapoorcom] - [#20182]) ([zoneminder docs])
- Add a Zoneminder availability sensor ([@rohankapoorcom] - [#20184]) ([zoneminder docs]) (new-platform)
- Add JSON attribute topic to MQTT cover ([@emontnemery] - [#20190]) ([mqtt docs])
- Add JSON attribute topic to MQTT light ([@emontnemery] - [#20191]) ([mqtt docs])
- Add JSON attribute topic to MQTT switch ([@emontnemery] - [#20192]) ([mqtt docs])
- Log exceptions thrown by signal callbacks ([@emontnemery] - [#20015])
- Set ehendrix23 as owner for harmony platform ([@ehendrix23] - [#20203])
- Add platform image_processing.qrcode ([@zhujisheng] - [#20215]) ([image_processing.qrcode docs]) (new-platform)
- Add verify_ssl to restful_command and switch.rest (#20199) ([@rohankapoorcom] - [#20207]) ([rest_command docs]) ([switch.rest docs])
- Fix unused friendly name for SolarEdge sensor ([@LouisMT] - [#20109]) ([sensor.solaredge docs]) (breaking change)
- Fix for issue #19086 ([@JoakimLindbom] - [#20225]) ([media_player.volumio docs])
- Use local IP to discover IGD device ([@gorynychzmey] - [#20035]) ([upnp docs])
- Tibber Pulse for homes without subscriptions ([@Danielhiversen] - [#20246]) ([tibber docs]) ([sensor.tibber docs])
- Added Search Configuration to IMAP Sensor ([@mwegner] - [#19749]) ([sensor.imap docs])
- Support for relay ports for LCN light platform ([@alengwenus] - [#19632]) ([lcn docs]) ([light.lcn docs])
- Add LCN switch platform ([@alengwenus] - [#20267]) ([lcn docs]) ([switch.lcn docs]) (new-platform)
- Updated sense library to 0.6.0 ([@kbickar] - [#20271]) ([sense docs])
- Fire events for Lutron RadioRA2 keypad buttons ([@koreth] - [#20090]) ([lutron docs])
- Update Tibber library ([@Danielhiversen] - [#20273]) ([tibber docs])
- Make Netatmo battery_percent icon dynamic ([@notoriousbdg] - [#20275]) ([sensor.netatmo docs])
- Add type hints to helpers.condition ([@scop] - [#20266]) ([zone docs])
- Add discovery_info check to LCN light platform ([@alengwenus] - [#20280]) ([light.lcn docs])
- Reduce log noise from Envisalink component ([@koreth] - [#20282]) ([envisalink docs])
- Print a message when reconnected after a connection failure, requirement for IQS silver ([@rytilahti] - [#20261]) ([media_player.songpal docs])
- Add JSON attribute topic to MQTT vacuum ([@emontnemery] - [#20242]) ([mqtt docs])
- Add JSON attribute topic to MQTT lock ([@emontnemery] - [#20241]) ([mqtt docs])
- Add JSON attribute topic to MQTT fan ([@emontnemery] - [#20240]) ([mqtt docs])
- Add JSON attribute topic to MQTT climate ([@emontnemery] - [#20239]) ([mqtt docs])
- Add JSON attribute topic to MQTT alarm ([@emontnemery] - [#20238]) ([mqtt docs])
- Add EverLights light component ([@joncar] - [#19817]) ([light.everlights docs]) (new-platform)
- Added recursive detection of functools.partial. ([@andrewsayre] - [#20284])
- Added Xiaomi AirPurifier 2S profile ([@foxel] - [#20285]) ([fan.xiaomi_miio docs])
- Update Tibber lib ([@Danielhiversen] - [#20289]) ([tibber docs]) ([sensor.tibber docs])
- Remove trailing slash from base_url and added ability to generate webhook path. ([@andrewsayre] - [#20295]) ([http docs]) ([webhook docs])
- Add radiotherm is_on method to return on/off ([@TD22057] - [#20283]) ([climate.radiotherm docs])
- Fix typo C02 to CO2 ([@reefab] - [#20306]) ([air_quality docs]) (breaking change)
- Add git to the development Dockerfile ([@kellerza] - [#20276])
- Add device tracker support for EE Brightbox 2 router ([@krygal] - [#19611]) ([device_tracker docs]) (new-platform)
- HomematicIP add cover FROLL and BROLL devices ([@mxworm] - [#19794]) ([homematicip_cloud docs]) (new-platform)
- Upgrade python-nest to 4.1.0 ([@awarecan] - [#20313]) ([nest docs])
- Upgrade youtube_dl to 2019.01.17 ([@fabaff] - [#20318])
- Add data/data_template/title to alert component ([@syphernl] - [#17616]) ([alert docs])
- Remove creation of geolocation default group ([@exxamalte] - [#20338]) ([geo_location docs]) (breaking change)
- Add Octoprint custom path ([@reefab] - [#20302])
- Update Requirement for PyISY Package in isy994 Component to v1.1.1 ([@shbatm] - [#20349]) ([isy994 docs])
- Fix mpd logging format string field ([@heytensai] - [#20333]) ([media_player.mpd docs])
- Add Danfoss Air HRV support ([@JonasPed] - [#20138]) ([danfoss_air docs]) ([binary_sensor.danfoss_air docs]) ([sensor.danfoss_air docs]) (new-platform)
- clean up of islamic_prayer_times ([@Danielhiversen] - [#20352]) ([sensor.islamic_prayer_times docs])
- Bump homekit==0.12.2 + improve controller reliability ([@Jc2k] - [#20325]) ([homekit_controller docs])
- Fix entity registry comments ([@balloob] - [#20357])
- Clean up concord232 ([@Danielhiversen] - [#20353]) ([alarm_control_panel.concord232 docs])
- Change STATE_UNKOWN to None ([@Danielhiversen] - [#20337])
- Upgrade TwitterAPI to 2.5.9 ([@fabaff] - [#20372]) ([notify docs])
- SongPal: do not crash if active_source is not (yet) available - fixes #20343 ([@Censored3] - [#20344]) ([media_player.songpal docs])
- Add yeelight start_flow service and ability to declare custom effects ([@zewelor] - [#20107]) ([light.yeelight docs]) (new-feature)
- Remove logging from tibber ([@Danielhiversen] - [#20382]) ([sensor.tibber docs])
- Improve deprecation warnings ([@amelchio] - [#20391])
- Upgrade emulated_roku to 0.1.8 to fix invalid encodings, fixes #20388 ([@mindigmarton] - [#20390]) ([emulated_roku docs])
- Upgrade numpy to 1.16.0 ([@fabaff] - [#20396]) ([binary_sensor.trend docs]) ([image_processing.opencv docs]) ([image_processing.tensorflow docs]) ([sensor.pollen docs])
- Update pyhomematic to 0.1.55 ([@danielperna84] - [#20397]) ([homematic docs])
- Return windspeed and windgust in km/h instead of m/s. ([@jvanderneutstulen] - [#20340]) ([weather.darksky docs])
- Update device registry of MQTT Switch ([@emontnemery] - [#19540]) ([mqtt docs]) ([switch.mqtt docs])
- Cleanup if discovered mqtt light can't be added ([@emontnemery] - [#19740]) ([light.mqtt docs])
- Add character encoding to MQTT automation. ([@emontnemery] - [#20292]) ([automation.mqtt docs])
- Add LIFX listen port advanced configuration ([@amelchio] - [#20299])
- Add time_throttle filter to sensor.filter ([@foxel] - [#20334]) ([sensor.filter docs])
- Upgrade youtube_dl to 2019.01.24 ([@jonudewux] - [#20408]) ([media_extractor docs])
- Move homekit_controller entity types under homekit_controller platform ([@Jc2k] - [#20376]) ([homekit_controller docs])
- Fix cast platform album name property ([@zewelor] - [#20411]) ([media_player.cast docs])
- Fix minor homematicip cloud binary sensor issues ([@coreGreenberet] - [#20398]) ([binary_sensor.homematicip_cloud docs])
- Fix homematicip cloud alarm_arm_home ([@coreGreenberet] - [#20321]) ([alarm_control_panel.homematicip_cloud docs])
- Fix HTTP login attempts check triggering too late ([@LouisMT] - [#20431]) ([http docs])
- WeMo - Fix device discovery issues ([@sqldiablo] - [#20446]) ([wemo docs])
- Add alarm type workaround zwave lock Yale YRD240 ([@adrum] - [#20438]) ([lock.zwave docs])
- Error handling for recorder purge ([@amelchio] - [#20424])
- ZHA component rewrite part 1 ([@dmulcahey] - [#20456])
- Upgrade astral to 1.8 ([@fabaff] - [#20459])
- Correct minor comments from PR#20138. ([@JonasPed] - [#20454]) ([danfoss_air docs])
- Utility meter ([@dgomes] - [#19718]) ([utility_meter docs]) (new-platform)
- Add Co2signal sensor ([@danielsjf] - [#19204]) ([sensor.co2signal docs]) (new-platform)
- introduce gateway ([@dmulcahey] - [#20460]) ([zha docs])
- Update device registry of MQTT fan ([@emontnemery] - [#20445]) ([mqtt docs])
- Update device registry of MQTT climate ([@emontnemery] - [#20444]) ([mqtt docs])
- Update device registry of MQTT sensor ([@emontnemery] - [#20440]) ([mqtt docs])
- Update device registry of MQTT alarm ([@emontnemery] - [#20439])
- Update device registry of MQTT cover ([@emontnemery] - [#20443]) ([mqtt docs])
- Upgrade sqlalchemy to 1.2.16 ([@fabaff] - [#20474]) ([sensor.sql docs])
- Upgrade psutil to 5.5.0 ([@fabaff] - [#20462]) ([sensor.systemmonitor docs])
- Include exception details in the error log ([@shaan7] - [#20461]) ([media_player.firetv docs])
- Use HASS latitude/longitude as defaults for Lyft ([@bachya] - [#20491]) ([sensor.lyft docs])
- Upgrade zm-py to 0.3.1 ([@rohankapoorcom] - [#20489]) ([zoneminder docs])
- Split out dovado to a component and sensor platform ([@rohankapoorcom] - [#20339]) ([dovado docs]) ([sensor.dovado docs]) (breaking change)
- Add homekit_controller tests ([@Jc2k] - [#20457]) ([homekit_controller docs])
- Upgrade to async-upnp-client==0.14.3 ([@StevenLooman] - [#20502]) ([upnp docs]) ([media_player.dlna_dmr docs])
- Upgrade tibber library ([@Danielhiversen] - [#20504]) ([tibber docs])
- Update device registry of MQTT Lock ([@emontnemery] - [#20501]) ([mqtt docs])
- Update device registry of MQTT Vacuum ([@emontnemery] - [#20500]) ([mqtt docs])
- Small cleanup of MQTT platforms ([@emontnemery] - [#20503]) ([mqtt docs])
- Upgrade mill library ([@Danielhiversen] - [#20514]) ([climate.mill docs])
- Add nilu air_quality platform ([@hfurubotten] - [#19674]) ([air_pollutants docs]) (new-platform)
- Add Iliad Italy (Mobile Telephony Provider) Sensor ([@eliseomartelli] - [#19645]) ([sensor.iliad_italy docs]) (new-platform)
- Load/unload geofency entities correctly between component and platform ([@rohankapoorcom] - [#20497]) ([geofency docs])
- Load/unload locative entities correctly between component and platform ([@rohankapoorcom] - [#20498]) ([locative docs])
- Load/unload gpslogger entities correctly between component and platform ([@rohankapoorcom] - [#20448]) ([gpslogger docs]) ([device_tracker.gpslogger docs])
- Use more up-to-date version of pyfoscam library ([@davidlie] - [#20419]) ([camera.foscam docs])
- Reset Brottsplatskartan incident types every day ([@chrillux] - [#20117]) ([sensor.brottsplatskartan docs]) (breaking change)
- Add more HomeKit controller tests ([@Jc2k] - [#20515]) ([homekit_controller docs])
- Homekit controller BLE groundwork ([@Jc2k] - [#20538]) ([homekit_controller docs])
- Homekit controller BLE groundwork (part 2) ([@Jc2k] - [#20548]) ([homekit_controller docs])
- Make Ambient PWS async and cloud-push ([@bachya] - [#20332]) ([ambient_station docs]) ([sensor.ambient_station docs]) (breaking change)
- Area registry ([@Kane610] - [#20435])
- Cleanup if discovered mqtt vacuum can't be added ([@emontnemery] - [#20549]) ([mqtt docs])
- Add COMPONENT_SCHEMA and use it in alarm_control_panel ([@emontnemery] - [#20224]) ([alarm_control_panel docs]) (breaking change)
- Add discovery update support to MQTT camera ([@emontnemery] - [#20529]) ([mqtt docs])
- ZHA component rewrite part 3 - update helpers ([@dmulcahey] - [#20463]) ([zha docs])
- Add missing switch for motion_detect ([@perosb] - [#20540]) ([android_ip_webcam docs])
- Update device registry of MQTT light ([@emontnemery] - [#20441]) ([mqtt docs])
- Move CONF_UPDATE_INTERVAL to homeassistant.const ([@rohankapoorcom] - [#20526])
- Add support for HomeKit motion sensor devices ([@Jc2k] - [#20555]) ([homekit_controller docs]) (new-platform)
- Add an Integration sensor ([@dgomes] - [#19703]) ([sensor.integration docs]) (new-platform)
- Allow usernames to be case-insensitive ([@balloob] - [#20558])
- Add Synology SRM device tracker ([@aerialls] - [#20320]) ([device_tracker docs]) (new-platform)
- Treat each player as a 'device' for non-client devices. ([@mitchellrj] - [#20074]) ([media_player.plex docs])
- Add Recollect Waste ([@stealthhacker] - [#20121]) ([sensor.recollect_waste docs]) (new-platform)
- New Transmission component ([@MatteGary] - [#19230]) ([transmission docs]) ([sensor.transmission docs]) (breaking change) (new-platform)
- Fixing the openssl issue ([@kennedyshead] - [#20570]) ([asuswrt docs]) ([sensor.asuswrt docs])
- Homekit Motion Sensor Review feedback ([@Jc2k] - [#20568]) ([homekit_controller docs])
- add empy all groups view. Makes Brilliant Lightpad work ([@merc1031] - [#20564]) ([emulated_hue docs])
- Disable extra=vol.ALLOW_EXTRA for MQTT platforms. ([@emontnemery] - [#20562]) ([mqtt docs]) (breaking change)
- html5 notifications add VAPID support ([@quazzie] - [#20415]) ([notify docs])
- Bump pymodbus to 1.5.2 ([@mindakas] - [#20582]) ([modbus docs])
- Change Unifi timeout ([@arsaboo] - [#20606]) ([unifi docs])
- Fix area registry config being loaded ([@balloob] - [#20598]) ([config docs])
- Philips Hue: add prompt to update bridge/bulb ([@starkillerOG] - [#20590]) ([hue docs])
- Add support for FRITZ DECT 100 (temp sensor) ([@choss] - [#20308]) ([fritzbox docs]) ([sensor.fritzbox docs]) (new-platform)
- Add remove commmand to entity registry ([@balloob] - [#20597]) ([config docs])
- Fix map icons ([@bramkragten] - [#20602]) ([map docs])
- Fix LIFX for single-zone strip extensions ([@amelchio] - [#20604]) ([light.lifx docs])
- RFC: Add system health component ([@balloob] - [#20436]) ([system_health docs]) ([updater docs]) (new-platform)
- Update to the newest python-wink and fix push updates! ([@w1ll1am23] - [#20594]) ([wink docs])
- Add lovelace systeam health ([@balloob] - [#20592]) ([lovelace docs])
- Add sensor platform for Rova Garbage Collection ([@GidoHakvoort] - [#18868]) ([sensor.rova docs]) (new-platform)
- Added code to Abode Alarm control panel ([@arsaboo] - [#20611]) ([alarm_control_panel.abode docs])
- ZHA component rewrite part 4 - add device module ([@dmulcahey] - [#20469]) ([zha docs])
- Fix duplicate luftdaten entities ([@jvanderneutstulen] - [#20226]) ([luftdaten docs])
- Add SmartThings component and switch platform ([@andrewsayre] - [#20148]) ([smartthings docs]) ([switch.smartthings docs]) (new-platform)
- fix #20571 ([@dgomes] - [#20589]) ([sensor.history_stats docs])
- Fix pjlink issue ([@emkay82] - [#20510]) ([media_player.pjlink docs]) (beta fix)
- Fix geofency requiring a configuration.yaml entry ([@balloob] - [#20631]) ([geofency docs]) (beta fix)
- Upgrade blinkpy to re-enable motion detection ([@fronzbot] - [#20651]) ([blink docs]) (beta fix)
- Fix parsing yeelight custom effects, when not present in config ([@zewelor] - [#20658]) ([light.yeelight docs]) (beta fix)
- Add PLATFORM_SCHEMA_BASE support to check_config.py ([@emontnemery] - [#20663]) (beta fix)
- InfluxDB - change connection test method ([@magenbrot] - [#20666]) ([sensor.influxdb docs]) (beta fix)
- Add SmartThings Light platform ([@andrewsayre] - [#20652]) ([smartthings docs]) (beta fix)
- Fix allow extra in locative webhook schema validation ([@rohankapoorcom] - [#20657]) ([locative docs]) (beta fix)
- Add SmartThings Fan platform ([@andrewsayre] - [#20681]) ([smartthings docs]) (beta fix)
- Add entity_namespace to PLATFORM_SCHEMA ([@emontnemery] - [#20693]) (beta fix)
- Add SmartThings Binary Sensor platform ([@andrewsayre] - [#20699]) ([smartthings docs]) (beta fix)
- Remove fingerprint middleware ([@balloob] - [#20682]) ([http docs])
- fix test commented in #20678 ([@dgomes] - [#20680]) (beta fix)
- Add SmartThings button support via events ([@andrewsayre] - [#20707]) ([smartthings docs]) (beta fix)
- Fix temperature unit conversion in Ambient PWS ([@bachya] - [#20723]) ([ambient_station docs]) (beta fix)
- Revert pyfoscam back to libpyfoscam ([@davidlie] - [#20727]) ([camera.foscam docs]) (beta fix)
- Fix ffmpeg v4 stream issue ([@awarecan] - [#20314]) ([ffmpeg docs]) ([camera.amcrest docs]) ([camera.arlo docs]) ([camera.canary docs]) ([camera.ffmpeg docs]) ([camera.onvif docs]) ([camera.ring docs]) ([camera.xiaomi docs]) ([camera.yi docs]) (beta fix)
- Improve cloud error handling ([@balloob] - [#20729]) ([cloud docs]) (beta fix)
- Fix cloud webhook body ([@pvizeli] - [#20739]) ([cloud docs]) (beta fix) (new-platform)
- Fix the line reference in config error message ([@awarecan] - [#20743]) (beta fix)
- Upgrade to async_upnp_client==0.14.4 ([@StevenLooman] - [#20751]) ([upnp docs]) ([media_player.dlna_dmr docs]) (beta fix)
- Keep cloud tokens always valid ([@balloob] - [#20762]) ([cloud docs]) (beta fix)
- Fix tellduslive responsiveness ([@fredrike] - [#20603]) ([tellduslive docs]) (beta fix)
- Make sure Locative doesn't submit invalid device IDs ([@balloob] - [#20784]) ([locative docs]) (beta fix)
[#17616]: https://github.com/home-assistant/home-assistant/pull/17616
[#18868]: https://github.com/home-assistant/home-assistant/pull/18868
[#19204]: https://github.com/home-assistant/home-assistant/pull/19204
[#19230]: https://github.com/home-assistant/home-assistant/pull/19230
[#19540]: https://github.com/home-assistant/home-assistant/pull/19540
[#19611]: https://github.com/home-assistant/home-assistant/pull/19611
[#19632]: https://github.com/home-assistant/home-assistant/pull/19632
[#19645]: https://github.com/home-assistant/home-assistant/pull/19645
[#19674]: https://github.com/home-assistant/home-assistant/pull/19674
[#19703]: https://github.com/home-assistant/home-assistant/pull/19703
[#19718]: https://github.com/home-assistant/home-assistant/pull/19718
[#19740]: https://github.com/home-assistant/home-assistant/pull/19740
[#19749]: https://github.com/home-assistant/home-assistant/pull/19749
[#19794]: https://github.com/home-assistant/home-assistant/pull/19794
[#19817]: https://github.com/home-assistant/home-assistant/pull/19817
[#20015]: https://github.com/home-assistant/home-assistant/pull/20015
[#20035]: https://github.com/home-assistant/home-assistant/pull/20035
[#20074]: https://github.com/home-assistant/home-assistant/pull/20074
[#20090]: https://github.com/home-assistant/home-assistant/pull/20090
[#20107]: https://github.com/home-assistant/home-assistant/pull/20107
[#20109]: https://github.com/home-assistant/home-assistant/pull/20109
[#20117]: https://github.com/home-assistant/home-assistant/pull/20117
[#20121]: https://github.com/home-assistant/home-assistant/pull/20121
[#20138]: https://github.com/home-assistant/home-assistant/pull/20138
[#20148]: https://github.com/home-assistant/home-assistant/pull/20148
[#20176]: https://github.com/home-assistant/home-assistant/pull/20176
[#20182]: https://github.com/home-assistant/home-assistant/pull/20182
[#20184]: https://github.com/home-assistant/home-assistant/pull/20184
[#20190]: https://github.com/home-assistant/home-assistant/pull/20190
[#20191]: https://github.com/home-assistant/home-assistant/pull/20191
[#20192]: https://github.com/home-assistant/home-assistant/pull/20192
[#20203]: https://github.com/home-assistant/home-assistant/pull/20203
[#20207]: https://github.com/home-assistant/home-assistant/pull/20207
[#20215]: https://github.com/home-assistant/home-assistant/pull/20215
[#20224]: https://github.com/home-assistant/home-assistant/pull/20224
[#20225]: https://github.com/home-assistant/home-assistant/pull/20225
[#20226]: https://github.com/home-assistant/home-assistant/pull/20226
[#20238]: https://github.com/home-assistant/home-assistant/pull/20238
[#20239]: https://github.com/home-assistant/home-assistant/pull/20239
[#20240]: https://github.com/home-assistant/home-assistant/pull/20240
[#20241]: https://github.com/home-assistant/home-assistant/pull/20241
[#20242]: https://github.com/home-assistant/home-assistant/pull/20242
[#20246]: https://github.com/home-assistant/home-assistant/pull/20246
[#20261]: https://github.com/home-assistant/home-assistant/pull/20261
[#20266]: https://github.com/home-assistant/home-assistant/pull/20266
[#20267]: https://github.com/home-assistant/home-assistant/pull/20267
[#20271]: https://github.com/home-assistant/home-assistant/pull/20271
[#20273]: https://github.com/home-assistant/home-assistant/pull/20273
[#20275]: https://github.com/home-assistant/home-assistant/pull/20275
[#20276]: https://github.com/home-assistant/home-assistant/pull/20276
[#20280]: https://github.com/home-assistant/home-assistant/pull/20280
[#20282]: https://github.com/home-assistant/home-assistant/pull/20282
[#20283]: https://github.com/home-assistant/home-assistant/pull/20283
[#20284]: https://github.com/home-assistant/home-assistant/pull/20284
[#20285]: https://github.com/home-assistant/home-assistant/pull/20285
[#20289]: https://github.com/home-assistant/home-assistant/pull/20289
[#20292]: https://github.com/home-assistant/home-assistant/pull/20292
[#20295]: https://github.com/home-assistant/home-assistant/pull/20295
[#20299]: https://github.com/home-assistant/home-assistant/pull/20299
[#20302]: https://github.com/home-assistant/home-assistant/pull/20302
[#20306]: https://github.com/home-assistant/home-assistant/pull/20306
[#20308]: https://github.com/home-assistant/home-assistant/pull/20308
[#20313]: https://github.com/home-assistant/home-assistant/pull/20313
[#20314]: https://github.com/home-assistant/home-assistant/pull/20314
[#20318]: https://github.com/home-assistant/home-assistant/pull/20318
[#20320]: https://github.com/home-assistant/home-assistant/pull/20320
[#20321]: https://github.com/home-assistant/home-assistant/pull/20321
[#20325]: https://github.com/home-assistant/home-assistant/pull/20325
[#20332]: https://github.com/home-assistant/home-assistant/pull/20332
[#20333]: https://github.com/home-assistant/home-assistant/pull/20333
[#20334]: https://github.com/home-assistant/home-assistant/pull/20334
[#20337]: https://github.com/home-assistant/home-assistant/pull/20337
[#20338]: https://github.com/home-assistant/home-assistant/pull/20338
[#20339]: https://github.com/home-assistant/home-assistant/pull/20339
[#20340]: https://github.com/home-assistant/home-assistant/pull/20340
[#20344]: https://github.com/home-assistant/home-assistant/pull/20344
[#20349]: https://github.com/home-assistant/home-assistant/pull/20349
[#20352]: https://github.com/home-assistant/home-assistant/pull/20352
[#20353]: https://github.com/home-assistant/home-assistant/pull/20353
[#20357]: https://github.com/home-assistant/home-assistant/pull/20357
[#20372]: https://github.com/home-assistant/home-assistant/pull/20372
[#20376]: https://github.com/home-assistant/home-assistant/pull/20376
[#20382]: https://github.com/home-assistant/home-assistant/pull/20382
[#20390]: https://github.com/home-assistant/home-assistant/pull/20390
[#20391]: https://github.com/home-assistant/home-assistant/pull/20391
[#20396]: https://github.com/home-assistant/home-assistant/pull/20396
[#20397]: https://github.com/home-assistant/home-assistant/pull/20397
[#20398]: https://github.com/home-assistant/home-assistant/pull/20398
[#20408]: https://github.com/home-assistant/home-assistant/pull/20408
[#20411]: https://github.com/home-assistant/home-assistant/pull/20411
[#20415]: https://github.com/home-assistant/home-assistant/pull/20415
[#20419]: https://github.com/home-assistant/home-assistant/pull/20419
[#20424]: https://github.com/home-assistant/home-assistant/pull/20424
[#20431]: https://github.com/home-assistant/home-assistant/pull/20431
[#20435]: https://github.com/home-assistant/home-assistant/pull/20435
[#20436]: https://github.com/home-assistant/home-assistant/pull/20436
[#20438]: https://github.com/home-assistant/home-assistant/pull/20438
[#20439]: https://github.com/home-assistant/home-assistant/pull/20439
[#20440]: https://github.com/home-assistant/home-assistant/pull/20440
[#20441]: https://github.com/home-assistant/home-assistant/pull/20441
[#20443]: https://github.com/home-assistant/home-assistant/pull/20443
[#20444]: https://github.com/home-assistant/home-assistant/pull/20444
[#20445]: https://github.com/home-assistant/home-assistant/pull/20445
[#20446]: https://github.com/home-assistant/home-assistant/pull/20446
[#20448]: https://github.com/home-assistant/home-assistant/pull/20448
[#20454]: https://github.com/home-assistant/home-assistant/pull/20454
[#20456]: https://github.com/home-assistant/home-assistant/pull/20456
[#20457]: https://github.com/home-assistant/home-assistant/pull/20457
[#20459]: https://github.com/home-assistant/home-assistant/pull/20459
[#20460]: https://github.com/home-assistant/home-assistant/pull/20460
[#20461]: https://github.com/home-assistant/home-assistant/pull/20461
[#20462]: https://github.com/home-assistant/home-assistant/pull/20462
[#20463]: https://github.com/home-assistant/home-assistant/pull/20463
[#20469]: https://github.com/home-assistant/home-assistant/pull/20469
[#20474]: https://github.com/home-assistant/home-assistant/pull/20474
[#20489]: https://github.com/home-assistant/home-assistant/pull/20489
[#20491]: https://github.com/home-assistant/home-assistant/pull/20491
[#20497]: https://github.com/home-assistant/home-assistant/pull/20497
[#20498]: https://github.com/home-assistant/home-assistant/pull/20498
[#20500]: https://github.com/home-assistant/home-assistant/pull/20500
[#20501]: https://github.com/home-assistant/home-assistant/pull/20501
[#20502]: https://github.com/home-assistant/home-assistant/pull/20502
[#20503]: https://github.com/home-assistant/home-assistant/pull/20503
[#20504]: https://github.com/home-assistant/home-assistant/pull/20504
[#20510]: https://github.com/home-assistant/home-assistant/pull/20510
[#20514]: https://github.com/home-assistant/home-assistant/pull/20514
[#20515]: https://github.com/home-assistant/home-assistant/pull/20515
[#20526]: https://github.com/home-assistant/home-assistant/pull/20526
[#20529]: https://github.com/home-assistant/home-assistant/pull/20529
[#20538]: https://github.com/home-assistant/home-assistant/pull/20538
[#20540]: https://github.com/home-assistant/home-assistant/pull/20540
[#20548]: https://github.com/home-assistant/home-assistant/pull/20548
[#20549]: https://github.com/home-assistant/home-assistant/pull/20549
[#20555]: https://github.com/home-assistant/home-assistant/pull/20555
[#20558]: https://github.com/home-assistant/home-assistant/pull/20558
[#20562]: https://github.com/home-assistant/home-assistant/pull/20562
[#20564]: https://github.com/home-assistant/home-assistant/pull/20564
[#20568]: https://github.com/home-assistant/home-assistant/pull/20568
[#20570]: https://github.com/home-assistant/home-assistant/pull/20570
[#20582]: https://github.com/home-assistant/home-assistant/pull/20582
[#20589]: https://github.com/home-assistant/home-assistant/pull/20589
[#20590]: https://github.com/home-assistant/home-assistant/pull/20590
[#20592]: https://github.com/home-assistant/home-assistant/pull/20592
[#20594]: https://github.com/home-assistant/home-assistant/pull/20594
[#20597]: https://github.com/home-assistant/home-assistant/pull/20597
[#20598]: https://github.com/home-assistant/home-assistant/pull/20598
[#20602]: https://github.com/home-assistant/home-assistant/pull/20602
[#20603]: https://github.com/home-assistant/home-assistant/pull/20603
[#20604]: https://github.com/home-assistant/home-assistant/pull/20604
[#20606]: https://github.com/home-assistant/home-assistant/pull/20606
[#20611]: https://github.com/home-assistant/home-assistant/pull/20611
[#20631]: https://github.com/home-assistant/home-assistant/pull/20631
[#20651]: https://github.com/home-assistant/home-assistant/pull/20651
[#20652]: https://github.com/home-assistant/home-assistant/pull/20652
[#20657]: https://github.com/home-assistant/home-assistant/pull/20657
[#20658]: https://github.com/home-assistant/home-assistant/pull/20658
[#20663]: https://github.com/home-assistant/home-assistant/pull/20663
[#20666]: https://github.com/home-assistant/home-assistant/pull/20666
[#20680]: https://github.com/home-assistant/home-assistant/pull/20680
[#20681]: https://github.com/home-assistant/home-assistant/pull/20681
[#20682]: https://github.com/home-assistant/home-assistant/pull/20682
[#20693]: https://github.com/home-assistant/home-assistant/pull/20693
[#20699]: https://github.com/home-assistant/home-assistant/pull/20699
[#20707]: https://github.com/home-assistant/home-assistant/pull/20707
[#20723]: https://github.com/home-assistant/home-assistant/pull/20723
[#20727]: https://github.com/home-assistant/home-assistant/pull/20727
[#20729]: https://github.com/home-assistant/home-assistant/pull/20729
[#20739]: https://github.com/home-assistant/home-assistant/pull/20739
[#20743]: https://github.com/home-assistant/home-assistant/pull/20743
[#20751]: https://github.com/home-assistant/home-assistant/pull/20751
[#20762]: https://github.com/home-assistant/home-assistant/pull/20762
[#20784]: https://github.com/home-assistant/home-assistant/pull/20784
[@Censored3]: https://github.com/Censored3
[@Danielhiversen]: https://github.com/Danielhiversen
[@GidoHakvoort]: https://github.com/GidoHakvoort
[@Jc2k]: https://github.com/Jc2k
[@JoakimLindbom]: https://github.com/JoakimLindbom
[@JonasPed]: https://github.com/JonasPed
[@Kane610]: https://github.com/Kane610
[@LouisMT]: https://github.com/LouisMT
[@MatteGary]: https://github.com/MatteGary
[@StevenLooman]: https://github.com/StevenLooman
[@TD22057]: https://github.com/TD22057
[@adrum]: https://github.com/adrum
[@aerialls]: https://github.com/aerialls
[@alengwenus]: https://github.com/alengwenus
[@amelchio]: https://github.com/amelchio
[@andrewsayre]: https://github.com/andrewsayre
[@arsaboo]: https://github.com/arsaboo
[@awarecan]: https://github.com/awarecan
[@bachya]: https://github.com/bachya
[@balloob]: https://github.com/balloob
[@boralyl]: https://github.com/boralyl
[@bramkragten]: https://github.com/bramkragten
[@choss]: https://github.com/choss
[@chrillux]: https://github.com/chrillux
[@coreGreenberet]: https://github.com/coreGreenberet
[@danielperna84]: https://github.com/danielperna84
[@danielsjf]: https://github.com/danielsjf
[@davidlie]: https://github.com/davidlie
[@dgomes]: https://github.com/dgomes
[@dmulcahey]: https://github.com/dmulcahey
[@ehendrix23]: https://github.com/ehendrix23
[@eliseomartelli]: https://github.com/eliseomartelli
[@emkay82]: https://github.com/emkay82
[@emontnemery]: https://github.com/emontnemery
[@exxamalte]: https://github.com/exxamalte
[@fabaff]: https://github.com/fabaff
[@foxel]: https://github.com/foxel
[@fredrike]: https://github.com/fredrike
[@fronzbot]: https://github.com/fronzbot
[@gorynychzmey]: https://github.com/gorynychzmey
[@heytensai]: https://github.com/heytensai
[@hfurubotten]: https://github.com/hfurubotten
[@joncar]: https://github.com/joncar
[@jonudewux]: https://github.com/jonudewux
[@jvanderneutstulen]: https://github.com/jvanderneutstulen
[@kbickar]: https://github.com/kbickar
[@kellerza]: https://github.com/kellerza
[@kennedyshead]: https://github.com/kennedyshead
[@koreth]: https://github.com/koreth
[@krygal]: https://github.com/krygal
[@magenbrot]: https://github.com/magenbrot
[@merc1031]: https://github.com/merc1031
[@mindakas]: https://github.com/mindakas
[@mindigmarton]: https://github.com/mindigmarton
[@mitchellrj]: https://github.com/mitchellrj
[@mwegner]: https://github.com/mwegner
[@mxworm]: https://github.com/mxworm
[@notoriousbdg]: https://github.com/notoriousbdg
[@perosb]: https://github.com/perosb
[@pvizeli]: https://github.com/pvizeli
[@quazzie]: https://github.com/quazzie
[@reefab]: https://github.com/reefab
[@rohankapoorcom]: https://github.com/rohankapoorcom
[@rytilahti]: https://github.com/rytilahti
[@scop]: https://github.com/scop
[@shaan7]: https://github.com/shaan7
[@shbatm]: https://github.com/shbatm
[@sqldiablo]: https://github.com/sqldiablo
[@starkillerOG]: https://github.com/starkillerOG
[@stealthhacker]: https://github.com/stealthhacker
[@syphernl]: https://github.com/syphernl
[@w1ll1am23]: https://github.com/w1ll1am23
[@zewelor]: https://github.com/zewelor
[@zhujisheng]: https://github.com/zhujisheng
[air_pollutants docs]: /components/air_pollutants/
[air_quality docs]: /components/air_quality/
[alarm_control_panel docs]: /components/alarm_control_panel/
[alarm_control_panel.abode docs]: /components/alarm_control_panel.abode/
[alarm_control_panel.concord232 docs]: /components/alarm_control_panel.concord232/
[alarm_control_panel.homematicip_cloud docs]: /components/alarm_control_panel.homematicip_cloud/
[alert docs]: /components/alert/
[ambient_station docs]: /components/ambient_station/
[android_ip_webcam docs]: /components/android_ip_webcam/
[asuswrt docs]: /components/asuswrt/
[automation.mqtt docs]: /docs/automation/trigger/#mqtt-trigger
[binary_sensor.danfoss_air docs]: /components/binary_sensor.danfoss_air/
[binary_sensor.homematicip_cloud docs]: /components/binary_sensor.homematicip_cloud/
[binary_sensor.trend docs]: /components/binary_sensor.trend/
[blink docs]: /components/blink/
[camera.amcrest docs]: /components/camera.amcrest/
[camera.arlo docs]: /components/camera.arlo/
[camera.canary docs]: /components/camera.canary/
[camera.ffmpeg docs]: /components/camera.ffmpeg/
[camera.foscam docs]: /components/camera.foscam/
[camera.onvif docs]: /components/camera.onvif/
[camera.ring docs]: /components/camera.ring/
[camera.xiaomi docs]: /components/camera.xiaomi/
[camera.yi docs]: /components/camera.yi/
[climate.mill docs]: /components/climate.mill/
[climate.radiotherm docs]: /components/climate.radiotherm/
[cloud docs]: /components/cloud/
[config docs]: /components/config/
[danfoss_air docs]: /components/danfoss_air/
[device_tracker docs]: /components/device_tracker/
[device_tracker.gpslogger docs]: /components/device_tracker.gpslogger/
[dovado docs]: /components/dovado/
[emulated_hue docs]: /components/emulated_hue/
[emulated_roku docs]: /components/emulated_roku/
[envisalink docs]: /components/envisalink/
[fan.xiaomi_miio docs]: /components/fan.xiaomi_miio/
[ffmpeg docs]: /components/ffmpeg/
[fritzbox docs]: /components/fritzbox/
[geo_location docs]: /components/geo_location/
[geofency docs]: /components/geofency/
[gpslogger docs]: /components/gpslogger/
[homekit_controller docs]: /components/homekit_controller/
[homematic docs]: /components/homematic/
[homematicip_cloud docs]: /components/homematicip_cloud/
[http docs]: /components/http/
[hue docs]: /components/hue/
[image_processing.opencv docs]: /components/image_processing.opencv/
[image_processing.qrcode docs]: /components/image_processing.qrcode/
[image_processing.tensorflow docs]: /components/image_processing.tensorflow/
[isy994 docs]: /components/isy994/
[lcn docs]: /components/lcn/
[light.everlights docs]: /components/light.everlights/
[light.hyperion docs]: /components/light.hyperion/
[light.lcn docs]: /components/light.lcn/
[light.lifx docs]: /components/light.lifx/
[light.mqtt docs]: /components/light.mqtt/
[light.yeelight docs]: /components/light.yeelight/
[locative docs]: /components/locative/
[lock.zwave docs]: /components/lock.zwave/
[lovelace docs]: /components/lovelace/
[luftdaten docs]: /components/luftdaten/
[lutron docs]: /components/lutron/
[map docs]: /components/map/
[media_extractor docs]: /components/media_extractor/
[media_player.cast docs]: /components/media_player.cast/
[media_player.dlna_dmr docs]: /components/media_player.dlna_dmr/
[media_player.firetv docs]: /components/media_player.firetv/
[media_player.mpd docs]: /components/media_player.mpd/
[media_player.pjlink docs]: /components/media_player.pjlink/
[media_player.plex docs]: /components/media_player.plex/
[media_player.songpal docs]: /components/media_player.songpal/
[media_player.volumio docs]: /components/media_player.volumio/
[modbus docs]: /components/modbus/
[mqtt docs]: /components/mqtt/
[nest docs]: /components/nest/
[notify docs]: /components/notify/
[rest_command docs]: /components/rest_command/
[sense docs]: /components/sense/
[sensor.ambient_station docs]: /components/sensor.ambient_station/
[sensor.asuswrt docs]: /components/sensor.asuswrt/
[sensor.brottsplatskartan docs]: /components/sensor.brottsplatskartan/
[sensor.co2signal docs]: /components/sensor.co2signal/
[sensor.danfoss_air docs]: /components/sensor.danfoss_air/
[sensor.dovado docs]: /components/sensor.dovado/
[sensor.filter docs]: /components/sensor.filter/
[sensor.fritzbox docs]: /components/sensor.fritzbox/
[sensor.history_stats docs]: /components/sensor.history_stats/
[sensor.iliad_italy docs]: /components/sensor.iliad_italy/
[sensor.imap docs]: /components/sensor.imap/
[sensor.influxdb docs]: /components/sensor.influxdb/
[sensor.integration docs]: /components/sensor.integration/
[sensor.islamic_prayer_times docs]: /components/sensor.islamic_prayer_times/
[sensor.lyft docs]: /components/sensor.lyft/
[sensor.netatmo docs]: /components/sensor.netatmo/
[sensor.pollen docs]: /components/sensor.pollen/
[sensor.recollect_waste docs]: /components/sensor.recollect_waste/
[sensor.rova docs]: /components/sensor.rova/
[sensor.solaredge docs]: /components/sensor.solaredge/
[sensor.sql docs]: /components/sensor.sql/
[sensor.systemmonitor docs]: /components/sensor.systemmonitor/
[sensor.tibber docs]: /components/sensor.tibber/
[sensor.transmission docs]: /components/sensor.transmission/
[smartthings docs]: /components/smartthings/
[switch.lcn docs]: /components/switch.lcn/
[switch.mqtt docs]: /components/switch.mqtt/
[switch.rest docs]: /components/switch.rest/
[switch.smartthings docs]: /components/switch.smartthings/
[system_health docs]: /components/system_health/
[tellduslive docs]: /components/tellduslive/
[tibber docs]: /components/tibber/
[transmission docs]: /components/transmission/
[unifi docs]: /components/unifi/
[updater docs]: /components/updater/
[upnp docs]: /components/upnp/
[utility_meter docs]: /components/utility_meter/
[weather.darksky docs]: /components/weather.darksky/
[webhook docs]: /components/webhook/
[wemo docs]: /components/wemo/
[wink docs]: /components/wink/
[zha docs]: /components/zha/
[zone docs]: /components/zone/
[zoneminder docs]: /components/zoneminder/

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB