`.
+The weather platform can be configured in the frontend to decide if the forecast is given daily (default) or hourly. To change the setting go in **Configuration** -> **Integrations**, click on the city name in **Météo-France** box and click on **Options**. You can update the `Forecast mode` by choosing between `daily` or `hourly`.
-It also works with international city, with mixed results. You may have to find the correct city query.
-For example `Montreal, Canada` will return a city in Ardèche, France, whereas `Montreal, america` works
+## Sensor platforms
-[https://www.meteofrance.com/mf3-rpc-portlet/rest/lieu/facet/previsions/search/montreal,amerique](https://www.meteofrance.com/mf3-rpc-portlet/rest/lieu/facet/previsions/search/montreal,amerique)
+All the following sensors will be created :
-```yaml
-# Example configuration.yaml entry for Montreal, Canada
-meteo_france:
- - city: 'montreal,amerique'
-```
+|Entity|Description|Enabled by default|
+|------|-----------|------------------|
+|`cloud`|The current cloud cover in %|Yes|
+|`freeze_chance` |Probability of temperature below 0°C in the following hours|Yes|
+|`next_rain`|Datetime of the next rain if expected within the next hour ([see note below](#about-next_rain-condition-sensor))|Yes|
+|`precipitation`|Precipitation cumulation for next 24 hours in mm|Yes|
+|`pressure`|The current pressure in hPa|No|
+|`rain_chance` |Probability of rain in the following hours|Yes|
+|`snow_chance` |Probability of snow for the following hours|Yes|
+|`temperature`|The current temperature in °C|No|
+|`uv`|The current UV index|Yes|
+|`weather_alert` |Weather alert status ([see note below](#about-weather_alert-sensor))|Yes|
+|`wind_speed` |The current wind speed in km/h|No|
-## Sensor
+Warning: The probability entities data are not always provided by the API. They are added only if available.
-All these sensors will be created :
-- `temperature`: The current temperature.
-- `weather`: A human-readable text summary of the current conditions.
-- `wind_speed`: The wind speed.
-- `uv`: The current UV index.
-- `next_rain`: Time to the next rain if happening for the next hour ([see note below](#about-next_rain-condition-sensor)).
-- `freeze_chance`: Probability of temperature below 0°C for the day.
-- `rain_chance`: Probability of rain for the day.
-- `snow_chance`: Probability of snow for the day.
-- `thunder_chance`: Probability of thunderstorm for the day.
-- `weather_alert`: Weather alert status ([see note below](#about-weather_alert-sensor)).
+To enable an entity disabled by default, go in **Configuration** -> **Integrations**, click on the city name in **Météo-France** and then the **X entities** link. You will have the list of the enabled entities. Here click the filter button and select **Show disable entities**. The disabled entities will be visible in the list, select the one you want to enable and click the **Enable Selected** button.
### About `next_rain` condition sensor
@@ -90,35 +89,14 @@ All these sensors will be created :
-The `next_rain` sensor value is the time to next rain, from 0 to 55 minutes.
-If no rain is forecasted for the next hour, value will be "No rain".
-
-Attributes also give the forecast for the next hour in 5 minutes intervals.
-Possible value for each intervals attributes are:
-
-- 1 No rain
-- 2 Light rain
-- 3 Moderate rain
-- 4 Heavy rain
+The attributes allow to have a forecast of the rain type by 5 to 10 minutes intervals.
### About `weather_alert` sensor
- The weather alert is available for the metropolitan France.
+ The weather alert is available for the metropolitan France and Andorre.
-The `weather_alert` sensor value give the current weather alert status for the department linked to the city. Data is retrieve from [Météo-France vigilance website](https://vigilance.meteofrance.com/).
+The `weather_alert` sensor state give the current weather alert status for the department linked to the city. Only one entity by department is created.
-The sensor attributes give access to each type of alerts and date of the bulletin emitted by Météo-France.
-
-### Complete example
-
-This is an example for 3 cities forecast:
-
-```yaml
-# Complete example configuration.yaml entry
-meteo_france:
- - city: '69004'
- - city: 'Rouen'
- - city: 'Oslo, norvege'
-```
+The sensor attributes give access to each type of alerts raised by Météo-France.
diff --git a/source/_integrations/min_max.markdown b/source/_integrations/min_max.markdown
index 09a610c1e28..8ef22fc64ae 100644
--- a/source/_integrations/min_max.markdown
+++ b/source/_integrations/min_max.markdown
@@ -11,9 +11,9 @@ ha_codeowners:
ha_domain: min_max
---
-The `min_max` sensor platform consumes the state from other sensors to determine the minimum, maximum, latest (last) and the mean of the collected states. The sensor will always show you the lowest/highest/latest value which was received from all monitored sensors. If you have spikes in your values, it's recommended to filter/equalize your values with a [statistics sensor](/integrations/statistics) first.
+The `min_max` sensor platform consumes the state from other sensors to determine the minimum, maximum, latest (last), mean and median of the collected states. The sensor will always show you the lowest/highest/latest value which was received from all monitored sensors. If you have spikes in your values, it's recommended to filter/equalize your values with a [statistics sensor](/integrations/statistics) first.
-This sensor is an alternative to the [template sensor](/integrations/template)'s `value_template:` to get the average of multiple sensors.
+This sensor is an alternative to the [template sensor](/integrations/template)'s `value_template:` to get the average or the median of multiple sensors.
{% raw %}
```yaml
@@ -46,7 +46,7 @@ entity_ids:
required: true
type: [list, string]
type:
- description: "The type of sensor: `min`, `max`, `last` or `mean`."
+ description: "The type of sensor: `min`, `max`, `last`, `mean` or `median`."
required: false
default: max
type: string
@@ -55,7 +55,7 @@ name:
required: false
type: string
round_digits:
- description: Round mean value to specified number of digits.
+ description: Round mean or median value to specified number of digits.
required: false
type: integer
default: 2
diff --git a/source/_integrations/netatmo.markdown b/source/_integrations/netatmo.markdown
index 66d741a03ec..c0a97338ac4 100644
--- a/source/_integrations/netatmo.markdown
+++ b/source/_integrations/netatmo.markdown
@@ -8,10 +8,11 @@ ha_category:
- Sensor
- Climate
- Camera
-ha_release: '0.20'
+ - Light
+ha_release: "0.20"
ha_iot_class: Cloud Polling
ha_codeowners:
- - '@cgtobi'
+ - "@cgtobi"
ha_config_flow: true
ha_domain: netatmo
---
@@ -22,8 +23,9 @@ There is currently support for the following device types within Home Assistant:
- [Camera](#camera)
- [Climate](#climate)
+- [Light](#light)
- [Sensor](#sensor)
-- [Webhooks](#webhooks)
+- [Webhook Events](#webhook-events)
## Configuration
@@ -49,12 +51,16 @@ client_secret:
**After the client_id and client_secret is added to your `configuration.yaml` you must enable Netatmo through the integrations page.**
+Menu: **Configuration** -> **Integrations**.
+
### Extra configuration of the integration
Configuration of Netatmo public weather stations is offered from the front end. Enter the Netatmo integration and press the cogwheel.
In the dialogue, it is possible to create, edit and remove public weather sensors. For each area a unique name has to be set along with an area to be covered and whether to display average or maximum values.
+To edit an existing area simply enter its name and follow the dialog.
+
### Get API and Secret Key
To get your API credentials, you have to declare a new application in the [Netatmo Developer Page](https://dev.netatmo.com/). Sign in using your username and password from your regular Netatmo account.
@@ -83,12 +89,42 @@ The `netatmo` camera platform is consuming the information provided by a [Netatm
The `netatmo` thermostat platform is consuming the information provided by a [Netatmo Smart Thermostat](https://www.netatmo.com/product/energy/thermostat) or [Netatmo Smart Radiator Valve](https://www.netatmo.com/en-gb/energy/additional-valve). This integration allows you to view the current temperature and control the setpoint.
+## Light
+
+The `netatmo` light platform is consuming information provided by a [Netatmo Smart Outdoor](https://www.netatmo.com/en-gb/security/cam-outdoor) camera and requires an active webhook. This integration allows you to turn on/off the flood lights.
+
## Sensor
The `netatmo` sensor platform is consuming the information provided by a [Netatmo Smart Home Weather Station](https://www.netatmo.com/en-us/weather/weatherstation) a
-[Netatmo Smart Indoor Air Quality Monitor](https://www.netatmo.com/en-us/aircare/homecoach) device or Netatmo Public Weather Stations.
+[Netatmo Smart Indoor Air Quality Monitor](https://www.netatmo.com/en-us/aircare/homecoach) device or [Netatmo Public Weather Stations](https://weathermap.netatmo.com/).
-## Webhooks
+## Services
+
+### Set Schedule
+
+`set_schedule`
+
+Set the heating schedule. This requires an entity id and a schedule name.
+
+### Set Person Home
+
+`set_persons_home`
+
+Set a list of persons as at home. Person's name must match a name known by the Netatmo Smart Indoor Camera.
+
+### Set Person Away
+
+`set_person_away`
+
+Set a person away. If no person is set the home will be marked as empty. Person's name must match a name known by the Netatmo Smart Indoor Camera.
+
+### (Un-)Register Webhooks
+
+`register_webhook` and `unregister_webhook`
+
+Service to manually register and unregister the webhook.
+
+## Webhook Events
The [Netatmo Smart Indoor](https://www.netatmo.com/en-gb/security/cam-indoor) or [Outdoor](https://www.netatmo.com/en-gb/security/cam-outdoor) cameras, [Smart Door and Window Sensors](https://www.netatmo.com/en-gb/security/cam-indoor/tag), as well as the [Netatmo Smart Smoke Alarm](https://www.netatmo.com/en-gb/security/smoke-alarm), send instant events to Home Assistant by using webhooks. It is required to have your camera enabled in Home Assistant.
@@ -125,19 +161,19 @@ Example:
```yaml
# Example automation for Netatmo Welcome
- alias: Motion at home
- description: 'Motion detected at home'
+ description: "Motion detected at home"
trigger:
- - event_type: netatmo_event
- platform: event
- event_data:
- type: movement
+ - event_type: netatmo_event
+ platform: event
+ event_data:
+ type: movement
action:
- - data_template:
- message: >
- {{ trigger.event.data["data"]["message"] }}
- at {{ trigger.event.data["data"]["home_name"] }}
- title: Netatmo event
- service: persistent_notification.create
+ - data_template:
+ message: >
+ {{ trigger.event.data["data"]["message"] }}
+ at {{ trigger.event.data["data"]["home_name"] }}
+ title: Netatmo event
+ service: persistent_notification.create
```
{% endraw %}
@@ -149,19 +185,19 @@ Example:
```yaml
# Example automation for Netatmo Presence
- alias: Motion at home
- description: 'Motion detected at home'
+ description: "Motion detected at home"
trigger:
- - event_type: netatmo_event
- platform: event
- event_data:
- type: human # other possible types: animal, vehicle
+ - event_type: netatmo_event
+ platform: event
+ event_data:
+ type: human # other possible types: animal, vehicle
action:
- - data_template:
- message: >
- {{ trigger.event.data["data"]["message"] }}
- at {{ trigger.event.data["data"]["home_name"] }}
- title: Netatmo event
- service: persistent_notification.create
+ - data_template:
+ message: >
+ {{ trigger.event.data["data"]["message"] }}
+ at {{ trigger.event.data["data"]["home_name"] }}
+ title: Netatmo event
+ service: persistent_notification.create
```
{% endraw %}
@@ -173,26 +209,32 @@ Example:
```yaml
# Example automation
- alias: door or window open or movement
- description: 'Notifies which door or window is open or was moved'
+ description: "Notifies which door or window is open or was moved"
trigger:
- - event_type: netatmo_event
- platform: event
- event_data:
- type: tag_open
- - event_type: netatmo_event
- platform: event
- event_data:
- type: tag_big_move
- - event_type: netatmo_event
- platform: event
- event_data:
- type: tag_small_move
+ - event_type: netatmo_event
+ platform: event
+ event_data:
+ type: tag_open
+ - event_type: netatmo_event
+ platform: event
+ event_data:
+ type: tag_big_move
+ - event_type: netatmo_event
+ platform: event
+ event_data:
+ type: tag_small_move
action:
- - data_template:
- message: >
- {{ trigger.event.data["data"]["message"] }}
- title: Netatmo event
- service: persistent_notification.create
+ - data_template:
+ message: >
+ {{ trigger.event.data["data"]["message"] }}
+ title: Netatmo event
+ service: persistent_notification.create
```
{% endraw %}
+
+## Troubleshooting
+
+### Light
+
+If the lights show as unavailable the issue usually is that webhook is banned by Netatmo. To solve that [unregister](#un-register-webhooks) the webhook, go to the [Netatmo Developer Page](https://dev.netatmo.com/) to unban your webhook and then [register](#un-register-webhooks) the webhook.
diff --git a/source/_integrations/notify.command_line.markdown b/source/_integrations/notify.command_line.markdown
index bfdea7bc706..b1d6b5e32ab 100644
--- a/source/_integrations/notify.command_line.markdown
+++ b/source/_integrations/notify.command_line.markdown
@@ -29,6 +29,11 @@ command:
description: The action to take.
required: true
type: string
+command_timeout:
+ description: Defines number of seconds for command timeout.
+ required: false
+ type: integer
+ default: 15
{% endconfiguration %}
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
diff --git a/source/_integrations/opentherm_gw.markdown b/source/_integrations/opentherm_gw.markdown
index b83247a8b6f..c0cf858114c 100644
--- a/source/_integrations/opentherm_gw.markdown
+++ b/source/_integrations/opentherm_gw.markdown
@@ -77,6 +77,24 @@ Reset the OpenTherm Gateway.
| ---------------------- | -------- | ----------- |
| `gateway_id` | no | The `gateway_id` as specified during configuration.
+### Service `set_central_heating_ovrd`
+
+Set the central heating override option on the gateway.
+When overriding the control setpoint (via a [set_control_setpoint](#service-opentherm_gwset_control_setpoint) service call with a temperature value other than 0), the gateway automatically enables the central heating override to start heating. This service can then be used to control the central heating override status.
+To return control of the central heating to the thermostat, call the [set_control_setpoint](#service-opentherm_gwset_control_setpoint) service with temperature value 0.
+**You will only need this if you are writing your own software thermostat.**
+
+| Service data attribute | Optional | Description |
+| ---------------------- | -------- | ----------- |
+| `gateway_id` | no | The `gateway_id` as specified during configuration.
+| `ch_override` | no | The desired value for the central heating override. Use `0` to disable or `1` to enable.
+
+
+
+Please read [this information](http://otgw.tclcode.com/standalone.html) from the designer of the OpenTherm Gateway before considering to write your own software thermostat.
+
+
+
### Service `opentherm_gw.set_clock`
Provide the time and day of week to the OpenTherm Gateway. The value provided here will be forwarded to the thermostat on the next date/time request from the thermostat. The OpenTherm Gateway does not have the ability to accurately keep track of time, so it will only retain the information provided here for a maximum of about 61 seconds.
diff --git a/source/_integrations/ovo_energy.markdown b/source/_integrations/ovo_energy.markdown
new file mode 100644
index 00000000000..fa9aeeb84a1
--- /dev/null
+++ b/source/_integrations/ovo_energy.markdown
@@ -0,0 +1,33 @@
+---
+title: OVO Energy
+description: Instructions on how to integrate OVO Energy with Home Assistant.
+ha_category:
+ - Energy
+ - Sensor
+ha_release: 0.114
+ha_iot_class: Cloud Polling
+ha_config_flow: true
+ha_codeowners:
+ - "@timmo001"
+ha_domain: ovo_energy
+---
+
+The `ovo_energy` integration allows you to monitor your energy consumption data
+in Home Assistant.
+
+## Configuration
+
+Menu: **Configuration** -> **Integrations**.
+
+Click on the `+` sign to add an integration and click on **OVO Energy**.
+After completing the configuration flow, the OVO Energy integration will be
+available.
+
+## Sensors
+
+This integration provides a few sensors for OVO Energy:
+
+- Last Electricity Reading - Last meter reading consumption in kWh.
+- Last Gas Reading - Last meter reading consumption in kWh.
+- Last Electricity Cost - Last meter reading electricity cost.
+- Last Gas Cost - Last meter reading gas cost.
diff --git a/source/_integrations/pi_hole.markdown b/source/_integrations/pi_hole.markdown
index 8bd055ec130..6471d7080fb 100644
--- a/source/_integrations/pi_hole.markdown
+++ b/source/_integrations/pi_hole.markdown
@@ -3,6 +3,8 @@ title: Pi-hole
description: Instructions on how to integrate Pi-hole with Home Assistant.
ha_category:
- System Monitor
+ - Sensor
+ - Switch
ha_iot_class: Local Polling
ha_config_flow: true
ha_release: 0.28
@@ -34,8 +36,6 @@ host:
name:
description: >
The name for this Pi-hole. This name will be a part of the sensors created, e.g., `name: My Awesome Pi-hole` would result in sensor names beginning with `sensor.my_awesome_pi_hole_`.
-
- **Note:** If you configure multiple Pi-holes, each one *must* have a unique name.
required: false
type: string
default: Pi-hole
@@ -99,7 +99,9 @@ pi_hole:
## Services
-The platform provides the following services to interact with your Pi-hole.
+The platform provides the following services to interact with your Pi-hole. Use switch entities when calling the services.
+
+_Note: Switch entity requires `api_key` to be configured._
### Service `pi_hole.disable`
@@ -107,19 +109,5 @@ Disables configured Pi-hole(s) for the specified amount of time.
| Service data attribute | Required | Type | Description |
| ---------------------- | -------- | -------- | ----------- |
+| `entity_id` | `False` | string | Target switch entity. Use `all` to target all Pi-hole services |
| `duration` | `True` | timedelta | Time for which Pi-hole should be disabled |
-| `name` | `False` | string | If preset, disables the named Pi-hole, otherwise, disables all configured Pi-holes |
-
-_Note: This service requires `api_key` to be specified in the configuration._
-
-### Service `pi_hole.enable`
-
-Enables configured Pi-holes(s).
-
-| Service data attribute | Required | Type | Description |
-| ---------------------- | -------- | -------- | ----------- |
-| `name` | `False` | string | If preset, enables the named Pi-hole, otherwise, enables all configured Pi-holes |
-
-_Note: This service requires `api_key` to be specified in the configuration._
-
-This integration was not made by Pi-hole LLC or the Pi-hole community. They did not provide support, feedback, testing, or any other help during its creation. This is a third party platform which may break if Pi-hole changes their API in a later release. It is not official, not developed, not supported, and not endorsed Pi-hole LLC or the Pi-hole community. The trademark `Pi-hole` and the logo is used here to describe the platform. `Pi-hole` is a registered trademark of Pi-hole LLC.
diff --git a/source/_integrations/slack.markdown b/source/_integrations/slack.markdown
index ffffa49f5c2..813d5508fb6 100644
--- a/source/_integrations/slack.markdown
+++ b/source/_integrations/slack.markdown
@@ -76,11 +76,10 @@ The following attributes can be placed inside the `data` key of the service call
| Attribute | Optional | Description |
| ---------------------- | -------- | ----------- |
| `file` | yes | A file to include with the message; see below.
-| `attachments` | yes | Array of [Slack attachments](https://api.slack.com/messaging/composing/layouts#attachments) (legacy). *NOTE*: if using `attachments`, they are shown **in addition** to `message`.
| `blocks` | yes | Array of [Slack blocks](https://api.slack.com/messaging/composing/layouts). *NOTE*: if using `blocks`, they are shown **in place of** the `message` (note that the `message` is required nonetheless).
| `blocks_template` | yes | The same as `blocks`, but able to support [templates](https://www.home-assistant.io/docs/configuration/templating).
-Note that using `file` will ignore all usage of `attachments`, `blocks`, and `blocks_template` (as Slack does not support those frameworks in messages that accompany uploaded files).
+Note that using `file` will ignore all usage of `blocks` and `blocks_template` (as Slack does not support those frameworks in messages that accompany uploaded files).
To include a local file with the Slack message, use these attributes underneath the `file` key:
@@ -160,14 +159,3 @@ data:
*Average Rating*
1.0
```
-
-To use the legacy attachments framework:
-
-```yaml
-message: Message that will be added as a comment to the file.
-title: Title of the file.
-data:
- attachments:
- - title: WHAT A HORRIBLE NIGHT TO HAVE A CURSE.
- image_url: https://i.imgur.com/JEExnsI.gif
-```
diff --git a/source/_integrations/spider.markdown b/source/_integrations/spider.markdown
index 0facc7c617d..6d858b0cb58 100644
--- a/source/_integrations/spider.markdown
+++ b/source/_integrations/spider.markdown
@@ -21,7 +21,9 @@ There is currently support for the following device types within Home Assistant:
## Configuration
-To add your Spider devices into your Home Assistant installation, add the following to your `configuration.yaml` file:
+To set up this integration, click Configuration in the sidebar and then click Integrations. Add a new integration using the "+" button in the lower right corner and look for 'Itho Daalderop Spider'. Click configure and you will be presented with a dialog requesting the username and password of your Spider account information. After you click submit, it will automatically retrieve your thermostats and power plugs from mijn.ithodaalderop.nl.
+
+If you'd like to continue using YAML until it is fully removed, you can use the following example:
```yaml
spider:
diff --git a/source/_integrations/switch.command_line.markdown b/source/_integrations/switch.command_line.markdown
index 17efdc1533f..cdc92ccfe5d 100644
--- a/source/_integrations/switch.command_line.markdown
+++ b/source/_integrations/switch.command_line.markdown
@@ -56,6 +56,11 @@ switches:
description: The name used to display the switch in the frontend.
required: false
type: string
+ command_timeout:
+ description: Defines number of seconds for command timeout.
+ required: false
+ type: integer
+ default: 15
{% endconfiguration %}
A note on `friendly_name`:
diff --git a/source/_integrations/switch.template.markdown b/source/_integrations/switch.template.markdown
index ad351a8dbd4..4721779aecb 100644
--- a/source/_integrations/switch.template.markdown
+++ b/source/_integrations/switch.template.markdown
@@ -54,6 +54,10 @@ switch:
description: A list of entity IDs so the switch only reacts to state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities.
required: false
type: [string, list]
+ unique_id:
+ description: An ID that uniquely identifies this switch. Set this to an unique value to allow customisation trough the UI.
+ required: false
+ type: string
value_template:
description: Defines a template to set the state of the switch. If not defined, the switch will optimistically assume all commands are successful.
required: false
diff --git a/source/_integrations/template.markdown b/source/_integrations/template.markdown
index 01fd2e40560..9fd036cb54a 100644
--- a/source/_integrations/template.markdown
+++ b/source/_integrations/template.markdown
@@ -54,6 +54,10 @@ sensor:
description: A list of entity IDs so the sensor only reacts to state changes of these entities. This can be used if the automatic analysis fails to find all relevant entities.
required: false
type: [string, list]
+ unique_id:
+ description: An ID that uniquely identifies this sensor. Set this to an unique value to allow customisation trough the UI.
+ required: false
+ type: string
unit_of_measurement:
description: "Defines the units of measurement of the sensor, if any. This will also influence the graphical presentation in the history visualization as a continuous value. Sensors with missing `unit_of_measurement` are showing as discrete values."
required: false
@@ -104,6 +108,10 @@ If you are using the state of a platform that takes extra time to load, the Temp
The template engine will attempt to work out what entities should trigger an update of the sensor. This can fail, for example, if your template loops over the contents of a group. In this case, you can use `entity_id` to provide a list of entity IDs that will cause the sensor to update or you can run the service `homeassistant.update_entity` to update the sensor at will.
+### Unique ID
+
+The optional `unique_id` can be set so the entity will be registered in the [entity registry](https://developers.home-assistant.io/docs/entity_registry_index). This allows changing the `name`, `icon` and `entity_id` from the web interface instead of having to use the [customize](/docs/configuration/customizing-devices/) key in your `configuration.yaml` file.
+
## Examples
In this section, you find some real-life examples of how to use this sensor.
@@ -349,7 +357,7 @@ sensor:
Useful entities to choose might be `sensor.date` which update once per day or `sensor.time`, which updates once per minute.
Please note that the resulting template will be evaluated by Home Assistant state engine on every state change of these sensors, which in case of `sensor.time` happens every minute and might have a negative impact on performance.
-
+
An alternative to this is to create an interval-based automation that calls the service `homeassistant.update_entity` for the entities requiring updates. This modified example updates every 5 minutes:
{% raw %}
diff --git a/source/_integrations/tensorflow.markdown b/source/_integrations/tensorflow.markdown
index 7c51761d28c..e887ec83bda 100644
--- a/source/_integrations/tensorflow.markdown
+++ b/source/_integrations/tensorflow.markdown
@@ -10,43 +10,64 @@ ha_domain: tensorflow
The `tensorflow` image processing platform allows you to detect and recognize objects in a camera image using [TensorFlow](https://www.tensorflow.org/). The state of the entity is the number of objects detected, and recognized objects are listed in the `summary` attribute along with quantity. The `matches` attribute provides the confidence `score` for recognition and the bounding `box` of the object for each detection category.
-
+## Home Assistant Core
- The following packages must be installed on Raspbian before following the setup for the integration to work:
- `sudo apt-get install libatlas-base-dev libopenjp2-7 libtiff5`
+If you are using the Home Assistant Core installation type, some additional requirements and steps apply.
+For all other installation types, this section can be skipped.
-
+The following packages must be installed on Debian before following the setup for the integration to work:
+`sudo apt-get install libatlas-base-dev libopenjp2-7 libtiff5`
-## Setup
+It is possible that Home Assistant is unable to install the Python TensorFlow bindings. If that is the case,
+you'll need to install those manually using: `pip install tensorflow==2.2.0`, as the Python wheel is
+not available for all platforms.
-You need to install the `tensorflow` Python packages with: `$ pip3 install tensorflow==1.13.2`. The wheel is not available for all platforms. See [the official install guide](https://www.tensorflow.org/install/) for other options. The required packages are included in Home Assistant Supervised installations but only supported on amd64 architecture.
+See [the official install guide](https://www.tensorflow.org/install/) for other options.
-This integration requires files to be downloaded, compiled on your computer, and added to the Home Assistant configuration directory. These steps can be performed using the sample script at [this gist](https://gist.github.com/hunterjm/6f9332f92b60c3d5e448ad936d7353c3). Alternatively, if you wish to perform the process manually, the process is as follows:
+Furthermore, the official Python TensorFlow wheels by Google, require your CPU to support the `avx` extension.
+If your CPU lacks those capabilities, Home Assistant will crash when using TensorFlow, without any message.
-- Clone [tensorflow/models](https://github.com/tensorflow/models/tree/master/research/object_detection)
-- Compile protobuf models located in `research/object_detection/protos` with `protoc`
-- Create the following directory structure inside your configuration directory:
+## Preparation
+
+This integration requires files to be downloaded, compiled on your computer, and added to the Home Assistant configuration directory. These steps can be performed by cloning [this repository](https://github.com/hunterjm/hass-tensorflow) into your configuration directory. Alternatively, if you wish to perform the process manually, the process is as follows:
+
+Create the following folder structure in your configuration directory.
```bash
|- {config_dir}
- | - tensorflow/
- |- object_detection/
- |- __init__.py
+ |- tensorflow/
+ |- models/
```
-- Copy required object_detection dependencies to the `object_detection` folder inside of the `tensorflow` folder:
+Follow these steps (Linux) to compile the object detection library.
- - `research/object_detection/data`
- - `research/object_detection/utils`
- - `research/object_detection/protos`
+```bash
+# Clone tensorflow/models
+git clone https://github.com/tensorflow/models.git
+# Compile Protobuf (apt-get install protobuf-compiler)
+cd models/research
+protoc object_detection/protos/*.proto --python_out=.
+# Copy object_detection to {config_dir}
+cp -r object_detection {config_dir}/tensorflow
+```
+
+Your final folder structure should look as follows
+
+```bash
+ |- {config_dir}
+ |- tensorflow/
+ |- models/
+ |- object_detection/
+ |- ...
+```
## Model Selection
-Lastly, it is time to pick a model. It is recommended to start with one of the COCO models available in the [Model Detection Zoo](https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md).
+Lastly, it is time to pick a model. It is recommended to start with one of the COCO models available in the [Model Detection Zoo](https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/tf2_detection_zoo.md).
-The trade-off between the different models is accuracy vs speed. Users with a decent CPU should start with the `faster_rcnn_inception_v2_coco` model. If you are running on an ARM device like a Raspberry Pi, start with the `ssd_mobilenet_v2_coco` model.
+The trade-off between the different models is accuracy vs speed. Users with a decent CPU should start with one of the `EfficientDet` models. If you are running on an ARM device like a Raspberry Pi, start with the `SSD MobileNet v2 320x320` model.
-Whichever model you choose, download it and place the `frozen_inference_graph.pb` file in the `tensorflow` folder in your configuration directory.
+Whichever model you choose, download it and extract in to the `tensorflow/models` folder in your configuration directory.
## Configuration
@@ -59,7 +80,7 @@ image_processing:
source:
- entity_id: camera.local_file
model:
- graph: /home/homeassistant/.homeassistant/tensorflow/frozen_inference_graph.pb
+ graph: /config/tensorflow/models/efficientdet_d0_coco17_tpu-32/
```
{% configuration %}
@@ -86,7 +107,7 @@ model:
type: map
keys:
graph:
- description: Full path to `frozen_inference_graph.pb`.
+ description: Full path to the base model directory.
required: true
type: string
labels:
@@ -94,6 +115,11 @@ model:
required: false
type: string
default: tensorflow/object_detection/data/mscoco_label_map.pbtxt
+ label_offset:
+ description: Offset for mapping label ID to a name (only use for custom models)
+ required: false
+ type: integer
+ default: 1
model_dir:
description: Full path to TensorFlow models directory.
required: false
@@ -143,7 +169,7 @@ image_processing:
- "/tmp/{% raw %}{{ camera_entity.split('.')[1] }}{% endraw %}_latest.jpg"
- "/tmp/{% raw %}{{ camera_entity.split('.')[1] }}_{{ now().strftime('%Y%m%d_%H%M%S') }}{% endraw %}.jpg"
model:
- graph: /home/homeassistant/.homeassistant/tensorflow/frozen_inference_graph.pb
+ graph: /config/tensorflow/models/efficientdet_d0_coco17_tpu-32/
categories:
- category: person
area:
diff --git a/source/_integrations/tesla.markdown b/source/_integrations/tesla.markdown
index 0249d605162..c599360eb20 100644
--- a/source/_integrations/tesla.markdown
+++ b/source/_integrations/tesla.markdown
@@ -22,7 +22,7 @@ The `Tesla` integration offers integration with the [Tesla](https://auth.tesla.c
This integration provides the following platforms:
-- Binary sensors - such as parking and charger connection.
+- Binary sensors - such as update available, parking, and charger connection.
- Sensors - such as Battery level, Inside/Outside temperature, odometer, estimated range, and charging rate.
- Device tracker - to track location of your car
- Lock - Door lock, rear trunk lock, front trunk (frunk) lock and charger door lock. Enables you to control Tesla's door, trunks and charger door lock
diff --git a/source/_integrations/toon.markdown b/source/_integrations/toon.markdown
index b3ef1471c3f..7a9744ea44d 100644
--- a/source/_integrations/toon.markdown
+++ b/source/_integrations/toon.markdown
@@ -107,14 +107,17 @@ The Toon integration provides the following sensors:
- Average Daily Energy Usage*
- Average Daily Gas Usage*
+- Average Daily Water Usage*
- Average Gas Usage
- Average Power Usage*
+- Average Water Usage*
- Average Solar Power Production to Grid* (only with solar module)
- Boiler Modulation Level* (only with OpenTherm)
- Current Gas Usage
- Current Power Usage
- Current Power Usage Covered By Solar (only with solar module)
- Current Solar Power Production (only with solar module)
+- Current Water Usage*
- Electricity Meter Feed IN Tariff 1*
- Electricity Meter Feed IN Tariff 2*
- Electricity Meter Feed OUT Tariff 1*
@@ -130,6 +133,9 @@ The Toon integration provides the following sensors:
- Solar Energy Produced Today (only with solar module)
- Solar Power Production to Grid (only with solar module)
- Temperature
+- Water Meter*
+- Water Usage Today*
+- Water Cost Today*
Sensors marked with `*` are disabled by default, but can be enabled
from the UI, by clicking on the device and enabling the specific entity.
diff --git a/source/_integrations/vacuum.template.markdown b/source/_integrations/vacuum.template.markdown
index 2ff3b7c1b18..7c90d679558 100644
--- a/source/_integrations/vacuum.template.markdown
+++ b/source/_integrations/vacuum.template.markdown
@@ -39,6 +39,10 @@ vacuum:
description: Name to use in the frontend.
required: false
type: string
+ unique_id:
+ description: An ID that uniquely identifies this vacuum. Set this to an unique value to allow customisation trough the UI.
+ required: false
+ type: string
value_template:
description: "Defines a template to get the state of the vacuum. Valid value: `docked`/`cleaning`/`idle`/`paused`/`returning`/`error`"
required: false
diff --git a/source/_integrations/volumio.markdown b/source/_integrations/volumio.markdown
index 4f3ce4188c5..ebc5926b61f 100644
--- a/source/_integrations/volumio.markdown
+++ b/source/_integrations/volumio.markdown
@@ -1,40 +1,26 @@
---
title: Volumio
-description: How to set up the Volumio media player platform
+description: How to set up the Volumio media player integration
ha_category:
- Media Player
ha_release: 0.41
+ha_iot_class: Local Polling
+ha_config_flow: true
+ha_codeowners:
+ - '@OnFreund'
ha_domain: volumio
---
The `Volumio` platform allows you to control a [Volumio](https://volumio.org/) media player from Home Assistant.
-The preferred way to set up the Volumio platform is by enabling the [discovery component](/integrations/discovery/).
+## Configuration
-In case the discovery does not work, or you need specific configuration variables, you can add the following to your `configuration.yaml` file:
+Menu: **Configuration** -> **Integrations**.
-```yaml
-# Example configuration.yaml entry
-media_player:
- - platform: volumio
- host: homeaudio.local
- port: 3000
-```
+In most cases, your Volumio device should be discovered and you'll simply need to click "Configure" to add it to Home Assistant.
-{% configuration %}
-name:
- description: The name of the device.
- required: false
- default: Volumio
- type: string
-host:
- description: The IP address or hostname of the device.
- required: true
- default: localhost
- type: string
-port:
- description: The Port number of Volumio service.
- required: true
- default: 3000
- type: integer
-{% endconfiguration %}
+If it's not discovered, you can click on the `+` sign to add an integration and then click on **Volumio**, and finally input the host and port.
+
+
+Volumio versions 2.799 and below do not have a unique id when manually configured, so you will not be able to rename your entity or add your device to a area. If discovery does not work for you, it is advised to upgrade Volumio before configuring.
+
diff --git a/source/_integrations/volvooncall.markdown b/source/_integrations/volvooncall.markdown
index 8fd05349038..9e2df55ae5c 100644
--- a/source/_integrations/volvooncall.markdown
+++ b/source/_integrations/volvooncall.markdown
@@ -88,6 +88,7 @@ The list of currently available resources:
- `odometer`
- `trip_meter1`
- `trip_meter2`
+- `average_speed`
- `fuel_amount`
- `fuel_amount_level`
- `average_fuel_consumption`
@@ -104,6 +105,7 @@ The list of currently available resources:
- `last_trip`
- `is_engine_running`
- `doors_hood_open`
+- `doors_tailgate_open`
- `doors_front_left_door_open`
- `doors_front_right_door_open`
- `doors_rear_left_door_open`
diff --git a/source/_integrations/wolflink.markdown b/source/_integrations/wolflink.markdown
new file mode 100644
index 00000000000..2ccc62d429d
--- /dev/null
+++ b/source/_integrations/wolflink.markdown
@@ -0,0 +1,28 @@
+---
+title: Wolflink
+description: Instructions on how to integrate Wolf Smart-Set cloud within Home Assistant.
+ha_category:
+ - Heating
+ha_release: 0.114
+ha_iot_class: Cloud Polling
+ha_config_flow: true
+ha_codeowners:
+ - '@adamkrol93'
+ha_domain: wolflink
+---
+
+The `wolflink` integration uses the [Wolf Smart-Set](https://www.wolf-smartset.com/) web service as a source to fetch your heating system status.
+
+Currently, integration can collect information such as temperature, pressure and heating state.
+
+Remember that to integrate your heating device with Home Assistant, you need to have a WOLF LinkHome device connected to your heating device.
+
+The integration fetches all data based on parameters, that are exposed by your heating device.
+
+### Tested devices
+
+This integration is with Wolf Link Home Pro connected to a FGB-28 device.
+
+## Configuration
+
+To add WolfLink to your installation, go to **Configuration** >> **Integrations** in the UI, click the button with `+` sign and from the list of integrations select **WOLF SmartSet**.
diff --git a/source/_posts/2018-10-01-release-79.markdown b/source/_posts/2018-10-01-release-79.markdown
index d4272a92b6d..1dc4cc15354 100644
--- a/source/_posts/2018-10-01-release-79.markdown
+++ b/source/_posts/2018-10-01-release-79.markdown
@@ -54,7 +54,7 @@ Oh, and yes, there is also some cool new integrations. Support has been added fo
- Add Logi Circle component, camera and sensor platform ([@evanjd] - [#16540]) ([logi_circle docs]) ([camera.logi_circle docs]) ([sensor.logi_circle docs]) (new-platform)
- deCONZ cover support ([@Kane610] - [#16759]) ([cover docs]) ([deconz docs]) ([cover.deconz docs]) (new-platform)
- GeoJSON platform ([@exxamalte] - [#16610]) ([geo_location docs]) (new-platform)
-- Add linky sensor ([@tiste] - [#16468]) ([sensor.linky docs]) (new-platform)
+- Add linky sensor ([@tiste] - [#16468]) (new-platform)
## Release 0.79.1 - September 30
@@ -244,7 +244,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Handle netgear_lte connection errors ([@amelchio] - [#16806]) ([netgear_lte docs]) ([notify docs]) ([sensor.netgear_lte docs])
- Improve opentherm_gw state detection ([@mvn23] - [#16809]) ([climate.opentherm_gw docs])
- Rework chromecast fix ([@awarecan] - [#16804]) ([media_player.cast docs])
-- Add linky sensor ([@tiste] - [#16468]) ([sensor.linky docs]) (new-platform)
+- Add linky sensor ([@tiste] - [#16468]) (new-platform)
- Use pyspcwebgw for SPC component ([@mbrrg] - [#16214]) ([spc docs]) ([alarm_control_panel.spc docs]) ([binary_sensor.spc docs])
- Remove discovered MQTT Switch device when discovery topic is cleared ([@emontnemery] - [#16605]) ([mqtt docs]) ([switch.mqtt docs])
- Allow split component definitions in packages ([@thomasloven] - [#16177])
diff --git a/source/_posts/2018-10-29-release-81.markdown b/source/_posts/2018-10-29-release-81.markdown
index 24ae84d0e60..104f3d64329 100644
--- a/source/_posts/2018-10-29-release-81.markdown
+++ b/source/_posts/2018-10-29-release-81.markdown
@@ -347,7 +347,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Homekit component cleanup ([@cdce8p] - [#17627]) ([homekit docs])
- Use cached robot serial for Neato update ([@dshokouhi] - [#17633]) ([vacuum.neato docs])
- deCONZ - Add support for Xiaomi window covers ([@Kane610] - [#17337]) ([deconz docs]) ([cover.deconz docs])
-- Fix linky sensor login error ([@Debaru] - [#17110]) ([sensor.linky docs])
+- Fix linky sensor login error ([@Debaru] - [#17110])
- Fix mqtt light brightness slider ([@thinkl33t] - [#17075]) ([light.mqtt docs])
- Add opentherm_gw binary sensor support ([@mvn23] - [#17625]) ([opentherm_gw docs]) ([binary_sensor.opentherm_gw docs]) (new-platform)
- Upgrade dsmr_parser to 0.12 ([@raymondelooff] - [#17634]) ([sensor.dsmr docs])
diff --git a/source/_posts/2019-03-13-release-89.markdown b/source/_posts/2019-03-13-release-89.markdown
index d407e4730cc..9a7b3957357 100644
--- a/source/_posts/2019-03-13-release-89.markdown
+++ b/source/_posts/2019-03-13-release-89.markdown
@@ -274,7 +274,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Add ADB server functionality to Fire TV ([@JeffLIrion] - [#21221]) ([media_player.firetv docs]) (breaking change)
- Upgrade pytest to 4.3.0 ([@scop] - [#21412])
- Upgrade mypy to 0.670 ([@scop] - [#20934])
-- Update pylinky ([@tiste] - [#21416]) ([sensor.linky docs])
+- Update pylinky ([@tiste] - [#21416])
- Mark water_heater as significant domain ([@elupus] - [#21390]) ([history docs])
- Add power and energy attributes to SmartThings switch ([@andrewsayre] - [#21375]) ([smartthings docs]) (new-feature)
- Add SmartThings Cover platform and add cover device classes ([@andrewsayre] - [#21192]) ([cover docs]) ([smartthings docs]) (breaking change) (new-platform)
diff --git a/source/_posts/2019-04-24-release-92.markdown b/source/_posts/2019-04-24-release-92.markdown
index 421882711cf..081f2bad912 100644
--- a/source/_posts/2019-04-24-release-92.markdown
+++ b/source/_posts/2019-04-24-release-92.markdown
@@ -241,7 +241,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Axis component reflect device availability ([@Kane610] - [#22401]) ([axis docs])
- throw `PlatformNotReady` if unable to connect ([@aav7fl] - [#22515]) ([androidtv docs])
- Ring camera improvements ([@Yarikx] - [#22526]) ([ring docs])
-- upgrade pylinky to 0.3.3 ([@royto] - [#22544]) ([linky docs])
+- upgrade pylinky to 0.3.3 ([@royto] - [#22544])
- Move core services.yaml file to Home Assistant integration ([@balloob] - [#22489])
- Change HEOS component library and add basic config flow ([@andrewsayre] - [#22517]) ([heos docs])
- Add command_template and value_template for MQTT alarm ([@JumpMaster] - [#21438]) ([mqtt docs])
diff --git a/source/_posts/2019-06-26-release-95.markdown b/source/_posts/2019-06-26-release-95.markdown
index a446cb50129..f182c667be2 100644
--- a/source/_posts/2019-06-26-release-95.markdown
+++ b/source/_posts/2019-06-26-release-95.markdown
@@ -175,7 +175,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Restore automation last_triggered with initial_state override ([@frenck] - [#24400]) ([automation docs]) (breaking change)
- Fix recorder defaults ([@balloob] - [#24399]) ([recorder docs]) (breaking change)
- Uber API is going away on June 13, 2019, remove component ([@robbiet480] - [#24468]) (breaking change)
-- Add Linky sensors : yesterday + months + years ([@Quentame] - [#23726]) ([linky docs]) (breaking change)
+- Add Linky sensors : yesterday + months + years ([@Quentame] - [#23726]) (breaking change)
- Position is reversed for horizontal awnings ([@kbickar] - [#23257]) ([tahoma docs]) (breaking change)
- Remove conversation from default config ([@balloob] - [#24515]) ([default_config docs]) (breaking change)
- Added name to sensors ([@cliffordwhansen] - [#24525]) ([synologydsm docs]) (breaking change)
@@ -304,7 +304,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Bump pyubee to 0.7 to support more models ([@mzdrale] - [#24477]) ([ubee docs])
- Somfy open api ([@tetienne] - [#19548]) ([somfy docs]) (new-platform)
- Add APRS device tracker component ([@PhilRW] - [#22469]) ([aprs docs]) (new-platform)
-- Add Linky sensors : yesterday + months + years ([@Quentame] - [#23726]) ([linky docs]) (breaking change)
+- Add Linky sensors : yesterday + months + years ([@Quentame] - [#23726]) (breaking change)
- Add attributs and fix lightlevel inconsistency for LightLevel sensor ([@Cyr-ius] - [#24439]) ([hue docs])
- Support ZLO device types to support newer Zigbee devices in ZHA ([@jurriaan] - [#24429]) ([zha docs])
- Camera platform for buienradar imagery ([@ties] - [#23358]) ([buienradar docs]) (new-platform)
diff --git a/source/_posts/2019-09-18-release-99.markdown b/source/_posts/2019-09-18-release-99.markdown
index 8059c1e06b1..d9a163c7249 100644
--- a/source/_posts/2019-09-18-release-99.markdown
+++ b/source/_posts/2019-09-18-release-99.markdown
@@ -254,7 +254,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
([@SukramJ] - [#26449]) ([homematicip_cloud docs])
-- **Linky** - This platform has been moved to an integration. - ([@Quentame] - [#26076]) ([linky docs])
+- **Linky** - This platform has been moved to an integration. - ([@Quentame] - [#26076])
New example configuration entry:
@@ -371,7 +371,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- IGN Sismologia icon for geolocation entities ([@exxamalte] - [#26408]) ([ign_sismologia docs])
- Migrate legacy typehints in core to PEP-526 ([@frenck] - [#26403]) ([device_tracker docs])
- Add X10 devices as ISY994 switches ([@taylorsilva] - [#26342]) ([isy994 docs])
-- Add config flow to linky ([@Quentame] - [#26076]) ([linky docs]) (breaking change)
+- Add config flow to linky ([@Quentame] - [#26076]) (breaking change)
- Correct file permissions in slide integration ([@frenck] - [#26390]) ([slide docs])
- Use literal string interpolation in honeywell ([@zxdavb] - [#26386]) ([honeywell docs])
- Initial commit ([@zxdavb] - [#26385]) ([geniushub docs])
@@ -397,7 +397,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Unify device_state_attributes handling for Homematic IP Cloud ([@SukramJ] - [#26449]) ([homematicip_cloud docs]) (breaking change)
- Add yeelight nightlight support via separate light entity ([@zewelor] - [#26224]) ([yeelight docs])
- Add set scene service calls to yeelight ([@zewelor] - [#26255]) ([yeelight docs])
-- Add device_info to Linky integration ([@Quentame] - [#26477]) ([linky docs])
+- Add device_info to Linky integration ([@Quentame] - [#26477])
- Update radiotherm climate attributes ([@dieselrabbit] - [#26465]) ([radiotherm docs]) (breaking change)
- Add Viessmann ViCare Climate platform ([@oischinger] - [#26151]) ([vicare docs]) (new-integration)
- Add new integration for Jandy iAqualink pool control ([@flz] - [#26034]) ([iaqualink docs]) (new-integration)
diff --git a/source/_posts/2019-10-10-release-100.markdown b/source/_posts/2019-10-10-release-100.markdown
index e82150b64c2..7c386062eae 100644
--- a/source/_posts/2019-10-10-release-100.markdown
+++ b/source/_posts/2019-10-10-release-100.markdown
@@ -218,7 +218,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- `contact / mailing_list` has changed to `contact / ml`, to migrate change the `mailing_list` key to `ml`
- `location / address` is no longer required but is optional as the latitude and longitude properties of the location are added automatically from the HA config). There is no need to change anything. - ([@Bouni] - [#26453]) ([spaceapi docs])
-- **Linky** - Linky sensors have been grouped to one Linky device. Users will need to remove and re-add the Linky integration to clear the device registry. - ([@piitaya] - [#26738]) ([linky docs])
+- **Linky** - Linky sensors have been grouped to one Linky device. Users will need to remove and re-add the Linky integration to clear the device registry. - ([@piitaya] - [#26738])
- **Elv** - ELV/PCA is now its own integration. Existing configuration should be removed and replaced. Optionally the port for the serial interface can be specified (default is: /dev/ttyUSB0). - ([@majuss] - [#26552]) ([elv docs])
@@ -416,7 +416,7 @@ Experiencing issues introduced by this release? Please report them in our [issue
- Bump up ZHA dependencies ([@Adminiuga] - [#26746])
- fix onvif/camera setting up error ([@sanyatuning] - [#26825]) ([onvif docs])
- Bump homematicip_cloud to 0.10.11 ([@SukramJ] - [#26852]) ([homematicip_cloud docs])
-- Group Linky sensors to Linky meter device ([@piitaya] - [#26738]) ([linky docs]) (breaking change)
+- Group Linky sensors to Linky meter device ([@piitaya] - [#26738]) (breaking change)
- Add unit to 'charging_level_hv' bwm_connected_drive sensor ([@timmccor] - [#26861]) ([bmw_connected_drive docs])
- Add reproduce state template ([@balloob] - [#26866])
- Put draw_box in image_processing ([@robmarkcole] - [#26712]) ([doods docs]) ([image_processing docs]) ([tensorflow docs])
diff --git a/source/_posts/2019-10-30-release-101.markdown b/source/_posts/2019-10-30-release-101.markdown
index d99fce44332..02665c333a1 100644
--- a/source/_posts/2019-10-30-release-101.markdown
+++ b/source/_posts/2019-10-30-release-101.markdown
@@ -603,7 +603,7 @@ The **holiday name** sensor has been renamed to **holiday**. ([@tsvi] - [#27654]
- Move imports in telegram_bot component ([@Quentame] - [#27785]) ([telegram_bot docs])
- Add device action support to the lock integration ([@emontnemery] - [#27499]) ([lock docs])
- Add grid sensors to SolarEdge_local ([@scheric] - [#27247]) ([solaredge_local docs])
-- Unload linky config entry ([@Quentame] - [#27831]) ([linky docs])
+- Unload linky config entry ([@Quentame] - [#27831])
- Fix attribution ([@bieniu] - [#27815]) ([airly docs])
- Added handling for connection errors in state update, added available property ([@ratsept] - [#27794]) ([soma docs])
- Add device_info to HomematicIP climate and acp ([@SukramJ] - [#27771]) ([homematicip_cloud docs])
@@ -684,7 +684,7 @@ The **holiday name** sensor has been renamed to **holiday**. ([@tsvi] - [#27654]
- Fix whois error, check expiration_date for list and pick first ([@cyberjacob] - [#27930]) ([whois docs])
- Move imports in sql component ([@Michsior14] - [#27713]) ([sql docs])
- move imports in smarthab component ([@Michsior14] - [#27942]) ([smarthab docs])
-- Fixing config_entries.async_forward_entry_unload calls (step 1) ([@Quentame] - [#27857]) ([cert_expiry docs]) ([linky docs]) ([locative docs]) ([luftdaten docs]) ([withings docs])
+- Fixing config_entries.async_forward_entry_unload calls (step 1) ([@Quentame] - [#27857]) ([cert_expiry docs]) ([locative docs]) ([luftdaten docs]) ([withings docs])
- move imports in sma component ([@Michsior14] - [#27945]) ([sma docs])
- Remove tplink device tracker ([@rytilahti] - [#27936]) ([tplink docs])
- Add option to disable HTTPS verification in Luci component ([@mzdrale] - [#27946]) ([luci docs])
diff --git a/source/_posts/2020-01-15-release-104.markdown b/source/_posts/2020-01-15-release-104.markdown
index d91968f4dda..016148c9ccd 100644
--- a/source/_posts/2020-01-15-release-104.markdown
+++ b/source/_posts/2020-01-15-release-104.markdown
@@ -638,7 +638,7 @@ Make sure to fill in all fields of the issue template, that is helping us a lot!
- use isort to sort imports according to PEP8 for group ([@basnijholt] - [#29713])
- Sort imports according to PEP8 for neato ([@basnijholt] - [#29724]) ([neato docs])
- Sort imports according to PEP8 for input_text ([@basnijholt] - [#29719]) ([input_text docs])
-- Sort imports according to PEP8 for linky ([@basnijholt] - [#29722]) ([linky docs])
+- Sort imports according to PEP8 for linky ([@basnijholt] - [#29722])
- Sort imports according to PEP8 for minio ([@basnijholt] - [#29723]) ([minio docs])
- Sort imports according to PEP8 for netgear_lte ([@basnijholt] - [#29725]) ([netgear_lte docs])
- Sort imports according to PEP8 for iqvia ([@basnijholt] - [#29720]) ([iqvia docs])
diff --git a/source/_posts/2020-02-05-release-105.markdown b/source/_posts/2020-02-05-release-105.markdown
index c4e1c1515a6..bbdcc333b51 100644
--- a/source/_posts/2020-02-05-release-105.markdown
+++ b/source/_posts/2020-02-05-release-105.markdown
@@ -903,7 +903,7 @@ Hats over your heart for these shuttered integrations. Pour one out for:
- Added missing file ([@cyberjunky] - [#31189])
- update remove service ([@dmulcahey] - [#31164]) ([zha docs])
- Fix ps4 errors if pin begins with a 0 ([@ktnrg45] - [#31198]) ([ps4 docs])
-- Use config_entry.unique_id in Linky ([@Quentame] - [#31051]) ([linky docs])
+- Use config_entry.unique_id in Linky ([@Quentame] - [#31051])
- Add Garmin Connect integration ([@cyberjunky] - [#30792]) ([garmin_connect docs]) (new-integration)
- Constrain SimpliSafe's check for emergency token usage ([@bachya] - [#31214]) ([simplisafe docs])
- Update Hue discovery ([@balloob] - [#31215]) ([hue docs])
diff --git a/source/_posts/2020-02-26-release-106.markdown b/source/_posts/2020-02-26-release-106.markdown
index 53555d5014e..1dea56edb57 100644
--- a/source/_posts/2020-02-26-release-106.markdown
+++ b/source/_posts/2020-02-26-release-106.markdown
@@ -452,7 +452,7 @@ Added a Coronavirus integration to help monitor the ongoing epidemic. [More info
## All changes
- Change scan_interval defaults for Tesla ([@alandtse] - [#31194]) ([tesla docs]) (breaking change)
-- Removes I/O from linky tests ([@balloob] - [#31299]) ([linky docs])
+- Removes I/O from linky tests ([@balloob] - [#31299])
- Reorganize insteon code ([@teharris1] - [#31183]) ([insteon docs]) (breaking change)
- Upgrade pre-commit to 2.0.1 ([@frenck] - [#31308])
- Add opening and closing states to MQTT covers ([@rickvdl] - [#31259]) ([mqtt docs])
@@ -584,7 +584,7 @@ Added a Coronavirus integration to help monitor the ongoing epidemic. [More info
- Fix spelling of VIVOTEK ([@frenck] - [#31773]) ([vivotek docs])
- Fix spelling of apcupsd in manifest ([@frenck] - [#31770]) ([apcupsd docs])
- Fix spelling of AVM FRITZ!Box in manifest ([@frenck] - [#31765]) ([fritz docs])
-- Implement PlatformNotReady to Linky + fix TypeError ([@Quentame] - [#31768]) ([linky docs])
+- Implement PlatformNotReady to Linky + fix TypeError ([@Quentame] - [#31768])
- UniFi - Change handling of updated options ([@Kane610] - [#31762]) ([unifi docs]) (breaking change)
- Rename codecov so it will be picked up ([@balloob] - [#31775])
- Fix spelling of ASUSWRT in manifest ([@frenck] - [#31764]) ([asuswrt docs])
diff --git a/source/_posts/2020-08-12-release-114.markdown b/source/_posts/2020-08-12-release-114.markdown
new file mode 100644
index 00000000000..4d5774f931a
--- /dev/null
+++ b/source/_posts/2020-08-12-release-114.markdown
@@ -0,0 +1,1265 @@
+---
+layout: post
+title: "0.114: Dark mode, Open Z-Wave progress and more automation & scripts"
+description: "Introducing Dark mode and color picking for themes, Open Z-Wave is taking a leap forward and general performance, automations & script improvements"
+date: 2020-08-12 00:00:00
+date_formatted: "August 12, 2020"
+author: Franck Nijhof
+author_twitter: frenck
+comments: true
+categories: Release-Notes
+og_image: /images/blog/2020-08-0.114/social.png
+---
+
+
+
+Ooh boy, time flew this release cycle; it is time for 0.114 already!
+
+Personally, I'm hardly even done implementing all automation features added
+in the previous release. 😅
+
+Ever since our Lovelace UI started as a beta, back in 2018, one of the most
+requested features - arguably - is a dark mode. No wonder, as a dark mode is
+added to software everywhere nowadays.
+
+This release adds dark mode! [@bramkragten] didn't stop there and added
+color pickers for the main theme colors as well. I looked forward having it,
+an easy way of having a bit of theming, without the need for themes.
+
+This is by far the most noticeable feature of this release, mainly because it
+is immediately apparent after the upgrade.
+
+Meanwhile, the beta Open Z-Wave integration picks up speed in terms of
+contributions, reports, fixes and improvements. I've been using it already,
+and I love it. My Z-Wave network has never been better and more stable.
+If you haven't tried it yet, I would highly recommend doing so. There is a nice
+[community guide](https://community.home-assistant.io/t/how-to-test-the-ozw-beta-without-fully-switching-over/211282)
+on how to test it without switching over.
+
+Besides the listing below, 0.114 may feel a bit "empty", however, it isn't.
+It is packed with little things and fixes. The "All changes" section is
+definitely worth a look this release.
+
+Enjoy the release.
+
+../Frenck
+
+## Dark mode and theme color pickers
+
+We now have official support for dark mode. 🎉
+
+We detect if your device is in dark mode; if that is the case, our default theme
+will go dark. You can override the automatic switching between dark and light
+theme in your profile.
+
+Furthermore, you can now also select the primary and accent color for the
+default theme. We calculate all other colors to make sure everything matches
+and is readable.
+
+
+
+Screenshot of the new dark mode and theme settings.
+
+
+So if you upgrade to Home Assistant 0.114, you are using the default theme
+and your device is set to a dark mode; Please be aware that after upgrading,
+you will get a dark theme by default in that case.
+
+Also, when picking colors, make sure you choose a primary color that is
+readable on both a light and dark background. For now, this is just a local
+setting and has to be applied to every device.
+
+For custom themes, there is a new option on the `set_theme` service call,
+`mode: 'dark'`; this allows to set a theme that will be used when your device
+is in dark mode.
+
+Lastly, when using the `set_theme` service, the settings are now persistent
+across restarts. So if you have an automation that calls `set_theme` on startup,
+you don't need it anymore. 😉
+
+## Automation & Scripts updates
+
+In [Home Assistant 0.113](/blog/2020/07/22/release-113/) we added tons of new
+features to automations and scripts. This release contains some fixes for issues
+discovered and reported, but also adds some smaller new features to extend it
+even more.
+
+First of all, the repeat and choose actions are now available when creating
+automations or scripts via the UI.
+
+
+
+Screenshot of the new automation features available in the UI.
+
+
+Sub-second precision has been extended and is now available in all
+time-related notations. For example, you can now use `2.5` seconds/hours/minutes
+or even use it in full time notations: `23:59:59.999`.
+
+The `automation.turn_off` service now accepts a `stop_actions` data parameter.
+By default, when turning off an automation, any currently running automation
+will be stopped. This new option allows you to turn off an automation
+and optionally leave any currently active actions running.
+
+Lastly, a small shortcut has been added to the `time` trigger, which now accepts
+multiple time values.
+
+```yaml
+automation:
+ - alias: Example with multiple time values in a single time trigger
+ trigger:
+ - platform: time
+ at:
+ - "05:00:00"
+ - "06:00:00"
+ - "10:00:00"
+ action:
+ choose:
+ ...
+```
+
+### Open Z-Wave (beta)
+
+The Open Z-Wave (beta) integration is coming along nicely and others are
+started helping out as well! A shout out to [@firstof9], [@RobBie1221] and
+[@tradiuz] for jumping in and helping out this release.
+
+Some additional information is added to the UI for Open Z-Wave, you can now
+see device information right from the device page and shows information like
+the Z-Wave Node ID and other information about your Z-Wave device.
+
+
+
+Screenshot of Z-Wave device information available in the UI.
+
+
+Furthermore, RGB color support has been added to lights, and bugs have been
+fixed using color temperatures and dimming. 💡
+
+Lastly, unnecessary polling of devices has been reduced.
+
+## Yet another round of performance improvements
+
+Did we tell you that [@bdraco] is unstoppable in his saga to improve the
+performance and stability of Home Assistant? His train just keeps going!
+
+0.114 is no exception and a lot of smaller performance and stability
+improvements are made again.
+
+A bit technical, maybe, but here is a small overview of the changes:
+
+- The internal device & entity registries are now indexed, and thus faster.
+- Setting up groups at startup is more efficient.
+- Reloading YAML configurations or checking your configuration is now quicker.
+- A context accompanies every event in Home Assistant (every trigger,
+ automation, … has a "triggered by what and who"). These contexts are now
+ created faster, which makes everything faster.
+- Tracking time pattern triggers are now scheduled on our event loop, which
+ is far more efficient.
+- Processing of system logs is taken out of the main program loop, so it doesn't
+ interfere with things Home Assistant does for you.
+
+Finally, if, for any reason, corruption is detected in the Home Assistant
+recorder database (SQLite), the old database is moved and a new, fresh database
+is created. This prevents issues during startup.
+
+Honestly, the above isn't even complete. 😅 Thanks [@bdraco]!
+
+## Share Diagnostics & Crash reports
+
+With Supervisor 231, shipped with Home Assistant 0.114, we added a new option on
+the System panel, to share diagnostics and crash reports with us anonymously.
+This will allow us to find and fix problems.
+
+The shared information is only accessible to the Home Assistant Core team and
+will not be shared with others. The data does not include any private or
+sensitive information and you can disable it in settings at any time you want.
+
+This option is by default, of course, disabled. So, if you want to help to
+project out, consider enabling this option in the Supervisor panel.
+
+This service is sponsored by [Sentry.io][sentry] - Thanks a lot!
+
+[sentry]: https://sentry.io/welcome/
+
+## Other noteworthy changes
+
+- You can now move Lovelace cards to a different dashboard and add cards to
+ other than the main dashboard from the device pages.
+- Add support for safe area insets; For example, iPhones with notches now cover
+ the entire screen while having enough padding for home swipe action
+ and the notch at the top of your display.
+- [HomeKit][homekit docs] has now support for doorbells (thanks [@adrum]) and
+ [@bdraco] added support for multiple camera streams.
+- If you use [light][light docs] profiles, those now support a default
+ transition value, thanks to [@donkawechico].
+- [@agners] added IPv4 & IPv6 (dual-stack) support to the Home Assistant
+ [web server][http docs], allowing it to run simultaneously on both.
+
+## New Integrations
+
+Six new integrations added this release:
+
+- [AccuWeather][accuweather docs], added by [@bieniu]
+- [Azure DevOps][azure_devops docs], added by [@timmo001]
+- [Control4][control4 docs], added by [@lawtancool]
+- [Firmata][firmata docs], added by [@DaAwesomeP]
+- [OVO Energy][ovo_energy docs], added by [@timmo001]
+- [Wolflink][wolflink docs], added by [@adamkrol93]
+
+## New Platforms
+
+The following integration got support for a new platform:
+
+- [Pi-hole][pi_hole docs] now provides a switch to turn on/off the service, added by [@shenxn]
+- [devolo Home Control][devolo_home_control docs] added support for light devices,added by [@2Fake]
+
+## Integrations now available to set up from the UI
+
+The following integrations are now available via the Home Assistant UI:
+
+- [Volumio][volumio docs], done by [@OnFreund]
+- [HLK-SW16][hlk_sw16 docs], done by [@jameshilliard]
+- [Itho Daalderop Spider][spider docs], done by [@peternijssen]
+
+## 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).
+
+Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/core/issues). Make sure to fill in all fields of the issue template.
+
+
+
+## Breaking Changes
+
+Below is a listing of the breaking change for this release, per subject or
+integration. Click on one of those to read more about the breaking change
+for that specific item.
+
+
+ Recorder
+
+
+The default sqlite database (home-assistant_v2.db) is now validated on startup
+and if corruption is detected, the database is renamed to
+`home-assistant_v2.db.corrupt.{ISOTIME}` and startup proceeds with a fresh
+database.
+
+([@bdraco] - [#37949]) ([recorder docs])
+
+
+
+
+
+ Google Assistant
+
+
+A sync will be required for source selection to work after this update. The
+keyword to select source will also have changed from "Set mode on TV to.."
+to "Set input on TV to.."
+
+([@elupus] - [#35753]) ([google_assistant docs])
+
+
+
+
+
+ Blink
+
+
+Due to the new 2FA endpoint, the YAML configuration is no longer supported.
+
+In addition, due to some API changes, if you are upgrading from a previous
+version, you will need to navigate to the integration page at startup and
+re-configure Blink.
+
+Your username and password will be imported, but you need to submit a 2FA token
+(emailed to you by Blink) in order to continue setting up the integration.
+
+([@fronzbot] - [#38027]) ([blink docs])
+
+
+
+
+
+ TensorFlow
+
+
+TensorFlow has been upgraded to TensorFlow 2.
+
+TensorFlow 1 object detection models are not compatible with TensorFlow 2,
+therefore you'll will need to walk through the setup documentation again and
+choose a new model from the Model Zoo.
+
+([@hunterjm] - [#38384]) ([tensorflow docs])
+
+
+
+
+
+ Pi-hole
+
+
+A switch has been added to the Pi-hole integration. Because of the switch being
+added, the `pi_hole.enable` service is removed.
+
+The `pi_hole.disable` service remains in order to support disabling the service
+for a given amount of time, but now it relies on the switch entity id instead
+of the name set by the user, so the `name` field is removed.
+
+With this change, a switch entity `switch.pi_hole` will be added if you
+set up the integration with an API key and default name (Pi-hole).
+
+Now, you can use `switch.turn_on` and `switch.turn_off` to enable and disable
+the Pi-hole service permanently. To disable the service for a given time,
+use `pi_hole.disable` with `entity_id: switch.pi_hole` and `duration: 00:00:15`.
+To target all Pi-hole services, use `entity_id: all`.
+
+([@shenxn] - [#35605]) ([pi_hole docs])
+
+
+
+
+
+ Volumio
+
+
+The Volumio integration is now configured through the UI. If you previously had
+it in configuration.yaml, please remove it and configure through the
+Integrations panel.
+
+([@OnFreund] - [#38252]) ([discovery docs]) ([volumio docs])
+
+
+
+
+
+ Honeywell Total Connect Comfort (evohome)
+
+
+The `hvac_action()` property has been removed from Evohome zones as this data
+was inaccurate - the algorithm used to provide this data was not
+reliable, and there is no reasonable hope for a satisfactory alternative.
+
+You will have no indication if a zone is actively calling for heat
+(`CURRENT_HVAC_*`), nor if the heat source is currently active. However,
+you will continue to have the `hvac_mode()` property, which will indicate if the
+heating is enabled, or not (`HVAC_MODE_*`).
+
+This will be most obvious by the absence of this information in the UI.
+
+There is no intervention required for this breaking change.
+
+([@zxdavb] - [#38244]) ([evohome docs])
+
+
+
+
+
+ Flume
+
+
+The unique id is being updated for existing sensors. You will need to clean up
+the stale entity from the entity registry via the GUI.
+
+([@ChrisMandich] - [#38138]) ([flume docs])
+
+
+
+
+
+ Météo-France
+
+
+The `meteo_france` integration moved from a web scraping architecture to a
+API-based architecture. With this major refactor the following change could
+break:
+
+- The `thunder chance` entity is no longer available (no longer in the API results).
+- The `next rain` entity state is now a datetime instead of a delay.
+- `next rain` attributes have been simplified.
+- `weather_alert:` only one entity created by department. Was by city in the
+ previous version and could create duplicates.
+- `weather alert` attributes have been simplified.
+- `weather` platform is showing the current day forecast in the first position of
+ daily forecast (instead of tomorrow forecast).
+
+([@oncleben31] - [#37737]) ([meteo_france docs])
+
+
+
+
+
+ Bond
+
+
+When you have multiple Bond hubs, each with its own set of devices, those
+devices have IDs that the Bond integration uses to generate unique entity IDs
+in Home Assistant. Unfortunately, those IDs are only unique within the hub.
+So it is possible that unique IDs generated for entities from different hubs
+will not be unique and collide.
+
+This has been fixed by prefixing device ID with a hub ID and the resulting ID
+is now truly unique. After restarting you will see each bond entity twice.
+One which is live with the new unique ID. The second which is disabled with old
+unique ID.
+
+How to make it work:
+
+1. Remove the disabled entity (note its friendly ID, e.g., `cover.shades`)
+2. Optionally rename the generated friendly ID on the live entity, so that your
+ automations continue to work. For example, your live entity will have ID
+ `cover.shades_2`. Rename it to `cover.shades`.
+
+([@prystupa] - [#38496]) ([bond docs])
+
+
+
+
+
+ Hi-Link HLK-SW16
+
+
+The hlk-sw16 entity ids will change upon update and the old entities will need
+to be removed manually.
+
+([@jameshilliard] - [#37190]) ([hlk_sw16 docs])
+
+
+
+
+
+ Slack
+
+
+The Slack attachments framework was deprecated in 0.108.0 and is now officially
+removed. The blocks framework should be used instead.
+
+([@bachya] - [#38139]) ([slack docs])
+
+
+
+
+
+ IQVIA
+
+
+Per ADR-0010, IQVIA can no longer be configured via YAML and must be configured
+from the UI. Existing IQVIA users have already had their integrations imported
+and only need to remove IQVIA-related items from `configuration.yaml`.
+
+([@bachya] - [#38141]) ([iqvia docs])
+
+
+
+
+
+ Shell Command
+
+
+Processes spawned from the `shell_command` integration (the command executes)
+now timeout after 60 seconds instead of running forever.
+
+([@bdraco] - [#38491]) ([shell_command docs])
+
+
+
+
+
+ Command Line
+
+
+The `command_line` cover, notify and switch platforms, now timeout after 15
+seconds (by default) instead of blocking forever.
+
+([@bdraco] - [#38497]) ([command_line docs])
+
+
+
+
+
+ Time pattern listeners
+
+
+If time abruptly moves forward or backward, time pattern listeners will only
+be adjusted after they were previously scheduled to fire.
+
+This avoids the need for every time pattern listener to check for this every
+second.
+
+([@bdraco] - [#38021])
+
+
+
+
+
+ Logbook
+
+
+Support for legacy logbook events created before 0.112 is removed.
+
+([@bdraco] - [#37822]) ([logbook docs])
+
+
+
+
+
+ Automation `turn_off` service
+
+
+This change is actually not a breaking change, but it is making up for the fact
+that a previous change was that was not marked as such.
+
+It turns out there are valid use cases where an automation needs to be turned
+off, so that it will not trigger, but where previous runs may still be active
+that should be allowed to complete. For example, an automation that performs a
+reasonably lengthy procedure that should not be aborted midstream, otherwise
+it would leave the system in an undesirable state. Or a queued automation that
+needs to handle all previous events, some of which may not be complete when
+the automation is turned off.
+
+To accommodate for these use cases, this release introduces adds an optional
+parameter to the `automation.turn_off` service, namely `stop_actions`, which
+defaults to true. It controls whether or not active runs should be stopped when
+the automation is turned off.
+
+([@pnbruckner] - [#38436])
+
+
+
+
+## Farewell to the following
+
+- The **Linky** integration has been removed.
+ Enedis has discontinued its Linky API (to get electric consumption).
+ ([@Quentame] - [#38565])
+
+## All changes
+
+
+ Click to see all changes!
+
+- Remove support for legacy logbook events created before 0.112 ([@bdraco] - [#37822]) ([logbook docs]) (breaking-change)
+- Refactor bond tests ([@prystupa] - [#37868]) ([bond docs])
+- Feature/izone temperature precision ([@sgryphon] - [#37669]) ([izone docs])
+- Add `ignore_attributes` option to influxdb ([@mdegat01] - [#37747]) ([influxdb docs])
+- Improve bond startup performance ([@prystupa] - [#37900]) ([bond docs])
+- Add Firmata Integration (attempt 2) ([@DaAwesomeP] - [#35591]) ([firmata docs]) (new-integration)
+- Add RGB light support to ozw ([@firstof9] - [#37636]) ([ozw docs])
+- Apply feedback on bond integration ([@prystupa] - [#37921]) ([bond docs])
+- Increase test line coverage of homeassistant/helpers/event.py to 100% ([@bdraco] - [#37927])
+- Cleanup logbook tests to prevent failure on race condition ([@bdraco] - [#37928]) ([logbook docs])
+- Improve setup script portability ([@mweinelt] - [#37935])
+- Switch back to create task for Neato ([@dshokouhi] - [#37913]) ([neato docs])
+- prometheus: Reduce loglevel of failed float conversion to debug ([@mweinelt] - [#37936]) ([prometheus docs])
+- Add humidifier intents ([@Shulyaka] - [#37335]) ([humidifier docs])
+- Add humidifier device conditions ([@Shulyaka] - [#36962]) ([humidifier docs])
+- Fix Yandex transport Integration, add signature to requests ([@devbis] - [#37365]) ([yandex_transport docs])
+- Mock out I/O in the default_config test ([@bdraco] - [#37897]) ([default_config docs])
+- Add humidifier device triggers ([@Shulyaka] - [#36887]) ([humidifier docs])
+- Index entity_registry_updated listeners ([@bdraco] - [#37940])
+- Automatically recover when the sqlite3 database is malformed or corrupted ([@bdraco] - [#37949]) ([recorder docs]) (breaking-change)
+- Add switch to pi_hole integration ([@shenxn] - [#35605]) ([pi_hole docs]) (breaking-change) (new-platform)
+- Bump zeroconf to 0.28.0 ([@bdraco] - [#37951]) ([zeroconf docs])
+- Make sensor and binary_sensor inherit from base class ([@elupus] - [#37946]) ([rfxtrx docs])
+- Add support for InputSelector trait ([@elupus] - [#35753]) ([google_assistant docs]) (breaking-change)
+- Adds median to min_max component ([@knudsvik] - [#36686]) ([min_max docs])
+- Add Control4 integration ([@lawtancool] - [#37632]) ([control4 docs]) (new-integration)
+- Update comment about parallel updates to match the documentation ([@dmulcahey] - [#37964])
+- Close androidtv ADB socket connection when Home Assistant stops ([@JeffLIrion] - [#37973]) ([androidtv docs])
+- Bumpy pyobihai to make last reboot update as needed ([@dshokouhi] - [#37914]) ([obihai docs])
+- Index the entity registry ([@bdraco] - [#37994])
+- Index the device registry ([@bdraco] - [#37990])
+- Don't advertise switch devices as dimmable lights ([@jyavenard] - [#37978]) ([emulated_hue docs])
+- Disable polling for ozw entities ([@RobBie1221] - [#38005]) ([ozw docs])
+- Force updates for ozw sensors ([@RobBie1221] - [#38003]) ([ozw docs])
+- Add Wolflink integration ([@adamkrol93] - [#34104]) ([wolflink docs]) (new-integration)
+- Bump codecov/codecov-action from v1.0.10 to v1.0.11 (dependabot - [#38006])
+- Cleanup async_accept_signal in ZHA ([@dmulcahey] - [#38009]) ([zha docs])
+- Fix ozw color temp ([@tradiuz] - [#38012]) ([ozw docs])
+- Add scrape sensor name to logs ([@rsnodgrass] - [#38020]) ([scrape docs])
+- Use event loop scheduling for tracking time patterns ([@bdraco] - [#38021]) (breaking-change)
+- Move data on import in rfxtrx integration into ConfigEntry ([@RobBie1221] - [#38022]) ([rfxtrx docs])
+- Bump actions/setup-python from v2 to v2.1.1 (dependabot - [#38034])
+- Fix wolflink datetime import ([@scop] - [#38028]) ([wolflink docs])
+- Update tests that track time to account for microsecond precision ([@bdraco] - [#38044]) ([automation docs])
+- Implement unload entry for rfxtrx integration ([@RobBie1221] - [#38037]) ([rfxtrx docs])
+- Make sure command entities restore from state ([@elupus] - [#38038]) ([rfxtrx docs])
+- Avoid using implementation internal to trigger events ([@elupus] - [#38041]) ([rfxtrx docs])
+- Ensure we do not start discovered flows until after the started event has fired ([@bdraco] - [#38047]) ([discovery docs]) ([ssdp docs]) ([zeroconf docs])
+- Support default transition in light profiles ([@donkawechico] - [#36747]) ([light docs])
+- Speed up group setup ([@bdraco] - [#38048]) ([group docs])
+- Allow float values in time periods ([@pnbruckner] - [#38023])
+- Update home assistant base image ([@pvizeli] - [#38063])
+- Various type hint improvements ([@scop] - [#37952])
+- Update automation logger to include object_id like scripts ([@pnbruckner] - [#37948]) ([automation docs])
+- Change sky_hub to async and fix exception spamming ([@RogerSelwyn] - [#37129]) ([sky_hub docs])
+- Bump version to 0.114.0dev0 ([@frenck] - [#38071])
+- Upgrade aiohttp to 3.6.2 ([@frenck] - [#38082])
+- Fix ozw light color values check ([@MartinHjelmare] - [#38067]) ([ozw docs])
+- Refactor bond integration to be completely async ([@prystupa] - [#38066]) ([bond docs])
+- Centralize bond update state logic ([@prystupa] - [#38093]) ([bond docs])
+- Avoid generating a Context() object every second ([@bdraco] - [#38085])
+- Use postgresql style uuid generation (uuid_generate_v1mc) for Context uuids ([@bdraco] - [#38089])
+- Clean up fido tests ([@balloob] - [#38098]) ([fido docs])
+- Bump codecov/codecov-action from v1.0.11 to v1.0.12 (dependabot - [#38102])
+- Add 'alarm_event_occurred' property from AlarmDecoder ([@melyux] - [#38055]) ([alarmdecoder docs])
+- Add homematic IPKeyBlindMulti device ([@sMauldaeschle] - [#38059]) ([homematic docs])
+- Add set_central_heating_ovrd service to opentherm_gw ([@mvn23] - [#34425]) ([opentherm_gw docs])
+- Fix state automation trigger (#38014) ([@azogue] - [#38032]) ([automation docs])
+- Fix updates of Rssi for control devices in rfxtrx ([@RobBie1221] - [#38131]) ([rfxtrx docs])
+- Upgrade bond-api to 0.1.7 ([@prystupa] - [#38121]) ([bond docs])
+- Write device_id to ConfigEntry of rfxtrx integration ([@RobBie1221] - [#38064]) ([rfxtrx docs])
+- Add test ([@emontnemery] - [#37890]) ([mqtt docs])
+- Asyncify rfxtrx startup and event handling ([@elupus] - [#38155]) ([rfxtrx docs])
+- Support unavailable state in template fan ([@thomasdelaet] - [#38114]) ([template docs])
+- convert_until isn't returning anything ([@Misiu] - [#38157]) ([evohome docs])
+- Bump python-slugify to 4.0.1 ([@fronzbot] - [#38140])
+- Upgrade coverage to 5.2.1 ([@frenck] - [#38158])
+- Support rfxtrx smoke detectors, motion sensors as binary_sensors ([@elupus] - [#38000]) ([rfxtrx docs])
+- Gracefully handle bond API errors and timeouts through available state ([@prystupa] - [#38137]) ([bond docs])
+- Prevent unnecessary updates of zone component ([@Danielhiversen] - [#38167]) ([zone docs])
+- Prevent unnecessary updates of sun component ([@Danielhiversen] - [#38169]) ([sun docs])
+- Add AccuWeather integration ([@bieniu] - [#37166]) ([accuweather docs]) (new-integration)
+- Added 2020 version Aqara double wall switch ([@markuskorbel] - [#38164]) ([deconz docs])
+- Ensure all track time change tests mock a specific start time ([@bdraco] - [#38178])
+- Enable Homekit remote support for devices without play/pause ([@nickw444] - [#37180]) ([homekit docs])
+- Prevent unnecessary updates of met component ([@Danielhiversen] - [#38168]) ([met docs])
+- Support multiple camera streams in HomeKit ([@bdraco] - [#37968]) ([homekit docs])
+- Rfxtrx fixup config entry creation ([@elupus] - [#38185]) ([rfxtrx docs])
+- Removing gogogate2 emulated cover transitional states. ([@vangorra] - [#38199]) ([gogogate2 docs])
+- Volvo on call updates ([@bratanon] - [#38142]) ([volvooncall docs])
+- Make rfxtrx RfyDevices have sun automation switches ([@elupus] - [#38210]) ([rfxtrx docs]) (beta fix)
+- Add Azure DevOps Integration ([@timmo001] - [#33765]) ([azure_devops docs]) (new-integration)
+- Mark event tests to run as callbacks ([@bdraco] - [#38212])
+- Attempt to fix islamic prayer times tests ([@bdraco] - [#38220]) ([islamic_prayer_times docs])
+- Update logbook to use async_add_executor_job ([@bdraco] - [#38217]) ([logbook docs])
+- Fix libav install in Travis CI ([@scop] - [#38221])
+- Refactor bond unit tests to reduce boilerplate ([@prystupa] - [#38177]) ([bond docs])
+- Add update available binary sensor to Tesla ([@alandtse] - [#37991]) ([tesla docs])
+- fix issue #34559 ([@zxdavb] - [#38241]) ([evohome docs])
+- Implement resilient startup for bond integration with ConfigEntryNotReady support ([@prystupa] - [#38253]) ([bond docs])
+- Add changes from comments after merging AccuWeather ([@bieniu] - [#38227]) ([accuweather docs])
+- Update holidays to 0.10.3 ([@MikeTsenatek] - [#38246]) ([workday docs])
+- Add config flow to Volumio ([@OnFreund] - [#38252]) ([discovery docs]) ([volumio docs]) (breaking-change)
+- Change devolo Home Control entity naming ([@2Fake] - [#38275]) ([devolo_home_control docs])
+- Corrected typo ([@jcallaghan] - [#38278]) ([tado docs])
+- Remove evohome hvac_action as it is inaccurate ([@zxdavb] - [#38244]) ([evohome docs]) (breaking-change)
+- Prevent harmony from resetting state with multiple turn ons ([@bdraco] - [#38183]) ([harmony docs])
+- Delint recent change to evohome ([@zxdavb] - [#38294]) ([evohome docs])
+- Setup rfxtrx event listener directly ([@elupus] - [#38298]) ([rfxtrx docs])
+- Clean up commands generation for rfxtrx ([@elupus] - [#38236]) ([rfxtrx docs])
+- Restore rfxtrx state to off when delay off is in effect ([@elupus] - [#38239]) ([rfxtrx docs])
+- Bond - Make assumed state conditional ([@marciogranzotto] - [#38209]) ([bond docs])
+- Apply changes from bond code review ([@prystupa] - [#38303]) ([bond docs])
+- Add debug logging for bond ([@prystupa] - [#38304]) ([bond docs])
+- Fix ozw dimming duration ([@firstof9] - [#38254]) ([ozw docs])
+- Update PyFlume version, support for multiple state attributes ([@ChrisMandich] - [#38138]) ([flume docs]) (breaking-change)
+- Fix lg_soundbar callback ([@mjg59] - [#38259]) ([lg_soundbar docs])
+- Bump actions/upload-artifact from 2.1.0 to v2.1.1 (dependabot - [#38315])
+- Add myself to xiaomi miio codeowners ([@starkillerOG] - [#38350]) ([xiaomi_miio docs])
+- Upgrade youtube_dl to version 2020.07.28 ([@BKPepe] - [#38328]) ([media_extractor docs])
+- Temporary lock pip to 20.1.1 to avoid build issue ([@frenck] - [#38358]) (beta fix)
+- Add wheels job for building core wheels ([@frenck] - [#38359])
+- Add jobs names to Wheels builds ([@frenck] - [#38363])
+- Update run-in-env.sh ([@ehendrix23] - [#36577])
+- Bump aioambient to 1.2.0 ([@bachya] - [#38364]) ([ambient_station docs])
+- Bump simplisafe-python to 9.2.2 ([@bachya] - [#38365]) ([simplisafe docs])
+- Bump ElkM1 library version. ([@gwww] - [#38368]) ([elkm1 docs])
+- Add basic websocket api for OZW ([@cgarwood] - [#38265]) ([ozw docs])
+- Add support for multiple time triggers in automations ([@frenck] - [#37975]) ([automation docs])
+- Add support for dimmable bond lights ([@marciogranzotto] - [#38203]) ([bond docs])
+- Bump wirelesstagpy to 0.4.1 ([@sergeymaysak] - [#38387]) ([wirelesstag docs])
+- Fix bond fans without defined max_speed ([@prystupa] - [#38382]) ([bond docs])
+- Clean up Volumio code ([@OnFreund] - [#38400]) ([volumio docs])
+- Update coordinator improvements ([@scop] - [#38366])
+- Improve tests for Airly integration ([@bieniu] - [#38357]) ([airly docs])
+- Generate bond config entry ID from the hub metadata ([@prystupa] - [#38354]) ([bond docs])
+- Add battery sensor to xiaomi_aqara ([@shenxn] - [#38004]) ([xiaomi_aqara docs])
+- Fix variable error during stream close ([@bdraco] - [#38417]) ([stream docs])
+- Simplify generate_entity_id ([@bdraco] - [#38418])
+- Abort bond hub config flow if hub is already registered ([@prystupa] - [#38416]) ([bond docs])
+- Support 'stop' action for covers in device automation ([@prystupa] - [#38219]) ([cover docs])
+- Add identifiers to device registry api output ([@cgarwood] - [#38427]) ([config docs])
+- Remove unused SmartThings capability subscriptions ([@andrewsayre] - [#38128]) ([smartthings docs])
+- Add support for HomeKit doorbell ([@adrum] - [#38419]) ([homekit docs])
+- Restore the ability to tell when a harmony activity is starting ([@bdraco] - [#38335]) ([harmony docs])
+- Update aioazuredevops to v1.3.5 ([@timmo001] - [#38441]) ([azure_devops docs])
+- Update bond-api to 0.1.8 ([@prystupa] - [#38442]) ([bond docs])
+- Add support to climate devices in Google Assistant Fan Trait ([@marciogranzotto] - [#38337]) ([google_assistant docs])
+- Add unique ids for "buienradar" platforms weather and camera ([@RobBie1221] - [#37761]) ([buienradar docs])
+- Improve logging when a unique id conflict is detected ([@bdraco] - [#38434])
+- Add zeroconf discovery for bond integration ([@prystupa] - [#38448]) ([bond docs])
+- Increase test coverage for rfxtrx integration ([@RobBie1221] - [#38435])
+- Add node neighbors to ozw websocket api ([@firstof9] - [#38447]) ([ozw docs])
+- Refactor Météo-France to use API instead of web scraping ([@oncleben31] - [#37737]) ([meteo_france docs]) (breaking-change)
+- Add optional unique_id attribute to the template platforms ([@michaelarnauts] - [#38011]) ([template docs])
+- Allow automation to be turned off without stopping actions ([@pnbruckner] - [#38436]) ([automation docs]) ([script docs]) (breaking-change)
+- Optimize directv config flow tests. ([@ctalkington] - [#38460]) ([directv docs]) ([directv docs])
+- Update pyskyqhu to 0.1.1 ([@RogerSelwyn] - [#38461]) ([sky_hub docs])
+- Add sensor platform for AccuWeather integration ([@bieniu] - [#38312]) ([accuweather docs]) (new-platform)
+- Add bed sensor availability for withings ([@vangorra] - [#37906]) ([withings docs])
+- Add platform tests to yeelight ([@shenxn] - [#37745]) ([yeelight docs])
+- Add homematic IPWKeyBlindMulti device ([@weissm] - [#38345]) ([homematic docs])
+- Avoid shutdown delays when emulated_hue is enabled ([@bdraco] - [#38472]) ([emulated_hue docs])
+- Update numato-gpio to 0.8.0 ([@clssn] - [#38415]) ([numato docs])
+- Optimize ipp tests ([@ctalkington] - [#38485]) ([ipp docs])
+- Ensure bond unique ids are unique across hubs ([@prystupa] - [#38496]) ([bond docs]) (breaking-change)
+- Provide a unique entity ID for lgsoundbar ([@mjg59] - [#38494]) ([lg_soundbar docs])
+- Add config flow to HLK-SW16 ([@jameshilliard] - [#37190]) ([hlk_sw16 docs]) (breaking-change)
+- Bump actions/upload-artifact from v2.1.1 to v2.1.2 (dependabot - [#38505])
+- Fix lookup by Plex media key when playing on Sonos ([@jjlawren] - [#38119]) ([plex docs])
+- Clean up Plex clip handling ([@jjlawren] - [#38500]) ([plex docs])
+- Fix harmony activity starting initial state ([@bdraco] - [#38439]) ([harmony docs])
+- Bump hass-nabucasa to avoid the performance penalty loading ecdsa ([@bdraco] - [#38056])
+- Fix flapping chained task logging test ([@bdraco] - [#38492])
+- Fix Lutron Caseta devices loading when missing serials ([@ShaneQi] - [#38255]) ([lutron_caseta docs])
+- Update frontend to 20200803.0 ([@bramkragten] - [#38514]) ([frontend docs])
+- Log the version reported by Bond hub upon startup to facilitate troub… ([@prystupa] - [#38508]) ([bond docs])
+- Fix missing .name at entity_id in service example ([@Cooper-Dale] - [#38515]) ([camera docs])
+- Remove deprecated Slack attachments framework ([@bachya] - [#38139]) ([slack docs]) (breaking-change)
+- Remove YAML configuration support for IQVIA ([@bachya] - [#38141]) ([iqvia docs]) (breaking-change)
+- Fix run-in-env.sh sh options ([@scop] - [#38520])
+- Reduce time to reload yaml and check configuration ([@bdraco] - [#38469])
+- Cache emulated hue states attributes between get and put calls to avoid unexpected alexa errors ([@jyavenard] - [#38451]) ([emulated_hue docs])
+- Bump pyaehw4a1 to 0.3.9 ([@bannhead] - [#38347]) ([hisense_aehw4a1 docs])
+- Update pyhomematic to 0.1.68 ([@danielperna84] - [#38530]) ([homematic docs])
+- Fix Fibaro component failure to load with HC3 ([@pbalogh77] - [#38528]) ([fibaro docs])
+- Support dual stack IP support (IPv4 and IPv6) ([@agners] - [#38046]) ([http docs])
+- Update notify.py ([@dclobato] - [#38526]) ([clickatell docs])
+- Make ozw CCT use device attributes instead of hard coded values ([@tradiuz] - [#38054]) ([ozw docs])
+- Add Netatmo data handler ([@cgtobi] - [#35571]) ([netatmo docs])
+- Move system log processing out of the event loop ([@bdraco] - [#38445]) ([system_log docs])
+- Fix Control4 token refresh ([@lawtancool] - [#38302]) ([control4 docs])
+- Add spider config flow ([@peternijssen] - [#36001]) ([spider docs])
+- Upgrade toonapi to v0.2.0 ([@frenck] - [#38543]) ([toon docs])
+- Update pymetno lib, and start using met api v2 ([@Danielhiversen] - [#38547]) ([met docs]) ([norway_air docs])
+- Add new Water Meter Sensor for Toon ([@tizzen33] - [#37879]) ([toon docs])
+- Fix Mikrotik encoding by setting utf8 ([@Janhouse] - [#38091]) ([mikrotik docs])
+- Allow device class to control icons for tesla ([@ctalkington] - [#37526]) ([tesla docs])
+- Fix upnp error on unload_entry if device does not exist ([@StevenLooman] - [#38230]) ([upnp docs])
+- Add a 60s timeout to shell_command to prevent processes from building up ([@bdraco] - [#38491]) ([shell_command docs]) (breaking-change)
+- Add missing timeout to command_line platforms: cover, notify, switch ([@bdraco] - [#38497]) ([command_line docs]) (breaking-change)
+- Keep webostv source list when TV is off ([@zhuqf] - [#38250]) ([webostv docs])
+- Use IP Address (host) provided by mDNS on Elgato Key Light ([@PedroLamas] - [#38539]) ([elgato docs])
+- Bump actions/upload-artifact from v2.1.2 to v2.1.3 (dependabot - [#38552])
+- Update pyrainbird to 0.4.2 ([@peternijssen] - [#38542]) ([rainbird docs])
+- Add Xiaomi Aqara wireless and light switches (2020 model) ([@chewbh] - [#37985]) ([xiaomi_aqara docs])
+- Blink auth flow improvement and mini camera support ([@fronzbot] - [#38027]) ([blink docs]) (breaking-change)
+- Add device_info to GIOS integration ([@bieniu] - [#38503]) ([gios docs])
+- Add device_info property for AccuWeather integration ([@bieniu] - [#38480]) ([accuweather docs])
+- Add device_info property and simplify generation of unique_id for Airly integration ([@bieniu] - [#38479]) ([airly docs])
+- Bump python-wiffi to 1.0.1 ([@mampfes] - [#38556]) ([wiffi docs])
+- OVO Energy Integration ([@timmo001] - [#36104]) ([ovo_energy docs]) (new-integration)
+- Intelligent timeout handler for setup/bootstrap ([@pvizeli] - [#38329])
+- Bump frontend to 20200805.0 ([@ludeeus] - [#38557]) ([frontend docs])
+- Add zeroconf/homekit/ssdp discovery support for custom components ([@bdraco] - [#38466]) ([ssdp docs]) ([zeroconf docs])
+- Allow to set default dark theme and persist frontend default themes ([@bramkragten] - [#38548]) ([frontend docs])
+- Add a timeout for async_add_entities ([@bdraco] - [#38474])
+- Add devolo light devices ([@2Fake] - [#37366]) ([devolo_home_control docs]) (new-platform)
+- Improve Xioami Aqara zeroconf discovery handling ([@starkillerOG] - [#37469]) ([xiaomi_aqara docs]) (beta fix)
+- Remove Linky integration ([@Quentame] - [#38565]) (breaking-change) (beta fix)
+- Suppress MQTT discovery updates without changes ([@emontnemery] - [#38568]) ([mqtt docs]) (beta fix)
+- Fix missing rfxtrx strings ([@MartinHjelmare] - [#38570]) ([rfxtrx docs]) (beta fix)
+- Revert "Add a timeout for async_add_entities (#38474)" ([@pvizeli] - [#38584]) (beta fix)
+- Do not print warning when command line switch queries off ([@balloob] - [#38591]) ([command_line docs]) (beta fix)
+- Upgrade to TensorFlow 2 ([@hunterjm] - [#38384]) ([tensorflow docs]) (breaking-change) (beta fix)
+- Improve the OVO Energy integration ([@timmo001] - [#38598]) ([ovo_energy docs]) (beta fix)
+- V2 timeout for async_add_entities ([@pvizeli] - [#38601]) (beta fix)
+- Ensure homekit pairing barcode is usable on dark themes ([@bdraco] - [#38609]) ([homekit docs]) (beta fix)
+- Handle unavailable input_select in Google Assistant ([@balloob] - [#38611]) ([google_assistant docs]) (beta fix)
+- Bump OpenCV 4.3.0 and Numpy 1.19.1 ([@pvizeli] - [#38616]) ([iqvia docs]) ([opencv docs]) ([tensorflow docs]) ([trend docs]) (beta fix)
+- Expose video doorbell button state to HomeKit ([@adrum] - [#38617]) ([homekit docs]) (beta fix)
+- Ensure doorbird does not block startup ([@bdraco] - [#38619]) ([doorbird docs]) (beta fix)
+- Make sure groups are initialized before template sensors ([@Tho85] - [#37766]) ([template docs]) (beta fix)
+- Fix xiaomi_aqara discovery ([@starkillerOG] - [#38622]) ([xiaomi_aqara docs]) (beta fix)
+- Update frontend to 20200807.1 ([@ludeeus] - [#38626]) ([frontend docs]) (beta fix)
+- Remove tf-models-official from wheels builder ([@frenck] - [#38637]) (beta fix)
+- Fix url in seventeentrack delivered notification ([@Swampen] - [#38646]) ([seventeentrack docs]) (beta fix)
+- Bump regenmaschine to 2.1.0 ([@bachya] - [#38649]) ([rainmachine docs]) (beta fix)
+- Fix AccuWeather async timeout ([@ctalkington] - [#38654]) ([accuweather docs]) (beta fix)
+- Fix rest_command UnboundLocalError in exception handling ([@AlejandroRivera] - [#38656]) ([rest_command docs]) (beta fix)
+- Ensure shared zeroconf is passed to homekit controller devices ([@bdraco] - [#38678]) ([homekit_controller docs]) (beta fix)
+- Update aiohomekit to handle homekit devices that do not send format ([@bdraco] - [#38679]) ([homekit_controller docs]) (beta fix)
+- Fix missing data for Guardian "AP enabled" binary sensor ([@bachya] - [#38681]) ([guardian docs]) (beta fix)
+- Bump pyvolumio to 0.1.1 ([@OnFreund] - [#38685]) ([volumio docs]) (beta fix)
+- Bump updater timeout ([@balloob] - [#38690]) ([updater docs]) (beta fix)
+- Update base image 8.2.1 ([@pvizeli] - [#38716]) (beta fix)
+- Add scan_tag webhook to mobile app ([@balloob] - [#38721]) ([mobile_app docs]) (beta fix)
+- Add scikit-build to installed env ([@pvizeli] - [#38726]) (beta fix)
+- Bump pysmartthings 0.7.3 ([@andrewsayre] - [#38732]) ([smartthings docs]) (beta fix)
+- Make default duration 1/10th of a second for ZHA light calls ([@dmulcahey] - [#38739]) ([zha docs]) (beta fix)
+- Install a threading.excepthook on python 3.8 and later ([@bdraco] - [#38741]) (beta fix)
+- Bump dyson upstream library version ([@etheralm] - [#38756]) ([dyson docs]) (beta fix)
+- Bump frontend to 20200811.0 ([@ludeeus] - [#38760]) ([frontend docs]) (beta fix)
+- Bump ZHA quirks lib to 0.0.43 ([@dmulcahey] - [#38762]) ([zha docs]) (beta fix)
+- Fix lastest version in updater for Supervisor enabled installs ([@frenck] - [#38773]) ([hassio docs]) ([updater docs]) (beta fix)
+- Bump up ZHA dependencies ([@Adminiuga] - [#38775]) ([zha docs]) (beta fix)
+
+
+
+[#33765]: https://github.com/home-assistant/core/pull/33765
+[#34104]: https://github.com/home-assistant/core/pull/34104
+[#34425]: https://github.com/home-assistant/core/pull/34425
+[#35571]: https://github.com/home-assistant/core/pull/35571
+[#35591]: https://github.com/home-assistant/core/pull/35591
+[#35605]: https://github.com/home-assistant/core/pull/35605
+[#35753]: https://github.com/home-assistant/core/pull/35753
+[#36001]: https://github.com/home-assistant/core/pull/36001
+[#36104]: https://github.com/home-assistant/core/pull/36104
+[#36577]: https://github.com/home-assistant/core/pull/36577
+[#36686]: https://github.com/home-assistant/core/pull/36686
+[#36747]: https://github.com/home-assistant/core/pull/36747
+[#36887]: https://github.com/home-assistant/core/pull/36887
+[#36962]: https://github.com/home-assistant/core/pull/36962
+[#37129]: https://github.com/home-assistant/core/pull/37129
+[#37166]: https://github.com/home-assistant/core/pull/37166
+[#37180]: https://github.com/home-assistant/core/pull/37180
+[#37190]: https://github.com/home-assistant/core/pull/37190
+[#37335]: https://github.com/home-assistant/core/pull/37335
+[#37365]: https://github.com/home-assistant/core/pull/37365
+[#37366]: https://github.com/home-assistant/core/pull/37366
+[#37469]: https://github.com/home-assistant/core/pull/37469
+[#37526]: https://github.com/home-assistant/core/pull/37526
+[#37632]: https://github.com/home-assistant/core/pull/37632
+[#37636]: https://github.com/home-assistant/core/pull/37636
+[#37669]: https://github.com/home-assistant/core/pull/37669
+[#37737]: https://github.com/home-assistant/core/pull/37737
+[#37745]: https://github.com/home-assistant/core/pull/37745
+[#37747]: https://github.com/home-assistant/core/pull/37747
+[#37761]: https://github.com/home-assistant/core/pull/37761
+[#37766]: https://github.com/home-assistant/core/pull/37766
+[#37822]: https://github.com/home-assistant/core/pull/37822
+[#37868]: https://github.com/home-assistant/core/pull/37868
+[#37879]: https://github.com/home-assistant/core/pull/37879
+[#37890]: https://github.com/home-assistant/core/pull/37890
+[#37897]: https://github.com/home-assistant/core/pull/37897
+[#37900]: https://github.com/home-assistant/core/pull/37900
+[#37906]: https://github.com/home-assistant/core/pull/37906
+[#37913]: https://github.com/home-assistant/core/pull/37913
+[#37914]: https://github.com/home-assistant/core/pull/37914
+[#37921]: https://github.com/home-assistant/core/pull/37921
+[#37927]: https://github.com/home-assistant/core/pull/37927
+[#37928]: https://github.com/home-assistant/core/pull/37928
+[#37935]: https://github.com/home-assistant/core/pull/37935
+[#37936]: https://github.com/home-assistant/core/pull/37936
+[#37940]: https://github.com/home-assistant/core/pull/37940
+[#37946]: https://github.com/home-assistant/core/pull/37946
+[#37948]: https://github.com/home-assistant/core/pull/37948
+[#37949]: https://github.com/home-assistant/core/pull/37949
+[#37951]: https://github.com/home-assistant/core/pull/37951
+[#37952]: https://github.com/home-assistant/core/pull/37952
+[#37964]: https://github.com/home-assistant/core/pull/37964
+[#37968]: https://github.com/home-assistant/core/pull/37968
+[#37973]: https://github.com/home-assistant/core/pull/37973
+[#37975]: https://github.com/home-assistant/core/pull/37975
+[#37978]: https://github.com/home-assistant/core/pull/37978
+[#37985]: https://github.com/home-assistant/core/pull/37985
+[#37990]: https://github.com/home-assistant/core/pull/37990
+[#37991]: https://github.com/home-assistant/core/pull/37991
+[#37994]: https://github.com/home-assistant/core/pull/37994
+[#38000]: https://github.com/home-assistant/core/pull/38000
+[#38003]: https://github.com/home-assistant/core/pull/38003
+[#38004]: https://github.com/home-assistant/core/pull/38004
+[#38005]: https://github.com/home-assistant/core/pull/38005
+[#38006]: https://github.com/home-assistant/core/pull/38006
+[#38009]: https://github.com/home-assistant/core/pull/38009
+[#38011]: https://github.com/home-assistant/core/pull/38011
+[#38012]: https://github.com/home-assistant/core/pull/38012
+[#38020]: https://github.com/home-assistant/core/pull/38020
+[#38021]: https://github.com/home-assistant/core/pull/38021
+[#38022]: https://github.com/home-assistant/core/pull/38022
+[#38023]: https://github.com/home-assistant/core/pull/38023
+[#38027]: https://github.com/home-assistant/core/pull/38027
+[#38028]: https://github.com/home-assistant/core/pull/38028
+[#38032]: https://github.com/home-assistant/core/pull/38032
+[#38034]: https://github.com/home-assistant/core/pull/38034
+[#38037]: https://github.com/home-assistant/core/pull/38037
+[#38038]: https://github.com/home-assistant/core/pull/38038
+[#38041]: https://github.com/home-assistant/core/pull/38041
+[#38044]: https://github.com/home-assistant/core/pull/38044
+[#38046]: https://github.com/home-assistant/core/pull/38046
+[#38047]: https://github.com/home-assistant/core/pull/38047
+[#38048]: https://github.com/home-assistant/core/pull/38048
+[#38054]: https://github.com/home-assistant/core/pull/38054
+[#38055]: https://github.com/home-assistant/core/pull/38055
+[#38056]: https://github.com/home-assistant/core/pull/38056
+[#38059]: https://github.com/home-assistant/core/pull/38059
+[#38063]: https://github.com/home-assistant/core/pull/38063
+[#38064]: https://github.com/home-assistant/core/pull/38064
+[#38066]: https://github.com/home-assistant/core/pull/38066
+[#38067]: https://github.com/home-assistant/core/pull/38067
+[#38071]: https://github.com/home-assistant/core/pull/38071
+[#38082]: https://github.com/home-assistant/core/pull/38082
+[#38085]: https://github.com/home-assistant/core/pull/38085
+[#38089]: https://github.com/home-assistant/core/pull/38089
+[#38091]: https://github.com/home-assistant/core/pull/38091
+[#38093]: https://github.com/home-assistant/core/pull/38093
+[#38098]: https://github.com/home-assistant/core/pull/38098
+[#38102]: https://github.com/home-assistant/core/pull/38102
+[#38114]: https://github.com/home-assistant/core/pull/38114
+[#38119]: https://github.com/home-assistant/core/pull/38119
+[#38121]: https://github.com/home-assistant/core/pull/38121
+[#38128]: https://github.com/home-assistant/core/pull/38128
+[#38131]: https://github.com/home-assistant/core/pull/38131
+[#38137]: https://github.com/home-assistant/core/pull/38137
+[#38138]: https://github.com/home-assistant/core/pull/38138
+[#38139]: https://github.com/home-assistant/core/pull/38139
+[#38140]: https://github.com/home-assistant/core/pull/38140
+[#38141]: https://github.com/home-assistant/core/pull/38141
+[#38142]: https://github.com/home-assistant/core/pull/38142
+[#38155]: https://github.com/home-assistant/core/pull/38155
+[#38157]: https://github.com/home-assistant/core/pull/38157
+[#38158]: https://github.com/home-assistant/core/pull/38158
+[#38164]: https://github.com/home-assistant/core/pull/38164
+[#38167]: https://github.com/home-assistant/core/pull/38167
+[#38168]: https://github.com/home-assistant/core/pull/38168
+[#38169]: https://github.com/home-assistant/core/pull/38169
+[#38177]: https://github.com/home-assistant/core/pull/38177
+[#38178]: https://github.com/home-assistant/core/pull/38178
+[#38183]: https://github.com/home-assistant/core/pull/38183
+[#38185]: https://github.com/home-assistant/core/pull/38185
+[#38199]: https://github.com/home-assistant/core/pull/38199
+[#38203]: https://github.com/home-assistant/core/pull/38203
+[#38209]: https://github.com/home-assistant/core/pull/38209
+[#38210]: https://github.com/home-assistant/core/pull/38210
+[#38212]: https://github.com/home-assistant/core/pull/38212
+[#38217]: https://github.com/home-assistant/core/pull/38217
+[#38219]: https://github.com/home-assistant/core/pull/38219
+[#38220]: https://github.com/home-assistant/core/pull/38220
+[#38221]: https://github.com/home-assistant/core/pull/38221
+[#38227]: https://github.com/home-assistant/core/pull/38227
+[#38230]: https://github.com/home-assistant/core/pull/38230
+[#38236]: https://github.com/home-assistant/core/pull/38236
+[#38239]: https://github.com/home-assistant/core/pull/38239
+[#38241]: https://github.com/home-assistant/core/pull/38241
+[#38244]: https://github.com/home-assistant/core/pull/38244
+[#38246]: https://github.com/home-assistant/core/pull/38246
+[#38250]: https://github.com/home-assistant/core/pull/38250
+[#38252]: https://github.com/home-assistant/core/pull/38252
+[#38253]: https://github.com/home-assistant/core/pull/38253
+[#38254]: https://github.com/home-assistant/core/pull/38254
+[#38255]: https://github.com/home-assistant/core/pull/38255
+[#38259]: https://github.com/home-assistant/core/pull/38259
+[#38265]: https://github.com/home-assistant/core/pull/38265
+[#38275]: https://github.com/home-assistant/core/pull/38275
+[#38278]: https://github.com/home-assistant/core/pull/38278
+[#38294]: https://github.com/home-assistant/core/pull/38294
+[#38298]: https://github.com/home-assistant/core/pull/38298
+[#38302]: https://github.com/home-assistant/core/pull/38302
+[#38303]: https://github.com/home-assistant/core/pull/38303
+[#38304]: https://github.com/home-assistant/core/pull/38304
+[#38312]: https://github.com/home-assistant/core/pull/38312
+[#38315]: https://github.com/home-assistant/core/pull/38315
+[#38328]: https://github.com/home-assistant/core/pull/38328
+[#38329]: https://github.com/home-assistant/core/pull/38329
+[#38335]: https://github.com/home-assistant/core/pull/38335
+[#38337]: https://github.com/home-assistant/core/pull/38337
+[#38345]: https://github.com/home-assistant/core/pull/38345
+[#38347]: https://github.com/home-assistant/core/pull/38347
+[#38350]: https://github.com/home-assistant/core/pull/38350
+[#38354]: https://github.com/home-assistant/core/pull/38354
+[#38357]: https://github.com/home-assistant/core/pull/38357
+[#38358]: https://github.com/home-assistant/core/pull/38358
+[#38359]: https://github.com/home-assistant/core/pull/38359
+[#38363]: https://github.com/home-assistant/core/pull/38363
+[#38364]: https://github.com/home-assistant/core/pull/38364
+[#38365]: https://github.com/home-assistant/core/pull/38365
+[#38366]: https://github.com/home-assistant/core/pull/38366
+[#38368]: https://github.com/home-assistant/core/pull/38368
+[#38382]: https://github.com/home-assistant/core/pull/38382
+[#38384]: https://github.com/home-assistant/core/pull/38384
+[#38387]: https://github.com/home-assistant/core/pull/38387
+[#38400]: https://github.com/home-assistant/core/pull/38400
+[#38415]: https://github.com/home-assistant/core/pull/38415
+[#38416]: https://github.com/home-assistant/core/pull/38416
+[#38417]: https://github.com/home-assistant/core/pull/38417
+[#38418]: https://github.com/home-assistant/core/pull/38418
+[#38419]: https://github.com/home-assistant/core/pull/38419
+[#38427]: https://github.com/home-assistant/core/pull/38427
+[#38434]: https://github.com/home-assistant/core/pull/38434
+[#38435]: https://github.com/home-assistant/core/pull/38435
+[#38436]: https://github.com/home-assistant/core/pull/38436
+[#38439]: https://github.com/home-assistant/core/pull/38439
+[#38441]: https://github.com/home-assistant/core/pull/38441
+[#38442]: https://github.com/home-assistant/core/pull/38442
+[#38445]: https://github.com/home-assistant/core/pull/38445
+[#38447]: https://github.com/home-assistant/core/pull/38447
+[#38448]: https://github.com/home-assistant/core/pull/38448
+[#38451]: https://github.com/home-assistant/core/pull/38451
+[#38460]: https://github.com/home-assistant/core/pull/38460
+[#38461]: https://github.com/home-assistant/core/pull/38461
+[#38466]: https://github.com/home-assistant/core/pull/38466
+[#38469]: https://github.com/home-assistant/core/pull/38469
+[#38472]: https://github.com/home-assistant/core/pull/38472
+[#38474]: https://github.com/home-assistant/core/pull/38474
+[#38479]: https://github.com/home-assistant/core/pull/38479
+[#38480]: https://github.com/home-assistant/core/pull/38480
+[#38485]: https://github.com/home-assistant/core/pull/38485
+[#38491]: https://github.com/home-assistant/core/pull/38491
+[#38492]: https://github.com/home-assistant/core/pull/38492
+[#38494]: https://github.com/home-assistant/core/pull/38494
+[#38496]: https://github.com/home-assistant/core/pull/38496
+[#38497]: https://github.com/home-assistant/core/pull/38497
+[#38500]: https://github.com/home-assistant/core/pull/38500
+[#38503]: https://github.com/home-assistant/core/pull/38503
+[#38505]: https://github.com/home-assistant/core/pull/38505
+[#38508]: https://github.com/home-assistant/core/pull/38508
+[#38514]: https://github.com/home-assistant/core/pull/38514
+[#38515]: https://github.com/home-assistant/core/pull/38515
+[#38520]: https://github.com/home-assistant/core/pull/38520
+[#38526]: https://github.com/home-assistant/core/pull/38526
+[#38528]: https://github.com/home-assistant/core/pull/38528
+[#38530]: https://github.com/home-assistant/core/pull/38530
+[#38539]: https://github.com/home-assistant/core/pull/38539
+[#38542]: https://github.com/home-assistant/core/pull/38542
+[#38543]: https://github.com/home-assistant/core/pull/38543
+[#38547]: https://github.com/home-assistant/core/pull/38547
+[#38548]: https://github.com/home-assistant/core/pull/38548
+[#38552]: https://github.com/home-assistant/core/pull/38552
+[#38556]: https://github.com/home-assistant/core/pull/38556
+[#38557]: https://github.com/home-assistant/core/pull/38557
+[#38565]: https://github.com/home-assistant/core/pull/38565
+[#38568]: https://github.com/home-assistant/core/pull/38568
+[#38570]: https://github.com/home-assistant/core/pull/38570
+[#38584]: https://github.com/home-assistant/core/pull/38584
+[#38591]: https://github.com/home-assistant/core/pull/38591
+[#38598]: https://github.com/home-assistant/core/pull/38598
+[#38601]: https://github.com/home-assistant/core/pull/38601
+[#38609]: https://github.com/home-assistant/core/pull/38609
+[#38611]: https://github.com/home-assistant/core/pull/38611
+[#38616]: https://github.com/home-assistant/core/pull/38616
+[#38617]: https://github.com/home-assistant/core/pull/38617
+[#38619]: https://github.com/home-assistant/core/pull/38619
+[#38622]: https://github.com/home-assistant/core/pull/38622
+[#38626]: https://github.com/home-assistant/core/pull/38626
+[#38637]: https://github.com/home-assistant/core/pull/38637
+[#38646]: https://github.com/home-assistant/core/pull/38646
+[#38649]: https://github.com/home-assistant/core/pull/38649
+[#38654]: https://github.com/home-assistant/core/pull/38654
+[#38656]: https://github.com/home-assistant/core/pull/38656
+[#38678]: https://github.com/home-assistant/core/pull/38678
+[#38679]: https://github.com/home-assistant/core/pull/38679
+[#38681]: https://github.com/home-assistant/core/pull/38681
+[#38685]: https://github.com/home-assistant/core/pull/38685
+[#38690]: https://github.com/home-assistant/core/pull/38690
+[#38716]: https://github.com/home-assistant/core/pull/38716
+[#38721]: https://github.com/home-assistant/core/pull/38721
+[#38726]: https://github.com/home-assistant/core/pull/38726
+[#38732]: https://github.com/home-assistant/core/pull/38732
+[#38739]: https://github.com/home-assistant/core/pull/38739
+[#38741]: https://github.com/home-assistant/core/pull/38741
+[#38756]: https://github.com/home-assistant/core/pull/38756
+[#38760]: https://github.com/home-assistant/core/pull/38760
+[#38762]: https://github.com/home-assistant/core/pull/38762
+[#38773]: https://github.com/home-assistant/core/pull/38773
+[#38775]: https://github.com/home-assistant/core/pull/38775
+[@2Fake]: https://github.com/2Fake
+[@Adminiuga]: https://github.com/Adminiuga
+[@AlejandroRivera]: https://github.com/AlejandroRivera
+[@BKPepe]: https://github.com/BKPepe
+[@ChrisMandich]: https://github.com/ChrisMandich
+[@Cooper-Dale]: https://github.com/Cooper-Dale
+[@DaAwesomeP]: https://github.com/DaAwesomeP
+[@Danielhiversen]: https://github.com/Danielhiversen
+[@Janhouse]: https://github.com/Janhouse
+[@JeffLIrion]: https://github.com/JeffLIrion
+[@MartinHjelmare]: https://github.com/MartinHjelmare
+[@MikeTsenatek]: https://github.com/MikeTsenatek
+[@Misiu]: https://github.com/Misiu
+[@OnFreund]: https://github.com/OnFreund
+[@PedroLamas]: https://github.com/PedroLamas
+[@Quentame]: https://github.com/Quentame
+[@RobBie1221]: https://github.com/RobBie1221
+[@RogerSelwyn]: https://github.com/RogerSelwyn
+[@ShaneQi]: https://github.com/ShaneQi
+[@Shulyaka]: https://github.com/Shulyaka
+[@StevenLooman]: https://github.com/StevenLooman
+[@Swampen]: https://github.com/Swampen
+[@Tho85]: https://github.com/Tho85
+[@adamkrol93]: https://github.com/adamkrol93
+[@adrum]: https://github.com/adrum
+[@agners]: https://github.com/agners
+[@alandtse]: https://github.com/alandtse
+[@andrewsayre]: https://github.com/andrewsayre
+[@azogue]: https://github.com/azogue
+[@bachya]: https://github.com/bachya
+[@balloob]: https://github.com/balloob
+[@bannhead]: https://github.com/bannhead
+[@bdraco]: https://github.com/bdraco
+[@bieniu]: https://github.com/bieniu
+[@bramkragten]: https://github.com/bramkragten
+[@bratanon]: https://github.com/bratanon
+[@cgarwood]: https://github.com/cgarwood
+[@cgtobi]: https://github.com/cgtobi
+[@chewbh]: https://github.com/chewbh
+[@clssn]: https://github.com/clssn
+[@ctalkington]: https://github.com/ctalkington
+[@danielperna84]: https://github.com/danielperna84
+[@dclobato]: https://github.com/dclobato
+[@devbis]: https://github.com/devbis
+[@dmulcahey]: https://github.com/dmulcahey
+[@donkawechico]: https://github.com/donkawechico
+[@dshokouhi]: https://github.com/dshokouhi
+[@ehendrix23]: https://github.com/ehendrix23
+[@elupus]: https://github.com/elupus
+[@emontnemery]: https://github.com/emontnemery
+[@etheralm]: https://github.com/etheralm
+[@firstof9]: https://github.com/firstof9
+[@frenck]: https://github.com/frenck
+[@fronzbot]: https://github.com/fronzbot
+[@gwww]: https://github.com/gwww
+[@hunterjm]: https://github.com/hunterjm
+[@jameshilliard]: https://github.com/jameshilliard
+[@jcallaghan]: https://github.com/jcallaghan
+[@jjlawren]: https://github.com/jjlawren
+[@jyavenard]: https://github.com/jyavenard
+[@knudsvik]: https://github.com/knudsvik
+[@lawtancool]: https://github.com/lawtancool
+[@ludeeus]: https://github.com/ludeeus
+[@mampfes]: https://github.com/mampfes
+[@marciogranzotto]: https://github.com/marciogranzotto
+[@markuskorbel]: https://github.com/markuskorbel
+[@mdegat01]: https://github.com/mdegat01
+[@melyux]: https://github.com/melyux
+[@michaelarnauts]: https://github.com/michaelarnauts
+[@mjg59]: https://github.com/mjg59
+[@mvn23]: https://github.com/mvn23
+[@mweinelt]: https://github.com/mweinelt
+[@nickw444]: https://github.com/nickw444
+[@oncleben31]: https://github.com/oncleben31
+[@pbalogh77]: https://github.com/pbalogh77
+[@peternijssen]: https://github.com/peternijssen
+[@pnbruckner]: https://github.com/pnbruckner
+[@prystupa]: https://github.com/prystupa
+[@pvizeli]: https://github.com/pvizeli
+[@rsnodgrass]: https://github.com/rsnodgrass
+[@sMauldaeschle]: https://github.com/sMauldaeschle
+[@scop]: https://github.com/scop
+[@sergeymaysak]: https://github.com/sergeymaysak
+[@sgryphon]: https://github.com/sgryphon
+[@shenxn]: https://github.com/shenxn
+[@starkillerOG]: https://github.com/starkillerOG
+[@thomasdelaet]: https://github.com/thomasdelaet
+[@timmo001]: https://github.com/timmo001
+[@tizzen33]: https://github.com/tizzen33
+[@tradiuz]: https://github.com/tradiuz
+[@vangorra]: https://github.com/vangorra
+[@weissm]: https://github.com/weissm
+[@zhuqf]: https://github.com/zhuqf
+[@zxdavb]: https://github.com/zxdavb
+[accuweather docs]: /integrations/accuweather/
+[airly docs]: /integrations/airly/
+[alarmdecoder docs]: /integrations/alarmdecoder/
+[ambient_station docs]: /integrations/ambient_station/
+[androidtv docs]: /integrations/androidtv/
+[automation docs]: /integrations/automation/
+[azure_devops docs]: /integrations/azure_devops/
+[blink docs]: /integrations/blink/
+[bond docs]: /integrations/bond/
+[buienradar docs]: /integrations/buienradar/
+[camera docs]: /integrations/camera/
+[clickatell docs]: /integrations/clickatell/
+[command_line docs]: /integrations/command_line/
+[config docs]: /integrations/config/
+[control4 docs]: /integrations/control4/
+[cover docs]: /integrations/cover/
+[deconz docs]: /integrations/deconz/
+[default_config docs]: /integrations/default_config/
+[devolo_home_control docs]: /integrations/devolo_home_control/
+[directv docs]: /integrations/directv/
+[discovery docs]: /integrations/discovery/
+[doorbird docs]: /integrations/doorbird/
+[dyson docs]: /integrations/dyson/
+[elgato docs]: /integrations/elgato/
+[elkm1 docs]: /integrations/elkm1/
+[emulated_hue docs]: /integrations/emulated_hue/
+[evohome docs]: /integrations/evohome/
+[fibaro docs]: /integrations/fibaro/
+[fido docs]: /integrations/fido/
+[firmata docs]: /integrations/firmata/
+[flume docs]: /integrations/flume/
+[frontend docs]: /integrations/frontend/
+[gios docs]: /integrations/gios/
+[gogogate2 docs]: /integrations/gogogate2/
+[google_assistant docs]: /integrations/google_assistant/
+[group docs]: /integrations/group/
+[guardian docs]: /integrations/guardian/
+[harmony docs]: /integrations/harmony/
+[hassio docs]: /integrations/hassio/
+[hisense_aehw4a1 docs]: /integrations/hisense_aehw4a1/
+[hlk_sw16 docs]: /integrations/hlk_sw16/
+[homekit docs]: /integrations/homekit/
+[homekit_controller docs]: /integrations/homekit_controller/
+[homematic docs]: /integrations/homematic/
+[http docs]: /integrations/http/
+[humidifier docs]: /integrations/humidifier/
+[influxdb docs]: /integrations/influxdb/
+[ipp docs]: /integrations/ipp/
+[iqvia docs]: /integrations/iqvia/
+[islamic_prayer_times docs]: /integrations/islamic_prayer_times/
+[izone docs]: /integrations/izone/
+[lg_soundbar docs]: /integrations/lg_soundbar/
+[light docs]: /integrations/light/
+[logbook docs]: /integrations/logbook/
+[lutron_caseta docs]: /integrations/lutron_caseta/
+[media_extractor docs]: /integrations/media_extractor/
+[met docs]: /integrations/met/
+[meteo_france docs]: /integrations/meteo_france/
+[mikrotik docs]: /integrations/mikrotik/
+[min_max docs]: /integrations/min_max/
+[mobile_app docs]: /integrations/mobile_app/
+[mqtt docs]: /integrations/mqtt/
+[neato docs]: /integrations/neato/
+[netatmo docs]: /integrations/netatmo/
+[norway_air docs]: /integrations/norway_air/
+[numato docs]: /integrations/numato/
+[obihai docs]: /integrations/obihai/
+[opencv docs]: /integrations/opencv/
+[opentherm_gw docs]: /integrations/opentherm_gw/
+[ovo_energy docs]: /integrations/ovo_energy/
+[ozw docs]: /integrations/ozw/
+[pi_hole docs]: /integrations/pi_hole/
+[plex docs]: /integrations/plex/
+[prometheus docs]: /integrations/prometheus/
+[rainbird docs]: /integrations/rainbird/
+[rainmachine docs]: /integrations/rainmachine/
+[recorder docs]: /integrations/recorder/
+[rest_command docs]: /integrations/rest_command/
+[rfxtrx docs]: /integrations/rfxtrx/
+[scrape docs]: /integrations/scrape/
+[script docs]: /integrations/script/
+[seventeentrack docs]: /integrations/seventeentrack/
+[shell_command docs]: /integrations/shell_command/
+[simplisafe docs]: /integrations/simplisafe/
+[sky_hub docs]: /integrations/sky_hub/
+[slack docs]: /integrations/slack/
+[smartthings docs]: /integrations/smartthings/
+[spider docs]: /integrations/spider/
+[ssdp docs]: /integrations/ssdp/
+[stream docs]: /integrations/stream/
+[sun docs]: /integrations/sun/
+[system_log docs]: /integrations/system_log/
+[tado docs]: /integrations/tado/
+[template docs]: /integrations/template/
+[tensorflow docs]: /integrations/tensorflow/
+[tesla docs]: /integrations/tesla/
+[toon docs]: /integrations/toon/
+[trend docs]: /integrations/trend/
+[updater docs]: /integrations/updater/
+[upnp docs]: /integrations/upnp/
+[volumio docs]: /integrations/volumio/
+[volvooncall docs]: /integrations/volvooncall/
+[webostv docs]: /integrations/webostv/
+[wiffi docs]: /integrations/wiffi/
+[wirelesstag docs]: /integrations/wirelesstag/
+[withings docs]: /integrations/withings/
+[wolflink docs]: /integrations/wolflink/
+[workday docs]: /integrations/workday/
+[xiaomi_aqara docs]: /integrations/xiaomi_aqara/
+[xiaomi_miio docs]: /integrations/xiaomi_miio/
+[yandex_transport docs]: /integrations/yandex_transport/
+[yeelight docs]: /integrations/yeelight/
+[zeroconf docs]: /integrations/zeroconf/
+[zha docs]: /integrations/zha/
+[zone docs]: /integrations/zone/
diff --git a/source/_redirects b/source/_redirects
index 5d08a0027c5..7f1aac2215e 100644
--- a/source/_redirects
+++ b/source/_redirects
@@ -762,7 +762,6 @@
/components/sensor.lacrosse /integrations/lacrosse
/components/sensor.lastfm /integrations/lastfm
/components/sensor.launch_library /integrations/launch_library
-/components/sensor.linky /integrations/linky
/components/sensor.linux_battery /integrations/linux_battery
/components/sensor.logi_circle /integrations/logi_circle#sensor
/components/sensor.london_air /integrations/london_air
@@ -1513,7 +1512,6 @@
/components/limitlessled /integrations/limitlessled
/components/linksys_ap /integrations/linksys_ap
/components/linksys_smart /integrations/linksys_smart
-/components/linky /integrations/linky
/components/linode /integrations/linode
/components/linux_battery /integrations/linux_battery
/components/lirc /integrations/lirc
diff --git a/source/images/blog/2020-08-0.114/dark-mode.png b/source/images/blog/2020-08-0.114/dark-mode.png
new file mode 100644
index 00000000000..9c7ad5a1775
Binary files /dev/null and b/source/images/blog/2020-08-0.114/dark-mode.png differ
diff --git a/source/images/blog/2020-08-0.114/ozw-info.png b/source/images/blog/2020-08-0.114/ozw-info.png
new file mode 100644
index 00000000000..bfb7b32cbb9
Binary files /dev/null and b/source/images/blog/2020-08-0.114/ozw-info.png differ
diff --git a/source/images/blog/2020-08-0.114/repeat-ui.png b/source/images/blog/2020-08-0.114/repeat-ui.png
new file mode 100644
index 00000000000..3c963f1ae49
Binary files /dev/null and b/source/images/blog/2020-08-0.114/repeat-ui.png differ
diff --git a/source/images/blog/2020-08-0.114/social.png b/source/images/blog/2020-08-0.114/social.png
new file mode 100644
index 00000000000..46a8852d4e1
Binary files /dev/null and b/source/images/blog/2020-08-0.114/social.png differ