---
layout: post
title: "0.101: Airly, Apprise, Sinch, Solar-Log, Microsoft Teams"
description: "TBD"
date: 2019-10-30 20:41:02
date_formatted: "October 30, 2019"
author: Paulus Schoutsen
author_twitter: balloob
comments: true
categories: Release-Notes
og_image: /images/blog/2019-10-0.101/components.png
---

<a href='/integrations/#version/0.101'><img src='/images/blog/2019-10-0.101/components.png' style='border: 0;box-shadow: none;'></a>

## Hacktoberfest

It is almost the end of Hacktoberfest, and boy, it was a good one. We had a total of 1318 PRs merged in the last month. And most of them are in this release!

We had:
154 authors on home-assistant
184 authors on home-assistant.io
30 authors on home-assistant-polymer

A lot of thanks to all the contributors!

## API Password and trusted networks

It is no longer possible to make authenticated requests using trusted networks or by appending `?api_password=X` to the URL. You will now first need to get an authentication token and use that token to make requests.

These features were deprecated in Home Assistant 0.90 and 0.91 (released around April 2019). It was initially planned to be dropped in Home Assistant 0.96 (released July 17, 2019).

The support of configuring the auth providers for API Password and Trusted Networks via the HTTP configuration is also removed. It now needs to be configured in the auth provider section ([docs](https://www.home-assistant.io/docs/authentication/providers/)).

Direct authentication meant that you could make an authenticated request without a bearer token by making the request from a trusted network or appending `?api_password=X` to the URL.

These features are still available as authentication providers ([docs](https://www.home-assistant.io/docs/authentication/providers/)).

You can use Long-Lived Access Tokens that can be created in the fronted on your profile page. These tokens will not expire and can be added in the header of the request. See the developer documentation for more info.

<p class='img'>
<img src='/images/blog/2019-10-0.101/long-lived-access-tokens.png' alt='Screenshot of the Long-Lived Access Tokens interface in the profile page.'></a>
Screenshot of the Long-Lived Access Tokens interface in the profile page.
</p>

Or you can use a webhook-based-integration. A webhook is a unique hard to guess URL that can be used to send data to Home Assistant. Requests made to webhooks do not need authentication.
Your webhook should be available from the internet, if you have a cloud subscription, the cloud will take care if this. You can find the cloud webhook URLs on your cloud configuration page.

## Hassbian

As you may have already read, we'll be sunsetting Hassbian.

Hassbian was a superset of Raspbian optimized for Home Assistant. With limited time from the developers and easier alternatives as [Hass.io](https://www.home-assistant.io/hassio/) it is time to sunset Hassbian.

A big thank you to all those who worked on Hassbian - specifically [@landrash](https://github.com/landrash), who was the primary driver of this for so long, and [@ludeeus](https://github.com/ludeeus).

For more info, read the [blogpost](https://www.home-assistant.io/blog/2019/10/26/rip-hassbian/)

## Device automations

This release includes improved support for alarms, covers, locks and sensors.
A “for” option was added in release 0.100 which allows you to specify triggers for when a certain device has been in a certain state for a period of time, in this release we added support for it in the automation editor.

<p class='img'>
<img src='/images/blog/2019-10-0.101/device_automation_duration.png' alt='Screenshot of a device trigger with duration.'></a>
Screenshot of a device trigger with duration.
</p>

## Frontend

A lot has happened on the frontend; we had a ton of Hacktoberfest PRs that added localization to the frontend and made our user experience better.
A special shout out to [@springstan](https://github.com/springstan) who did a lot of localization work, we now have the biggest part of our UI translatable!

Thanks a lot to all the contributors!

We now have our own confirmation dialogs thanks to [@timmo001](https://github.com/timmo001)! No more ugly browser modals.

<p class='img'>
<img src='/images/blog/2019-10-0.101/confirm_dialog.png' alt='Screenshot of a confirm dialog when restarting Home Assistant.'></a>
Screenshot of a confirm dialog when restarting Home Assistant.
</p>

In the last release, we changed all the JSON inputs to YAML inputs, this release we add a code editor to all the YAML and Jinja2 inputs. This makes it a lot easier to read and write YAML.

<p class='img'>
<img src='/images/blog/2019-10-0.101/yaml_editor.png' alt='Screenshot of the service dev tools with YAML editor.'></a>
Screenshot of the service dev tools with YAML editor.
</p>

The entity registry is now also migrated to a datatable so you can easily search and sort your entities so it is easier to find the one you are looking for.

<p class='img'>
<img src='/images/blog/2019-10-0.101/entity_registry_data_table.png' alt='Screenshot of the entity registry data table.'></a>
Screenshot of the entity registry data table.
</p>

We improved the device picker in automations, you can now search them and see in what area the device is.

<p class='img'>
<img src='/images/blog/2019-10-0.101/device_automation_device_picker.png' alt='Screenshot of the device picker.'></a>
Screenshot of the device picker.
</p>

[mdonoughe](https://github.com/mdonoughe) added support the activate scene action in the automation editor.

## Lovelace

Check the [Lovelace changelog](https://www.home-assistant.io/lovelace/changelog/) for all changes.

## In other news

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Proud to announce that the Visual Studio Code add-on for <a href="https://twitter.com/home_assistant?ref_src=twsrc%5Etfw">@home_assistant</a> reached v1.0.0! 🎉<br><br>This version ships the second generation code-server, VSCode 1.39, HA extension 1.3, updates MDI ext and adds a rainbow indent function ❤️<br><br>Oh, and it is FAST 🚀 <a href="https://t.co/eBe8CirZ4B">pic.twitter.com/eBe8CirZ4B</a></p>&mdash; Franck Nijhof (@Frenck) <a href="https://twitter.com/Frenck/status/1188044714571907072?ref_src=twsrc%5Etfw">October 26, 2019</a></blockquote>

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">It is done! Making magic with <a href="https://twitter.com/hashtag/python?src=hash&amp;ref_src=twsrc%5Etfw">#python</a> <a href="https://twitter.com/hashtag/opencv?src=hash&amp;ref_src=twsrc%5Etfw">#opencv</a> <a href="https://twitter.com/hashtag/tensorflow?src=hash&amp;ref_src=twsrc%5Etfw">#tensorflow</a> <a href="https://twitter.com/hashtag/homeassistant?src=hash&amp;ref_src=twsrc%5Etfw">#homeassistant</a>. <a href="https://t.co/ZiN5AE7ixt">https://t.co/ZiN5AE7ixt</a></p>&mdash; Esther Makes Tech (@esthermakestech) <a href="https://twitter.com/esthermakestech/status/1185696326710808576?ref_src=twsrc%5Etfw">October 19, 2019</a>
</blockquote>

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Weekend IOT project: Weather info from the Cloud, literally. Details on github here:<a href="https://t.co/V9xpxqyRAv">https://t.co/V9xpxqyRAv</a><a href="https://twitter.com/hashtag/homeassistant?src=hash&amp;ref_src=twsrc%5Etfw">#homeassistant</a> <a href="https://twitter.com/hashtag/arduino?src=hash&amp;ref_src=twsrc%5Etfw">#arduino</a> <a href="https://twitter.com/hashtag/mqtt?src=hash&amp;ref_src=twsrc%5Etfw">#mqtt</a> <a href="https://twitter.com/hashtag/smarthome?src=hash&amp;ref_src=twsrc%5Etfw">#smarthome</a> <a href="https://t.co/YrkEBpa9Rw">pic.twitter.com/YrkEBpa9Rw</a></p>&mdash; Gabe Scelta (@sfgabe) <a href="https://twitter.com/sfgabe/status/1183871117972430848?ref_src=twsrc%5Etfw">October 14, 2019</a>
</blockquote>

<blockquote class="twitter-tweet"><p lang="en" dir="ltr">🎉Restriction Card for <a href="https://twitter.com/home_assistant?ref_src=twsrc%5Etfw">@home_assistant</a> released 🎉<br>Client-side security for your Lovelace cards<br>* Options to hide/block/lock/password-protect/confirm interactions with cards<br>* Set conditions for when to apply<br>* Set exemptions based on users<a href="https://t.co/psiVBf9U7N">https://t.co/psiVBf9U7N</a></p>&mdash; Ian Richardson (@iantrich) <a href="https://twitter.com/iantrich/status/1184849711527874561?ref_src=twsrc%5Etfw">October 17, 2019</a>
</blockquote>

## New Integrations

- Add Airly integration ([@bieniu] - [#26375]) ([airly docs]) (new-integration)
- Add Apprise notification integration ([@caronc] - [#26868]) ([apprise docs]) (new-integration)
- New sensor platform integration for Orange and Rockland Utility smart energy meter ([@bvlaicu] - [#27571]) ([oru docs]) (new-integration)
- Add sinch integration (notify component) ([@bendikrb] - [#26502]) ([sinch docs]) (new-integration)
- Add Solar-Log platform ([@Ernst79] - [#27036]) ([solarlog docs]) (new-integration)
- New platform for Microsoft Teams ([@peroyvind] - [#27981]) ([msteams docs]) (new-integration)

## New Platforms

- UniFi - Bandwidth sensors ([@Kane610] - [#27229]) ([unifi docs]) (breaking change) (new-platform)
- Neato battery sensor ([@dshokouhi] - [#27286]) ([neato docs]) (new-platform)
- Add sensor platform to Airly integration ([@bieniu] - [#27717]) ([airly docs]) (new-platform)
- Move imports in mqtt component ([@exxamalte] - [#27835]) ([mqtt docs]) (new-platform)

## Release 0.101.1 - October 31

- Bump songpal to fix a regression ([@rytilahti] - [#28115]) ([songpal docs])
- Bump pymyq to 2.0.1 ([@bachya] - [#28348]) ([myq docs])
- Bump pysaj to v0.0.13 (fix for sensor date) ([@fredericvl] - [#28351]) ([saj docs])
- Bump env_canada to fixed 0.0.29 version ([@shmick] - [#28360]) ([environment_canada docs])
- Fix Airly asyncio timeout error ([@bieniu] - [#28387]) ([airly docs])
- Fix hdate spamming homeassistant log ([@tsvi] - [#28392]) ([jewish_calendar docs])
- Fix check config ([@balloob] - [#28393])
- Check for import errors before validating config ([@balloob] - [#28395])

[#28115]: https://github.com/home-assistant/home-assistant/pull/28115
[#28348]: https://github.com/home-assistant/home-assistant/pull/28348
[#28351]: https://github.com/home-assistant/home-assistant/pull/28351
[#28360]: https://github.com/home-assistant/home-assistant/pull/28360
[#28387]: https://github.com/home-assistant/home-assistant/pull/28387
[#28392]: https://github.com/home-assistant/home-assistant/pull/28392
[#28393]: https://github.com/home-assistant/home-assistant/pull/28393
[#28395]: https://github.com/home-assistant/home-assistant/pull/28395
[@bachya]: https://github.com/bachya
[@balloob]: https://github.com/balloob
[@bieniu]: https://github.com/bieniu
[@fredericvl]: https://github.com/fredericvl
[@rytilahti]: https://github.com/rytilahti
[@shmick]: https://github.com/shmick
[@tsvi]: https://github.com/tsvi
[airly docs]: /integrations/airly/
[environment_canada docs]: /integrations/environment_canada/
[jewish_calendar docs]: /integrations/jewish_calendar/
[myq docs]: /integrations/myq/
[saj docs]: /integrations/saj/
[songpal docs]: /integrations/songpal/

## Release 0.101.2 - November 1

- Prevent TypeError when KNX RGB(W) light value contains None ([@phispi] - [#28358]) ([knx docs])
- Change Abode cache file path, add cache path to config flow ([@MisterWil] - [#28389]) ([abode docs])
- SNMP switch fix integer support ([@rfpronk] - [#28425]) ([snmp docs])
- Use server-specific unique_ids for Plex media_players ([@jjlawren] - [#28447]) ([plex docs])
- Also install after_deps ([@balloob] - [#28453])

[#28358]: https://github.com/home-assistant/home-assistant/pull/28358
[#28389]: https://github.com/home-assistant/home-assistant/pull/28389
[#28425]: https://github.com/home-assistant/home-assistant/pull/28425
[#28447]: https://github.com/home-assistant/home-assistant/pull/28447
[#28453]: https://github.com/home-assistant/home-assistant/pull/28453
[@MisterWil]: https://github.com/MisterWil
[@balloob]: https://github.com/balloob
[@jjlawren]: https://github.com/jjlawren
[@phispi]: https://github.com/phispi
[@rfpronk]: https://github.com/rfpronk
[abode docs]: /integrations/abode/
[knx docs]: /integrations/knx/
[plex docs]: /integrations/plex/
[snmp docs]: /integrations/snmp/

## Release 0.101.3 - November 5

- Fix missing import ([@timmccor] - [#28460]) ([sonos docs])
- Fix Airly if more than one config entry ([@bieniu] - [#28498]) ([airly docs])
- Add deprecated attributes to light.reproduce_state ([@Santobert] - [#28557]) ([light docs])

[#28460]: https://github.com/home-assistant/home-assistant/pull/28460
[#28498]: https://github.com/home-assistant/home-assistant/pull/28498
[#28557]: https://github.com/home-assistant/home-assistant/pull/28557
[@Santobert]: https://github.com/Santobert
[@bieniu]: https://github.com/bieniu
[@timmccor]: https://github.com/timmccor
[airly docs]: /integrations/airly/
[light docs]: /integrations/light/
[sonos docs]: /integrations/sonos/

## 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).

## Reporting Issues

Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/home-assistant/issues). Make sure to fill in all fields of the issue template.

<!--more-->

## Breaking Changes

- __Removed__ - The following integrations have been removed:
  - __Direct authentication via trusted networks or API password__ - It is no longer possible to make authenticated requests using trusted networks or by appending ?api_password=X to the URL. You will now first need to get an authentication token and use that token to make requests. Auth providers for trusted networks and API passwords are still available. - ([@balloob] - [#27656]) ([auth docs]) ([http docs]) ([websocket_api docs])

  - __Stride__ - The Stride notification integration was discontinued in February 2019 due to a take over by Slack. - ([@hmmbob] - [#27934]) ([stride docs])
  - __Hipchat__ - The Hipchat notification integration was discontinued in February 2019, also due to a take over by Slack. - ([@fabaff] - [#27399]) ([hipchat docs])
- __Deprecated__ - Python 3.6 support is deprecated (to be removed completely by December 2019), as version 3.8.0 is now out -  ([@scop] - [#27680])
- __Scene__ - Scenes have to be configured more strictly from now on. Each entity must be configured with a valid state. Furthermore, the attributes that can be used must be `device state attributes`. This means that they should be listed under _developer-tools -> states_. - ([scene docs])
- __Ecobee__ - Adds `turn_on` method to ecobee climate platform. Previously, calling `climate.turn_on` would cause the ecobee thermostat to turn on in heat mode, regardless of the mode when the thermostat was turned off. Now, the thermostat will turn on to the last "active" HVAC mode (i.e., "heat", "cool", or "auto") (or, if the thermostat was "off" when Home Assistant started, to "auto"). - ([@marthoc] - [#27103]) ([ecobee docs])
 - __Genius Hub__ - This addresses an issue that requires the `unique_id` of **climate** and **water_heater** entities to be changed. After upgrading HA with this change, users will have stale entities in the entity registry that they may wish to clear out. -  ([@zxdavb] - [#27916]) ([geniushub docs])
- __Abode__ - The configuration variables were removed: `name`, `exclude` and `lights`, which were all previously optional. Existing users of the abode integration that use these configuration variables will have to remove them from the `configuration.yaml` file. Entities that users wish to disable can be done from the Entity Registry in the Configuration UI. - ([@shred86] - [#26699]) ([abode docs])
- __AdGuard Home__ - The AdGuard Home integration has been made compatible with AdGuard Home v0.99.0. However, support for lower versions is now limited. Upgrading to AdGuard Home v0.99.0 or newer is advised. - ([@frenck] - [#27926]) ([adguard docs])
- __UniFi__ - Previously, UniFi POE control switches had attributes showing network usage for receiving and transmitting data of that entity. This has been replaced with separate sensors, a pair per network client; one for received data and one for transmitted data. The default configuration is to keep this disabled so, if you want to use this, either enable select entities in the entity registry or go to your UniFi Integration options and enable it for all clients (see HASS 0.98 blog post for guidance). - ([@Kane610] - [#27229]) ([unifi docs])
- __IKEA Tradfri__ - The Tradfri sensors (e.g., button remotes and motion detectors) are now being represented as battery entities and will no longer have remaining battery power represented as an attribute. Use the sensors state instead to monitor the remaining battery power. -  ([@ggravlingen] - [#27245]) ([tradfri docs])

- __Jewish Calendar__
  - The output of the timestamp sensors have been streamlined, so they're easier to use in automations. All the timestamp sensors will return UTC time in ISO 8601 format.
Attributes have been added to get a UNIX timestamp. -  ([@tsvi] - [#26940]) ([jewish_calendar docs])
  - The holiday type sensor has been removed and added as an attribute to the holiday sensor.
The **holiday name** sensor has been renamed to **holiday**. ([@tsvi] - [#27654]) ([jewish_calendar docs]) (breaking change)
- __Onkyo__ - Added `max_receiver_volume`, which sets the maximum volume of the receiver - this will default to 80, which worked with older Onkyo models. See documentation for details on how to find your receivers' max volume.

  The max_volume is now a percentage instead of a number from 0 to 80. If you have a `max_volume` setting of 80, you will need to change this to 100, if you have it as 40 you will need to change this to 50. To work out the new max volume setting use this formula: `( / 80) * 100` - ([@foxy82] - [#27218]) ([onkyo docs])

- __MQTT__ - Allow MQTT JSON light floating-point transition. The MQTT light with JSON schema will now send a float instead of an int with the `transition` key. In this way, transitions shorter than 1s can be used (0.5 seconds, for instance) if the MQTT light supports it. Lights that are based on the "ArduinoJson" module should not experience problems due to the change from int to float (the float value will be truncated to an int). - ([@starkillerOG] - [#27253]) ([mqtt docs])

- __Somfy__ - Users that have already created their app in the Sofy developer console will need to update the redirect URI to be able to authorize a new account. You need to change the redirect URI for your app on `https://developers.somfy.com` to `/auth/external/callback` instead of `/auth/somfy/callback`. - ([@balloob] - [#27727]) ([somfy docs])


- __Glances__ - Glances is now its own integration and configured through config flow. Configured sensors with platform type glances should be edited as shown below. - @engrbm87] - [#27221]) ([glances docs]) (breaking change)

  Example configuration YAML:

    Before:
    ```yaml
    sensors:
      - platform: glances
        host: 192.168.1.1
        resources:
          - 'cpu_use_percent'
    ```
    After:
    ```yaml
    glances:
      - host: 192.168.1.1
    ```

- __Tesla__ - Tesla `entity_id` and `unique_id` have changed. This is necessary so that multi-vehicle households have a way to distinguish vehicles by basing the name off the name in the app. Users should remove old tesla entries from the entity registry after the upgrade and update automations where tesla entity_ids are used. - ([@alandtse] - [#27957]) ([tesla docs])
- __Roku__ - Roku TVs will now report "standby" instead of "off" when they are turned off. Roku TVs can be turned on directly to a source by selecting from the source list. When a `media_player` returns `STATE_OFF it` loses access to the source list. By returning `STATE_STANDBY` instead, the state is more accurately reflected and the `source_list` attribute is now accessible when the TV screen is off. - ([@Villhellm] - [#28148]) ([roku docs])

## All changes

- Add unique_id to cert_expiry ([@jjlawren] - [#27140]) ([cert_expiry docs])
- Improve device tracker tests ([@Kane610] - [#27159])
- Add PowerLevelController for fan to alexa ([@ochlocracy] - [#27158]) ([alexa docs])
- update broadlink library ([@Danielhiversen] - [#27157]) ([broadlink docs])
- Adds fields to light.toggle service description ([@frenck] - [#27155])
- Add support for `for` to binary_sensor, light and switch device conditions ([@emontnemery] - [#27153]) ([binary_sensor docs]) ([device_automation docs]) ([light docs]) ([switch docs])
- Unload cert_expiry config entries ([@jjlawren] - [#27150]) ([cert_expiry docs])
- Envisalink startup reconnect ([@Cinntax] - [#27063]) ([envisalink docs])
- Fix homekit temperaturesensor round ([@gonzalezcalleja] - [#27047]) ([homekit docs])
- Support zone expanders in alarmdecoder ([@hugheaves] - [#27167]) ([alarmdecoder docs])
- Handle all single zone thermostats ([@zxdavb] - [#27168]) ([evohome docs])
- Add device registry support to ecobee integration ([@marthoc] - [#27109]) ([ecobee docs])
- WAQI add unique ID and availability ([@dshokouhi] - [#27086]) ([waqi docs])
- Add Airly integration ([@bieniu] - [#26375]) ([airly docs]) (new-integration)
- Add SecurityPanelController for alarm_control_panel to alexa ([@ochlocracy] - [#27081]) ([alexa docs])
- Add examples to lights service ([@Santobert] - [#27192])
- Improve evohome debug logging ([@zxdavb] - [#27178]) ([evohome docs])
- Add device condition support to sensor entities ([@emontnemery] - [#27163]) ([sensor docs])
- Fix template fan turn_on action ([@sermayoral] - [#27181]) ([template docs])
- Fix tests running in hass.io image ([@balloob] - [#27169])
- lock open service data ([@Santobert] - [#27204])
- Add acceleration sensor to Homematic IP Cloud ([@SukramJ] - [#27199]) ([homematicip_cloud docs])
- lock_reproduce_state ([@Santobert] - [#27203]) ([lock docs])
- switch reproduce state ([@Santobert] - [#27202]) ([switch docs])
- Add turn_on method to ecobee climate platform ([@marthoc] - [#27103]) ([ecobee docs]) (breaking change)
- Add opentherm_gw config flow ([@mvn23] - [#27148]) ([opentherm_gw docs])
- Add doods contains flags on areas to allow specifying overlap ([@snowzach] - [#27035]) ([doods docs])
- Guard against network errors for Dark Sky ([@space-pope] - [#27141]) ([darksky docs])
- Adds guards for missing information in call stack frames ([@frenck] - [#27217])
- Add hive trv support ([@MagicalTrev89] - [#27033]) ([hive docs])
- UniFi - Improve switch tests ([@Kane610] - [#27200])
- Require Python >= 3.6.1 ([@scop] - [#27226])
- automation_reproduce_state ([@Santobert] - [#27222]) ([automation docs])
- Add set_location service doc ([@oncleben31] - [#27216])
- fan_reproduce_state ([@Santobert] - [#27227]) ([fan docs])
- Add improved scene support to the light integration ([@Santobert] - [#27182]) ([light docs])
- Improve influxdb error handling ([@definitio] - [#27225]) ([influxdb docs])
- Refactor Tradfri switch device ([@ggravlingen] - [#26864]) ([tradfri docs])
- Add initial state to Flux Switch ([@Santobert] - [#27089]) ([flux docs])
- Repair SolarEdge_local inverter fahrenheit temperature ([@scheric] - [#27096]) ([solaredge_local docs])
- add script shortcut for activating scenes ([@mdonoughe] - [#27223])
- Bump python-miio version to 0.4.6 ([@syssi] - [#27231]) ([xiaomi_miio docs])
- Add Xiaomi Air Humidifier CB1 (zhimi.humidifier.cb1) support ([@syssi] - [#27232]) ([xiaomi_miio docs])
- Add io:SomfyBasicContactIOSystemSensor to TaHoma component ([@jensihnow] - [#27234]) ([tahoma docs])
- Add basic test support to Homematic IP Cloud ([@SukramJ] - [#27228]) ([homematicip_cloud docs])
- Neato config flow ([@Santobert] - [#26579]) ([neato docs])
- PS4 bump to renamed dependency ([@ktnrg45] - [#27144]) ([ps4 docs])
- UniFi - Bandwidth sensors ([@Kane610] - [#27229]) ([unifi docs]) (breaking change) (new-platform)
- Switch on/off all lights, and wait for the result ([@mjrider] - [#27078]) ([light docs])
- Refactor IKEA Tradfri, part 2 ([@ggravlingen] - [#27245]) ([tradfri docs]) (breaking change)
- Bump pybotvac and use new exceptions ([@Santobert] - [#27249]) ([neato docs])
- Add 'flash_length' to esphome light async_turn_off ([@CQoute] - [#27214]) ([esphome docs])
- Add missing documentation for some Hassio services ([@oncleben31] - [#27215])
- Validate generated condition ([@emontnemery] - [#27263]) ([binary_sensor docs]) ([device_automation docs]) ([light docs]) ([sensor docs]) ([switch docs])
- Add attributes to neato integration ([@Santobert] - [#27260]) ([neato docs])
- Add PTZ support to Foscam camera component ([@skgsergio] - [#27238]) ([foscam docs])
- Note snake_case state attribute name convention in entity docs ([@scop] - [#27287])
- Upgrade pylint ([@scop] - [#27279])
- fixed minor typo in docs/source/api/helpers.rst ([@bhageena] - [#27282])
- FIX: Typo ([@SoldierCorp] - [#27267])
- Refactor tradfri light ([@ggravlingen] - [#27259]) ([tradfri docs])
- Neato battery sensor ([@dshokouhi] - [#27286]) ([neato docs]) (new-platform)
- Neato clean up ([@Santobert] - [#27294]) ([neato docs])
- UniFi - Improve controller tests ([@Kane610] - [#27261]) ([unifi docs])
- Validate generated device triggers ([@emontnemery] - [#27264]) ([binary_sensor docs]) ([deconz docs]) ([device_automation docs]) ([sensor docs]) ([zha docs])
- Fix device condition scaffold ([@emontnemery] - [#27300])
- Making withings logs less noisy. ([@vangorra] - [#27311]) ([withings docs])
- Do not fail smtp notify service on connection error ([@bbrendon] - [#27240]) ([smtp docs])
- move import to top-level ([@exxamalte] - [#27314]) ([transport_nsw docs])
- Move imports in geo_rss_events component ([@exxamalte] - [#27313]) ([geo_rss_events docs])
- move import to top-level ([@exxamalte] - [#27320]) ([feedreader docs])
- Upgrade certifi to >=2019.9.11 ([@fabaff] - [#27323])
- Align user name vs username ([@ottersen] - [#27328]) ([transmission docs])
- Upgrade beautifulsoup4 to 4.8.1 ([@fabaff] - [#27325]) ([scrape docs])
- Upgrade sqlalchemy to 1.3.9 ([@fabaff] - [#27322]) ([recorder docs]) ([sql docs])
- Fix Logi Circle cameras not responding to turn on/off commands ([@evanjd] - [#27317]) ([logi_circle docs])
- Add scene.apply service ([@balloob] - [#27298])
- Improve Neato login process ([@Santobert] - [#27327]) ([neato docs])
- Validate generated device actions ([@emontnemery] - [#27262]) ([device_automation docs]) ([zha docs])
- Cleanup handling of attributes for HomematicIP Cloud ([@SukramJ] - [#27331]) ([homematicip_cloud docs])
- Include unit_of_measurement in sensor device trigger capabilities ([@emontnemery] - [#27265]) ([sensor docs])
- Improve UniFi config flow tests and add options flow test ([@Kane610] - [#27340]) ([unifi docs])
- Run mypy in pre-commit ([@scop] - [#27339])
- move import to top-level ([@exxamalte] - [#27348]) ([workday docs])
- Move imports in caldav component ([@exxamalte] - [#27349]) ([caldav docs])
- Add documentation for logger.set_level service ([@oncleben31] - [#27211])
- Support async validation of device trigger ([@emontnemery] - [#27333]) ([automation docs]) ([deconz docs]) ([zha docs])
- deCONZ - Update discovery address ([@Kane610] - [#27365]) ([deconz docs])
- Refactor Tradfri constants ([@ggravlingen] - [#27334]) ([tradfri docs])
- Install requirements for all deps with tests ([@balloob] - [#27362]) ([epsonworkforce docs]) ([ign_sismologia docs]) ([supla docs])
- Migrate Neato to use top-level imports ([@Santobert] - [#27363]) ([neato docs])
- Fix ecobee weather platform ([@marthoc] - [#27369]) ([ecobee docs])
- Move imports in vlc component ([@mnigbur] - [#27361]) ([vlc docs])
- Move imports in season component ([@Quentame] - [#27358]) ([season docs])
- Move imports in nissan_leaf component ([@Quentame] - [#27359]) ([nissan_leaf docs])
- Move imports in netatmo component ([@Quentame] - [#27360]) ([netatmo docs])
- move import to top-level ([@exxamalte] - [#27353]) ([onkyo docs])
- move import to top-level ([@exxamalte] - [#27352]) ([systemmonitor docs])
- Allow Google Assistant relative volume control ([@RyanEwen] - [#26585]) ([google_assistant docs])
- Remove hipchat ([@fabaff] - [#27399]) ([hipchat docs]) (breaking change)
- Move imports in waze_travel_time component ([@eifinger] - [#27384]) ([waze_travel_time docs])
- Move imports in wemo component ([@Quentame] - [#27393]) ([wemo docs])
- Move imports in wink component ([@Quentame] - [#27392]) ([wink docs])
- Move imports in wunderlist component ([@Quentame] - [#27391])
- Move imports in xmpp component ([@Quentame] - [#27390]) ([xmpp docs])
- Move imports in yamaha + yamaha_musiccast component ([@Quentame] - [#27389]) ([yamaha docs]) ([yamaha_musiccast docs])
- Move imports in zengge component ([@Quentame] - [#27387]) ([zengge docs])
- Move imports in zestimate component ([@Quentame] - [#27386]) ([zestimate docs])
- Move imports in zigbee component ([@Quentame] - [#27383]) ([zigbee docs])
- Move imports in yr component ([@Quentame] - [#27382]) ([yr docs])
- Move imports in google_travel_time component ([@eifinger] - [#27381]) ([google_travel_time docs])
- Move imports in github component ([@mnigbur] - [#27406]) ([github docs])
- Move imports in eufy component ([@mnigbur] - [#27405]) ([eufy docs])
- Move imports in apple_tv component ([@Quentame] - [#27356]) ([apple_tv docs])
- Remove hydroquebec integration (ADR-0004) ([@frenck] - [#27407]) ([hydroquebec docs])
- Standardize times in time sensors Jewish calendar ([@tsvi] - [#26940]) ([jewish_calendar docs]) (breaking change)
- Revert "Allow Google Assistant relative volume control (#26585)" ([@balloob] - [#27416]) ([google_assistant docs])
- Bump aiohttp to 3.6.2 ([@frenck] - [#27409])
- Bump sqlalchemy to 1.3.10 ([@frenck] - [#27408]) ([recorder docs]) ([sql docs])
- move songpal imports to top ([@rytilahti] - [#27402]) ([songpal docs])
- Bump python-slugify to 3.0.6 ([@quthla] - [#27430])
- Refactor home --> hap for Homematic IP Cloud ([@SukramJ] - [#27368]) ([homematicip_cloud docs])
- Move Arduino imports ([@tulindo] - [#27438]) ([arduino docs])
- Update upstream ([@cgtobi] - [#27440]) ([rmvtransport docs])
- Move imports in waterfurnace component ([@Quentame] - [#27449]) ([waterfurnace docs])
- Bump pyhik to 0.2.4 ([@mezz64] - [#27523]) ([hikvision docs])
- moved imports to top level ([@Bouni] - [#27511]) ([browser docs])
- Move imports in updater component ([@Quentame] - [#27485]) ([updater docs])
- Move imports in rmvtransport ([@cgtobi] - [#27420]) ([rmvtransport docs])
- SNMP Switch payloads are not guaranteed to be integers ([@cyberjacob] - [#27422]) ([snmp docs])
- Move trend imports to top level ([@thaohtp] - [#27507]) ([trend docs])
- Move imports in waqi component ([@Quentame] - [#27450]) ([waqi docs])
- Move imports in acer_projector component ([@Bouni] - [#27456]) ([acer_projector docs])
- Move imports in vizio component ([@Quentame] - [#27452]) ([vizio docs])
- Bump pygatt to 4.0.5 ([@foreign-sub] - [#27526]) ([bluetooth_le_tracker docs]) ([skybeacon docs])
- Fix typing for device condition scaffold ([@emontnemery] - [#27487])
- Move imports in upcloud component to top-level ([@thaohtp] - [#27514]) ([upcloud docs])
- Refactor Tradfri cover ([@ggravlingen] - [#27413]) ([tradfri docs])
- Add improved scene support to input number integration ([@abstrakct] - [#27530]) ([input_number docs])
- Move imports in http component ([@Quentame] - [#27474]) ([http docs])
- Handle empty service in script action gracefully ([@emontnemery] - [#27467])
- moved imports to top level ([@Bouni] - [#27494]) ([auth docs])
- Move imports in rfxtrx component ([@javicalle] - [#27549]) ([rfxtrx docs])
- fill services.yaml for downloader ([@Mofeywalker] - [#27553])
- Add test to Homematic IP Cloud weather ([@SukramJ] - [#27536])
- Add test to Homematic IP Cloud alarm control panel ([@SukramJ] - [#27534])
- Add test to Homematic IP Cloud cover ([@SukramJ] - [#27535])
- Add test to Homematic IP Cloud sensor ([@SukramJ] - [#27533])
- moved imports to top level ([@Bouni] - [#27512]) ([bt_home_hub_5 docs])
- Add test to Homematic IP Cloud climate ([@SukramJ] - [#27472]) ([homematicip_cloud docs])
- moved imports to top level ([@Bouni] - [#27508]) ([broadlink docs])
- moved imports to top level ([@Bouni] - [#27509]) ([brottsplatskartan docs])
- Move imports in startca to top-level ([@thaohtp] - [#27510]) ([startca docs])
- moved imports to top level ([@Bouni] - [#27503]) ([bluetooth_le_tracker docs])
- moved imports to top level ([@Bouni] - [#27501]) ([bh1750 docs])
- moved imports to top level ([@Bouni] - [#27498]) ([axis docs])
- Update blink version to 0.14.2 ([@fronzbot] - [#27555]) ([blink docs])
- moved imports to top level ([@Bouni] - [#27500]) ([bbox docs])
- Move imports in aruba component to top-level ([@thaohtp] - [#27497]) ([aruba docs])
- moved imports to top level ([@Bouni] - [#27496]) ([aws docs])
- moved imports to top level ([@Bouni] - [#27495])
- Add device condition support to the lock integration ([@emontnemery] - [#27488]) ([lock docs])
- moved imports to top level ([@Bouni] - [#27483]) ([aquostv docs])
- Move imports in uscis component ([@Quentame] - [#27481]) ([uscis docs])
- Move imports in vasttrafik component ([@Quentame] - [#27480]) ([vasttrafik docs])
- Move imports in venstar component ([@Quentame] - [#27478]) ([venstar docs])
- Move imports in verisure component ([@Quentame] - [#27476]) ([verisure docs])
- Move imports in vera component ([@Quentame] - [#27477]) ([vera docs])
- Fix update after network error ([@bieniu] - [#27444]) ([airly docs])
- Move AmazonPolly imports ([@tulindo] - [#27443]) ([amazon_polly docs])
- Change persistent notification about dev-info panel ([@fredrike] - [#27441]) ([hassio docs]) ([homeassistant docs])
- Bump pysyncthru to 0.5.0 ([@foreign-sub] - [#27439]) ([syncthru docs])
- Bump RtmAPI to 0.7.2 ([@quthla] - [#27433]) ([remember_the_milk docs])
- Move imports in watson_iot component ([@Quentame] - [#27448]) ([watson_iot docs])
- moved imports to top level ([@Bouni] - [#27454]) ([abode docs])
- Bump PyGithub to 1.43.8 ([@quthla] - [#27432]) ([github docs])
- Move imports in w800rf32 component ([@Quentame] - [#27451]) ([w800rf32 docs])
- moved imports to top level ([@Bouni] - [#27458]) ([ads docs])
- Move imports in dht component ([@doudz] - [#27459]) ([dht docs])
- Move Epson imports ([@tulindo] - [#27457]) ([epson docs])
- moved imports to top level ([@Bouni] - [#27468]) ([anthemav docs])
- moved imports to top level ([@Bouni] - [#27469]) ([aprs docs])
- Move imports for pushbullet component ([@doudz] - [#27460]) ([pushbullet docs])
- Add test to Homematic IP Cloud switch ([@SukramJ] - [#27532])
- add device conditions for platform cover ([@Mofeywalker] - [#27544]) ([cover docs])
- Add strings for device automations to scaffold ([@balloob] - [#27556])
- Move imports in tts component ([@Michsior14] - [#27565]) ([tts docs])
- Filled services.yaml for browser integration ([@springstan] - [#27563])
- Filled services.yaml for logbook integration ([@springstan] - [#27560])
- Move imports in tikteck component ([@Michsior14] - [#27568]) ([tikteck docs])
- Fix pioneer volume when using onkyo component ([@foxy82] - [#27218]) ([onkyo docs]) (breaking change)
- Upgrade alpha_vantage to 2.1.1 ([@fabaff] - [#27580]) ([alpha_vantage docs])
- Move imports in thermoworks_smoke component ([@Michsior14] - [#27586]) ([thermoworks_smoke docs])
- Upgrade pillow to 6.2.0 ([@fabaff] - [#27581]) ([image_processing docs]) ([proxy docs]) ([qrcode docs])
- Move import in deutsche_bahn integration ([@springstan] - [#27579]) ([deutsche_bahn docs])
- Move imports in thingspeak component ([@Michsior14] - [#27585]) ([thingspeak docs])
- Move imports in tplink_lte component ([@Michsior14] - [#27583]) ([tplink_lte docs])
- Move imports in bme280 component ([@Bouni] - [#27505]) ([bme280 docs])
- Move imports in tplink component ([@Michsior14] - [#27567]) ([tplink docs])
- Add abode config entries and device registry ([@shred86] - [#26699]) ([abode docs]) (breaking change)
- Allow MQTT json light floating point transition ([@starkillerOG] - [#27253]) ([mqtt docs]) (breaking change)
- Move imports in rflink component ([@javicalle] - [#27367]) ([rflink docs])
- move imports in tibber component ([@Michsior14] - [#27584]) ([tibber docs])
- Upgrade to flake8-docstrings 1.5.0, pytest 5.2.1, and pytest-cov 2.8.1 ([@scop] - [#27588])
- Upgrade Mastodon.py to 1.5.0 ([@fabaff] - [#27598]) ([mastodon docs])
- Move imports in syslog ([@Michsior14] - [#27602]) ([syslog docs])
- add content for services.yaml in component media_extractor ([@Mofeywalker] - [#27608])
- move imports in ted5000 component ([@Michsior14] - [#27601]) ([ted5000 docs])
- move imports in tellstick component ([@Michsior14] - [#27600]) ([tellstick docs])
- Move top level imports ([@ggravlingen] - [#27597]) ([tradfri docs])
- Improve neato tests ([@Santobert] - [#27578]) ([neato docs])
- Refactor Tradfri base class ([@ggravlingen] - [#27589]) ([tradfri docs])
- Google Assistant Local SDK ([@balloob] - [#27428]) ([cloud docs]) ([google_assistant docs]) ([http docs]) ([webhook docs]) ([zeroconf docs])
- Update pyhomematic to 0.1.61 ([@danielperna84] - [#27620]) ([homematic docs])
- fix: exception after kaiterra api call timeout ([@Michsior14] - [#27622]) ([kaiterra docs])
- Issue #27288 Moving imports to top for tesla component ([@stevendlander] - [#27618]) ([tesla docs])
- add content for services.yaml for ccomponent stream ([@Mofeywalker] - [#27610])
- Update yandex transport after api change ([@rishatik92] - [#27591]) ([yandex_transport docs])
- Issue #27288 Move imports to top for FFMPEG ([@stevendlander] - [#27613]) ([ffmpeg docs])
- move imports to top-level ([@exxamalte] - [#27630]) ([pushover docs])
- move imports in synology_srm component ([@Michsior14] - [#27603]) ([synology_srm docs])
- moved imports to top level ([@Bouni] - [#27632]) ([bt_smarthub docs])
- moved imports to top level ([@Bouni] - [#27634]) ([cisco_ios docs])
- Move imports in darksky component ([@exxamalte] - [#27633]) ([darksky docs])
- Fix temperature and heating mode ([@crazyfx1] - [#27604]) ([vicare docs])
- moved imports to top level ([@Bouni] - [#27640]) ([co2signal docs])
- ESPHome Fix intermediary state published ([@OttoWinter] - [#27638]) ([esphome docs])
- moved imports to top level ([@Bouni] - [#27641]) ([config docs])
- Fix html5 notification documentation url ([@delphiki] - [#27636]) ([html5 docs])
- Apply isort on rfxtrx classes ([@javicalle] - [#27615]) ([rfxtrx docs])
- Fix ESPHome climate preset mode refactor ([@OttoWinter] - [#27637]) ([esphome docs])
- Refactor imports for tensorflow ([@stevendlander] - [#27617]) ([tensorflow docs])
- Move imports in bluesound component ([@Bouni] - [#27502]) ([bluesound docs])
- Fix ZHA regressions caused by "Support async validation of device trigger" ([@emontnemery] - [#27401]) ([automation docs]) ([deconz docs]) ([zha docs])
- move imports in squeezebox component ([@Michsior14] - [#27650]) ([squeezebox docs])
- Typing misc fixes ([@scop] - [#27543]) ([binary_sensor docs]) ([device_automation docs]) ([light docs]) ([sensor docs]) ([switch docs])
- Updated frontend to 20191014.0 ([@bramkragten] - [#27661]) ([frontend docs])
- Move imports in panasonic_viera component ([@javicalle] - [#27665]) ([panasonic_viera docs])
- Improve discovery title ([@Kane610] - [#27664]) ([deconz docs])
- Move imports in panasonic_bluray component ([@javicalle] - [#27658]) ([panasonic_bluray docs])
- Update Unlock directive for Alexa LockController ([@ochlocracy] - [#27653]) ([alexa docs])
- move imports in statsd component ([@Michsior14] - [#27649]) ([statsd docs])
- Move imports in steam_online component ([@Michsior14] - [#27648]) ([steam_online docs])
- move imports in stream component ([@Michsior14] - [#27647]) ([stream docs])
- Move imports in switchmate component ([@Michsior14] - [#27646]) ([switchmate docs])
- Remove direct authentication via trusted networks or API password ([@balloob] - [#27656]) ([auth docs]) ([http docs]) ([websocket_api docs]) (breaking change)
- Add Apprise notification integration ([@caronc] - [#26868]) ([apprise docs]) (new-integration)
- Deprecate Python 3.6 support, 3.8.0 is out ([@scop] - [#27680]) (breaking change)
- moved imports to top level ([@Bouni] - [#27682]) ([discord docs])
- moved imports to top level ([@Bouni] - [#27678]) ([digitalloggers docs])
- moved imports to top level ([@Bouni] - [#27675]) ([denonavr docs])
- moved imports to top level ([@Bouni] - [#27677]) ([digital_ocean docs])
- Handle marker attrs that may not exist ([@bwarden] - [#27519]) ([cups docs])
- Improve code coverage for HomematicIP Cloud ([@SukramJ] - [#27606]) ([homematicip_cloud docs])
- Move imports in decora component ([@Bouni] - [#27645]) ([decora docs])
- moved imports to top level ([@Bouni] - [#27683]) ([dlib_face_detect docs])
- Move imports in yeelight + yeelightsunflower component ([@Quentame] - [#27388]) ([yeelight docs]) ([yeelightsunflower docs])
- Move imports in bme680 component ([@Bouni] - [#27506]) ([bme680 docs])
- Fix missing strings in soma config flow ([@ratsept] - [#27689]) ([soma docs])
- moved imports to top level ([@Bouni] - [#27695]) ([dnsip docs])
- Add battery status in owntracks ([@luca-angemi] - [#27686]) ([owntracks docs])
- moved imports to top level ([@Bouni] - [#27693]) ([dlib_face_identify docs])
- Update fritzconnection requirement to 0.8.4 ([@AaronDavidSchneider] - [#27698]) ([fritz docs]) ([fritzbox_netmonitor docs])
- Moved imports to top-level in spotify integration ([@springstan] - [#27703]) ([spotify docs])
- moved imports to top level ([@Bouni] - [#27679]) ([discogs docs])
- Bump PyMata to 2.20 ([@quthla] - [#27431]) ([arduino docs])
- Add improved scene support to input_text ([@abstrakct] - [#27687]) ([input_text docs])
- Fix config imports ([@balloob] - [#27669]) ([config docs])
- Add improved scene support for input_select ([@abstrakct] - [#27697]) ([input_select docs])
- move imports in sony_projector component ([@Michsior14] - [#27718]) ([sony_projector docs])
- move imports in speedtestdotnet component ([@Michsior14] - [#27716]) ([speedtestdotnet docs])
- move imports in spotcrime component ([@Michsior14] - [#27715]) ([spotcrime docs])
- Moved imports to top-level in fritzbox_callmonitor component ([@springstan] - [#27705]) ([fritzbox_callmonitor docs])
- moved imports to top level ([@Bouni] - [#27696]) ([dovado docs])
- New sensor platform integration for Orange and Rockland Utility smart energy meter ([@bvlaicu] - [#27571]) ([oru docs]) (new-integration)
- Move imports in device_tracker component ([@Bouni] - [#27676]) ([device_tracker docs])
- Add evohome high_precision temperatures ([@zxdavb] - [#27513]) ([evohome docs])
- Move imports in Kodi component ([@tulindo] - [#27728]) ([kodi docs])
- Add sensor platform to Airly integration ([@bieniu] - [#27717]) ([airly docs]) (new-platform)
- Bump pyatmo version to 2.3.2 ([@cgtobi] - [#27731]) ([netatmo docs])
- New cache on Azure ([@pvizeli] - [#27739])
- Add cache for mypy ([@pvizeli] - [#27745])
- Bump ndms2-client to 0.0.10 ([@foxel] - [#27734]) ([keenetic_ndms2 docs])
- Upgrade youtube_dl to 2019.10.16 ([@BKPepe] - [#27737]) ([media_extractor docs])
- Axis - Improve discovery title by adding placeholder support ([@Kane610] - [#27663]) ([axis docs])
- Add device action support to the alarm_control_panel integration ([@emontnemery] - [#27616]) ([alarm_control_panel docs]) ([device_automation docs])
- Move imports in slack and socialblade ([@springstan] - [#27747]) ([samsungtv docs]) ([slack docs]) ([socialblade docs])
- Run mypy in pre-commit without args to match CI ([@scop] - [#27741])
- Fix On/Off for melissa ([@kennedyshead] - [#27733]) ([melissa docs])
- Forget auth token when going offline so we can reconnect ([@antlarr] - [#26630]) ([amcrest docs])
- bump rpi.gpio to 0.7.0 ([@Misiu] - [#27753]) ([mcp23017 docs]) ([rpi_gpio docs])
- Move imports in rpi_gpio ([@Misiu] - [#27752]) ([rpi_gpio docs])
- Move imports in ifttt component ([@Quentame] - [#27792]) ([ifttt docs])
- Move imports in keyboard component ([@Quentame] - [#27791]) ([keyboard docs])
- Move imports in linux_battery component ([@Quentame] - [#27789]) ([linux_battery docs])
- Move imports in ampio component ([@Bouni] - [#27788]) ([ampio docs])
- Move imports in liveboxplaytv component ([@Quentame] - [#27790])
- Move imports in amcrest component ([@Bouni] - [#27787]) ([amcrest docs])
- Move imports in imap + imap_email_content component ([@Quentame] - [#27793]) ([imap docs]) ([imap_email_content docs])
- Move imports in netgear_lte component ([@Quentame] - [#27777]) ([netgear_lte docs])
- Move imports in nest component ([@Quentame] - [#27778]) ([nest docs])
- moved imports to top level ([@Bouni] - [#27781]) ([airvisual docs])
- Move imports in netgear component ([@Quentame] - [#27776]) ([netgear docs])
- moved imports to top level ([@Bouni] - [#27784])
- Generate ADB key for Android TV integration ([@JeffLIrion] - [#27344]) ([androidtv docs])
- moved imports to top level ([@Bouni] - [#27782]) ([aladdin_connect docs])
- Move imports in android_ip_webcam component ([@Bouni] - [#27797]) ([android_ip_webcam docs])
- Add on_off_inverted to KNX climate ([@tombbo] - [#25900]) ([knx docs])
- Move imports in html5 component ([@Quentame] - [#27473]) ([html5 docs])
- Move imports in mqtt component ([@exxamalte] - [#27835]) ([mqtt docs]) (new-platform)
- Move imports in august component ([@Bouni] - [#27810]) ([august docs])
- Move imports in asterisk_mbox component ([@Bouni] - [#27807]) ([asterisk_mbox docs])
- Move imports in arlo component ([@Bouni] - [#27806]) ([arlo docs])
- Move imports in aqualogic component ([@Bouni] - [#27805]) ([aqualogic docs])
- Move imports in apcupsd component ([@Bouni] - [#27803]) ([apcupsd docs])
- Move imports in awair component ([@Bouni] - [#27811]) ([awair docs])
- Move imports in baidu component ([@Bouni] - [#27812]) ([baidu docs])
- Move imports in gitlab_ci component ([@Quentame] - [#27827]) ([gitlab_ci docs])
- Move imports in google component ([@Quentame] - [#27826]) ([google docs])
- Mypy setup fixes ([@scop] - [#27825])
- Move imports in flic component ([@Quentame] - [#27821]) ([flic docs])
- Move imports in fitbit component ([@Quentame] - [#27820]) ([fitbit docs])
- Move imports in flux_led component ([@Quentame] - [#27822]) ([flux_led docs])
- Move imports in fritz + fritzbox_netmonitor component ([@Quentame] - [#27823]) ([fritz docs])
- Move imports in MCP23017 component ([@Misiu] - [#27769]) ([mcp23017 docs])
- Move imports in anel_pwrctrl component ([@Bouni] - [#27798]) ([anel_pwrctrl docs])
- Move imports in bbb_gpio component ([@Bouni] - [#27813]) ([bbb_gpio docs])
- Move imports in bitcoin component ([@Bouni] - [#27814]) ([bitcoin docs])
- bump client ([@zxdavb] - [#27799]) ([geniushub docs])
- 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])
- 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])
- Add opentherm_gw options flow. ([@mvn23] - [#27316]) ([opentherm_gw docs])
- Add ability for MQTT device tracker to map non-default topic payloads to zones/states ([@raman325] - [#27143]) ([mqtt docs])
- Move holiday info into a single sensor with multiple attributess ([@tsvi] - [#27654]) ([jewish_calendar docs]) (breaking change)
- Add sinch integration (notify component) ([@bendikrb] - [#26502]) ([sinch docs]) (new-integration)
- Add service description for route53 integration ([@tefinger] - [#27774])
- Move imports in openweathermap component ([@Quentame] - [#27779]) ([openweathermap docs])
- Move imports in apns component ([@Bouni] - [#27804]) ([apns docs])
- Move imports in yweather ([@Misiu] - [#27842])
- Move imports in brunt component ([@Bouni] - [#27856]) ([brunt docs])
- Move imports in blockchain component ([@Bouni] - [#27852]) ([blockchain docs])
- Move blackbird imports ([@Bouni] - [#27849]) ([blackbird docs])
- cryptography + numpy for python 3.8 ([@pvizeli] - [#27861]) ([iqvia docs]) ([opencv docs]) ([tensorflow docs]) ([trend docs])
- Move imports in bom component ([@Bouni] - [#27854]) ([bom docs])
- Move imports in bmw_connected_drive component ([@Bouni] - [#27853]) ([bmw_connected_drive docs])
- Move imports in blink component ([@Bouni] - [#27850]) ([blink docs])
- Move imports in blinksticklight component ([@Bouni] - [#27851]) ([blinksticklight docs])
- Move imports in recorder component ([@exxamalte] - [#27859]) ([recorder docs])
- Refactor the conversation integration ([@balloob] - [#27839]) ([conversation docs]) ([shopping_list docs])
- Use pre-commit in CI and tox ([@scop] - [#27743])
- Introduce new OAuth2 config flow helper ([@balloob] - [#27727]) ([somfy docs]) (breaking change)
- Move imports in fritzbox, fritz device tracker, fritzdect, fritzbox netmonitor ([@springstan] - [#27746]) ([fritz docs]) ([fritzbox docs]) ([fritzbox_netmonitor docs])
- Move imports in cppm_tracker component ([@Bouni] - [#27889]) ([cppm_tracker docs])
- Move imports in concord232 component ([@Bouni] - [#27887]) ([concord232 docs])
- Move imports in comfoconnect component ([@Bouni] - [#27886]) ([comfoconnect docs])
- Move imports in coinmarketcap component ([@Bouni] - [#27885]) ([coinmarketcap docs])
- Move imports in coinbase component ([@Bouni] - [#27884]) ([coinbase docs])
- Move imports in ciscospark component ([@Bouni] - [#27879])
- Move imports in cisco_webex_teams component ([@Bouni] - [#27878]) ([cisco_webex_teams docs])
- Move imports in cmus component ([@Bouni] - [#27883]) ([cmus docs])
- Move imports in cloud component ([@Bouni] - [#27881]) ([cloud docs])
- Add remove function to hue sensors ([@bramkragten] - [#27652]) ([hue docs])
- Move imports to top for hikvisioncam ([@briglx] - [#27895]) ([hikvisioncam docs])
- Move imports in coolmaster component ([@Bouni] - [#27888]) ([coolmaster docs])
- Move imports in cisco_mobility_express component ([@Bouni] - [#27877]) ([cisco_mobility_express docs])
- Move imports in cast component ([@Bouni] - [#27875]) ([cast docs])
- Move imports in canary component ([@Bouni] - [#27874]) ([canary docs])
- Move imports in buienradar component ([@Bouni] - [#27873]) ([buienradar docs])
- Move imports in channels component ([@Bouni] - [#27876]) ([channels docs])
- Move imports for nilu component ([@hfurubotten] - [#27896]) ([nilu docs])
- Guard cloud check ([@balloob] - [#27901]) ([owntracks docs]) ([smartthings docs])
- Bump keyring to 19.2.0 ([@foreign-sub] - [#27899])
- Better header check for OAuth2 helper ([@balloob] - [#27897])
- Vacuum reproduce state ([@Santobert] - [#27868]) ([vacuum docs])
- Azure pytest parallel ([@pvizeli] - [#27864])
- Move import for htu21d component ([@briglx] - [#27908]) ([htu21d docs])
- Move imports for hp_ilo components ([@briglx] - [#27906]) ([hp_ilo docs])
- Fix flaky integration test ([@balloob] - [#27905])
- Move imports in harmony component ([@briglx] - [#27904]) ([harmony docs])
- Move imports to top for harman_kardon_avr ([@briglx] - [#27903]) ([harman_kardon_avr docs])
- Dont create coroutine until acting on it ([@balloob] - [#27907]) ([google_assistant docs])
- Report state ([@elupus] - [#27759]) ([google_assistant docs])
- Upgrade pylint to 2.4.3 and astroid to 2.3.2 ([@scop] - [#27912])
- Run pylint parallel ([@pvizeli] - [#27919])
- Split homematic color and effect support ([@guillempages] - [#27299]) ([homematic docs])
- Add climate profiles to Homematic IP Cloud ([@SukramJ] - [#27772]) ([homematicip_cloud docs])
- Move imports in luftdaten component ([@Quentame] - [#27929]) ([luftdaten docs])
- Bump version of homematicip to 0.10.13 ([@SukramJ] - [#27928]) ([homematicip_cloud docs])
- Added night arm mode support to Envisalink component ([@gdrapp] - [#27087]) ([envisalink docs])
- Move imports in cpuspeed component ([@Bouni] - [#27890]) ([cpuspeed docs])
- Remove helper imports relying on installed requirements ([@balloob] - [#27898])
- Upgrade mypy to 0.740 ([@scop] - [#27913]) ([cover docs]) ([group docs]) ([sun docs]) ([switch docs]) ([websocket_api docs]) ([zone docs])
- Add improved scene support to the cover integration ([@Santobert] - [#27914]) ([cover docs])
- Bump abodepy version ([@shred86] - [#27931]) ([abode docs])
- Add support for AdGuard Home v0.99.0 ([@frenck] - [#27926]) ([adguard docs]) (breaking change)
- remove duplicate unique_id, add unique_id for issues ([@zxdavb] - [#27916]) ([geniushub docs]) (breaking change)
- Remove stride ([@hmmbob] - [#27934]) ([stride docs]) (breaking change)
- Import shuffle ([@balloob] - [#27935]) ([http docs]) ([persistent_notification docs]) ([stream docs])
- Update pysonos to 0.0.24 ([@timmccor] - [#27937]) ([sonos docs])
- Bump pybotvac ([@Santobert] - [#27933]) ([neato docs])
- Central update for Plex platforms ([@jjlawren] - [#27764]) ([plex docs])
- move imports in sonos component ([@Michsior14] - [#27938]) ([sonos docs])
- Move imports in smappee component ([@Michsior14] - [#27943]) ([smappee docs])
- move imports in snapcast component ([@Michsior14] - [#27940]) ([snapcast docs])
- Move imports in snmp component ([@Michsior14] - [#27939]) ([snmp docs])
- 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]) ([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])
- bugfix evohome and bump client ([@zxdavb] - [#27968]) ([evohome docs])
- Move imports in dte_energy_bridge component ([@djpremier] - [#27975]) ([dte_energy_bridge docs])
- Move imports in crimereports component ([@djpremier] - [#27973]) ([crimereports docs])
- move imports in serial component ([@zxdavb] - [#27971]) ([serial docs])
- Move imports in onvif component ([@djpremier] - [#27969]) ([onvif docs])
- Move imports in dweet component ([@djpremier] - [#27976]) ([dweet docs])
- Refactor entity_ids, tweak names and consolidate classes ([@zxdavb] - [#27921]) ([incomfort docs])
- Move imports for ebusd component ([@djpremier] - [#27979]) ([ebusd docs])
- isort the geniushub code ([@zxdavb] - [#27978]) ([geniushub docs])
- isort the evohome code ([@zxdavb] - [#27977]) ([evohome docs])
- Move imports in futurenow component ([@djpremier] - [#27991]) ([futurenow docs])
- Move imports in frontier_silicon component ([@djpremier] - [#27990]) ([frontier_silicon docs])
- Move imports in gc100 component ([@djpremier] - [#27993]) ([gc100 docs])
- Move imports in gntp component ([@djpremier] - [#27994]) ([gntp docs])
- Move imports in goalfeed component ([@djpremier] - [#27995]) ([goalfeed docs])
- Move imports in everlights component ([@djpremier] - [#27983]) ([everlights docs])
- Move imports in elkm1 component ([@djpremier] - [#27982]) ([elkm1 docs])
- Move imports in osramlightify component ([@javicalle] - [#27985]) ([osramlightify docs])
- Move imports in eliqonline component ([@djpremier] - [#27980]) ([eliqonline docs])
- Move imports in frontend component ([@djpremier] - [#27988]) ([frontend docs])
- Move imports in message_bird component ([@djpremier] - [#28022]) ([message_bird docs])
- Move imports in mopar component ([@djpremier] - [#28028])
- Move imports in mvglive component ([@djpremier] - [#28031]) ([mvglive docs])
- Move imports in mpd component ([@djpremier] - [#28030]) ([mpd docs])
- Move imports in namecheapdns component ([@djpremier] - [#28034]) ([namecheapdns docs])
- Move imports in neurio_energy component ([@djpremier] - [#28035]) ([neurio_energy docs])
- Move imports in openevse component ([@djpremier] - [#28043]) ([openevse docs])
- Move imports in magicseaweed component ([@djpremier] - [#28020]) ([magicseaweed docs])
- Move imports in lw12wifi component ([@djpremier] - [#28019]) ([lw12wifi docs])
- Move imports in logbook component ([@djpremier] - [#28016]) ([logbook docs])
- Move imports in lirc component ([@djpremier] - [#28015]) ([lirc docs])
- Move imports in linode component ([@djpremier] - [#28014]) ([linode docs])
- Move imports in oasa_telematics component ([@djpremier] - [#28039]) ([oasa_telematics docs])
- Move imports in iss component ([@djpremier] - [#28003]) ([iss docs])
- Move imports in iperf3 component ([@djpremier] - [#28002]) ([iperf3 docs])
- Move imports in pandora component ([@djpremier] - [#28045]) ([pandora docs])
- Move imports in otp component ([@djpremier] - [#28044]) ([otp docs])
- Move imports in ohmconnect component ([@djpremier] - [#28041]) ([ohmconnect docs])
- Move imports in norway_air component ([@djpremier] - [#28037]) ([norway_air docs])
- Move imports in niko_home_control component ([@djpremier] - [#28036]) ([niko_home_control docs])
- Move imports in mythicbeastsdns component ([@djpremier] - [#28033]) ([mythicbeastsdns docs])
- Move imports in mychevy component ([@djpremier] - [#28032]) ([mychevy docs])
- Move imports in mobile_app component ([@djpremier] - [#28027]) ([mobile_app docs])
- Add Vivotek camera component code owner ([@HarlemSquirrel] - [#28024]) ([vivotek docs])
- Move imports in metoffice component ([@djpremier] - [#28023]) ([metoffice docs])
- Move imports in lupusec component ([@djpremier] - [#28018]) ([lupusec docs])
- Move imports in loopenergy component ([@djpremier] - [#28017]) ([loopenergy docs])
- Move imports in lifx_legacy component ([@djpremier] - [#28013]) ([lifx_legacy docs])
- Move imports in lifx component ([@djpremier] - [#28012]) ([lifx docs])
- Move imports in lg_soundbar component ([@djpremier] - [#28011]) ([lg_soundbar docs])
- Glances config flow ([@engrbm87] - [#27221]) ([glances docs]) (breaking change)
- Move imports in konnected component ([@djpremier] - [#28009]) ([konnected docs])
- Move imports in juicenet component ([@djpremier] - [#28006]) ([juicenet docs])
- Move imports in insteon component ([@djpremier] - [#28001]) ([insteon docs])
- Move imports in greenwave component ([@djpremier] - [#27998]) ([greenwave docs])
- Move imports in kira component ([@djpremier] - [#28007]) ([kira docs])
- Move imports in itach component ([@djpremier] - [#28005]) ([itach docs])
- Move imports in gpsd component ([@djpremier] - [#27997]) ([gpsd docs])
- Make dispatch signals unique per server ([@jjlawren] - [#28029]) ([plex docs])
- Bump teslajsonpy and add update switch ([@alandtse] - [#27957]) ([tesla docs]) (breaking change)
- rest_command component should support PATCH method ([@pho3nixf1re] - [#27989]) ([rest_command docs])
- Upgrade discord.py to 1.2.4 ([@fabaff] - [#28054]) ([discord docs])
- Fix buienradar component and add smoke tests ([@ties] - [#27965]) ([buienradar docs])
- Code cleanup for orangepi_gpio ([@pascallj] - [#27958]) ([orangepi_gpio docs])
- Not slugify cert_expiry name ([@Quentame] - [#28055]) ([cert_expiry docs])
- Add hvac_action to geniushub ([@zxdavb] - [#28056]) ([geniushub docs])
- Add ESPHome sensor force_update option ([@OttoWinter] - [#28059]) ([esphome docs])
- Helpers type hint additions and improvements ([@scop] - [#27986])
- Include subscriber information when MQTT message can't be decoded ([@emontnemery] - [#28062]) ([mqtt docs])
- Leverage zigpy for IEEE address conversions ([@Adminiuga] - [#27972]) ([zha docs])
- Refactor Tradfri light group ([@ggravlingen] - [#27714]) ([tradfri docs])
- Fix mypy missing from dev install script ([@OttoWinter] - [#28060])
- Upgrade youtube_dl to version 2019.10.22 ([@BKPepe] - [#28070]) ([media_extractor docs])
- Move imports in piglow component ([@djpremier] - [#28046]) ([piglow docs])
- Counter configure with value ([@Santobert] - [#28066]) ([counter docs])
- Fix Plex test timeouts ([@jjlawren] - [#28077])
- Move remaining of ZHA imports to top level. ([@Adminiuga] - [#28071]) ([zha docs])
- Move imports in shodan component ([@djpremier] - [#28098]) ([shodan docs])
- Move imports in skybeacon component ([@djpremier] - [#28099]) ([skybeacon docs])
- Move imports in shiftr component ([@djpremier] - [#28097]) ([shiftr docs])
- Move imports in seven_segments component ([@djpremier] - [#28096]) ([seven_segments docs])
- Move imports in sesame component ([@djpremier] - [#28095]) ([sesame docs])
- Move imports in rpi_pfio component ([@djpremier] - [#28094]) ([rpi_pfio docs])
- Move imports in repetier component ([@djpremier] - [#28093]) ([repetier docs])
- Move imports in remember_the_milk component ([@djpremier] - [#28092]) ([remember_the_milk docs])
- Move imports in rejseplanen component ([@djpremier] - [#28091]) ([rejseplanen docs])
- Move imports in recollect_waste component ([@djpremier] - [#28089]) ([recollect_waste docs])
- Move imports in prometheus component ([@djpremier] - [#28086]) ([prometheus docs])
- Move imports in proliphix component ([@djpremier] - [#28085]) ([proliphix docs])
- Move imports in pocketcasts component ([@djpremier] - [#28084]) ([pocketcasts docs])
- Move imports in opencv component ([@djpremier] - [#28042]) ([opencv docs])
- Move imports in mitemp_bt component ([@djpremier] - [#28026]) ([mitemp_bt docs])
- Move imports in miflora component ([@djpremier] - [#28025]) ([miflora docs])
- Move imports in lastfm component ([@djpremier] - [#28010]) ([lastfm docs])
- Move imports in knx component ([@djpremier] - [#28008]) ([knx docs])
- Move imports in gtfs component ([@djpremier] - [#27999]) ([gtfs docs])
- Move imports in ptvsd component ([@djpremier] - [#28087]) ([ptvsd docs])
- Move imports in isy994 component ([@djpremier] - [#28004]) ([isy994 docs])
- Support to use Whatsapp numbers (fixes ##28065) ([@fabaff] - [#28078]) ([twilio docs]) ([twilio_call docs]) ([twilio_sms docs])
- Add modelnumber for ecobee4 ([@marthoc] - [#28107]) ([ecobee docs])
- Add support for more Orange Pi devices ([@pascallj] - [#28109]) ([orangepi_gpio docs])
- Add improved scene support to the counter integration ([@Santobert] - [#28103]) ([counter docs])
- Add support SQL VACUUM for PostgeSQL ([@bastshoes] - [#28106]) ([recorder docs])
- Move imports in dsmr component ([@djpremier] - [#27974]) ([dsmr docs])
- Minor tweaks for sensor device automations ([@emontnemery] - [#27829]) ([sensor docs])
- Fix test coverage, reverting top level import ptvsd ([@frenck] - [#28118]) ([ptvsd docs])
- Implement ToggleController, RangeController, and ModeController in alexa ([@ochlocracy] - [#27302]) ([alexa docs])
- Add option to specify mDNS advertised IP address for HomeKit Bridge ([@mback2k] - [#26791]) ([homekit docs])
- Support custom source type for MQTT device tracker ([@raman325] - [#27838]) ([mqtt docs])
- Add support for resource_template for rest sensor ([@fredrike] - [#27869]) ([rest docs])
- Support SmartStrip type devices (HS300, HS107) in tplink component ([@mattkasa] - [#26220]) ([tplink docs])
- Add template filters to convert objects to and from JSON strings ([@SteveDinn] - [#27909])
- Move imports in hue component ([@javicalle] - [#28121]) ([hue docs])
- Add improved scene support to the input_datetime integration ([@Santobert] - [#28105]) ([input_datetime docs])
- Fix #28104 - CalDav support for floating datetimes ([@lukas-hetzenecker] - [#28123]) ([caldav docs])
- Fix service descriptions ([@schmittx] - [#28122])
- Timer reproduce state ([@Santobert] - [#28117]) ([timer docs])
- Fix bootstrap dev dependencies message ([@scop] - [#28114])
- Move imports in wake_on_lan component ([@djpremier] - [#28100]) ([wake_on_lan docs])
- Open Hardware Monitor Sensor reconnect ([@Anonym-tsk] - [#28052]) ([openhardwaremonitor docs])
- Squeezebox LMS reconnect ([@Anonym-tsk] - [#27378]) ([squeezebox docs])
- Move imports in melissa component ([@djpremier] - [#28021]) ([melissa docs])
- Add Solar-Log platform ([@Ernst79] - [#27036]) ([solarlog docs]) (new-integration)
- Save client identifier from Plex auth for future use ([@jjlawren] - [#27951]) ([plex docs])
- Additional SSL validation checks for cert_expiry ([@jjlawren] - [#28047]) ([cert_expiry docs])
- New platform for Microsoft Teams ([@peroyvind] - [#27981]) ([msteams docs]) (new-integration)
- Fix issues with new tile 2020 devices ([@rolfberkenbosch] - [#28133]) ([tile docs])
- Add Alexa.ChannelController functions for media players ([@Dilbert66] - [#27671]) ([alexa docs])
- Move imports in nuheat component ([@djpremier] - [#28038]) ([nuheat docs])
- Move imports in raspihats component ([@djpremier] - [#28088]) ([raspihats docs])
- Round system monitor load averages to 2 decimal digits ([@scop] - [#27558]) ([systemmonitor docs])
- Cleanup typing and asserts for HomematicIP Cloud ([@SukramJ] - [#28144]) ([homematicip_cloud docs])
- Avoid query operations on a pjlink powered off projector ([@mflage] - [#28132]) ([pjlink docs])
- Fix Lutron Pico ([@JonGilmore] - [#27059]) ([lutron docs])
- Support for additional Abode timeline events ([@libots] - [#28124]) ([abode docs])
- Fix supported_features in mqtt cover ([@Tofandel] - [#28120]) ([mqtt docs])
- Downgrade aioHTTP 3.6.2 to 3.6.1 ([@pvizeli] - [#28143])
- Rebase Implement Alexa.DoorbellEventSource Interface Controller ([@ochlocracy] - [#27726]) ([alexa docs])
- Add support for SAJ inverters connected via WiFi ([@fredericvl] - [#27742]) ([saj docs])
- Config entry and device for Coolmaster integration ([@OnFreund] - [#27925]) ([coolmaster docs])
- changed STATE_OFF to STATE_STANDBY ([@Villhellm] - [#28148]) ([roku docs]) (breaking change)
- Allow multiple Transmission clients and add unique_id to entities ([@engrbm87] - [#28136]) ([transmission docs])
- Parallelize pylint everywhere ([@scop] - [#28149])
- Updated frontend to 20191023.0 ([@bramkragten] - [#28150]) ([frontend docs])

[#25900]: https://github.com/home-assistant/home-assistant/pull/25900
[#26220]: https://github.com/home-assistant/home-assistant/pull/26220
[#26375]: https://github.com/home-assistant/home-assistant/pull/26375
[#26502]: https://github.com/home-assistant/home-assistant/pull/26502
[#26579]: https://github.com/home-assistant/home-assistant/pull/26579
[#26585]: https://github.com/home-assistant/home-assistant/pull/26585
[#26630]: https://github.com/home-assistant/home-assistant/pull/26630
[#26699]: https://github.com/home-assistant/home-assistant/pull/26699
[#26791]: https://github.com/home-assistant/home-assistant/pull/26791
[#26864]: https://github.com/home-assistant/home-assistant/pull/26864
[#26868]: https://github.com/home-assistant/home-assistant/pull/26868
[#26940]: https://github.com/home-assistant/home-assistant/pull/26940
[#27033]: https://github.com/home-assistant/home-assistant/pull/27033
[#27035]: https://github.com/home-assistant/home-assistant/pull/27035
[#27036]: https://github.com/home-assistant/home-assistant/pull/27036
[#27047]: https://github.com/home-assistant/home-assistant/pull/27047
[#27059]: https://github.com/home-assistant/home-assistant/pull/27059
[#27063]: https://github.com/home-assistant/home-assistant/pull/27063
[#27078]: https://github.com/home-assistant/home-assistant/pull/27078
[#27081]: https://github.com/home-assistant/home-assistant/pull/27081
[#27086]: https://github.com/home-assistant/home-assistant/pull/27086
[#27087]: https://github.com/home-assistant/home-assistant/pull/27087
[#27089]: https://github.com/home-assistant/home-assistant/pull/27089
[#27096]: https://github.com/home-assistant/home-assistant/pull/27096
[#27103]: https://github.com/home-assistant/home-assistant/pull/27103
[#27109]: https://github.com/home-assistant/home-assistant/pull/27109
[#27140]: https://github.com/home-assistant/home-assistant/pull/27140
[#27141]: https://github.com/home-assistant/home-assistant/pull/27141
[#27143]: https://github.com/home-assistant/home-assistant/pull/27143
[#27144]: https://github.com/home-assistant/home-assistant/pull/27144
[#27148]: https://github.com/home-assistant/home-assistant/pull/27148
[#27150]: https://github.com/home-assistant/home-assistant/pull/27150
[#27153]: https://github.com/home-assistant/home-assistant/pull/27153
[#27155]: https://github.com/home-assistant/home-assistant/pull/27155
[#27157]: https://github.com/home-assistant/home-assistant/pull/27157
[#27158]: https://github.com/home-assistant/home-assistant/pull/27158
[#27159]: https://github.com/home-assistant/home-assistant/pull/27159
[#27163]: https://github.com/home-assistant/home-assistant/pull/27163
[#27167]: https://github.com/home-assistant/home-assistant/pull/27167
[#27168]: https://github.com/home-assistant/home-assistant/pull/27168
[#27169]: https://github.com/home-assistant/home-assistant/pull/27169
[#27178]: https://github.com/home-assistant/home-assistant/pull/27178
[#27181]: https://github.com/home-assistant/home-assistant/pull/27181
[#27182]: https://github.com/home-assistant/home-assistant/pull/27182
[#27192]: https://github.com/home-assistant/home-assistant/pull/27192
[#27199]: https://github.com/home-assistant/home-assistant/pull/27199
[#27200]: https://github.com/home-assistant/home-assistant/pull/27200
[#27202]: https://github.com/home-assistant/home-assistant/pull/27202
[#27203]: https://github.com/home-assistant/home-assistant/pull/27203
[#27204]: https://github.com/home-assistant/home-assistant/pull/27204
[#27211]: https://github.com/home-assistant/home-assistant/pull/27211
[#27214]: https://github.com/home-assistant/home-assistant/pull/27214
[#27215]: https://github.com/home-assistant/home-assistant/pull/27215
[#27216]: https://github.com/home-assistant/home-assistant/pull/27216
[#27217]: https://github.com/home-assistant/home-assistant/pull/27217
[#27218]: https://github.com/home-assistant/home-assistant/pull/27218
[#27221]: https://github.com/home-assistant/home-assistant/pull/27221
[#27222]: https://github.com/home-assistant/home-assistant/pull/27222
[#27223]: https://github.com/home-assistant/home-assistant/pull/27223
[#27225]: https://github.com/home-assistant/home-assistant/pull/27225
[#27226]: https://github.com/home-assistant/home-assistant/pull/27226
[#27227]: https://github.com/home-assistant/home-assistant/pull/27227
[#27228]: https://github.com/home-assistant/home-assistant/pull/27228
[#27229]: https://github.com/home-assistant/home-assistant/pull/27229
[#27231]: https://github.com/home-assistant/home-assistant/pull/27231
[#27232]: https://github.com/home-assistant/home-assistant/pull/27232
[#27234]: https://github.com/home-assistant/home-assistant/pull/27234
[#27238]: https://github.com/home-assistant/home-assistant/pull/27238
[#27240]: https://github.com/home-assistant/home-assistant/pull/27240
[#27245]: https://github.com/home-assistant/home-assistant/pull/27245
[#27247]: https://github.com/home-assistant/home-assistant/pull/27247
[#27249]: https://github.com/home-assistant/home-assistant/pull/27249
[#27253]: https://github.com/home-assistant/home-assistant/pull/27253
[#27259]: https://github.com/home-assistant/home-assistant/pull/27259
[#27260]: https://github.com/home-assistant/home-assistant/pull/27260
[#27261]: https://github.com/home-assistant/home-assistant/pull/27261
[#27262]: https://github.com/home-assistant/home-assistant/pull/27262
[#27263]: https://github.com/home-assistant/home-assistant/pull/27263
[#27264]: https://github.com/home-assistant/home-assistant/pull/27264
[#27265]: https://github.com/home-assistant/home-assistant/pull/27265
[#27267]: https://github.com/home-assistant/home-assistant/pull/27267
[#27279]: https://github.com/home-assistant/home-assistant/pull/27279
[#27282]: https://github.com/home-assistant/home-assistant/pull/27282
[#27286]: https://github.com/home-assistant/home-assistant/pull/27286
[#27287]: https://github.com/home-assistant/home-assistant/pull/27287
[#27294]: https://github.com/home-assistant/home-assistant/pull/27294
[#27298]: https://github.com/home-assistant/home-assistant/pull/27298
[#27299]: https://github.com/home-assistant/home-assistant/pull/27299
[#27300]: https://github.com/home-assistant/home-assistant/pull/27300
[#27302]: https://github.com/home-assistant/home-assistant/pull/27302
[#27311]: https://github.com/home-assistant/home-assistant/pull/27311
[#27313]: https://github.com/home-assistant/home-assistant/pull/27313
[#27314]: https://github.com/home-assistant/home-assistant/pull/27314
[#27316]: https://github.com/home-assistant/home-assistant/pull/27316
[#27317]: https://github.com/home-assistant/home-assistant/pull/27317
[#27320]: https://github.com/home-assistant/home-assistant/pull/27320
[#27322]: https://github.com/home-assistant/home-assistant/pull/27322
[#27323]: https://github.com/home-assistant/home-assistant/pull/27323
[#27325]: https://github.com/home-assistant/home-assistant/pull/27325
[#27327]: https://github.com/home-assistant/home-assistant/pull/27327
[#27328]: https://github.com/home-assistant/home-assistant/pull/27328
[#27331]: https://github.com/home-assistant/home-assistant/pull/27331
[#27333]: https://github.com/home-assistant/home-assistant/pull/27333
[#27334]: https://github.com/home-assistant/home-assistant/pull/27334
[#27339]: https://github.com/home-assistant/home-assistant/pull/27339
[#27340]: https://github.com/home-assistant/home-assistant/pull/27340
[#27344]: https://github.com/home-assistant/home-assistant/pull/27344
[#27348]: https://github.com/home-assistant/home-assistant/pull/27348
[#27349]: https://github.com/home-assistant/home-assistant/pull/27349
[#27352]: https://github.com/home-assistant/home-assistant/pull/27352
[#27353]: https://github.com/home-assistant/home-assistant/pull/27353
[#27356]: https://github.com/home-assistant/home-assistant/pull/27356
[#27358]: https://github.com/home-assistant/home-assistant/pull/27358
[#27359]: https://github.com/home-assistant/home-assistant/pull/27359
[#27360]: https://github.com/home-assistant/home-assistant/pull/27360
[#27361]: https://github.com/home-assistant/home-assistant/pull/27361
[#27362]: https://github.com/home-assistant/home-assistant/pull/27362
[#27363]: https://github.com/home-assistant/home-assistant/pull/27363
[#27365]: https://github.com/home-assistant/home-assistant/pull/27365
[#27367]: https://github.com/home-assistant/home-assistant/pull/27367
[#27368]: https://github.com/home-assistant/home-assistant/pull/27368
[#27369]: https://github.com/home-assistant/home-assistant/pull/27369
[#27378]: https://github.com/home-assistant/home-assistant/pull/27378
[#27381]: https://github.com/home-assistant/home-assistant/pull/27381
[#27382]: https://github.com/home-assistant/home-assistant/pull/27382
[#27383]: https://github.com/home-assistant/home-assistant/pull/27383
[#27384]: https://github.com/home-assistant/home-assistant/pull/27384
[#27386]: https://github.com/home-assistant/home-assistant/pull/27386
[#27387]: https://github.com/home-assistant/home-assistant/pull/27387
[#27388]: https://github.com/home-assistant/home-assistant/pull/27388
[#27389]: https://github.com/home-assistant/home-assistant/pull/27389
[#27390]: https://github.com/home-assistant/home-assistant/pull/27390
[#27391]: https://github.com/home-assistant/home-assistant/pull/27391
[#27392]: https://github.com/home-assistant/home-assistant/pull/27392
[#27393]: https://github.com/home-assistant/home-assistant/pull/27393
[#27399]: https://github.com/home-assistant/home-assistant/pull/27399
[#27401]: https://github.com/home-assistant/home-assistant/pull/27401
[#27402]: https://github.com/home-assistant/home-assistant/pull/27402
[#27405]: https://github.com/home-assistant/home-assistant/pull/27405
[#27406]: https://github.com/home-assistant/home-assistant/pull/27406
[#27407]: https://github.com/home-assistant/home-assistant/pull/27407
[#27408]: https://github.com/home-assistant/home-assistant/pull/27408
[#27409]: https://github.com/home-assistant/home-assistant/pull/27409
[#27413]: https://github.com/home-assistant/home-assistant/pull/27413
[#27416]: https://github.com/home-assistant/home-assistant/pull/27416
[#27420]: https://github.com/home-assistant/home-assistant/pull/27420
[#27422]: https://github.com/home-assistant/home-assistant/pull/27422
[#27428]: https://github.com/home-assistant/home-assistant/pull/27428
[#27430]: https://github.com/home-assistant/home-assistant/pull/27430
[#27431]: https://github.com/home-assistant/home-assistant/pull/27431
[#27432]: https://github.com/home-assistant/home-assistant/pull/27432
[#27433]: https://github.com/home-assistant/home-assistant/pull/27433
[#27438]: https://github.com/home-assistant/home-assistant/pull/27438
[#27439]: https://github.com/home-assistant/home-assistant/pull/27439
[#27440]: https://github.com/home-assistant/home-assistant/pull/27440
[#27441]: https://github.com/home-assistant/home-assistant/pull/27441
[#27443]: https://github.com/home-assistant/home-assistant/pull/27443
[#27444]: https://github.com/home-assistant/home-assistant/pull/27444
[#27448]: https://github.com/home-assistant/home-assistant/pull/27448
[#27449]: https://github.com/home-assistant/home-assistant/pull/27449
[#27450]: https://github.com/home-assistant/home-assistant/pull/27450
[#27451]: https://github.com/home-assistant/home-assistant/pull/27451
[#27452]: https://github.com/home-assistant/home-assistant/pull/27452
[#27454]: https://github.com/home-assistant/home-assistant/pull/27454
[#27456]: https://github.com/home-assistant/home-assistant/pull/27456
[#27457]: https://github.com/home-assistant/home-assistant/pull/27457
[#27458]: https://github.com/home-assistant/home-assistant/pull/27458
[#27459]: https://github.com/home-assistant/home-assistant/pull/27459
[#27460]: https://github.com/home-assistant/home-assistant/pull/27460
[#27467]: https://github.com/home-assistant/home-assistant/pull/27467
[#27468]: https://github.com/home-assistant/home-assistant/pull/27468
[#27469]: https://github.com/home-assistant/home-assistant/pull/27469
[#27472]: https://github.com/home-assistant/home-assistant/pull/27472
[#27473]: https://github.com/home-assistant/home-assistant/pull/27473
[#27474]: https://github.com/home-assistant/home-assistant/pull/27474
[#27476]: https://github.com/home-assistant/home-assistant/pull/27476
[#27477]: https://github.com/home-assistant/home-assistant/pull/27477
[#27478]: https://github.com/home-assistant/home-assistant/pull/27478
[#27480]: https://github.com/home-assistant/home-assistant/pull/27480
[#27481]: https://github.com/home-assistant/home-assistant/pull/27481
[#27483]: https://github.com/home-assistant/home-assistant/pull/27483
[#27485]: https://github.com/home-assistant/home-assistant/pull/27485
[#27487]: https://github.com/home-assistant/home-assistant/pull/27487
[#27488]: https://github.com/home-assistant/home-assistant/pull/27488
[#27494]: https://github.com/home-assistant/home-assistant/pull/27494
[#27495]: https://github.com/home-assistant/home-assistant/pull/27495
[#27496]: https://github.com/home-assistant/home-assistant/pull/27496
[#27497]: https://github.com/home-assistant/home-assistant/pull/27497
[#27498]: https://github.com/home-assistant/home-assistant/pull/27498
[#27499]: https://github.com/home-assistant/home-assistant/pull/27499
[#27500]: https://github.com/home-assistant/home-assistant/pull/27500
[#27501]: https://github.com/home-assistant/home-assistant/pull/27501
[#27502]: https://github.com/home-assistant/home-assistant/pull/27502
[#27503]: https://github.com/home-assistant/home-assistant/pull/27503
[#27505]: https://github.com/home-assistant/home-assistant/pull/27505
[#27506]: https://github.com/home-assistant/home-assistant/pull/27506
[#27507]: https://github.com/home-assistant/home-assistant/pull/27507
[#27508]: https://github.com/home-assistant/home-assistant/pull/27508
[#27509]: https://github.com/home-assistant/home-assistant/pull/27509
[#27510]: https://github.com/home-assistant/home-assistant/pull/27510
[#27511]: https://github.com/home-assistant/home-assistant/pull/27511
[#27512]: https://github.com/home-assistant/home-assistant/pull/27512
[#27513]: https://github.com/home-assistant/home-assistant/pull/27513
[#27514]: https://github.com/home-assistant/home-assistant/pull/27514
[#27519]: https://github.com/home-assistant/home-assistant/pull/27519
[#27523]: https://github.com/home-assistant/home-assistant/pull/27523
[#27526]: https://github.com/home-assistant/home-assistant/pull/27526
[#27530]: https://github.com/home-assistant/home-assistant/pull/27530
[#27532]: https://github.com/home-assistant/home-assistant/pull/27532
[#27533]: https://github.com/home-assistant/home-assistant/pull/27533
[#27534]: https://github.com/home-assistant/home-assistant/pull/27534
[#27535]: https://github.com/home-assistant/home-assistant/pull/27535
[#27536]: https://github.com/home-assistant/home-assistant/pull/27536
[#27543]: https://github.com/home-assistant/home-assistant/pull/27543
[#27544]: https://github.com/home-assistant/home-assistant/pull/27544
[#27549]: https://github.com/home-assistant/home-assistant/pull/27549
[#27553]: https://github.com/home-assistant/home-assistant/pull/27553
[#27555]: https://github.com/home-assistant/home-assistant/pull/27555
[#27556]: https://github.com/home-assistant/home-assistant/pull/27556
[#27558]: https://github.com/home-assistant/home-assistant/pull/27558
[#27560]: https://github.com/home-assistant/home-assistant/pull/27560
[#27563]: https://github.com/home-assistant/home-assistant/pull/27563
[#27565]: https://github.com/home-assistant/home-assistant/pull/27565
[#27567]: https://github.com/home-assistant/home-assistant/pull/27567
[#27568]: https://github.com/home-assistant/home-assistant/pull/27568
[#27571]: https://github.com/home-assistant/home-assistant/pull/27571
[#27578]: https://github.com/home-assistant/home-assistant/pull/27578
[#27579]: https://github.com/home-assistant/home-assistant/pull/27579
[#27580]: https://github.com/home-assistant/home-assistant/pull/27580
[#27581]: https://github.com/home-assistant/home-assistant/pull/27581
[#27583]: https://github.com/home-assistant/home-assistant/pull/27583
[#27584]: https://github.com/home-assistant/home-assistant/pull/27584
[#27585]: https://github.com/home-assistant/home-assistant/pull/27585
[#27586]: https://github.com/home-assistant/home-assistant/pull/27586
[#27588]: https://github.com/home-assistant/home-assistant/pull/27588
[#27589]: https://github.com/home-assistant/home-assistant/pull/27589
[#27591]: https://github.com/home-assistant/home-assistant/pull/27591
[#27597]: https://github.com/home-assistant/home-assistant/pull/27597
[#27598]: https://github.com/home-assistant/home-assistant/pull/27598
[#27600]: https://github.com/home-assistant/home-assistant/pull/27600
[#27601]: https://github.com/home-assistant/home-assistant/pull/27601
[#27602]: https://github.com/home-assistant/home-assistant/pull/27602
[#27603]: https://github.com/home-assistant/home-assistant/pull/27603
[#27604]: https://github.com/home-assistant/home-assistant/pull/27604
[#27606]: https://github.com/home-assistant/home-assistant/pull/27606
[#27608]: https://github.com/home-assistant/home-assistant/pull/27608
[#27610]: https://github.com/home-assistant/home-assistant/pull/27610
[#27613]: https://github.com/home-assistant/home-assistant/pull/27613
[#27615]: https://github.com/home-assistant/home-assistant/pull/27615
[#27616]: https://github.com/home-assistant/home-assistant/pull/27616
[#27617]: https://github.com/home-assistant/home-assistant/pull/27617
[#27618]: https://github.com/home-assistant/home-assistant/pull/27618
[#27620]: https://github.com/home-assistant/home-assistant/pull/27620
[#27622]: https://github.com/home-assistant/home-assistant/pull/27622
[#27630]: https://github.com/home-assistant/home-assistant/pull/27630
[#27632]: https://github.com/home-assistant/home-assistant/pull/27632
[#27633]: https://github.com/home-assistant/home-assistant/pull/27633
[#27634]: https://github.com/home-assistant/home-assistant/pull/27634
[#27636]: https://github.com/home-assistant/home-assistant/pull/27636
[#27637]: https://github.com/home-assistant/home-assistant/pull/27637
[#27638]: https://github.com/home-assistant/home-assistant/pull/27638
[#27640]: https://github.com/home-assistant/home-assistant/pull/27640
[#27641]: https://github.com/home-assistant/home-assistant/pull/27641
[#27645]: https://github.com/home-assistant/home-assistant/pull/27645
[#27646]: https://github.com/home-assistant/home-assistant/pull/27646
[#27647]: https://github.com/home-assistant/home-assistant/pull/27647
[#27648]: https://github.com/home-assistant/home-assistant/pull/27648
[#27649]: https://github.com/home-assistant/home-assistant/pull/27649
[#27650]: https://github.com/home-assistant/home-assistant/pull/27650
[#27652]: https://github.com/home-assistant/home-assistant/pull/27652
[#27653]: https://github.com/home-assistant/home-assistant/pull/27653
[#27654]: https://github.com/home-assistant/home-assistant/pull/27654
[#27656]: https://github.com/home-assistant/home-assistant/pull/27656
[#27658]: https://github.com/home-assistant/home-assistant/pull/27658
[#27661]: https://github.com/home-assistant/home-assistant/pull/27661
[#27663]: https://github.com/home-assistant/home-assistant/pull/27663
[#27664]: https://github.com/home-assistant/home-assistant/pull/27664
[#27665]: https://github.com/home-assistant/home-assistant/pull/27665
[#27669]: https://github.com/home-assistant/home-assistant/pull/27669
[#27671]: https://github.com/home-assistant/home-assistant/pull/27671
[#27675]: https://github.com/home-assistant/home-assistant/pull/27675
[#27676]: https://github.com/home-assistant/home-assistant/pull/27676
[#27677]: https://github.com/home-assistant/home-assistant/pull/27677
[#27678]: https://github.com/home-assistant/home-assistant/pull/27678
[#27679]: https://github.com/home-assistant/home-assistant/pull/27679
[#27680]: https://github.com/home-assistant/home-assistant/pull/27680
[#27682]: https://github.com/home-assistant/home-assistant/pull/27682
[#27683]: https://github.com/home-assistant/home-assistant/pull/27683
[#27686]: https://github.com/home-assistant/home-assistant/pull/27686
[#27687]: https://github.com/home-assistant/home-assistant/pull/27687
[#27689]: https://github.com/home-assistant/home-assistant/pull/27689
[#27693]: https://github.com/home-assistant/home-assistant/pull/27693
[#27695]: https://github.com/home-assistant/home-assistant/pull/27695
[#27696]: https://github.com/home-assistant/home-assistant/pull/27696
[#27697]: https://github.com/home-assistant/home-assistant/pull/27697
[#27698]: https://github.com/home-assistant/home-assistant/pull/27698
[#27703]: https://github.com/home-assistant/home-assistant/pull/27703
[#27705]: https://github.com/home-assistant/home-assistant/pull/27705
[#27713]: https://github.com/home-assistant/home-assistant/pull/27713
[#27714]: https://github.com/home-assistant/home-assistant/pull/27714
[#27715]: https://github.com/home-assistant/home-assistant/pull/27715
[#27716]: https://github.com/home-assistant/home-assistant/pull/27716
[#27717]: https://github.com/home-assistant/home-assistant/pull/27717
[#27718]: https://github.com/home-assistant/home-assistant/pull/27718
[#27726]: https://github.com/home-assistant/home-assistant/pull/27726
[#27727]: https://github.com/home-assistant/home-assistant/pull/27727
[#27728]: https://github.com/home-assistant/home-assistant/pull/27728
[#27731]: https://github.com/home-assistant/home-assistant/pull/27731
[#27733]: https://github.com/home-assistant/home-assistant/pull/27733
[#27734]: https://github.com/home-assistant/home-assistant/pull/27734
[#27737]: https://github.com/home-assistant/home-assistant/pull/27737
[#27739]: https://github.com/home-assistant/home-assistant/pull/27739
[#27741]: https://github.com/home-assistant/home-assistant/pull/27741
[#27742]: https://github.com/home-assistant/home-assistant/pull/27742
[#27743]: https://github.com/home-assistant/home-assistant/pull/27743
[#27745]: https://github.com/home-assistant/home-assistant/pull/27745
[#27746]: https://github.com/home-assistant/home-assistant/pull/27746
[#27747]: https://github.com/home-assistant/home-assistant/pull/27747
[#27752]: https://github.com/home-assistant/home-assistant/pull/27752
[#27753]: https://github.com/home-assistant/home-assistant/pull/27753
[#27759]: https://github.com/home-assistant/home-assistant/pull/27759
[#27764]: https://github.com/home-assistant/home-assistant/pull/27764
[#27769]: https://github.com/home-assistant/home-assistant/pull/27769
[#27771]: https://github.com/home-assistant/home-assistant/pull/27771
[#27772]: https://github.com/home-assistant/home-assistant/pull/27772
[#27774]: https://github.com/home-assistant/home-assistant/pull/27774
[#27776]: https://github.com/home-assistant/home-assistant/pull/27776
[#27777]: https://github.com/home-assistant/home-assistant/pull/27777
[#27778]: https://github.com/home-assistant/home-assistant/pull/27778
[#27779]: https://github.com/home-assistant/home-assistant/pull/27779
[#27781]: https://github.com/home-assistant/home-assistant/pull/27781
[#27782]: https://github.com/home-assistant/home-assistant/pull/27782
[#27784]: https://github.com/home-assistant/home-assistant/pull/27784
[#27785]: https://github.com/home-assistant/home-assistant/pull/27785
[#27787]: https://github.com/home-assistant/home-assistant/pull/27787
[#27788]: https://github.com/home-assistant/home-assistant/pull/27788
[#27789]: https://github.com/home-assistant/home-assistant/pull/27789
[#27790]: https://github.com/home-assistant/home-assistant/pull/27790
[#27791]: https://github.com/home-assistant/home-assistant/pull/27791
[#27792]: https://github.com/home-assistant/home-assistant/pull/27792
[#27793]: https://github.com/home-assistant/home-assistant/pull/27793
[#27794]: https://github.com/home-assistant/home-assistant/pull/27794
[#27797]: https://github.com/home-assistant/home-assistant/pull/27797
[#27798]: https://github.com/home-assistant/home-assistant/pull/27798
[#27799]: https://github.com/home-assistant/home-assistant/pull/27799
[#27803]: https://github.com/home-assistant/home-assistant/pull/27803
[#27804]: https://github.com/home-assistant/home-assistant/pull/27804
[#27805]: https://github.com/home-assistant/home-assistant/pull/27805
[#27806]: https://github.com/home-assistant/home-assistant/pull/27806
[#27807]: https://github.com/home-assistant/home-assistant/pull/27807
[#27810]: https://github.com/home-assistant/home-assistant/pull/27810
[#27811]: https://github.com/home-assistant/home-assistant/pull/27811
[#27812]: https://github.com/home-assistant/home-assistant/pull/27812
[#27813]: https://github.com/home-assistant/home-assistant/pull/27813
[#27814]: https://github.com/home-assistant/home-assistant/pull/27814
[#27815]: https://github.com/home-assistant/home-assistant/pull/27815
[#27820]: https://github.com/home-assistant/home-assistant/pull/27820
[#27821]: https://github.com/home-assistant/home-assistant/pull/27821
[#27822]: https://github.com/home-assistant/home-assistant/pull/27822
[#27823]: https://github.com/home-assistant/home-assistant/pull/27823
[#27825]: https://github.com/home-assistant/home-assistant/pull/27825
[#27826]: https://github.com/home-assistant/home-assistant/pull/27826
[#27827]: https://github.com/home-assistant/home-assistant/pull/27827
[#27829]: https://github.com/home-assistant/home-assistant/pull/27829
[#27831]: https://github.com/home-assistant/home-assistant/pull/27831
[#27835]: https://github.com/home-assistant/home-assistant/pull/27835
[#27838]: https://github.com/home-assistant/home-assistant/pull/27838
[#27839]: https://github.com/home-assistant/home-assistant/pull/27839
[#27842]: https://github.com/home-assistant/home-assistant/pull/27842
[#27849]: https://github.com/home-assistant/home-assistant/pull/27849
[#27850]: https://github.com/home-assistant/home-assistant/pull/27850
[#27851]: https://github.com/home-assistant/home-assistant/pull/27851
[#27852]: https://github.com/home-assistant/home-assistant/pull/27852
[#27853]: https://github.com/home-assistant/home-assistant/pull/27853
[#27854]: https://github.com/home-assistant/home-assistant/pull/27854
[#27856]: https://github.com/home-assistant/home-assistant/pull/27856
[#27857]: https://github.com/home-assistant/home-assistant/pull/27857
[#27859]: https://github.com/home-assistant/home-assistant/pull/27859
[#27861]: https://github.com/home-assistant/home-assistant/pull/27861
[#27864]: https://github.com/home-assistant/home-assistant/pull/27864
[#27868]: https://github.com/home-assistant/home-assistant/pull/27868
[#27869]: https://github.com/home-assistant/home-assistant/pull/27869
[#27873]: https://github.com/home-assistant/home-assistant/pull/27873
[#27874]: https://github.com/home-assistant/home-assistant/pull/27874
[#27875]: https://github.com/home-assistant/home-assistant/pull/27875
[#27876]: https://github.com/home-assistant/home-assistant/pull/27876
[#27877]: https://github.com/home-assistant/home-assistant/pull/27877
[#27878]: https://github.com/home-assistant/home-assistant/pull/27878
[#27879]: https://github.com/home-assistant/home-assistant/pull/27879
[#27881]: https://github.com/home-assistant/home-assistant/pull/27881
[#27883]: https://github.com/home-assistant/home-assistant/pull/27883
[#27884]: https://github.com/home-assistant/home-assistant/pull/27884
[#27885]: https://github.com/home-assistant/home-assistant/pull/27885
[#27886]: https://github.com/home-assistant/home-assistant/pull/27886
[#27887]: https://github.com/home-assistant/home-assistant/pull/27887
[#27888]: https://github.com/home-assistant/home-assistant/pull/27888
[#27889]: https://github.com/home-assistant/home-assistant/pull/27889
[#27890]: https://github.com/home-assistant/home-assistant/pull/27890
[#27895]: https://github.com/home-assistant/home-assistant/pull/27895
[#27896]: https://github.com/home-assistant/home-assistant/pull/27896
[#27897]: https://github.com/home-assistant/home-assistant/pull/27897
[#27898]: https://github.com/home-assistant/home-assistant/pull/27898
[#27899]: https://github.com/home-assistant/home-assistant/pull/27899
[#27901]: https://github.com/home-assistant/home-assistant/pull/27901
[#27903]: https://github.com/home-assistant/home-assistant/pull/27903
[#27904]: https://github.com/home-assistant/home-assistant/pull/27904
[#27905]: https://github.com/home-assistant/home-assistant/pull/27905
[#27906]: https://github.com/home-assistant/home-assistant/pull/27906
[#27907]: https://github.com/home-assistant/home-assistant/pull/27907
[#27908]: https://github.com/home-assistant/home-assistant/pull/27908
[#27909]: https://github.com/home-assistant/home-assistant/pull/27909
[#27912]: https://github.com/home-assistant/home-assistant/pull/27912
[#27913]: https://github.com/home-assistant/home-assistant/pull/27913
[#27914]: https://github.com/home-assistant/home-assistant/pull/27914
[#27916]: https://github.com/home-assistant/home-assistant/pull/27916
[#27919]: https://github.com/home-assistant/home-assistant/pull/27919
[#27921]: https://github.com/home-assistant/home-assistant/pull/27921
[#27925]: https://github.com/home-assistant/home-assistant/pull/27925
[#27926]: https://github.com/home-assistant/home-assistant/pull/27926
[#27928]: https://github.com/home-assistant/home-assistant/pull/27928
[#27929]: https://github.com/home-assistant/home-assistant/pull/27929
[#27930]: https://github.com/home-assistant/home-assistant/pull/27930
[#27931]: https://github.com/home-assistant/home-assistant/pull/27931
[#27933]: https://github.com/home-assistant/home-assistant/pull/27933
[#27934]: https://github.com/home-assistant/home-assistant/pull/27934
[#27935]: https://github.com/home-assistant/home-assistant/pull/27935
[#27936]: https://github.com/home-assistant/home-assistant/pull/27936
[#27937]: https://github.com/home-assistant/home-assistant/pull/27937
[#27938]: https://github.com/home-assistant/home-assistant/pull/27938
[#27939]: https://github.com/home-assistant/home-assistant/pull/27939
[#27940]: https://github.com/home-assistant/home-assistant/pull/27940
[#27942]: https://github.com/home-assistant/home-assistant/pull/27942
[#27943]: https://github.com/home-assistant/home-assistant/pull/27943
[#27945]: https://github.com/home-assistant/home-assistant/pull/27945
[#27946]: https://github.com/home-assistant/home-assistant/pull/27946
[#27951]: https://github.com/home-assistant/home-assistant/pull/27951
[#27957]: https://github.com/home-assistant/home-assistant/pull/27957
[#27958]: https://github.com/home-assistant/home-assistant/pull/27958
[#27965]: https://github.com/home-assistant/home-assistant/pull/27965
[#27968]: https://github.com/home-assistant/home-assistant/pull/27968
[#27969]: https://github.com/home-assistant/home-assistant/pull/27969
[#27971]: https://github.com/home-assistant/home-assistant/pull/27971
[#27972]: https://github.com/home-assistant/home-assistant/pull/27972
[#27973]: https://github.com/home-assistant/home-assistant/pull/27973
[#27974]: https://github.com/home-assistant/home-assistant/pull/27974
[#27975]: https://github.com/home-assistant/home-assistant/pull/27975
[#27976]: https://github.com/home-assistant/home-assistant/pull/27976
[#27977]: https://github.com/home-assistant/home-assistant/pull/27977
[#27978]: https://github.com/home-assistant/home-assistant/pull/27978
[#27979]: https://github.com/home-assistant/home-assistant/pull/27979
[#27980]: https://github.com/home-assistant/home-assistant/pull/27980
[#27981]: https://github.com/home-assistant/home-assistant/pull/27981
[#27982]: https://github.com/home-assistant/home-assistant/pull/27982
[#27983]: https://github.com/home-assistant/home-assistant/pull/27983
[#27985]: https://github.com/home-assistant/home-assistant/pull/27985
[#27986]: https://github.com/home-assistant/home-assistant/pull/27986
[#27988]: https://github.com/home-assistant/home-assistant/pull/27988
[#27989]: https://github.com/home-assistant/home-assistant/pull/27989
[#27990]: https://github.com/home-assistant/home-assistant/pull/27990
[#27991]: https://github.com/home-assistant/home-assistant/pull/27991
[#27993]: https://github.com/home-assistant/home-assistant/pull/27993
[#27994]: https://github.com/home-assistant/home-assistant/pull/27994
[#27995]: https://github.com/home-assistant/home-assistant/pull/27995
[#27997]: https://github.com/home-assistant/home-assistant/pull/27997
[#27998]: https://github.com/home-assistant/home-assistant/pull/27998
[#27999]: https://github.com/home-assistant/home-assistant/pull/27999
[#28001]: https://github.com/home-assistant/home-assistant/pull/28001
[#28002]: https://github.com/home-assistant/home-assistant/pull/28002
[#28003]: https://github.com/home-assistant/home-assistant/pull/28003
[#28004]: https://github.com/home-assistant/home-assistant/pull/28004
[#28005]: https://github.com/home-assistant/home-assistant/pull/28005
[#28006]: https://github.com/home-assistant/home-assistant/pull/28006
[#28007]: https://github.com/home-assistant/home-assistant/pull/28007
[#28008]: https://github.com/home-assistant/home-assistant/pull/28008
[#28009]: https://github.com/home-assistant/home-assistant/pull/28009
[#28010]: https://github.com/home-assistant/home-assistant/pull/28010
[#28011]: https://github.com/home-assistant/home-assistant/pull/28011
[#28012]: https://github.com/home-assistant/home-assistant/pull/28012
[#28013]: https://github.com/home-assistant/home-assistant/pull/28013
[#28014]: https://github.com/home-assistant/home-assistant/pull/28014
[#28015]: https://github.com/home-assistant/home-assistant/pull/28015
[#28016]: https://github.com/home-assistant/home-assistant/pull/28016
[#28017]: https://github.com/home-assistant/home-assistant/pull/28017
[#28018]: https://github.com/home-assistant/home-assistant/pull/28018
[#28019]: https://github.com/home-assistant/home-assistant/pull/28019
[#28020]: https://github.com/home-assistant/home-assistant/pull/28020
[#28021]: https://github.com/home-assistant/home-assistant/pull/28021
[#28022]: https://github.com/home-assistant/home-assistant/pull/28022
[#28023]: https://github.com/home-assistant/home-assistant/pull/28023
[#28024]: https://github.com/home-assistant/home-assistant/pull/28024
[#28025]: https://github.com/home-assistant/home-assistant/pull/28025
[#28026]: https://github.com/home-assistant/home-assistant/pull/28026
[#28027]: https://github.com/home-assistant/home-assistant/pull/28027
[#28028]: https://github.com/home-assistant/home-assistant/pull/28028
[#28029]: https://github.com/home-assistant/home-assistant/pull/28029
[#28030]: https://github.com/home-assistant/home-assistant/pull/28030
[#28031]: https://github.com/home-assistant/home-assistant/pull/28031
[#28032]: https://github.com/home-assistant/home-assistant/pull/28032
[#28033]: https://github.com/home-assistant/home-assistant/pull/28033
[#28034]: https://github.com/home-assistant/home-assistant/pull/28034
[#28035]: https://github.com/home-assistant/home-assistant/pull/28035
[#28036]: https://github.com/home-assistant/home-assistant/pull/28036
[#28037]: https://github.com/home-assistant/home-assistant/pull/28037
[#28038]: https://github.com/home-assistant/home-assistant/pull/28038
[#28039]: https://github.com/home-assistant/home-assistant/pull/28039
[#28041]: https://github.com/home-assistant/home-assistant/pull/28041
[#28042]: https://github.com/home-assistant/home-assistant/pull/28042
[#28043]: https://github.com/home-assistant/home-assistant/pull/28043
[#28044]: https://github.com/home-assistant/home-assistant/pull/28044
[#28045]: https://github.com/home-assistant/home-assistant/pull/28045
[#28046]: https://github.com/home-assistant/home-assistant/pull/28046
[#28047]: https://github.com/home-assistant/home-assistant/pull/28047
[#28052]: https://github.com/home-assistant/home-assistant/pull/28052
[#28054]: https://github.com/home-assistant/home-assistant/pull/28054
[#28055]: https://github.com/home-assistant/home-assistant/pull/28055
[#28056]: https://github.com/home-assistant/home-assistant/pull/28056
[#28059]: https://github.com/home-assistant/home-assistant/pull/28059
[#28060]: https://github.com/home-assistant/home-assistant/pull/28060
[#28062]: https://github.com/home-assistant/home-assistant/pull/28062
[#28066]: https://github.com/home-assistant/home-assistant/pull/28066
[#28070]: https://github.com/home-assistant/home-assistant/pull/28070
[#28071]: https://github.com/home-assistant/home-assistant/pull/28071
[#28077]: https://github.com/home-assistant/home-assistant/pull/28077
[#28078]: https://github.com/home-assistant/home-assistant/pull/28078
[#28084]: https://github.com/home-assistant/home-assistant/pull/28084
[#28085]: https://github.com/home-assistant/home-assistant/pull/28085
[#28086]: https://github.com/home-assistant/home-assistant/pull/28086
[#28087]: https://github.com/home-assistant/home-assistant/pull/28087
[#28088]: https://github.com/home-assistant/home-assistant/pull/28088
[#28089]: https://github.com/home-assistant/home-assistant/pull/28089
[#28091]: https://github.com/home-assistant/home-assistant/pull/28091
[#28092]: https://github.com/home-assistant/home-assistant/pull/28092
[#28093]: https://github.com/home-assistant/home-assistant/pull/28093
[#28094]: https://github.com/home-assistant/home-assistant/pull/28094
[#28095]: https://github.com/home-assistant/home-assistant/pull/28095
[#28096]: https://github.com/home-assistant/home-assistant/pull/28096
[#28097]: https://github.com/home-assistant/home-assistant/pull/28097
[#28098]: https://github.com/home-assistant/home-assistant/pull/28098
[#28099]: https://github.com/home-assistant/home-assistant/pull/28099
[#28100]: https://github.com/home-assistant/home-assistant/pull/28100
[#28103]: https://github.com/home-assistant/home-assistant/pull/28103
[#28105]: https://github.com/home-assistant/home-assistant/pull/28105
[#28106]: https://github.com/home-assistant/home-assistant/pull/28106
[#28107]: https://github.com/home-assistant/home-assistant/pull/28107
[#28109]: https://github.com/home-assistant/home-assistant/pull/28109
[#28114]: https://github.com/home-assistant/home-assistant/pull/28114
[#28117]: https://github.com/home-assistant/home-assistant/pull/28117
[#28118]: https://github.com/home-assistant/home-assistant/pull/28118
[#28120]: https://github.com/home-assistant/home-assistant/pull/28120
[#28121]: https://github.com/home-assistant/home-assistant/pull/28121
[#28122]: https://github.com/home-assistant/home-assistant/pull/28122
[#28123]: https://github.com/home-assistant/home-assistant/pull/28123
[#28124]: https://github.com/home-assistant/home-assistant/pull/28124
[#28132]: https://github.com/home-assistant/home-assistant/pull/28132
[#28133]: https://github.com/home-assistant/home-assistant/pull/28133
[#28136]: https://github.com/home-assistant/home-assistant/pull/28136
[#28143]: https://github.com/home-assistant/home-assistant/pull/28143
[#28144]: https://github.com/home-assistant/home-assistant/pull/28144
[#28148]: https://github.com/home-assistant/home-assistant/pull/28148
[#28149]: https://github.com/home-assistant/home-assistant/pull/28149
[#28150]: https://github.com/home-assistant/home-assistant/pull/28150
[@aarondavidschneider]: https://github.com/AaronDavidSchneider
[@adminiuga]: https://github.com/Adminiuga
[@anonym-tsk]: https://github.com/Anonym-tsk
[@bkpepe]: https://github.com/BKPepe
[@bouni]: https://github.com/Bouni
[@cqoute]: https://github.com/CQoute
[@cinntax]: https://github.com/Cinntax
[@danielhiversen]: https://github.com/Danielhiversen
[@dilbert66]: https://github.com/Dilbert66
[@ernst79]: https://github.com/Ernst79
[@harlemsquirrel]: https://github.com/HarlemSquirrel
[@jefflirion]: https://github.com/JeffLIrion
[@jongilmore]: https://github.com/JonGilmore
[@kane610]: https://github.com/Kane610
[@magicaltrev89]: https://github.com/MagicalTrev89
[@michsior14]: https://github.com/Michsior14
[@misiu]: https://github.com/Misiu
[@mofeywalker]: https://github.com/Mofeywalker
[@onfreund]: https://github.com/OnFreund
[@ottowinter]: https://github.com/OttoWinter
[@quentame]: https://github.com/Quentame
[@ryanewen]: https://github.com/RyanEwen
[@santobert]: https://github.com/Santobert
[@soldiercorp]: https://github.com/SoldierCorp
[@stevedinn]: https://github.com/SteveDinn
[@sukramj]: https://github.com/SukramJ
[@tofandel]: https://github.com/Tofandel
[@villhellm]: https://github.com/Villhellm
[@abstrakct]: https://github.com/abstrakct
[@alandtse]: https://github.com/alandtse
[@antlarr]: https://github.com/antlarr
[@balloob]: https://github.com/balloob
[@bastshoes]: https://github.com/bastshoes
[@bbrendon]: https://github.com/bbrendon
[@bendikrb]: https://github.com/bendikrb
[@bhageena]: https://github.com/bhageena
[@bieniu]: https://github.com/bieniu
[@bramkragten]: https://github.com/bramkragten
[@briglx]: https://github.com/briglx
[@bvlaicu]: https://github.com/bvlaicu
[@bwarden]: https://github.com/bwarden
[@caronc]: https://github.com/caronc
[@cgtobi]: https://github.com/cgtobi
[@crazyfx1]: https://github.com/crazyfx1
[@cyberjacob]: https://github.com/cyberjacob
[@danielperna84]: https://github.com/danielperna84
[@definitio]: https://github.com/definitio
[@delphiki]: https://github.com/delphiki
[@djpremier]: https://github.com/djpremier
[@doudz]: https://github.com/doudz
[@dshokouhi]: https://github.com/dshokouhi
[@eifinger]: https://github.com/eifinger
[@elupus]: https://github.com/elupus
[@emontnemery]: https://github.com/emontnemery
[@engrbm87]: https://github.com/engrbm87
[@evanjd]: https://github.com/evanjd
[@exxamalte]: https://github.com/exxamalte
[@fabaff]: https://github.com/fabaff
[@foreign-sub]: https://github.com/foreign-sub
[@foxel]: https://github.com/foxel
[@foxy82]: https://github.com/foxy82
[@fredericvl]: https://github.com/fredericvl
[@fredrike]: https://github.com/fredrike
[@frenck]: https://github.com/frenck
[@fronzbot]: https://github.com/fronzbot
[@gdrapp]: https://github.com/gdrapp
[@ggravlingen]: https://github.com/ggravlingen
[@gonzalezcalleja]: https://github.com/gonzalezcalleja
[@guillempages]: https://github.com/guillempages
[@hfurubotten]: https://github.com/hfurubotten
[@hmmbob]: https://github.com/hmmbob
[@hugheaves]: https://github.com/hugheaves
[@javicalle]: https://github.com/javicalle
[@jensihnow]: https://github.com/jensihnow
[@jjlawren]: https://github.com/jjlawren
[@kennedyshead]: https://github.com/kennedyshead
[@ktnrg45]: https://github.com/ktnrg45
[@libots]: https://github.com/libots
[@luca-angemi]: https://github.com/luca-angemi
[@lukas-hetzenecker]: https://github.com/lukas-hetzenecker
[@marthoc]: https://github.com/marthoc
[@mattkasa]: https://github.com/mattkasa
[@mback2k]: https://github.com/mback2k
[@mdonoughe]: https://github.com/mdonoughe
[@mezz64]: https://github.com/mezz64
[@mflage]: https://github.com/mflage
[@mjrider]: https://github.com/mjrider
[@mnigbur]: https://github.com/mnigbur
[@mvn23]: https://github.com/mvn23
[@mzdrale]: https://github.com/mzdrale
[@ochlocracy]: https://github.com/ochlocracy
[@oncleben31]: https://github.com/oncleben31
[@ottersen]: https://github.com/ottersen
[@pascallj]: https://github.com/pascallj
[@peroyvind]: https://github.com/peroyvind
[@pho3nixf1re]: https://github.com/pho3nixf1re
[@pvizeli]: https://github.com/pvizeli
[@quthla]: https://github.com/quthla
[@raman325]: https://github.com/raman325
[@ratsept]: https://github.com/ratsept
[@rishatik92]: https://github.com/rishatik92
[@rolfberkenbosch]: https://github.com/rolfberkenbosch
[@rytilahti]: https://github.com/rytilahti
[@scheric]: https://github.com/scheric
[@schmittx]: https://github.com/schmittx
[@scop]: https://github.com/scop
[@sermayoral]: https://github.com/sermayoral
[@shred86]: https://github.com/shred86
[@skgsergio]: https://github.com/skgsergio
[@snowzach]: https://github.com/snowzach
[@space-pope]: https://github.com/space-pope
[@springstan]: https://github.com/springstan
[@starkillerog]: https://github.com/starkillerOG
[@stevendlander]: https://github.com/stevendlander
[@syssi]: https://github.com/syssi
[@tefinger]: https://github.com/tefinger
[@thaohtp]: https://github.com/thaohtp
[@ties]: https://github.com/ties
[@timmccor]: https://github.com/timmccor
[@tombbo]: https://github.com/tombbo
[@tsvi]: https://github.com/tsvi
[@tulindo]: https://github.com/tulindo
[@vangorra]: https://github.com/vangorra
[@zxdavb]: https://github.com/zxdavb
[abode docs]: /integrations/abode/
[acer_projector docs]: /integrations/acer_projector/
[adguard docs]: /integrations/adguard/
[ads docs]: /integrations/ads/
[airly docs]: /integrations/airly/
[airvisual docs]: /integrations/airvisual/
[aladdin_connect docs]: /integrations/aladdin_connect/
[alarm_control_panel docs]: /integrations/alarm_control_panel/
[alarmdecoder docs]: /integrations/alarmdecoder/
[alexa docs]: /integrations/alexa/
[alpha_vantage docs]: /integrations/alpha_vantage/
[amazon_polly docs]: /integrations/amazon_polly/
[amcrest docs]: /integrations/amcrest/
[ampio docs]: /integrations/ampio/
[android_ip_webcam docs]: /integrations/android_ip_webcam/
[androidtv docs]: /integrations/androidtv/
[anel_pwrctrl docs]: /integrations/anel_pwrctrl/
[anthemav docs]: /integrations/anthemav/
[apcupsd docs]: /integrations/apcupsd/
[apns docs]: /integrations/apns/
[apple_tv docs]: /integrations/apple_tv/
[apprise docs]: /integrations/apprise/
[aprs docs]: /integrations/aprs/
[aqualogic docs]: /integrations/aqualogic/
[aquostv docs]: /integrations/aquostv/
[arduino docs]: /integrations/arduino/
[arlo docs]: /integrations/arlo/
[aruba docs]: /integrations/aruba/
[asterisk_mbox docs]: /integrations/asterisk_mbox/
[august docs]: /integrations/august/
[auth docs]: /integrations/auth/
[automation docs]: /integrations/automation/
[awair docs]: /integrations/awair/
[aws docs]: /integrations/aws/
[axis docs]: /integrations/axis/
[baidu docs]: /integrations/baidu/
[bbb_gpio docs]: /integrations/bbb_gpio/
[bbox docs]: /integrations/bbox/
[bh1750 docs]: /integrations/bh1750/
[binary_sensor docs]: /integrations/binary_sensor/
[bitcoin docs]: /integrations/bitcoin/
[blackbird docs]: /integrations/blackbird/
[blink docs]: /integrations/blink/
[blinksticklight docs]: /integrations/blinksticklight/
[blockchain docs]: /integrations/blockchain/
[bluesound docs]: /integrations/bluesound/
[bluetooth_le_tracker docs]: /integrations/bluetooth_le_tracker/
[bme280 docs]: /integrations/bme280/
[bme680 docs]: /integrations/bme680/
[bmw_connected_drive docs]: /integrations/bmw_connected_drive/
[bom docs]: /integrations/bom/
[broadlink docs]: /integrations/broadlink/
[brottsplatskartan docs]: /integrations/brottsplatskartan/
[browser docs]: /integrations/browser/
[brunt docs]: /integrations/brunt/
[bt_home_hub_5 docs]: /integrations/bt_home_hub_5/
[bt_smarthub docs]: /integrations/bt_smarthub/
[buienradar docs]: /integrations/buienradar/
[caldav docs]: /integrations/caldav/
[canary docs]: /integrations/canary/
[cast docs]: /integrations/cast/
[cert_expiry docs]: /integrations/cert_expiry/
[channels docs]: /integrations/channels/
[cisco_ios docs]: /integrations/cisco_ios/
[cisco_mobility_express docs]: /integrations/cisco_mobility_express/
[cisco_webex_teams docs]: /integrations/cisco_webex_teams/
[cloud docs]: /integrations/cloud/
[cmus docs]: /integrations/cmus/
[co2signal docs]: /integrations/co2signal/
[coinbase docs]: /integrations/coinbase/
[coinmarketcap docs]: /integrations/coinmarketcap/
[comfoconnect docs]: /integrations/comfoconnect/
[concord232 docs]: /integrations/concord232/
[config docs]: /integrations/config/
[conversation docs]: /integrations/conversation/
[coolmaster docs]: /integrations/coolmaster/
[counter docs]: /integrations/counter/
[cover docs]: /integrations/cover/
[cppm_tracker docs]: /integrations/cppm_tracker/
[cpuspeed docs]: /integrations/cpuspeed/
[crimereports docs]: /integrations/crimereports/
[cups docs]: /integrations/cups/
[darksky docs]: /integrations/darksky/
[deconz docs]: /integrations/deconz/
[decora docs]: /integrations/decora/
[denonavr docs]: /integrations/denonavr/
[deutsche_bahn docs]: /integrations/deutsche_bahn/
[device_automation docs]: /integrations/device_automation/
[device_tracker docs]: /integrations/device_tracker/
[dht docs]: /integrations/dht/
[digital_ocean docs]: /integrations/digital_ocean/
[digitalloggers docs]: /integrations/digitalloggers/
[discogs docs]: /integrations/discogs/
[discord docs]: /integrations/discord/
[dlib_face_detect docs]: /integrations/dlib_face_detect/
[dlib_face_identify docs]: /integrations/dlib_face_identify/
[dnsip docs]: /integrations/dnsip/
[doods docs]: /integrations/doods/
[dovado docs]: /integrations/dovado/
[dsmr docs]: /integrations/dsmr/
[dte_energy_bridge docs]: /integrations/dte_energy_bridge/
[dweet docs]: /integrations/dweet/
[ebusd docs]: /integrations/ebusd/
[ecobee docs]: /integrations/ecobee/
[eliqonline docs]: /integrations/eliqonline/
[elkm1 docs]: /integrations/elkm1/
[envisalink docs]: /integrations/envisalink/
[epson docs]: /integrations/epson/
[epsonworkforce docs]: /integrations/epsonworkforce/
[esphome docs]: /integrations/esphome/
[eufy docs]: /integrations/eufy/
[everlights docs]: /integrations/everlights/
[evohome docs]: /integrations/evohome/
[fan docs]: /integrations/fan/
[feedreader docs]: /integrations/feedreader/
[ffmpeg docs]: /integrations/ffmpeg/
[fitbit docs]: /integrations/fitbit/
[flic docs]: /integrations/flic/
[flux docs]: /integrations/flux/
[flux_led docs]: /integrations/flux_led/
[foscam docs]: /integrations/foscam/
[fritz docs]: /integrations/fritz/
[fritzbox docs]: /integrations/fritzbox/
[fritzbox_callmonitor docs]: /integrations/fritzbox_callmonitor/
[fritzbox_netmonitor docs]: /integrations/fritzbox_netmonitor/
[frontend docs]: /integrations/frontend/
[frontier_silicon docs]: /integrations/frontier_silicon/
[futurenow docs]: /integrations/futurenow/
[gc100 docs]: /integrations/gc100/
[geniushub docs]: /integrations/geniushub/
[geo_rss_events docs]: /integrations/geo_rss_events/
[github docs]: /integrations/github/
[gitlab_ci docs]: /integrations/gitlab_ci/
[glances docs]: /integrations/glances/
[gntp docs]: /integrations/gntp/
[goalfeed docs]: /integrations/goalfeed/
[google docs]: /integrations/google/
[google_assistant docs]: /integrations/google_assistant/
[google_travel_time docs]: /integrations/google_travel_time/
[gpsd docs]: /integrations/gpsd/
[greenwave docs]: /integrations/greenwave/
[group docs]: /integrations/group/
[gtfs docs]: /integrations/gtfs/
[harman_kardon_avr docs]: /integrations/harman_kardon_avr/
[harmony docs]: /integrations/harmony/
[hassio docs]: /integrations/hassio/
[hikvision docs]: /integrations/hikvision/
[hikvisioncam docs]: /integrations/hikvisioncam/
[hipchat docs]: /integrations/hipchat/
[hive docs]: /integrations/hive/
[homeassistant docs]: /integrations/homeassistant/
[homekit docs]: /integrations/homekit/
[homematic docs]: /integrations/homematic/
[homematicip_cloud docs]: /integrations/homematicip_cloud/
[hp_ilo docs]: /integrations/hp_ilo/
[html5 docs]: /integrations/html5/
[http docs]: /integrations/http/
[htu21d docs]: /integrations/htu21d/
[hue docs]: /integrations/hue/
[hydroquebec docs]: /integrations/hydroquebec/
[ifttt docs]: /integrations/ifttt/
[ign_sismologia docs]: /integrations/ign_sismologia/
[image_processing docs]: /integrations/image_processing/
[imap docs]: /integrations/imap/
[imap_email_content docs]: /integrations/imap_email_content/
[incomfort docs]: /integrations/incomfort/
[influxdb docs]: /integrations/influxdb/
[input_datetime docs]: /integrations/input_datetime/
[input_number docs]: /integrations/input_number/
[input_select docs]: /integrations/input_select/
[input_text docs]: /integrations/input_text/
[insteon docs]: /integrations/insteon/
[iperf3 docs]: /integrations/iperf3/
[iqvia docs]: /integrations/iqvia/
[iss docs]: /integrations/iss/
[isy994 docs]: /integrations/isy994/
[itach docs]: /integrations/itach/
[jewish_calendar docs]: /integrations/jewish_calendar/
[juicenet docs]: /integrations/juicenet/
[kaiterra docs]: /integrations/kaiterra/
[keenetic_ndms2 docs]: /integrations/keenetic_ndms2/
[keyboard docs]: /integrations/keyboard/
[kira docs]: /integrations/kira/
[knx docs]: /integrations/knx/
[kodi docs]: /integrations/kodi/
[konnected docs]: /integrations/konnected/
[lastfm docs]: /integrations/lastfm/
[lg_soundbar docs]: /integrations/lg_soundbar/
[lifx docs]: /integrations/lifx/
[lifx_legacy docs]: /integrations/lifx_legacy/
[light docs]: /integrations/light/
[linky docs]: /integrations/linky/
[linode docs]: /integrations/linode/
[linux_battery docs]: /integrations/linux_battery/
[lirc docs]: /integrations/lirc/
[locative docs]: /integrations/locative/
[lock docs]: /integrations/lock/
[logbook docs]: /integrations/logbook/
[logi_circle docs]: /integrations/logi_circle/
[loopenergy docs]: /integrations/loopenergy/
[luci docs]: /integrations/luci/
[luftdaten docs]: /integrations/luftdaten/
[lupusec docs]: /integrations/lupusec/
[lutron docs]: /integrations/lutron/
[lw12wifi docs]: /integrations/lw12wifi/
[magicseaweed docs]: /integrations/magicseaweed/
[mastodon docs]: /integrations/mastodon/
[mcp23017 docs]: /integrations/mcp23017/
[media_extractor docs]: /integrations/media_extractor/
[melissa docs]: /integrations/melissa/
[message_bird docs]: /integrations/message_bird/
[metoffice docs]: /integrations/metoffice/
[miflora docs]: /integrations/miflora/
[mitemp_bt docs]: /integrations/mitemp_bt/
[mobile_app docs]: /integrations/mobile_app/
[mpd docs]: /integrations/mpd/
[mqtt docs]: /integrations/mqtt/
[msteams docs]: /integrations/msteams/
[mvglive docs]: /integrations/mvglive/
[mychevy docs]: /integrations/mychevy/
[mythicbeastsdns docs]: /integrations/mythicbeastsdns/
[namecheapdns docs]: /integrations/namecheapdns/
[neato docs]: /integrations/neato/
[nest docs]: /integrations/nest/
[netatmo docs]: /integrations/netatmo/
[netgear docs]: /integrations/netgear/
[netgear_lte docs]: /integrations/netgear_lte/
[neurio_energy docs]: /integrations/neurio_energy/
[niko_home_control docs]: /integrations/niko_home_control/
[nilu docs]: /integrations/nilu/
[nissan_leaf docs]: /integrations/nissan_leaf/
[norway_air docs]: /integrations/norway_air/
[nuheat docs]: /integrations/nuheat/
[oasa_telematics docs]: /integrations/oasa_telematics/
[ohmconnect docs]: /integrations/ohmconnect/
[onkyo docs]: /integrations/onkyo/
[onvif docs]: /integrations/onvif/
[opencv docs]: /integrations/opencv/
[openevse docs]: /integrations/openevse/
[openhardwaremonitor docs]: /integrations/openhardwaremonitor/
[opentherm_gw docs]: /integrations/opentherm_gw/
[openweathermap docs]: /integrations/openweathermap/
[orangepi_gpio docs]: /integrations/orangepi_gpio/
[oru docs]: /integrations/oru/
[osramlightify docs]: /integrations/osramlightify/
[otp docs]: /integrations/otp/
[owntracks docs]: /integrations/owntracks/
[panasonic_bluray docs]: /integrations/panasonic_bluray/
[panasonic_viera docs]: /integrations/panasonic_viera/
[pandora docs]: /integrations/pandora/
[persistent_notification docs]: /integrations/persistent_notification/
[piglow docs]: /integrations/piglow/
[pjlink docs]: /integrations/pjlink/
[plex docs]: /integrations/plex/
[pocketcasts docs]: /integrations/pocketcasts/
[proliphix docs]: /integrations/proliphix/
[prometheus docs]: /integrations/prometheus/
[proxy docs]: /integrations/proxy/
[ps4 docs]: /integrations/ps4/
[ptvsd docs]: /integrations/ptvsd/
[pushbullet docs]: /integrations/pushbullet/
[pushover docs]: /integrations/pushover/
[qrcode docs]: /integrations/qrcode/
[raspihats docs]: /integrations/raspihats/
[recollect_waste docs]: /integrations/recollect_waste/
[recorder docs]: /integrations/recorder/
[rejseplanen docs]: /integrations/rejseplanen/
[remember_the_milk docs]: /integrations/remember_the_milk/
[repetier docs]: /integrations/repetier/
[rest docs]: /integrations/rest/
[rest_command docs]: /integrations/rest_command/
[rflink docs]: /integrations/rflink/
[rfxtrx docs]: /integrations/rfxtrx/
[rmvtransport docs]: /integrations/rmvtransport/
[roku docs]: /integrations/roku/
[rpi_gpio docs]: /integrations/rpi_gpio/
[rpi_pfio docs]: /integrations/rpi_pfio/
[saj docs]: /integrations/saj/
[samsungtv docs]: /integrations/samsungtv/
[scrape docs]: /integrations/scrape/
[season docs]: /integrations/season/
[sensor docs]: /integrations/sensor/
[serial docs]: /integrations/serial/
[sesame docs]: /integrations/sesame/
[seven_segments docs]: /integrations/seven_segments/
[shiftr docs]: /integrations/shiftr/
[shodan docs]: /integrations/shodan/
[shopping_list docs]: /integrations/shopping_list/
[sinch docs]: /integrations/sinch/
[skybeacon docs]: /integrations/skybeacon/
[slack docs]: /integrations/slack/
[sma docs]: /integrations/sma/
[smappee docs]: /integrations/smappee/
[smarthab docs]: /integrations/smarthab/
[smartthings docs]: /integrations/smartthings/
[smtp docs]: /integrations/smtp/
[snapcast docs]: /integrations/snapcast/
[snmp docs]: /integrations/snmp/
[socialblade docs]: /integrations/socialblade/
[solaredge_local docs]: /integrations/solaredge_local/
[solarlog docs]: /integrations/solarlog/
[soma docs]: /integrations/soma/
[somfy docs]: /integrations/somfy/
[songpal docs]: /integrations/songpal/
[sonos docs]: /integrations/sonos/
[sony_projector docs]: /integrations/sony_projector/
[speedtestdotnet docs]: /integrations/speedtestdotnet/
[spotcrime docs]: /integrations/spotcrime/
[spotify docs]: /integrations/spotify/
[sql docs]: /integrations/sql/
[squeezebox docs]: /integrations/squeezebox/
[startca docs]: /integrations/startca/
[statsd docs]: /integrations/statsd/
[steam_online docs]: /integrations/steam_online/
[stream docs]: /integrations/stream/
[stride docs]: /integrations/stride/
[sun docs]: /integrations/sun/
[supla docs]: /integrations/supla/
[switch docs]: /integrations/switch/
[switchmate docs]: /integrations/switchmate/
[syncthru docs]: /integrations/syncthru/
[synology_srm docs]: /integrations/synology_srm/
[syslog docs]: /integrations/syslog/
[systemmonitor docs]: /integrations/systemmonitor/
[tahoma docs]: /integrations/tahoma/
[ted5000 docs]: /integrations/ted5000/
[telegram_bot docs]: /integrations/telegram_bot/
[tellstick docs]: /integrations/tellstick/
[template docs]: /integrations/template/
[tensorflow docs]: /integrations/tensorflow/
[tesla docs]: /integrations/tesla/
[thermoworks_smoke docs]: /integrations/thermoworks_smoke/
[thingspeak docs]: /integrations/thingspeak/
[tibber docs]: /integrations/tibber/
[tikteck docs]: /integrations/tikteck/
[tile docs]: /integrations/tile/
[timer docs]: /integrations/timer/
[tplink docs]: /integrations/tplink/
[tplink_lte docs]: /integrations/tplink_lte/
[tradfri docs]: /integrations/tradfri/
[transmission docs]: /integrations/transmission/
[transport_nsw docs]: /integrations/transport_nsw/
[trend docs]: /integrations/trend/
[tts docs]: /integrations/tts/
[twilio docs]: /integrations/twilio/
[twilio_call docs]: /integrations/twilio_call/
[twilio_sms docs]: /integrations/twilio_sms/
[unifi docs]: /integrations/unifi/
[upcloud docs]: /integrations/upcloud/
[updater docs]: /integrations/updater/
[uscis docs]: /integrations/uscis/
[vacuum docs]: /integrations/vacuum/
[vasttrafik docs]: /integrations/vasttrafik/
[venstar docs]: /integrations/venstar/
[vera docs]: /integrations/vera/
[verisure docs]: /integrations/verisure/
[vicare docs]: /integrations/vicare/
[vivotek docs]: /integrations/vivotek/
[vizio docs]: /integrations/vizio/
[vlc docs]: /integrations/vlc/
[w800rf32 docs]: /integrations/w800rf32/
[wake_on_lan docs]: /integrations/wake_on_lan/
[waqi docs]: /integrations/waqi/
[waterfurnace docs]: /integrations/waterfurnace/
[watson_iot docs]: /integrations/watson_iot/
[waze_travel_time docs]: /integrations/waze_travel_time/
[webhook docs]: /integrations/webhook/
[websocket_api docs]: /integrations/websocket_api/
[wemo docs]: /integrations/wemo/
[whois docs]: /integrations/whois/
[wink docs]: /integrations/wink/
[withings docs]: /integrations/withings/
[workday docs]: /integrations/workday/
[xiaomi_miio docs]: /integrations/xiaomi_miio/
[xmpp docs]: /integrations/xmpp/
[yamaha docs]: /integrations/yamaha/
[yamaha_musiccast docs]: /integrations/yamaha_musiccast/
[yandex_transport docs]: /integrations/yandex_transport/
[yeelight docs]: /integrations/yeelight/
[yeelightsunflower docs]: /integrations/yeelightsunflower/
[yr docs]: /integrations/yr/
[zengge docs]: /integrations/zengge/
[zeroconf docs]: /integrations/zeroconf/
[zestimate docs]: /integrations/zestimate/
[zha docs]: /integrations/zha/
[zigbee docs]: /integrations/zigbee/
[zone docs]: /integrations/zone/
