diff --git a/_config.yml b/_config.yml
index 4f0f0f933bb..8291b7336ed 100644
--- a/_config.yml
+++ b/_config.yml
@@ -105,9 +105,9 @@ social:
# Home Assistant release details
current_major_version: 2021
-current_minor_version: 2
-current_patch_version: 3
-date_released: 2021-02-11
+current_minor_version: 3
+current_patch_version: 0
+date_released: 2021-03-03
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
@@ -162,7 +162,6 @@ defaults:
values:
toc: true
-
# Support for files Jekyll will normally exclude
include:
- "_headers"
@@ -175,7 +174,6 @@ toc:
min_level: 2 # default: 1
max_level: 3 # default: 6
-
# Configuration for installation pages
installation:
versions:
diff --git a/source/_posts/2021-02-03-release-20213.markdown b/source/_posts/2021-02-03-release-20213.markdown
new file mode 100644
index 00000000000..2d9ae6c3da1
--- /dev/null
+++ b/source/_posts/2021-02-03-release-20213.markdown
@@ -0,0 +1,2325 @@
+---
+layout: post
+title: "2021.3: Beta release notes"
+description: "Beta release notes for the 2021.3 release."
+date: 2021-02-24 00:00:00
+date_formatted: "March 3, 2021"
+author: Franck Nijhof
+author_twitter: frenck
+comments: true
+categories: Release-Notes
+og_image: /images/blog/2021-03/social.png
+feedback: true
+---
+
+
+
+These are the beta release notes for Home Assistant Core 2021.3 (and is thus a
+work in progress).
+
+If you encounter any issues with the beta release, please report them on GitHub:
+
+- Issues with integrations, automations and such (Core related):
+
+- Issues with the frontend/Lovelace:
+
+- Issues with the Supervisor:
+
+- Issues with the documentation:
+
+
+Please be sure to include the beta version you are running in the issue
+description (not in the title), so we can classify your issue correctly.
+
+Issues introduced in the beta are processed with priority.
+
+- [My Home Assistant](#my-home-assistant)
+- [New UI for doing service calls](#new-ui-for-doing-service-calls)
+- [Fan integration](#fan-integration)
+- [Suggested areas](#suggested-areas)
+- [Z-Wave JS update](#z-wave-js-update)
+- [MQTT trigger templating](#mqtt-trigger-templating)
+- [Help us improving the documentation](#help-us-improving-the-documentation)
+- [Other noteworthy changes](#other-noteworthy-changes)
+- [New Integrations](#new-integrations)
+- [New Platforms](#new-platforms)
+- [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui)
+- [If you need help...](#if-you-need-help)
+- [Breaking Changes](#breaking-changes)
+- [Farewell to the following](#farewell-to-the-following)
+- [All changes](#all-changes)
+
+## My Home Assistant
+
+
+
+Today we present you My Home Assistant.
+
+To be more helpful, we often want to link you to a specific page in your
+Home Assistant instance. However, each Home Assistant instance is hosted at a
+different URL. Yours might be `http://homeassistant.local:8123`, or something
+completely different.
+
+My Home Assistant allows the documentation, forums or any other website, to
+link you to specific pages in your Home Assistant instance, without knowing
+the URL of your instance.
+
+My Home Assistant allows you to store the URL of your instance so that websites
+can link to your instance directly.
+
+
+
+All the data is stored locally in your browser. At no point will any data leave
+your network. Also, My Home Assistant only redirects you to pages that provide
+you with information about your instance or help you start an action.
+
+Following a link from My Home Assistant will never make any changes to your
+instance and only a predefined, safe set, of URLs are allowed.
+
+Long story short! We can do a lot of helpful things with this, for example the
+following buttons will bring your places on your instance:
+
+{% my integration badge %} {% my info badge %} {% my supervisor badge %} {% my automations badge %}
+
+But we can make buttons or links to a lot of screen, and even help you start
+a configuration for an integration, import a Blueprint, link to an add-on page,
+and a lot more.
+
+Additionally, we have added a link/badge generator, so you can create your
+own links, for e.g., adding to a Blueprint on the Blueprint Exchange.
+
+
+
+## New UI for doing service calls
+
+
+
+This release adds a new UI for doing service calls. These can be found
+in multiple places, that all have adjusted with a shiny new UI;
+
+- The {% my developer_services title="services" %} tab in the {% my developer_services title="Developer Tools" %}.
+- Doing service calls in the {% my automations title="automation" %} UI editor.
+- Doing service calls in the {% my scripts title="script" %} UI editor.
+
+
+
+The UI may look familiar, as it uses the same UI parts as used by the recently
+introduced Blueprints.
+
+Not all service calls will show this slick new UI yet, as the integrations
+service descriptions need to be adjusted to with this.
+
+## Fan integration
+
+
+Got a big overhaul! Now works with speed percentages instead of the previous
+low, mid, high, off.
+
+## Suggested areas
+
+
+
+Integrations can now suggest areas to devices. For example, the Hue integration
+can now suggest an area based on the Hue group it is in.
+
+- Implement suggested_area in the device registry ([@bdraco] - [#45940])
+- Add suggested area support to nuheat ([@bdraco] - [#46801]) ([nuheat docs])
+- Implement suggested area for netatmo ([@bdraco] - [#46802]) ([netatmo docs])
+- Add suggested area to nexia ([@bdraco] - [#46776]) ([nexia docs])
+- Implement suggested area in lutron_caseta ([@bdraco] - [#45941]) ([lutron_caseta docs])
+- Add suggested area to hunterdouglas_powerview ([@bdraco] - [#46774]) ([hunterdouglas_powerview docs])
+- Implement suggested areas in bond ([@bdraco] - [#45942]) ([bond docs])
+- Implement suggested area in roku ([@ctalkington] - [#46819]) ([roku docs])
+- Add suggested area support to Sonos ([@bdraco] - [#46794]) ([sonos docs])
+- Add suggested area to tado ([@bdraco] - [#46932]) ([tado docs])
+- Add suggested area support to isy994 ([@bdraco] - [#46927]) ([isy994 docs])
+
+
+## Z-Wave JS update
+
+
+
+- Enhance platform discovery for zwave_js ([@marcelveldt] - [#46355]) ([zwave_js docs])
+- Discover HRT4-ZW / SRT321 SetPoint in zwave_js ([@gsemet] - [#46625]) ([zwave_js docs])
+- Add zwave_js thermostat fan mode and fan state support ([@raman325] - [#46793]) ([zwave_js docs])
+- add name and target filter to zwave_js lock services.yaml ([@raman325] - [#46914]) ([zwave_js docs])
+- Test zwave_js GE 12730 fan controller device-specific discovery ([@kpine] - [#46840]) ([zwave_js docs])
+- Add zwave_js/get_log_config and zwave_js/update_log_config WS API commands ([@raman325] - [#46601]) ([zwave_js docs])
+- Add zwave_js set_config_parameter WS API command ([@raman325] - [#46910]) ([zwave_js docs])
+- Add zwave_js constant for add-on slug ([@MartinHjelmare] - [#46950]) ([zwave_js docs])
+- Return states list from zwave_js get_config_parameters websocket if available ([@cgarwood] - [#46954]) ([zwave_js docs])
+- Catch more zwave_js errors ([@MartinHjelmare] - [#46957]) ([zwave_js docs])
+- Add zwave_js.set_config_parameter service ([@raman325] - [#46673]) ([zwave_js docs])
+- Improve zwave_js config flow ([@MartinHjelmare] - [#46906]) ([zwave_js docs])
+- Add zwave_js.refresh_value service ([@raman325] - [#46944]) ([zwave_js docs])
+- deep copy zwave_js state in test fixtures so tests are more isolated ([@raman325] - [#46976]) ([zwave_js docs])
+- Extend zwave_js discovery scheme for lights ([@marcelveldt] - [#46907]) ([zwave_js docs])
+- Add barrier covers to zwave_js integration ([@kpine] - [#46379]) ([zwave_js docs])
+
+## MQTT trigger templating
+
+Added support for templating MQTT triggers. This allows for, e.g., making
+blueprints for MQTT Blueprints (e.g., use a MQTT topic or payload as an input).
+
+
+
+- Support templating MQTT triggers ([@emontnemery] - [#45614]) ([automation docs]) ([mqtt docs])
+
+## Help us improving the documentation
+
+
+
+We have recently added a feedback menu to the bottom of each page in our
+documentation. Help us out!
+
+Go to the page of one of your favorite integrations, and see what can be
+improved. Maybe you can suggest an edit, or add feedback to the page.
+
+This way we can all contribute in improving our documentation!
+
+## Other noteworthy changes
+
+
+
+- Support blocking trusted network from new ip ([@elupus] - [#44630]) ([auth docs]) ([http docs]) ([websocket_api docs])
+- Add vicare heat pump sensors ([@crazyfx1] - [#41413]) ([vicare docs])
+- Add transitiontime to hue scene service ([@Nixon506E] - [#45785]) ([hue docs])
+- Add support for Shelly battery operated devices ([@thecode] - [#45406]) ([shelly docs])
+- Add new features to Apple TV media player ([@postlund] - [#45828]) ([apple_tv docs])
+- Add select selector for blueprints ([@EPMatt] - [#45803])
+- Support templates in event triggers ([@emontnemery] - [#46207]) ([homeassistant docs])
+- Enhance MQTT cover platform ([@thecode] - [#46059]) ([mqtt docs]) (breaking-change)
+- Add hive hub 360 sensors ([@KJonline] - [#46320]) ([hive docs])
+- Add additional supported feature support to universal media player ([@raman325] - [#44711]) ([universal docs])
+- Allow users to set device class for universal media player ([@raman325] - [#46550]) ([universal docs])
+- Add Home Assistant color ([@frenck] - [#46751]) ([light docs])
+- Add rtsp transport options to generic camera ([@uvjustin] - [#46623]) ([generic docs])
+- Add support for "alias" in script steps device, device_condition, and conditions ([@emontnemery] - [#46647])
+- Add support for disabling config entries ([@emontnemery] - [#46779]) ([config docs])
+
+- Show flows in progress when picking a handler (#8368) @bramkragten
+- Fix excessive rerendering of history charts (#8340) @larena1
+- Add clipboard button (#8411) @KTibow
+- Add additional weblink attributes (#8295) @cdce8p
+- Allow to disable config entry (#8442) @bramkragten
+- Add add-on selector/picker (#8422) @ludeeus
+- Support binary sensor batteries (#8367) @Noltari
+- Migrate to codemirror 6 (#8382) @bramkragten
+
+
+## New Integrations
+
+We welcome the following new integrations this release:
+
+- [AEMET OpenData][aemet docs], added by [@Noltari]
+- [ClimaCell][climacell docs], added by [@raman325]
+- [FAA Delays][faadelays docs], added by [@ntilley905]
+- [Honeywell Lyric][lyric docs], added by [@timmo001]
+- [KMTronic][kmtronic docs], added by [@dgomes]
+- [Litter-Robot][litterrobot docs], added by [@natekspencer]
+- [Mazda Connected Services][mazda docs], added by [@bdr99]
+- [Mullvad VPN][mullvad docs], added by [@meichthys]
+- [My Home Assistant][my docs], add by [@bramkragten]
+- [Rituals Perfume Genie][rituals_perfume_genie docs], added by [@milanmeu]
+- [SmartTub][smarttub docs], added by [@mdz]
+- [Subaru][subaru docs], adde by [@G-Two]
+
+## New Platforms
+
+The following integration got support for a new platform:
+
+- [Aurora][aurora docs] has now support for sensors, added by [@djtimca]
+- [KNX][knx docs] added support for fans, added by [@crazyfx1]
+- [Templates][template docs] can now be used to create weather entities, added by [@dgomes]
+- [VeSync][vesync docs] now support their dimmer switches, added by [@decompil3d]
+- [WiLight][wilight docs] support covers now, added by [@leofig-rj]
+
+## Integrations now available to set up from the UI
+
+The following integrations are now available via the Home Assistant UI:
+
+- [ASUSWRT][asuswrt docs], done by [@ollo69]
+- [Keenetic NDMS2 Routers][keenetic_ndms2 docs], done by [@foxel]
+- [LiteJet][litejet docs], done by [@joncar]
+- [MySensors][mysensors docs], done by [@functionpointer]
+- [Nuki][nuki docs], done by [@pree]
+- [Philips TV][philips_js docs], done by [@elupus]
+- [Xiaomi Miio][xiaomi_miio docs] (partially), done by [@starkillerOG]
+
+## If you need help...
+
+...don't hesitate to use our very active [forums](https://community.home-assistant.io/) or join us for a little [chat](https://discord.gg/c5DvZ4e).
+
+Experiencing issues introduced by this release? Please report them in our [issue tracker](https://github.com/home-assistant/core/issues). Make sure to fill in all fields of the issue template.
+
+
+
+## Breaking Changes
+
+Below is a listing of the breaking change for this release, per subject or
+integration. Click on one of those to read more about the breaking change
+for that specific item.
+
+{% details "Custom integrations: Version warning" %}
+
+Custom integrations now require a `version` key in their manifest file, this
+also means that all custom integrations now require a manifest file.
+
+If you are using a legacy custom integration like `custom_components/awesome.py`
+this now needs to move to `custom_components/awesome/__init__.py` so you can
+add `custom_components/awesome/manifest.json` to it.
+
+For more information about integration, manifests have a look here:
+
+
+**For now, this will create a warning on startup.** But this will eventually be
+blocked from loading if it's missing a version in the manifest.
+
+**If you see these warnings, please report the issue with the author
+of that custom integration.**
+
+([@ludeeus] - [#45919])
+
+{% enddetails %}
+
+{% details "Fan" %}
+
+The fan entity model has changed to split named speeds into percentages in the range
+from 0 (off)-100 and preset modes.
+
+**Why change?**
+
+This change allowed us to expand the number of supported speeds to accommodate additional
+fan models in Home Assistant.
+
+We had 3 fan speeds and that worked great as long as the fan had no more than 3 speeds.
+
+Over time we received a number of requests to add fans with 4, 5, or even more
+speeds and preset modes. This put us in the difficult position of having to
+reject this support because the underlying fan model didn’t support it.
+
+Percentages were chosen because they can represent up to 100 speeds which should
+accommodate all fans. Additionally, it’s a lot easier to ask your voice
+assistant to set the fan to 20% then remember that medium-low is actually
+low-medium or have to learn and remember how to say the speeds for every
+fan model you want to control.
+
+**What to change?**
+
+Calls in automations and scripts to `fan.set_speed` should be replaced:
+
+- Calls that set a speed should use `fan.set_percentage`.
+- Calls that set a preset mode should use `fan.set_preset_mode`.
+
+The following speeds existed in core integration and will now be automatically
+identified as preset modes: `auto`, `smart`, `interval`, `idle`, and `favorite`.
+
+Both of the new calls are backward compatible.
+
+Calls in automations and scripts to `fan.turn_on` that use the `speed` attribute
+should be switched to use the `percentage` or `preset_mode` attribute once the
+underlying integration has been updated to support it.
+
+All core fans have been updated to ensure that calls to the `fan.turn_on`
+service map `percentage` or `preset_mode` to `speed` for backwards compatibility.
+
+([@bdraco] - [#45407]) ([fan docs])
+
+{% enddetails %}
+
+{% details "Template: Fan" %}
+
+Template fans have been updated for the new entity model that uses a percentage
+for the speed.
+
+The following configuration options have been deprecated: `speed_template`, `set_speed`, and `speeds`.
+
+The replacement options are `percentage_template` and `set_percentage`. There
+is no replacement for `speeds` since the percentage is always from 1-100 along
+with 0 for off.
+
+([@bdraco] - [#45478]) ([template docs])
+
+{% enddetails %}
+
+{% details "Hyperion" %}
+
+Hyperion has fully transitioned to configuration via UI. YAML configuration has
+been removed. Existing YAML configuration has already been imported
+automatically in the previous releases and can now safely be removed from your
+configuration files.
+
+([@dermotduffy] - [#45690]) ([hyperion docs])
+
+{% enddetails %}
+
+{% details "Nuki" %}
+
+The Nuki integration is now configurable via the UI. The YAML configuration
+is now deprecated.
+
+You existing YAML configuration will be automatically imported on upgrade and
+can be safely removed from your YAML configuration after upgrading.
+
+([@pree] - [#45664]) ([nuki docs])
+
+{% enddetails %}
+
+{% details "CalDAV" %}
+
+For CalDAV custom calendars, now only matching events are shown in the calendar
+frontend, instead of all events for this calendar.
+
+Although, this is technically a bugfix, if you didn't notice it before, it might
+now surprise you.
+
+([@inytar] - [#45701]) ([caldav docs])
+
+{% enddetails %}
+
+{% details "Synology DSM" %}
+
+All CPU-related sensors were named with "Load" which is not correct because
+there is a difference between CPU load *average* and CPU utilization.
+
+Units have been corrected.
+
+Any automation that consumes this data may need to be updated.
+
+([@mib1185] - [#45500])
+
+{% enddetails %}
+
+{% details "LG Soundbar" %}
+
+If `discovery` is used the entity will get a new `entity_id` derived from the
+hostname of the soundbar. This means the `entity_id` can not be changed anymore
+since there is currently no way to get a `unique_id` from the device.
+
+([@bernimoses] - [#42044]) ([lg_soundbar docs])
+
+{% enddetails %}
+
+{% details "MySensors" %}
+
+MySensors has fully transitioned to configuration via UI. Existing YAML
+configuration is automatically migrated and imported, and can now safely be
+removed from your configuration files after upgrading.
+
+No changes to YAML are applied after the migration has happened.
+If you need to change anything, use the frontend.
+
+([@functionpointer] - [#45421]) ([mysensors docs])
+
+{% enddetails %}
+
+{% details "MQTT: Covers" %}
+
+MQTT cover `value_template` is deprecated to use for extracting position,
+support will be removed in Home Assistant Core 2021.6.
+
+Instead of using `value_template`, `position_template` should be used.
+
+MQTT cover `tilt_invert_state` is deprecated, instead `tilt_min` and `tilt_max`
+should be used. Support for `tilt_invert_state` will be removed in Home
+Assistant Core 2021.6.
+
+([@thecode] - [#46059]) ([mqtt docs])
+
+{% enddetails %}
+
+{% details "Cameras and Streams" %}
+
+Removes the internal `stream` components `record` service.
+
+This service is meant to be used internally only by `camera` so this is not
+expected to be a problem in practice as you should be using `camera.record`
+instead.
+
+([@allenporter] - [#45431]) ([camera docs]) ([generic docs]) ([nest docs]) ([stream docs])
+
+{% enddetails %}
+
+{% details "HTTP: base_url" %}
+
+The HTTP `base_url` URL setting was marked deprecated in Home Assistant Core
+0.110 and replaced by the new internal & external URL settings that are
+available in the UI.
+
+This release removes the fallback logic to the old `base_url` setting. If you
+still have an `base_url` configured in the HTTP section of your YAML
+configuration, please remove it.
+
+([@frenck] - [#46316])
+
+{% enddetails %}
+
+{% details "MQTT: Lights" %}
+
+The MQTT light with template schema will now send a `float` instead of an `int`
+with the transition key.
+
+Lights that require an `int` instead of a `float` can restore the original
+functionality by using the following in the template for specifying the
+transition:
+
+```txt
+{{ transition|int }}
+```
+
+([@kangaroomadman] - [#46385]) ([mqtt docs])
+
+{% enddetails %}
+
+{% details "Philips TV"%}
+
+Configuration via YAML is now deprecated and you existing YAML configuration
+will be automatically imported into the UI on first run. If your TV is not
+running on first start, you will need to complete the configuration from
+integration screen once your TV us online.
+
+The previous `turn_on_action` will not be imported, and must be re-created as a
+device trigger automation.
+
+([@elupus] - [#45784]) ([philips_js docs])
+
+{% enddetails %}
+
+{% details "ASUSWRT" %}
+
+The legacy device tracker `DeviceScanner` was replaced with the new device
+tracker implementation `ScannerEntity`.
+
+You should remove references to platform `asuswrt` in `device_tracker` section
+in your YAML configuration and update person device tracker with the new entity.
+
+The YAML key `dnsmasq`, `interface` and `require_ip` now are managed as
+integration options. The values present in YAML are imported in the options
+the first time that the integration is loaded.
+
+All sensors are initially created as disabled and can be enabled from ASUSWRT
+device configuration instead of using YAML configuration.
+
+([@ollo69] - [#46468]) ([asuswrt docs])
+
+{% enddetails %}
+
+{% details "Keenetic NDMS2 Routers" %}
+
+Keenetic NDMS2 Routers are now configured and managed from the UI. Existing
+YAML configuration will be automatically imported and can be safely removed
+after upgrading.
+
+The upgraded platform also adds:
+
+- Entities and devices manageable from UI.
+- Binary sensors for router connection status.
+- Support for monitoring multiple interfaces.
+
+([@foxel] - [#38353]) ([keenetic_ndms2 docs])
+
+{% enddetails %}
+
+{% details "Automations" %}
+
+If an automation trigger template already renders as `true` on Home Assistant
+Core startup, it will no longer trigger at startup. This bug fix prevents
+unintended triggers of automations as startup, but might cause a different
+behavior than before.
+
+([@amelchio] - [#46423]) ([template docs])
+
+Scripts and automations are now more careful about reporting problems with
+conditions. For example, a `state` condition that references an unavailable
+entity will log a message warning about the problem. Depending on the
+circumstances when such errors happen, the flow of the automation
+(i.e., stop/continue) might end up different from before.
+
+([@amelchio] - [#46838]) ([automation docs]) ([homeassistant docs])
+
+{% enddetails %}
+
+{% details "Xiaomi Miio" %}
+
+Xiaomi Miio Switch, and Vacuum platforms should now be set up using the UI,
+please remove the old YAML configuration from your configuration file.
+
+They are now automatically discovered, if not, click Configuration in the
+sidebar, then click Integrations and then click the + icon in the lower right
+and find Xiaomi Miio.
+
+Or click: {% my config_flow_start title="Add Integration" domain="xiaomi_miio" badge %}
+
+Select the option “Connect to a Xiaomi Miio Device” and click submit,
+follow the setup instructions.
+
+([@starkillerOG] - [#46179] [#46669]) ([xiaomi_miio docs])
+
+{% enddetails %}
+
+{% details "HomeKit" %}
+
+HomeKit pairings and accessory IDs from Home Assistant Core version 0.109 and
+earlier are no longer migrated on upgrade.
+
+Users upgrading directly to 2021.3 from 0.109 and older should upgrade to
+2021.2 first if they wish to preserve HomeKit configuration and avoid re-pairing
+the bridge.
+
+This change does not affect upgrades from 0.110 and later.
+
+([@bdraco] - [#46616]) ([homekit docs])
+
+{% enddetails %}
+
+{% details "Google Assistant" %}
+
+Requests for closing/opening covers fully from Google Assistant will now use
+`close`/`open` service instead of `set_postion` service. This a a revert of an
+unexpected breaking change.
+
+([@elupus] - [#46602]) ([google_assistant docs])
+
+{% enddetails %}
+
+{% details "Habitica" %}
+
+Habitica has fully transitioned to configuration via UI. Existing YAML
+configuration is automatically migrated and imported, and can now safely be
+removed from your configuration files after upgrading.
+
+([@leikoilja] - [#38910]) ([habitica docs])
+
+{% enddetails %}
+
+{% details "SSDP" %}
+
+SSDP searches now binds to `0.0.0.0` instead of each interface separately.
+Everything was still discovered in testing on a server with multiple interfaces.
+
+([@bdraco] - [#46554]) ([ssdp docs])
+
+{% enddetails %}
+
+{% details "Z-Wave JS" %}
+
+Minimum required zwave-js-server version is now 1.0.0.
+You need to run this server version at mimimum for the integration to work.
+
+([@marcelveldt] - [#46983]) ([zwave_js docs])
+
+{% enddetails %}
+
+{% details "Bond" %}
+
+Support for bond devices with up and down lights has been added. Previously,
+if the device had two lights, only a single light entity would be created that
+would not function properly. The functional light entity will need to be
+manually removed.
+
+([@bdraco] - [#46233]) ([bond docs])
+
+{% enddetails %}
+
+{% details "KNX" %}
+
+Weather entity: Renamed `expose_sensors` to `create_sensors` to prevent
+confusion with the KNX `expose_sensor` function.
+
+([@farmio] - [#46809]) ([knx docs])
+
+{% enddetails %}
+
+{% details "Honeywell Total Connect Alarm" %}
+
+To support user equipment that requires the entry of a usercode in addition to
+username and password, now all users must configure a usercode.
+
+This can be done by updating the integration in the User Interface via
+{% my integrations title="Configuration > Integrations" %}.
+
+The use of YAML configuration is no longer supported.
+
+([@austinmroczek] - [#39199]) ([totalconnect docs])
+
+{% enddetails %}
+
+{% details "Tado" %}
+
+Polling interval of 15 seconds causes high load on Tado servers and does not
+provide enough value to warrant it. Tado plans to introduce a rate limit to
+prevent such misuse of the API, therefore the polling interval needs to be
+increased to make sure the integration works well in the future.
+
+([@macrosak] - [#46915]) ([tado docs])
+
+{% enddetails %}
+
+{% details "LiteJet" %}
+
+LiteJet is now configured via the UI. Existing YAML configurations will
+automatically be imported and can be removed after completing the upgrade.
+
+LiteJet's `include_switches` YAML option has been removed. Switches can be
+enabled via the integration's entity list in the UI.
+
+LiteJet's `exclude_names` YAML option has been removed. Undesired entities can
+be disabled via the integration's entity list in the UI.
+
+([@joncar] - [#44409]) ([litejet docs])
+
+{% enddetails %}
+
+{% details "Nest" %}
+
+The nest `FAN_ON` mode now sets the device timer to use the max duration of
+12 hours, rather than the default of 15 minutes. If you would like the fan to
+turn off sooner may use an automation with `timer` to set `FAN_OFF` sooner.
+
+([@allenporter] - [#46489]) ([nest docs])
+
+{% enddetails %}
+
+## Farewell to the following
+
+The following integrations are no longer available as of this release:
+
+- **CoinMarketCap** has been removed, the used API has been out of service
+ for a long time already. ([@frenck] - [#46615])
+- **Crime Reports** has been removed, as the API is no longer available.
+ ([@frenck] - [#46312])
+- **Nuimo** was in a non working state for a long time now.
+ ([@rngtng] - [#45600])
+- **Synology** has been removed, the Synology DSM integration provides a full
+ replacement. ([@thecode] - [#46482])
+- **xFinity** Was previously marked deprecated. It relies on web scraping to
+ function, which is no longer allowed.
+ ([@thecode] - [#46484])
+
+
+## All changes
+
+{% details "Click to see all changes!" %}
+
+- Bump version to 2021.3.0dev0 ([@frenck] - [#45617])
+- Clean tcp tests ([@oxygen0211] - [#41673]) ([tcp docs])
+- Separate fan speeds into percentages and presets modes ([@bdraco] - [#45407]) ([fan docs]) (breaking-change)
+- Update ozw to use new fan entity model ([@bdraco] - [#45577]) ([ozw docs])
+- Update lutron_caseta manufacturer string ([@bdraco] - [#45637]) ([lutron_caseta docs])
+- Update wemo to use new fan entity model ([@bdraco] - [#45582]) ([wemo docs])
+- Update smartthings to use new fan entity model ([@bdraco] - [#45592]) ([smartthings docs])
+- Update zwave_js to use new fan entity model ([@bdraco] - [#45543]) ([zwave_js docs])
+- Update bond to use new fan entity model ([@bdraco] - [#45534]) ([bond docs])
+- Update isy994 to use new fan entity model ([@bdraco] - [#45536]) ([isy994 docs])
+- Update zwave to use new fan entity model ([@bdraco] - [#45541]) ([zwave docs])
+- Add support for percentage speeds and preset modes to template fan ([@bdraco] - [#45478]) ([template docs]) (breaking-change)
+- Update homekit_controller to use new fan entity model ([@bdraco] - [#45547]) ([homekit_controller docs])
+- Support blocking trusted network from new ip ([@elupus] - [#44630]) ([auth docs]) ([http docs]) ([websocket_api docs])
+- Upgrade beautifulsoup4 to 4.9.3 ([@fabaff] - [#45619]) ([scrape docs])
+- Update homekit to use new fan entity model ([@bdraco] - [#45549]) ([homekit docs])
+- Bump gios library ([@bieniu] - [#45639]) ([gios docs])
+- Update lutron_caseta to use new fan entity model ([@bdraco] - [#45540]) ([lutron_caseta docs])
+- Unregister webhook if it can't be established successfully ([@cgtobi] - [#42791]) ([netatmo docs])
+- Update vesync to use new fan entity model ([@bdraco] - [#45585]) ([vesync docs])
+- Add first set of tests to devolo Home Control integration ([@Shutgun] - [#42527]) ([devolo_home_control docs])
+- Update comfoconnect to use new fan entity model ([@bdraco] - [#45593]) ([comfoconnect docs])
+- Update esphome to use new fan entity model ([@bdraco] - [#45590]) ([esphome docs])
+- Add reauthentication flow to fritzbox integration ([@jloehr] - [#45587]) ([fritzbox docs])
+- Replace strange "dict logic" in AirVisual pollutant level sensors (2 of 2) ([@bachya] - [#44903]) ([airvisual docs])
+- Add last_lost_timestamp attribute to Tile ([@bachya] - [#45681]) ([tile docs])
+- Use new fixtures in devolo Home Control tests ([@Shutgun] - [#45669]) ([devolo_home_control docs])
+- Add vicare heat pump sensors ([@crazyfx1] - [#41413]) ([vicare docs])
+- Stop Tile setup on invalid auth ([@bachya] - [#45683]) ([tile docs])
+- Remove YAML support from Hyperion integration ([@dermotduffy] - [#45690]) ([hyperion docs]) (breaking-change)
+- Fix formatting IntEnum as hex in 3.8.x ([@teharris1] - [#45686]) ([insteon docs])
+- Update bootstrap script ([@balloob] - [#45692])
+- Use pure rgb and allow to set only brightness for fibaro ([@aizerin] - [#45673]) ([fibaro docs])
+- Refactoring upnp component ([@StevenLooman] - [#43646]) ([upnp docs])
+- Bump crpytography to 3.3.1 ([@balloob] - [#45691])
+- Add config flow for nuki ([@pree] - [#45664]) ([nuki docs]) (breaking-change)
+- Address late review comments for upnp ([@StevenLooman] - [#45696]) ([upnp docs])
+- Add override duration for genius hub switches ([@GeoffAtHome] - [#45558]) ([geniushub docs])
+- Only show matching caldav events in calendar ([@inytar] - [#45701]) ([caldav docs]) (breaking-change)
+- Add patch method to rest switch component ([@o-l-o] - [#45663]) ([rest docs])
+- Improve HomeKit Accessory Mode UX ([@bdraco] - [#45402]) ([homekit docs])
+- Updates to dev container ([@balloob] - [#45706])
+- Use a fully mocked credential ([@elupus] - [#45707])
+- Allow new UniFi flows to update existing entries if host and site match ([@Kane610] - [#45668]) ([unifi docs])
+- Add unit of measurement and icon for sleep score ([@KTibow] - [#45705]) ([withings docs])
+- During tests we can run with lowest rounds ([@elupus] - [#45710])
+- Added Romanian voice to Google Cloud TTS ([@cristian-vescan] - [#45704]) ([google_cloud docs])
+- Add reboot_gateway service to Velux ([@pawlizio] - [#43198]) ([velux docs])
+- Fix ozw init tests ([@MartinHjelmare] - [#45718]) ([ozw docs])
+- Set default position value for cover action ([@spacegaier] - [#45670]) ([cover docs])
+- Remove ggravlingen from codeowners ([@ggravlingen] - [#45723])
+- Advanced testing for Nuki config flow ([@pree] - [#45721]) ([nuki docs])
+- Upgrade youtube_dl to version 2021.01.24.1 ([@chpego] - [#45724]) ([media_extractor docs])
+- Do not cache frontend files during dev ([@balloob] - [#45698]) ([frontend docs])
+- Fix feedback from UVC ([@rfleming71] - [#45630]) ([uvc docs])
+- Implement person significant change ([@ntilley905] - [#45713]) ([person docs])
+- Add significant change support to lock ([@bachya] - [#45726]) ([lock docs])
+- Add significant change support to binary_sensor ([@bachya] - [#45677]) ([binary_sensor docs])
+- Use DataUpdateCoordinator for solaredge ([@bdraco] - [#45734]) ([solaredge docs])
+- IHC service functions support for multiple IHC controllers ([@dingusdk] - [#44626]) ([ihc docs])
+- Upgrade pysonos to 0.0.40 ([@amelchio] - [#45743]) ([sonos docs])
+- Use fixed due date only for comparison in todoist ([@Guliver] - [#43300]) ([todoist docs])
+- Add initial GitHub Issue Form ([@frenck] - [#45752])
+- Upgrade mypy to 0.800 ([@scop] - [#45485])
+- Update dyson for the new fan entity model ([@bdraco] - [#45762]) ([dyson docs])
+- Bump ROVA package requirement ([@kochen] - [#45755]) ([rova docs])
+- Update insteon to use new fan entity model ([@bdraco] - [#45767]) ([insteon docs])
+- Honeywell Lyric Integration ([@timmo001] - [#39695]) ([lyric docs]) (new-integration)
+- Add WLED unload entry result correctly ([@frenck] - [#45783]) ([wled docs])
+- Upgrade pre-commit to 2.10.0 ([@frenck] - [#45777])
+- Fix polling and update of camera state for synology_dsm ([@mib1185] - [#43683]) ([synology_dsm docs])
+- Resolve homekit cover adjustment slowness ([@bdraco] - [#45730]) ([homekit docs])
+- Update homekit for new async library changes ([@bdraco] - [#45731]) ([homekit docs])
+- Move homekit accessory creation to async ([@bdraco] - [#45788]) ([homekit docs])
+- Change via_hub to via_device ([@iMicknl] - [#45804]) ([roon docs]) ([somfy docs])
+- Remove misleading "for" from custom integration warning message ([@scop] - [#45811])
+- Add izone control zone ([@sgryphon] - [#43984]) ([izone docs])
+- Remove Nuimo integration ([@rngtng] - [#45600]) ([nuimo_controller docs]) (breaking-change)
+- Increase test coverage for stream worker ([@allenporter] - [#44161]) ([stream docs])
+- Code quality improvements to UniFi integration ([@Kane610] - [#45794]) ([unifi docs])
+- Add support for Keg and Airlock to Plaato using polling API ([@JohNan] - [#34760]) ([plaato docs])
+- Correct synology_dsm CPU sensor's naming and measurement unit ([@mib1185] - [#45500]) (breaking-change)
+- Bump brother library to version 0.2.0 ([@bieniu] - [#45832]) ([brother docs])
+- Add ability to configure AirVisual with city/state/country in UI ([@bachya] - [#44116]) ([airvisual docs])
+- Allow Influxdb CA path in verify_ssl ([@alexpilotti] - [#45270]) ([influxdb docs])
+- Upgrade colorlog to 4.7.2 ([@fabaff] - [#45840])
+- Upgrade TwitterAPI to 2.6.5 ([@fabaff] - [#45842]) ([twitter docs])
+- Lyric Code Improvements ([@timmo001] - [#45819]) ([lyric docs])
+- Add sensors to Lyric integration ([@timmo001] - [#45791]) ([lyric docs]) (new-platform)
+- Upgrade sqlalchemy to 1.3.23 ([@fabaff] - [#45845]) ([recorder docs]) ([sql docs])
+- Fix environment_canada high/low temperature display in evenings. ([@michaeldavie] - [#45855]) ([environment_canada docs])
+- Add Insteon entities in event loop ([@teharris1] - [#45829]) ([insteon docs])
+- Ensure homekit never picks a port that another config entry uses ([@bdraco] - [#45433]) ([homekit docs])
+- Update alexa/const.py to reflect docs ([@kriansa] - [#45806]) ([alexa docs])
+- Add fan speed percentage support to google assistant ([@bdraco] - [#45835]) ([google_assistant docs])
+- Upgrade jinja2 to >=2.11.3 ([@fabaff] - [#45843])
+- Upgrade pytz to >=2021.1 ([@fabaff] - [#45839])
+- Upgrade watchdog to 1.0.2 ([@fabaff] - [#45848]) ([folder_watcher docs])
+- Upgrade emoji to 1.2.0 ([@fabaff] - [#45847]) ([mobile_app docs])
+- Bump Freebox to 0.0.9 ([@Quentame] - [#45837]) ([freebox docs])
+- Add transitiontime to hue scene service ([@Nixon506E] - [#45785]) ([hue docs])
+- Add support for Shelly battery operated devices ([@thecode] - [#45406]) ([shelly docs])
+- Homeconnect remote states ([@badguy99] - [#45610]) ([home_connect docs])
+- Fix duplicate lg_soundbar entities and disable polling ([@bernimoses] - [#42044]) ([lg_soundbar docs]) (breaking-change)
+- Add Mazda Connected Services integration ([@bdr99] - [#45768]) ([mazda docs]) (new-integration)
+- add api to refresh topology ([@dmulcahey] - [#44840]) ([zha docs])
+- Use core constants for command_line auth provider ([@tkdrob] - [#45907])
+- Fix typo in Roomba strings ([@spacegaier] - [#45928]) ([roomba docs])
+- Consistent spelling of IT abbreviations / protocol / format names ([@spacegaier] - [#45913])
+- Enable emulated_hue setting XY color and transition time by client ([@denes44] - [#45844]) ([emulated_hue docs])
+- Fix onvif ConnectionResetError ([@olijouve] - [#45899]) ([onvif docs])
+- Add warning to custom integrations without version ([@ludeeus] - [#45919]) (breaking-change)
+- Use bootstrap in devcontainer ([@ludeeus] - [#45968])
+- Fix exception in Shelly sleeping device that switches to polling ([@thecode] - [#45930]) ([shelly docs])
+- Allow manual configuration of ignored singleton config entries ([@emontnemery] - [#45161])
+- Update yarnpkg GPG key ([@ludeeus] - [#45973])
+- Use core constants for alert ([@tkdrob] - [#45935]) ([alert docs])
+- Use core constants for alexa ([@tkdrob] - [#45937]) ([alexa docs])
+- Use core constants for amazon polly ([@tkdrob] - [#45938]) ([amazon_polly docs])
+- Throw error in hassfest when integration is missing version ([@ludeeus] - [#45976])
+- Use core constants for asuswrt ([@tkdrob] - [#46015]) ([asuswrt docs])
+- Use core constants for aws ([@tkdrob] - [#46017]) ([aws docs])
+- Upgrade slixmpp to 1.7.0 ([@fabaff] - [#46019]) ([xmpp docs])
+- Upgrade praw to 7.1.2 ([@fabaff] - [#46012]) ([reddit docs])
+- Fix homekit options not being prefilled ([@bdraco] - [#45926]) ([homekit docs])
+- Use core constants for automation ([@tkdrob] - [#46016]) ([automation docs])
+- Use core constants for delijn ([@tkdrob] - [#46027]) ([delijn docs])
+- User core constants for deutsche_bahn ([@tkdrob] - [#46028]) ([deutsche_bahn docs])
+- Standardize AirVisual helper method in config flow ([@bachya] - [#45999]) ([airvisual docs])
+- Use core constants for doods ([@tkdrob] - [#46043]) ([doods docs])
+- Centralize some Airly constants ([@yuvalabou] - [#45985]) ([airly docs])
+- Force Vera refresh after starting subscription ([@pavoni] - [#46001]) ([vera docs])
+- Use core constants for bmw_connected_drive ([@tkdrob] - [#46042]) ([bmw_connected_drive docs])
+- Use core constants for bluetooth_tracker ([@tkdrob] - [#46041]) ([bluetooth_tracker docs])
+- Fix demo number entity ([@kukulich] - [#45991]) ([demo docs])
+- Improve UniFi tests ([@Kane610] - [#45871]) ([unifi docs])
+- Address Plaato post merge review ([@JohNan] - [#46024]) ([plaato docs])
+- Add unique id to UniFi config entries using the unique id of the site it is controlling ([@Kane610] - [#45737]) ([unifi docs])
+- MySensors config flow ([@functionpointer] - [#45421]) ([mysensors docs]) (breaking-change)
+- Activate manual ZHA config flow when no comports detected ([@frenck] - [#46077]) ([zha docs])
+- Add sensor platform for Aurora integration ([@djtimca] - [#43148]) ([aurora docs]) (new-platform)
+- Fix race in script wait for trigger step ([@emontnemery] - [#46055])
+- Bump aioharmony from 0.2.6 to 0.2.7 ([@ehendrix23] - [#46075]) ([harmony docs])
+- Use better names for zwave_js platforms that are self describing ([@raman325] - [#46083]) ([zwave_js docs])
+- Exclude disabled rfxtrx entities from async_entries_for_device ([@emontnemery] - [#46102]) ([rfxtrx docs])
+- Fix backwards compatiblity with fan update to new model ([@bdraco] - [#45951]) ([fan docs])
+- Don't defer formatting of log messages ([@emontnemery] - [#44873]) ([logger docs])
+- Convert old deCONZ groups unique ids ([@Kane610] - [#46093]) ([deconz docs])
+- Add new features to Apple TV media player ([@postlund] - [#45828]) ([apple_tv docs])
+- Simplify UniFi entry configuration data ([@Kane610] - [#45759]) ([unifi docs])
+- xknx 0.16.3 ([@farmio] - [#46128]) ([knx docs])
+- Use core constants for envisalink ([@tkdrob] - [#46136]) ([envisalink docs])
+- Use core constants for ffmpeg_motion ([@tkdrob] - [#46137]) ([ffmpeg_motion docs])
+- Use core constants for emulated_hue ([@tkdrob] - [#46092]) ([emulated_hue docs])
+- Remove unused config_flows ([@tkdrob] - [#46188]) ([aws docs]) ([daikin docs]) ([mqtt docs]) ([tellduslive docs]) ([tradfri docs]) ([zwave docs])
+- Use core constants for fixer ([@tkdrob] - [#46173]) ([fixer docs])
+- Use core constants for file integration ([@tkdrob] - [#46171]) ([file docs])
+- Upgrade praw to 7.1.3 ([@fabaff] - [#46073]) ([reddit docs])
+- Add media_player device triggers ([@emontnemery] - [#45430]) ([media_player docs])
+- Increase skybell scan time to reduce timeouts ([@adamoutler] - [#46169]) ([skybell docs])
+- Use core constants for efergy ([@tkdrob] - [#46090]) ([efergy docs])
+- Bump actions/cache from v2 to v2.1.4 (@dependabot - [#46197])
+- Bump actions/stale from v3.0.15 to v3.0.16 (@dependabot - [#46196])
+- Fix dyson service name in services.yaml ([@boralyl] - [#46176]) ([dyson docs])
+- Mark entities as unavailable when they are removed but are still registered ([@balloob] - [#45528])
+- Raise ConditionError for numeric_state errors ([@amelchio] - [#45923]) ([automation docs]) ([bayesian docs]) ([homeassistant docs])
+- Support templating MQTT triggers ([@emontnemery] - [#45614]) ([automation docs]) ([mqtt docs])
+- Bump python-verisure to version 1.7.2 ([@persandstrom] - [#46177]) ([verisure docs])
+- Remove unneeded from_state from device triggers ([@emontnemery] - [#45152])
+- Use core constants for flux ([@tkdrob] - [#46201]) ([flux docs])
+- Use core constants for frontend component ([@tkdrob] - [#46203]) ([frontend docs])
+- Use core constants for google_assistant ([@tkdrob] - [#46204]) ([google_assistant docs])
+- Upgrade praw to 7.1.4 ([@fabaff] - [#46202]) ([reddit docs])
+- Use core constants for fleetgo ([@tkdrob] - [#46200]) ([fleetgo docs])
+- Various type hint improvements ([@scop] - [#46144])
+- Use core constants for google ([@tkdrob] - [#46210]) ([google docs])
+- Pass variables to numeric state trigger templates ([@emontnemery] - [#46209]) ([homeassistant docs])
+- Pass variables to state trigger templates ([@emontnemery] - [#46208]) ([homeassistant docs])
+- Add select selector for blueprints ([@EPMatt] - [#45803])
+- Support templates in event triggers ([@emontnemery] - [#46207]) ([homeassistant docs])
+- Use caplog fixture for log capturing ([@amelchio] - [#46214]) ([automation docs]) ([homeassistant docs])
+- Add my component ([@bramkragten] - [#46058]) ([default_config docs]) ([my docs]) (new-integration)
+- Fix sync oath2 scaffold template ([@MartinHjelmare] - [#46219])
+- Upgrade pre-commit to 2.10.1 ([@frenck] - [#46211])
+- Add entity specific force_update for DSMR ([@yurnih] - [#46111]) ([dsmr docs])
+- Fix BT Smarthub device tracker ([@hencoappel] - [#44813]) ([bt_smarthub docs])
+- Add unavailable to Vera ([@pavoni] - [#46064]) ([vera docs])
+- Enhance MQTT cover platform ([@thecode] - [#46059]) ([mqtt docs]) (breaking-change)
+- Call setup during devcontainer create ([@balloob] - [#46224])
+- Centralize keepalive logic in Stream class ([@allenporter] - [#45850]) ([stream docs])
+- Update frontend to 20210208.0 ([@bramkragten] - [#46225]) ([frontend docs])
+- Add noltari to Tado code owners ([@Noltari] - [#46216])
+- Allow discovery info accessible from CORS enabled domains ([@balloob] - [#46226]) ([api docs])
+- Downgrade and improve lutron caseta LIP error message ([@bdraco] - [#46236]) ([lutron_caseta docs])
+- Use core constants for group component ([@tkdrob] - [#46239]) ([group docs])
+- Use core constants for helpers ([@tkdrob] - [#46240])
+- Use core constants for greeneye_monitor ([@tkdrob] - [#46238]) ([greeneye_monitor docs])
+- Use core constants for hikvision ([@tkdrob] - [#46247]) ([hikvision docs])
+- Test that variables are passed to wait_for_trigger script action ([@emontnemery] - [#46221])
+- Cleanup bond identifiers and device info ([@bdraco] - [#46192]) ([bond docs])
+- Add support for generic lights to bond ([@bdraco] - [#46193]) ([bond docs])
+- Add DHCP discovery support to Nuki integration ([@pree] - [#46032]) ([nuki docs])
+- Change the API boundary between camera and stream with initial improvement for nest expiring stream urls ([@allenporter] - [#45431]) ([camera docs]) ([generic docs]) ([nest docs]) ([stream docs]) (breaking-change)
+- Move camera timeouts to constants ([@allenporter] - [#46262]) ([camera docs])
+- Improve deCONZ tests by using aioclient_mock rather than patching web requests ([@Kane610] - [#45927]) ([deconz docs])
+- Allow to setup of a previously discovered sleeping Shelly device ([@bieniu] - [#46124]) ([shelly docs])
+- Add BPUP (push updates) support to bond ([@bdraco] - [#45550]) ([bond docs])
+- Raise ConditionError for state errors ([@amelchio] - [#46244])
+- Use core constants for homematic ([@tkdrob] - [#46248]) ([homematic docs])
+- Use core constants for image_processing ([@tkdrob] - [#46269]) ([image_processing docs])
+- Use core constants for elkm1 ([@tkdrob] - [#46091]) ([elkm1 docs])
+- Remove unnecessary constant from ihc ([@tkdrob] - [#46268]) ([ihc docs])
+- bump pysmappee ([@bsmappee] - [#46270]) ([smappee docs])
+- Remove unnecessary variable definition in firmata ([@tkdrob] - [#46172]) ([firmata docs])
+- Use core constants for here_travel_time ([@tkdrob] - [#46246]) ([here_travel_time docs])
+- Convert Hive to Async ([@KJonline] - [#46117]) ([hive docs])
+- Fix bug in test found by manual log inspection ([@allenporter] - [#46309]) ([stream docs])
+- Update nest stream URLs expiration ([@allenporter] - [#46311]) ([nest docs]) ([stream docs])
+- Add fan platform to knx ([@crazyfx1] - [#46161]) ([knx docs]) (new-platform)
+- Fix race in EntityRegistry.async_device_modified ([@emontnemery] - [#46319])
+- Bump pyav version to 8.03 ([@uvjustin] - [#46315]) ([stream docs])
+- Fix typo ([@emontnemery] - [#46321])
+- Revert multiple interfaces ([@thecode] - [#46300]) ([shelly docs])
+- Add target to service call API ([@bramkragten] - [#45898]) ([api docs]) ([websocket_api docs])
+- Fix deprecated asyncio.wait use with coroutines ([@scop] - [#44981])
+- Remove base_url fallback ([@frenck] - [#46316]) ([http docs]) (breaking-change)
+- Use core constants for joaoapps_join ([@tkdrob] - [#46291]) ([joaoapps_join docs])
+- Use core constants for sensor integration ([@tkdrob] - [#46290]) ([integration docs])
+- Hide volume control for cast devices with fixed volume ([@emontnemery] - [#46328]) ([cast docs])
+- Remove defunct Crime Reports integration ([@frenck] - [#46312]) ([crimereports docs]) (breaking-change)
+- Use core constants for konnected ([@tkdrob] - [#46322]) ([konnected docs])
+- Replace StrictVersion with AwesomeVersion ([@ludeeus] - [#46331]) ([updater docs])
+- Replace LooseVersion with AwesomeVersion ([@ludeeus] - [#46330])
+- Replace parse_version with AwesomeVersion ([@ludeeus] - [#46329]) ([blueprint docs]) ([hyperion docs])
+- Add WiLight Cover ([@leofig-rj] - [#46065]) ([wilight docs]) (new-platform)
+- Bump hatasmota to 0.2.8 ([@emontnemery] - [#46340]) ([tasmota docs])
+- Keep 1 extra segment around after playlist removal ([@uvjustin] - [#46310]) ([stream docs])
+- Remove unnecessary variables from logbook ([@tkdrob] - [#46350]) ([logbook docs])
+- Update wilight for new fan entity model ([@bdraco] - [#45869]) ([wilight docs])
+- Update wilight tests for new fan entity model ([@leofig-rj] - [#46358]) ([wilight docs])
+- Use core constants for logi_circle ([@tkdrob] - [#46359]) ([logi_circle docs])
+- Use core constants for local_file ([@tkdrob] - [#46349]) ([local_file docs])
+- Use core constants for lcn ([@tkdrob] - [#46348]) ([lcn docs])
+- Update WiLight Cover Fan Light ([@leofig-rj] - [#46366]) ([wilight docs])
+- Use activity ids for unique_id for Harmony switches ([@mkeesey] - [#46139]) ([harmony docs])
+- Use core constants for lovelace ([@tkdrob] - [#46368]) ([lovelace docs])
+- Some code cleanups for ESPHome ([@tkdrob] - [#46367]) ([esphome docs])
+- Fix explict return in tesla config flow ([@bdraco] - [#46377]) ([tesla docs])
+- Use core constants for microsoft ([@tkdrob] - [#46369]) ([microsoft docs])
+- Raise ConditionError for template errors ([@amelchio] - [#46245])
+- Clean up kira integration ([@tkdrob] - [#46292]) ([kira docs])
+- Use core constants for mqtt ([@tkdrob] - [#46389]) ([mqtt docs])
+- Use core constants for modbus ([@tkdrob] - [#46388]) ([modbus docs])
+- Clean up kira integration constants ([@tkdrob] - [#46390]) ([kira docs])
+- Allow MQTT template light floating point transition ([@kangaroomadman] - [#46385]) ([mqtt docs]) (breaking-change)
+- Raise ConditionError for time errors ([@amelchio] - [#46250])
+- Wait for registries to load at startup ([@emontnemery] - [#46265])
+- Use core constants for nissan_leaf ([@tkdrob] - [#46401]) ([nissan_leaf docs])
+- Use core constants for nmap_tracker ([@tkdrob] - [#46402]) ([nmap_tracker docs])
+- Improve knx fan implementation ([@crazyfx1] - [#46404]) ([knx docs])
+- Use core constants for ohmconnect ([@tkdrob] - [#46413]) ([ohmconnect docs])
+- Migrate mobile_app to RestoreEntity ([@emontnemery] - [#46391]) ([mobile_app docs])
+- Add generic_thermostat unique ID parameter ([@Antoni-Czaplicki] - [#46399]) ([generic_thermostat docs])
+- Add config flow to philips_js ([@elupus] - [#45784]) ([philips_js docs]) (breaking-change)
+- Install libpcap-dev for devcontainer ([@chriss158] - [#46106])
+- Correct errors found on post merge review in philips_js ([@elupus] - [#46428]) ([philips_js docs])
+- Use core constants for recollect_waste ([@tkdrob] - [#46416]) ([recollect_waste docs])
+- Postponed evaluation of annotations in core ([@frenck] - [#46434])
+- Use core constants for plugwise ([@tkdrob] - [#46414]) ([plugwise docs])
+- Improve MQTT timeout print ([@emontnemery] - [#46398]) ([mqtt docs])
+- Use core constants for rpi_gpio ([@tkdrob] - [#46442]) ([rpi_gpio docs])
+- Enhance platform discovery for zwave_js ([@marcelveldt] - [#46355]) ([zwave_js docs])
+- Fix cmus remote disconnections ([@kingo55] - [#40284]) ([cmus docs])
+- Add apple tv remote delay command ([@WizBangCrash] - [#46301]) ([apple_tv docs])
+- Enable TCP KEEPALIVE to RFLink for dead connection detection ([@cpainchaud] - [#46438]) ([rflink docs])
+- Use core constants for roomba ([@tkdrob] - [#46441]) ([roomba docs])
+- Allow Modbus "old" config or discovery_info as configuration ([@janiversen] - [#46445]) ([modbus docs])
+- Make some Area and EntityRegistry member functions callbacks ([@emontnemery] - [#46433]) ([config docs])
+- Upgrade sentry-sdk to 0.20.1 ([@frenck] - [#46456]) ([sentry docs])
+- Bump brother library to version 0.2.1 ([@bieniu] - [#46421]) ([brother docs])
+- Postponed evaluation of annotations for integrations ([@frenck] - [#46455])
+- Fix homekit migration not being awaited ([@bdraco] - [#46460]) ([homekit docs])
+- Use core constants for somfy ([@tkdrob] - [#46466]) ([somfy docs])
+- Use core constants for rflink ([@tkdrob] - [#46440]) ([rflink docs])
+- Use core constants for dynalite ([@tkdrob] - [#46044]) ([dynalite docs])
+- Use core constants for homeassistant triggers ([@tkdrob] - [#46472]) ([homeassistant docs])
+- Remove unnecessary gethostbyname() from Shelly integration ([@bieniu] - [#46483]) ([shelly docs])
+- Use core constants for starline ([@tkdrob] - [#46471]) ([starline docs])
+- Use core constants for simplepush ([@tkdrob] - [#46465]) ([simplepush docs])
+- Bump dsmr_parser to 0.28, configure keep_alive_interval ([@RobBie1221] - [#46464]) ([dsmr docs])
+- None optional hass typing in FlowHandler ([@frenck] - [#46462])
+- Remove deprecated Synology integration ([@thecode] - [#46482]) ([synology docs]) (breaking-change)
+- Remove deprecated xfinity integration ([@thecode] - [#46484]) ([xfinity docs]) (breaking-change)
+- Add Asuswrt Config Flow and Scanner Entities ([@ollo69] - [#46468]) ([asuswrt docs]) (breaking-change)
+- Update HAP-python to 3.3.0 for homekit ([@bdraco] - [#46497]) ([homekit docs])
+- Add AEMET OpenData integration ([@Noltari] - [#45074]) ([aemet docs]) (new-integration)
+- Improve Elgato code quality ([@frenck] - [#46505]) ([elgato docs])
+- Use core constants for sma ([@tkdrob] - [#46501]) ([sma docs])
+- Use core constants for rpi_rf ([@tkdrob] - [#46500]) ([rpi_rf docs])
+- Use core constants for rmvtransport ([@tkdrob] - [#46502]) ([rmvtransport docs])
+- Update tuya for new fan entity model ([@bdraco] - [#45870]) ([tuya docs])
+- Fix missing condition in nws ([@MatthewFlamm] - [#46513]) ([nws docs])
+- Use core constants for temper ([@tkdrob] - [#46508]) ([temper docs])
+- Use core constants for switcher_kis ([@tkdrob] - [#46507]) ([switcher_kis docs])
+- Use core constants for thethingsnetwork ([@tkdrob] - [#46520]) ([thethingsnetwork docs])
+- Use core constants for trend ([@tkdrob] - [#46521]) ([trend docs])
+- Add hive hub 360 sensors ([@KJonline] - [#46320]) ([hive docs])
+- Clean up template ([@tkdrob] - [#46509]) ([template docs])
+- Add keenetic_ndms2 config flow ([@foxel] - [#38353]) ([keenetic_ndms2 docs]) (breaking-change)
+- Add barrier covers to zwave_js integration ([@kpine] - [#46379]) ([zwave_js docs])
+- Improve nest defense against broken event loop on shutdown ([@allenporter] - [#46494]) ([nest docs])
+- Cleanup unused loggers ([@tkdrob] - [#46510])
+- Don't allow recursive secrets loading ([@palfrey] - [#41812])
+- Add myself to RFLink codeowners ([@javicalle] - [#46511]) ([rflink docs])
+- Update modbus test harness ([@janiversen] - [#44892]) ([modbus docs])
+- Do not trigger when template is true at startup ([@amelchio] - [#46423]) ([template docs]) (breaking-change)
+- Add support for pre-filtering events to the event bus ([@bdraco] - [#46371]) ([recorder docs])
+- Use core constants for vasttrafik ([@tkdrob] - [#46539]) ([vasttrafik docs])
+- Fix variable name from script refactoring ([@bdraco] - [#46503])
+- Use core constants for uvc ([@tkdrob] - [#46538]) ([uvc docs])
+- Use core constants for volvooncall ([@tkdrob] - [#46543]) ([volvooncall docs])
+- Use core constants for wemo ([@tkdrob] - [#46544]) ([wemo docs])
+- Fix typing on tuya fan percentage ([@bdraco] - [#46541]) ([tuya docs])
+- Add additional supported feature support to universal media player ([@raman325] - [#44711]) ([universal docs])
+- Use core constants for wemo and whois ([@tkdrob] - [#46548]) ([wemo docs]) ([whois docs])
+- Allow users to set device class for universal media player ([@raman325] - [#46550]) ([universal docs])
+- Add additional stream HLS payload tests ([@allenporter] - [#46517]) ([stream docs])
+- Remove @home-assistant/core from MQTT codeowners ([@emontnemery] - [#46562]) ([mqtt docs])
+- Bump hatasmota to 0.2.9 ([@emontnemery] - [#46561]) ([tasmota docs])
+- Convert better from byte value to percentage in futurenow ([@spike411] - [#45042]) ([futurenow docs])
+- Log ffmpeg errors for homekit cameras ([@bdraco] - [#46545]) ([homekit docs])
+- Use httpx in generic camera ([@uvjustin] - [#46576]) ([generic docs])
+- MQTT cover Bugfixes ([@thecode] - [#46479]) ([mqtt docs])
+- Limit fronius error messages on failed connection ([@nielstron] - [#45824]) ([fronius docs])
+- Refactor stream worker responsibilities for segmenting into a separate class ([@allenporter] - [#46563]) ([stream docs])
+- Add config flow to Xiaomi Miio switch ([@starkillerOG] - [#46179]) ([xiaomi_miio docs]) (breaking-change)
+- Upgrade blinkpy to 0.17.0 ([@fronzbot] - [#46581]) ([blink docs])
+- Use shared clientsession for sense ([@bdraco] - [#46419]) ([sense docs])
+- Upgrade sentry-sdk to 0.20.2 ([@frenck] - [#46590]) ([sentry docs])
+- Use core constants for xiaomi_aqara ([@tkdrob] - [#46551]) ([xiaomi_aqara docs])
+- Bump tuyaha to 0.0.10 and fix set temperature issues ([@ollo69] - [#45732]) ([tuya docs])
+- Add device_class attribute to ESPHome sensor entities ([@marecabo] - [#46595]) ([esphome docs])
+- Remove support for migrating pre-config entry homekit ([@bdraco] - [#46616]) ([homekit docs]) (breaking-change)
+- Add target to services.yaml ([@bramkragten] - [#46410]) ([light docs]) ([sonos docs])
+- Use explicit open/close for covers ([@elupus] - [#46602]) ([google_assistant docs]) (breaking-change)
+- Remove defunct CoinMarketCap integration ([@frenck] - [#46615]) ([coinmarketcap docs])
+- Bump python-vlc-telnet to 2.0.1 ([@dmcc] - [#46608]) ([vlc_telnet docs])
+- Use core constants for yeelight ([@tkdrob] - [#46552]) ([yeelight docs])
+- Use update coordinator for Xioami Miio subdevices ([@starkillerOG] - [#46251]) ([xiaomi_miio docs])
+- Fix vlc_telnet state update ([@MartinHjelmare] - [#46628]) ([vlc_telnet docs])
+- Remove unnecessary constants from universal ([@tkdrob] - [#46537]) ([universal docs])
+- Separate HLS logic out of core StreamOutput to prepare for discontinuity ([@allenporter] - [#46610]) ([camera docs]) ([stream docs])
+- Do not provide icon if device class is set in ESPHome config ([@marecabo] - [#46650]) ([esphome docs])
+- Fix exception in stream idle callback ([@allenporter] - [#46642]) ([stream docs])
+- Fix KeyError in comfoconnect percentage ([@esev] - [#46654]) ([comfoconnect docs])
+- Fix version of pip in tox ([@scop] - [#46656])
+- Fix stream keepalive on startup ([@allenporter] - [#46640]) ([camera docs])
+- Add SmartTub integration ([@mdz] - [#37775]) ([smarttub docs]) (new-integration)
+- Fix media_pause in vlc_telnet ([@dmcc] - [#46675]) ([vlc_telnet docs])
+- Fix Cloud Google/Alexa check ([@balloob] - [#46681]) ([cloud docs])
+- Add back block_until_done calls removed in PR 46610 ([@allenporter] - [#46680]) ([stream docs])
+- Add sensors to fetch Habitica tasks ([@leikoilja] - [#38910]) ([habitica docs]) (breaking-change)
+- Remove exception handling for AttributeError in wemo ([@esev] - [#46674]) ([wemo docs])
+- Fix multiple motion blinds gateways ([@starkillerOG] - [#46622]) ([motion_blinds docs])
+- Home connect use consts ([@badguy99] - [#46659]) ([home_connect docs])
+- Fix flaky stream tests due to race in idle timeout callback ([@allenporter] - [#46687]) ([stream docs])
+- Fix Tuya Option Flow tests ([@ollo69] - [#46651]) ([tuya docs])
+- Clean up xbee ([@tkdrob] - [#46549]) ([xbee docs])
+- Increase async_timeout for wemo update polling ([@esev] - [#46649]) ([wemo docs])
+- Remove calls to wemo.reconnect_with_device ([@esev] - [#46646]) ([wemo docs])
+- Bump RMVtransport to v0.3.0 ([@cgtobi] - [#46691]) ([rmvtransport docs])
+- Discover HRT4-ZW / SRT321 SetPoint in zwave_js ([@gsemet] - [#46625]) ([zwave_js docs])
+- Update zha to use new fan entity model ([@bdraco] - [#45758]) ([zha docs])
+- Centralize wemo exception handling ([@esev] - [#46705]) ([wemo docs])
+- Perform wemo state update quickly after a timeout ([@esev] - [#46702]) ([wemo docs])
+- Bump pylutron 0.2.7 ([@uvjustin] - [#46717]) ([lutron docs])
+- Switch ssdp to be async by using async_upnp_client for scanning ([@bdraco] - [#46554]) ([ssdp docs]) (breaking-change)
+- Add selectors to Input * service definitions ([@frenck] - [#46652]) ([input_boolean docs]) ([input_datetime docs]) ([input_number docs]) ([input_select docs]) ([input_text docs])
+- Add selectors to Alert service definitions ([@frenck] - [#46627]) ([alert docs])
+- Add selectors to Camera service definitions ([@frenck] - [#46630]) ([camera docs])
+- Add selectors to Switch service definitions ([@frenck] - [#46635]) ([switch docs])
+- Add selectors to Downloader service definitions ([@frenck] - [#46638]) ([downloader docs])
+- Add selectors to Fan service definitions ([@frenck] - [#46639]) ([fan docs])
+- Add selectors to Cover service definitions ([@frenck] - [#46634]) ([cover docs])
+- Add selectors to Automation service definitions ([@frenck] - [#46629]) ([automation docs])
+- Add selectors to Climate service definitions ([@frenck] - [#46632]) ([climate docs])
+- Add selectors to Alarm Control Panel service definitions ([@frenck] - [#46626]) ([alarm_control_panel docs])
+- Upgrade and constrain httplib2>=0.19.0 ([@frenck] - [#46725]) ([google docs]) ([remember_the_milk docs])
+- ubus: switch to pypi library ([@Noltari] - [#46690]) ([ubus docs])
+- Add selectors to Counter service definitions ([@frenck] - [#46633]) ([counter docs])
+- Add advanced service parameter flag ([@frenck] - [#46727]) ([light docs])
+- Add discontinuity support to HLS streams and fix nest expiring stream urls ([@allenporter] - [#46683]) ([stream docs])
+- Add selectors to Scene service definitions ([@frenck] - [#46729]) ([scene docs])
+- Fix missing color switch specific device class for Z-Wave JS driver >6.3 ([@jcam] - [#46718]) ([zwave_js docs])
+- Add selectors to Netatmo services ([@cgtobi] - [#46574]) ([netatmo docs])
+- Add selectors to Vacuum service definitions ([@frenck] - [#46728]) ([vacuum docs])
+- Add selectors to Script service definitions ([@frenck] - [#46730]) ([script docs])
+- Add advanced selectors to Light service definitions ([@frenck] - [#46732]) ([light docs])
+- Add selectors to WLED service definitions ([@frenck] - [#46731]) ([wled docs])
+- Add advanced selectors to Climate service definitions ([@frenck] - [#46736]) ([climate docs])
+- Add selectors to Z-Wave JS service definitions ([@frenck] - [#46737]) ([zwave_js docs])
+- Add selectors to Logger, System Log & Logbook service definitions ([@frenck] - [#46740]) ([logbook docs]) ([logger docs]) ([system_log docs])
+- Add selectors to MQTT service definitions ([@frenck] - [#46738]) ([mqtt docs])
+- Add selectors to Color Extractor service definitions ([@frenck] - [#46742]) ([color_extractor docs])
+- Add selectors to Lock service definitions ([@frenck] - [#46743]) ([lock docs])
+- Add selectors to Timer service definitions ([@frenck] - [#46744]) ([timer docs])
+- Skip repeated segment in stream recorder ([@uvjustin] - [#46701]) ([stream docs])
+- Fix typo in Tesla Powerwall strings ([@spacegaier] - [#46752]) ([powerwall docs])
+- Add selectors to Hue service definitions ([@frenck] - [#46747]) ([hue docs])
+- Add selectors to Media Player service definitions ([@frenck] - [#46739]) ([media_player docs])
+- Add selectors to Toon service definitions ([@frenck] - [#46750]) ([toon docs])
+- Add selectors to Browser, Recorder, Shopping List service definitions ([@frenck] - [#46749]) ([browser docs]) ([recorder docs]) ([shopping_list docs])
+- Add selectors to Conversation, Image Processing and Number service definitions ([@frenck] - [#46746]) ([conversation docs]) ([image_processing docs]) ([number docs])
+- Minor service definition tweaks ([@frenck] - [#46741]) ([cloud docs]) ([cloudflare docs]) ([command_line docs]) ([keyboard docs]) ([lovelace docs]) ([rest docs]) ([universal docs])
+- Added Slovenian language (sl-si) to Microsoft TTS ([@AdmiralStipe] - [#46720]) ([microsoft docs])
+- Add selectors to HomeKit service definitions ([@frenck] - [#46745]) ([homekit docs])
+- Add selectors to Twente Milieu service definitions ([@frenck] - [#46748]) ([twentemilieu docs])
+- Ensure pre-commit's hassfest triggers on service file changes ([@frenck] - [#46753])
+- Add selectors to Home Assistant service definitions ([@frenck] - [#46733]) ([homeassistant docs])
+- Upgrade sentry-sdk to 0.20.3 ([@frenck] - [#46754]) ([sentry docs])
+- Allow LIFX bulbs to fade color even when off ([@emichael] - [#46596]) ([lifx docs])
+- Add @esev as codeowner for wemo ([@esev] - [#46756]) ([wemo docs])
+- Upgrade cryptography to 3.3.2 ([@frenck] - [#46759])
+- Address late smarttub review ([@mdz] - [#46703]) ([smarttub docs])
+- Fix flip-flopped substitutions in Custom Version Type Warning message. ([@shbatm] - [#46768])
+- Implement percentage step sizes for fans ([@bdraco] - [#46512]) ([fan docs])
+- Fix backwards compatibility with vesync fans ([@bdraco] - [#45950]) ([vesync docs])
+- Bump actions/stale from v3.0.16 to v3.0.17 (@dependabot - [#46777])
+- Raise ConditionError for zone errors ([@amelchio] - [#46253])
+- Raise ConditionError for and/or/not errors ([@amelchio] - [#46767]) ([automation docs])
+- Bump RMVtransport to 0.3.1 ([@cgtobi] - [#46780]) ([rmvtransport docs])
+- Add Home Assistant color ([@frenck] - [#46751]) ([light docs])
+- Allow multiple recipients for XMPP ([@oetken] - [#45328]) ([xmpp docs])
+- Update GitHub Issue Form template ([@deniseyu] - [#46791])
+- Add zwave_js thermostat fan mode and fan state support ([@raman325] - [#46793]) ([zwave_js docs])
+- Format zwave_js dump as json ([@raman325] - [#46792]) ([zwave_js docs])
+- Bump pywemo to 0.6.2 ([@esev] - [#46797]) ([wemo docs])
+- Implement suggested_area in the device registry ([@bdraco] - [#45940])
+- Cleanup inconsistencies in zha fan and make it a bit more dry ([@bdraco] - [#46714]) ([zha docs])
+- Add support for using a single endpoint for rest data ([@bdraco] - [#46711]) ([rest docs])
+- Add device_entities template function/filter ([@emontnemery] - [#46406])
+- Add suggested area support to nuheat ([@bdraco] - [#46801]) ([nuheat docs])
+- Fix typing of fan speed count and steps ([@bdraco] - [#46790])
+- Implement suggested area for netatmo ([@bdraco] - [#46802]) ([netatmo docs])
+- Add suggested area to nexia ([@bdraco] - [#46776]) ([nexia docs])
+- Add suggested area to hunterdouglas_powerview ([@bdraco] - [#46774]) ([hunterdouglas_powerview docs])
+- Ensure recorder shuts down cleanly on restart before startup is finished ([@bdraco] - [#46604]) ([recorder docs])
+- Ensure HomeAssistant can still restart when a library file is missing ([@bdraco] - [#46664])
+- Implement suggested area in lutron_caseta ([@bdraco] - [#45941]) ([lutron_caseta docs])
+- Implement percentage step sizes in HomeKit ([@bdraco] - [#46722]) ([homekit docs])
+- Update smarty to use new fan entity model ([@bdraco] - [#45879]) ([smarty docs])
+- Update alexa for new fan model ([@bdraco] - [#45836]) ([alexa docs])
+- Implement suggested areas in bond ([@bdraco] - [#45942]) ([bond docs])
+- Recover and restart the recorder if the sqlite database encounters corruption while running ([@bdraco] - [#46612]) ([recorder docs])
+- Add suggested area support to Sonos ([@bdraco] - [#46794]) ([sonos docs])
+- Run homekit service calls in async since the server is now async ([@bdraco] - [#45859]) ([homekit docs])
+- Do not trigger when numeric_state is true at startup ([@amelchio] - [#46424]) ([homeassistant docs])
+- Bump zwave-js-server-python to 0.18.0 ([@raman325] - [#46787]) ([zwave_js docs]) (breaking-change)
+- Rollback stream StreamOutput refactoring in PR#46610 ([@allenporter] - [#46684]) ([camera docs]) ([stream docs])
+- Upgrade TwitterAPI to 2.6.6 ([@fabaff] - [#46812]) ([twitter docs])
+- Update rokuecp to 0.8.0 ([@ctalkington] - [#46799]) ([roku docs])
+- Add support for bond up and down lights ([@bdraco] - [#46233]) ([bond docs]) (breaking-change)
+- Add rtsp transport options to generic camera ([@uvjustin] - [#46623]) ([generic docs])
+- change log level to info ([@mib1185] - [#46823]) ([nut docs])
+- Update xknx to 0.17.0 ([@farmio] - [#46809]) ([knx docs]) (breaking-change)
+- Detect iBlinds v2.0 switch value as a cover not light ([@kpine] - [#46807]) ([zwave_js docs])
+- Implement suggested area in roku ([@ctalkington] - [#46819]) ([roku docs])
+- Explicitly create_task for asyncio.wait ([@amelchio] - [#46325]) ([script docs])
+- Validate icon and device_class of ESPHome sensor entities ([@marecabo] - [#46709]) ([esphome docs])
+- Enable KNX routing optional local_ip ([@farmio] - [#46133]) ([knx docs])
+- knx-read-service ([@farmio] - [#46670]) ([knx docs])
+- Add open/close tilt support to KNX cover ([@crazyfx1] - [#46583]) ([knx docs])
+- Bump pywemo to 0.6.3 ([@esev] - [#46825]) ([wemo docs])
+- Disable update polling for Wemo when devices can push updates ([@esev] - [#46806]) ([wemo docs])
+- Fix habitica entry unload clean up ([@MartinHjelmare] - [#46798]) ([habitica docs])
+- Speed-up wemo discovery ([@esev] - [#46821]) ([wemo docs])
+- Add Rituals Perfume Genie integration ([@milanmeu] - [#46218]) ([rituals_perfume_genie docs]) (new-integration)
+- Bump zigpy-znp from 0.3.0 to 0.4.0 ([@puddly] - [#46828]) ([zha docs])
+- Add smarttub sensor platform and state sensor ([@mdz] - [#46775]) ([smarttub docs]) (new-platform)
+- Fix Insteon config flow with add X10 and device override ([@teharris1] - [#45854]) ([insteon docs])
+- Allow upnp ignore SSDP-discoveries ([@StevenLooman] - [#46592]) ([upnp docs])
+- Add new Subaru integration ([@G-Two] - [#35760]) ([subaru docs]) (new-integration)
+- Add support for "alias" in script steps device, device_condition, and conditions ([@emontnemery] - [#46647])
+- Add support for disabling config entries ([@emontnemery] - [#46779]) ([config docs])
+- Add support for preset modes in homekit fans ([@bdraco] - [#45962]) ([homekit docs])
+- Cleanup recorder tests ([@bdraco] - [#46836]) ([recorder docs])
+- Refine printing of ConditionError ([@amelchio] - [#46838]) ([automation docs]) ([homeassistant docs]) (breaking-change)
+- Fix unmocked I/O in rituals_perfume_genie config flow test ([@bdraco] - [#46862]) ([rituals_perfume_genie docs])
+- Log zwave_js connection errors ([@cgarwood] - [#46867]) ([zwave_js docs])
+- Clean up denonavr constants ([@tkdrob] - [#46883]) ([denonavr docs])
+- Clean up acer_projector constants ([@tkdrob] - [#46880]) ([acer_projector docs])
+- Add more sensors to SmartTub integration ([@mdz] - [#46839]) ([smarttub docs])
+- Add weather platform to template domain ([@dgomes] - [#45031]) ([template docs]) (new-platform)
+- Add support for SmartTub heat modes ([@mdz] - [#46876]) ([smarttub docs])
+- Add switch platform and pump entity to SmartTub ([@mdz] - [#46842]) ([smarttub docs]) (new-platform)
+- Add support for VeSync dimmer switches ([@decompil3d] - [#44713]) ([vesync docs]) (new-platform)
+- Log the name of automations with condition errors ([@amelchio] - [#46854]) ([automation docs])
+- Add support for SmartTub filtration cycles ([@mdz] - [#46868]) ([smarttub docs])
+- Add KNX service exposure_register ([@farmio] - [#45257]) ([knx docs])
+- Add light platform to SmartTub ([@mdz] - [#46886]) ([smarttub docs]) (new-platform)
+- Add KMTronic Integration ([@dgomes] - [#41682]) ([kmtronic docs]) (new-integration)
+- Add UV sensor to SmartTub ([@mdz] - [#46888]) ([smarttub docs])
+- Expose locked attribute in deCONZ climate platform ([@jwnmulder] - [#46814]) ([deconz docs])
+- Handle ConditionError with multiple entity_id for state/numeric_state ([@amelchio] - [#46855])
+- Add usercode support to totalconnect ([@austinmroczek] - [#39199]) ([totalconnect docs]) (breaking-change)
+- Upgrade mypy to 0.812 ([@frenck] - [#46898])
+- Add Xiaomi Miio vacuum config flow ([@starkillerOG] - [#46669]) ([xiaomi_miio docs]) (breaking-change)
+- Bump samsungtvws from 1.4.0 to 1.6.0 ([@kukulich] - [#46878]) ([samsungtv docs])
+- Add device_class to Shelly cover domain ([@chemelli74] - [#46894]) ([shelly docs])
+- Cleanup of possibily confusing comment in esphome ([@frenck] - [#46903]) ([esphome docs])
+- Add binary sensor to SmartTub for online status ([@mdz] - [#46889]) ([smarttub docs]) (new-platform)
+- Clean up constants ([@tkdrob] - [#46885])
+- Add name to services ([@frenck] - [#46905]) ([light docs])
+- Add service names to Netatmo services ([@cgtobi] - [#46909]) ([netatmo docs])
+- add name and target filter to zwave_js lock services.yaml ([@raman325] - [#46914]) ([zwave_js docs])
+- Increase tado API polling interval to 5 minutes ([@macrosak] - [#46915]) ([tado docs]) (breaking-change)
+- Add name and target filter to vizio entity service ([@raman325] - [#46916]) ([vizio docs])
+- Add litterrobot integration ([@natekspencer] - [#45886]) ([litterrobot docs]) (new-integration)
+- Test zwave_js GE 12730 fan controller device-specific discovery ([@kpine] - [#46840]) ([zwave_js docs])
+- Clean up Mitemp_bt constants ([@tkdrob] - [#46881]) ([acer_projector docs]) ([mitemp_bt docs])
+- Description tweaks for automation services ([@spacegaier] - [#46926]) ([automation docs])
+- Update frontend to 20210222.0 ([@bramkragten] - [#46928]) ([frontend docs])
+- Add get_config_parameters websocket command to zwave_js ([@cgarwood] - [#46463]) ([zwave_js docs])
+- Add missing required=true to code slot field in zwave_js.set_lock_usercode service ([@raman325] - [#46931]) ([zwave_js docs])
+- Add zwave_js/get_log_config and zwave_js/update_log_config WS API commands ([@raman325] - [#46601]) ([zwave_js docs])
+- Add zwave_js set_config_parameter WS API command ([@raman325] - [#46910]) ([zwave_js docs])
+- Restore stream recorder functionality and add discontinuity support ([@uvjustin] - [#46772]) ([stream docs])
+- Add suggested area to tado ([@bdraco] - [#46932]) ([tado docs])
+- Update tasmota to use new fan entity model ([@bdraco] - [#45877]) ([tasmota docs])
+- Add suggested area support to isy994 ([@bdraco] - [#46927]) ([isy994 docs])
+- Fix smaty fan typing ([@bdraco] - [#46941]) ([smarty docs])
+- Clean up constants ([@tkdrob] - [#46924])
+- Add zwave_js constant for add-on slug ([@MartinHjelmare] - [#46950]) ([zwave_js docs])
+- Bump accuweather to 0.1.0 ([@bieniu] - [#46951]) ([accuweather docs])
+- Add service names to previously enriched services ([@frenck] - [#46929])
+- Add description to tts and notify services ([@bramkragten] - [#46764]) ([media_player docs]) ([tts docs])
+- Update homeassistant services.yaml ([@bramkragten] - [#46952]) ([homeassistant docs])
+- Return states list from zwave_js get_config_parameters websocket if available ([@cgarwood] - [#46954]) ([zwave_js docs])
+- Add stop tilt support to KNX ([@spacegaier] - [#46947]) ([knx docs])
+- Catch more zwave_js errors ([@MartinHjelmare] - [#46957]) ([zwave_js docs])
+- Add zwave_js.set_config_parameter service ([@raman325] - [#46673]) ([zwave_js docs])
+- Add missing target to increase_speed/decrease_speed service ([@bdraco] - [#46939]) ([fan docs])
+- LiteJet is now configured using config_flow ([@joncar] - [#44409]) ([litejet docs]) (breaking-change)
+- Bump pymyq to fix myq in core ([@bdraco] - [#46962]) ([myq docs])
+- Fix Plex handling of clips ([@jjlawren] - [#46667]) ([plex docs])
+- Improve zwave_js config flow ([@MartinHjelmare] - [#46906]) ([zwave_js docs])
+- Fix Shelly mireds and color_temp return type ([@chemelli74] - [#46112]) ([shelly docs])
+- Avoid having to ask for the bond token when possible during config ([@bdraco] - [#46845]) ([bond docs])
+- Fix KNX services.yaml ([@farmio] - [#46897]) ([knx docs])
+- Implement additional DataUpdateCoordinator to harmonize the data update handling of Synology DSM ([@mib1185] - [#46113]) ([synology_dsm docs])
+- Add more shopping list services ([@MHV33] - [#45591]) ([shopping_list docs])
+- Use core constants for dht ([@tkdrob] - [#46029]) ([dht docs])
+- Fix Plex showing removed shared users ([@jjlawren] - [#46971]) ([plex docs])
+- Fix typo in fireservicerota strings ([@milanmeu] - [#46973]) ([fireservicerota docs])
+- Add zwave_js.refresh_value service ([@raman325] - [#46944]) ([zwave_js docs])
+- deep copy zwave_js state in test fixtures so tests are more isolated ([@raman325] - [#46976]) ([zwave_js docs])
+- Automatically create HomeKit accessory mode entries ([@bdraco] - [#46473]) ([homekit docs])
+- Update xknx to 0.17.1 ([@farmio] - [#46974]) ([knx docs])
+- Extend zwave_js discovery scheme for lights ([@marcelveldt] - [#46907]) ([zwave_js docs])
+- Add switches and sensors to Litter-Robot ([@natekspencer] - [#46942]) ([litterrobot docs]) (new-platform)
+- Make FAN_ON use the max duration rather than 15 min default ([@allenporter] - [#46489]) ([nest docs]) (breaking-change)
+- Handle device IP change in upnp ([@StevenLooman] - [#46859]) ([upnp docs])
+- Add template support to service targets ([@frenck] - [#46977])
+- Validate KNX addresses ([@farmio] - [#46933]) ([knx docs])
+- Add ClimaCell weather integration ([@raman325] - [#36547]) ([climacell docs]) (new-integration)
+- Save mysensors gateway type in config entry ([@MartinHjelmare] - [#46981]) ([mysensors docs])
+- Mullvad VPN ([@meichthys] - [#44189]) ([mullvad docs]) (new-integration)
+- Improve mysensors config flow ([@MartinHjelmare] - [#46984]) ([mysensors docs])
+- Fix TTS services name ([@bramkragten] - [#46988]) ([tts docs])
+- Mullvad integration improvements ([@frenck] - [#46987]) ([mullvad docs])
+- Catch AuthRequired exception in confirm discovery step for Shelly config flow ([@bieniu] - [#46135]) ([shelly docs])
+- Restore Tado binary sensor attributes ([@Noltari] - [#46069]) ([tado docs])
+- Add enable and disable services for recorder ([@adrian-vlad] - [#45778]) ([recorder docs])
+- Migrate zwave_js entities to use new unique ID format ([@raman325] - [#46979]) ([zwave_js docs])
+- Fix zwave_js config flow server version timeout ([@MartinHjelmare] - [#46990]) ([zwave_js docs])
+- Set awesomeversion to 21.2.3 ([@fabaff] - [#46989])
+- Add addon selector ([@ludeeus] - [#46789])
+- Climacell fixes: Use common keys for strings, fix temp_low measurement, add windy condition ([@raman325] - [#46991]) ([climacell docs])
+- Use location common key reference in totalconnect ([@milanmeu] - [#46995]) ([totalconnect docs])
+- Add Netatmo device trigger ([@cgtobi] - [#45387]) ([netatmo docs])
+- Remove recursive key reference ([@milanmeu] - [#46999]) ([syncthru docs])
+- Add number platform to Z-Wave JS ([@marcelveldt] - [#46956]) ([zwave_js docs])
+- Setup config entry even if vizio device is unreachable ([@raman325] - [#46864]) ([vizio docs])
+- Support value_template in MQTT triggers ([@emontnemery] - [#46891]) ([mqtt docs])
+- Add Sonos media browser image proxy ([@cgtobi] - [#46902]) ([sonos docs])
+- Use Plex server URL as config entry title ([@jjlawren] - [#47010]) ([plex docs])
+- Bump plexapi to 4.4.0 ([@jjlawren] - [#47007]) ([plex docs])
+- Add FAA Delays Integration ([@ntilley905] - [#41347]) ([faadelays docs]) (new-integration)
+- Add missing tilt icon to Shelly tilt sensor ([@chemelli74] - [#46993]) ([shelly docs])
+- Update frontend to 20210224.0 ([@bramkragten] - [#47013]) ([frontend docs])
+- Change Z-Wave JS discovery logic to adopt changes to DeviceClass ([@marcelveldt] - [#46983]) ([zwave_js docs]) (breaking-change)
+
+{% enddetails %}
+
+[#34760]: https://github.com/home-assistant/core/pull/34760
+[#35760]: https://github.com/home-assistant/core/pull/35760
+[#36547]: https://github.com/home-assistant/core/pull/36547
+[#37775]: https://github.com/home-assistant/core/pull/37775
+[#38353]: https://github.com/home-assistant/core/pull/38353
+[#38910]: https://github.com/home-assistant/core/pull/38910
+[#39199]: https://github.com/home-assistant/core/pull/39199
+[#39695]: https://github.com/home-assistant/core/pull/39695
+[#40284]: https://github.com/home-assistant/core/pull/40284
+[#41347]: https://github.com/home-assistant/core/pull/41347
+[#41413]: https://github.com/home-assistant/core/pull/41413
+[#41673]: https://github.com/home-assistant/core/pull/41673
+[#41682]: https://github.com/home-assistant/core/pull/41682
+[#41812]: https://github.com/home-assistant/core/pull/41812
+[#42044]: https://github.com/home-assistant/core/pull/42044
+[#42527]: https://github.com/home-assistant/core/pull/42527
+[#42791]: https://github.com/home-assistant/core/pull/42791
+[#43148]: https://github.com/home-assistant/core/pull/43148
+[#43198]: https://github.com/home-assistant/core/pull/43198
+[#43300]: https://github.com/home-assistant/core/pull/43300
+[#43646]: https://github.com/home-assistant/core/pull/43646
+[#43683]: https://github.com/home-assistant/core/pull/43683
+[#43984]: https://github.com/home-assistant/core/pull/43984
+[#44116]: https://github.com/home-assistant/core/pull/44116
+[#44161]: https://github.com/home-assistant/core/pull/44161
+[#44189]: https://github.com/home-assistant/core/pull/44189
+[#44409]: https://github.com/home-assistant/core/pull/44409
+[#44626]: https://github.com/home-assistant/core/pull/44626
+[#44630]: https://github.com/home-assistant/core/pull/44630
+[#44711]: https://github.com/home-assistant/core/pull/44711
+[#44713]: https://github.com/home-assistant/core/pull/44713
+[#44813]: https://github.com/home-assistant/core/pull/44813
+[#44840]: https://github.com/home-assistant/core/pull/44840
+[#44873]: https://github.com/home-assistant/core/pull/44873
+[#44892]: https://github.com/home-assistant/core/pull/44892
+[#44903]: https://github.com/home-assistant/core/pull/44903
+[#44981]: https://github.com/home-assistant/core/pull/44981
+[#45031]: https://github.com/home-assistant/core/pull/45031
+[#45042]: https://github.com/home-assistant/core/pull/45042
+[#45074]: https://github.com/home-assistant/core/pull/45074
+[#45152]: https://github.com/home-assistant/core/pull/45152
+[#45161]: https://github.com/home-assistant/core/pull/45161
+[#45257]: https://github.com/home-assistant/core/pull/45257
+[#45270]: https://github.com/home-assistant/core/pull/45270
+[#45328]: https://github.com/home-assistant/core/pull/45328
+[#45387]: https://github.com/home-assistant/core/pull/45387
+[#45402]: https://github.com/home-assistant/core/pull/45402
+[#45406]: https://github.com/home-assistant/core/pull/45406
+[#45407]: https://github.com/home-assistant/core/pull/45407
+[#45421]: https://github.com/home-assistant/core/pull/45421
+[#45430]: https://github.com/home-assistant/core/pull/45430
+[#45431]: https://github.com/home-assistant/core/pull/45431
+[#45433]: https://github.com/home-assistant/core/pull/45433
+[#45478]: https://github.com/home-assistant/core/pull/45478
+[#45485]: https://github.com/home-assistant/core/pull/45485
+[#45500]: https://github.com/home-assistant/core/pull/45500
+[#45528]: https://github.com/home-assistant/core/pull/45528
+[#45534]: https://github.com/home-assistant/core/pull/45534
+[#45536]: https://github.com/home-assistant/core/pull/45536
+[#45540]: https://github.com/home-assistant/core/pull/45540
+[#45541]: https://github.com/home-assistant/core/pull/45541
+[#45543]: https://github.com/home-assistant/core/pull/45543
+[#45547]: https://github.com/home-assistant/core/pull/45547
+[#45549]: https://github.com/home-assistant/core/pull/45549
+[#45550]: https://github.com/home-assistant/core/pull/45550
+[#45558]: https://github.com/home-assistant/core/pull/45558
+[#45577]: https://github.com/home-assistant/core/pull/45577
+[#45582]: https://github.com/home-assistant/core/pull/45582
+[#45585]: https://github.com/home-assistant/core/pull/45585
+[#45587]: https://github.com/home-assistant/core/pull/45587
+[#45590]: https://github.com/home-assistant/core/pull/45590
+[#45591]: https://github.com/home-assistant/core/pull/45591
+[#45592]: https://github.com/home-assistant/core/pull/45592
+[#45593]: https://github.com/home-assistant/core/pull/45593
+[#45600]: https://github.com/home-assistant/core/pull/45600
+[#45610]: https://github.com/home-assistant/core/pull/45610
+[#45614]: https://github.com/home-assistant/core/pull/45614
+[#45617]: https://github.com/home-assistant/core/pull/45617
+[#45619]: https://github.com/home-assistant/core/pull/45619
+[#45630]: https://github.com/home-assistant/core/pull/45630
+[#45637]: https://github.com/home-assistant/core/pull/45637
+[#45639]: https://github.com/home-assistant/core/pull/45639
+[#45663]: https://github.com/home-assistant/core/pull/45663
+[#45664]: https://github.com/home-assistant/core/pull/45664
+[#45668]: https://github.com/home-assistant/core/pull/45668
+[#45669]: https://github.com/home-assistant/core/pull/45669
+[#45670]: https://github.com/home-assistant/core/pull/45670
+[#45673]: https://github.com/home-assistant/core/pull/45673
+[#45677]: https://github.com/home-assistant/core/pull/45677
+[#45681]: https://github.com/home-assistant/core/pull/45681
+[#45683]: https://github.com/home-assistant/core/pull/45683
+[#45686]: https://github.com/home-assistant/core/pull/45686
+[#45690]: https://github.com/home-assistant/core/pull/45690
+[#45691]: https://github.com/home-assistant/core/pull/45691
+[#45692]: https://github.com/home-assistant/core/pull/45692
+[#45696]: https://github.com/home-assistant/core/pull/45696
+[#45698]: https://github.com/home-assistant/core/pull/45698
+[#45701]: https://github.com/home-assistant/core/pull/45701
+[#45704]: https://github.com/home-assistant/core/pull/45704
+[#45705]: https://github.com/home-assistant/core/pull/45705
+[#45706]: https://github.com/home-assistant/core/pull/45706
+[#45707]: https://github.com/home-assistant/core/pull/45707
+[#45710]: https://github.com/home-assistant/core/pull/45710
+[#45713]: https://github.com/home-assistant/core/pull/45713
+[#45718]: https://github.com/home-assistant/core/pull/45718
+[#45721]: https://github.com/home-assistant/core/pull/45721
+[#45723]: https://github.com/home-assistant/core/pull/45723
+[#45724]: https://github.com/home-assistant/core/pull/45724
+[#45726]: https://github.com/home-assistant/core/pull/45726
+[#45730]: https://github.com/home-assistant/core/pull/45730
+[#45731]: https://github.com/home-assistant/core/pull/45731
+[#45732]: https://github.com/home-assistant/core/pull/45732
+[#45734]: https://github.com/home-assistant/core/pull/45734
+[#45737]: https://github.com/home-assistant/core/pull/45737
+[#45743]: https://github.com/home-assistant/core/pull/45743
+[#45752]: https://github.com/home-assistant/core/pull/45752
+[#45755]: https://github.com/home-assistant/core/pull/45755
+[#45758]: https://github.com/home-assistant/core/pull/45758
+[#45759]: https://github.com/home-assistant/core/pull/45759
+[#45762]: https://github.com/home-assistant/core/pull/45762
+[#45767]: https://github.com/home-assistant/core/pull/45767
+[#45768]: https://github.com/home-assistant/core/pull/45768
+[#45777]: https://github.com/home-assistant/core/pull/45777
+[#45778]: https://github.com/home-assistant/core/pull/45778
+[#45783]: https://github.com/home-assistant/core/pull/45783
+[#45784]: https://github.com/home-assistant/core/pull/45784
+[#45785]: https://github.com/home-assistant/core/pull/45785
+[#45788]: https://github.com/home-assistant/core/pull/45788
+[#45791]: https://github.com/home-assistant/core/pull/45791
+[#45794]: https://github.com/home-assistant/core/pull/45794
+[#45803]: https://github.com/home-assistant/core/pull/45803
+[#45804]: https://github.com/home-assistant/core/pull/45804
+[#45806]: https://github.com/home-assistant/core/pull/45806
+[#45811]: https://github.com/home-assistant/core/pull/45811
+[#45819]: https://github.com/home-assistant/core/pull/45819
+[#45824]: https://github.com/home-assistant/core/pull/45824
+[#45828]: https://github.com/home-assistant/core/pull/45828
+[#45829]: https://github.com/home-assistant/core/pull/45829
+[#45832]: https://github.com/home-assistant/core/pull/45832
+[#45835]: https://github.com/home-assistant/core/pull/45835
+[#45836]: https://github.com/home-assistant/core/pull/45836
+[#45837]: https://github.com/home-assistant/core/pull/45837
+[#45839]: https://github.com/home-assistant/core/pull/45839
+[#45840]: https://github.com/home-assistant/core/pull/45840
+[#45842]: https://github.com/home-assistant/core/pull/45842
+[#45843]: https://github.com/home-assistant/core/pull/45843
+[#45844]: https://github.com/home-assistant/core/pull/45844
+[#45845]: https://github.com/home-assistant/core/pull/45845
+[#45847]: https://github.com/home-assistant/core/pull/45847
+[#45848]: https://github.com/home-assistant/core/pull/45848
+[#45850]: https://github.com/home-assistant/core/pull/45850
+[#45854]: https://github.com/home-assistant/core/pull/45854
+[#45855]: https://github.com/home-assistant/core/pull/45855
+[#45859]: https://github.com/home-assistant/core/pull/45859
+[#45869]: https://github.com/home-assistant/core/pull/45869
+[#45870]: https://github.com/home-assistant/core/pull/45870
+[#45871]: https://github.com/home-assistant/core/pull/45871
+[#45877]: https://github.com/home-assistant/core/pull/45877
+[#45879]: https://github.com/home-assistant/core/pull/45879
+[#45886]: https://github.com/home-assistant/core/pull/45886
+[#45898]: https://github.com/home-assistant/core/pull/45898
+[#45899]: https://github.com/home-assistant/core/pull/45899
+[#45907]: https://github.com/home-assistant/core/pull/45907
+[#45913]: https://github.com/home-assistant/core/pull/45913
+[#45919]: https://github.com/home-assistant/core/pull/45919
+[#45923]: https://github.com/home-assistant/core/pull/45923
+[#45926]: https://github.com/home-assistant/core/pull/45926
+[#45927]: https://github.com/home-assistant/core/pull/45927
+[#45928]: https://github.com/home-assistant/core/pull/45928
+[#45930]: https://github.com/home-assistant/core/pull/45930
+[#45935]: https://github.com/home-assistant/core/pull/45935
+[#45937]: https://github.com/home-assistant/core/pull/45937
+[#45938]: https://github.com/home-assistant/core/pull/45938
+[#45940]: https://github.com/home-assistant/core/pull/45940
+[#45941]: https://github.com/home-assistant/core/pull/45941
+[#45942]: https://github.com/home-assistant/core/pull/45942
+[#45950]: https://github.com/home-assistant/core/pull/45950
+[#45951]: https://github.com/home-assistant/core/pull/45951
+[#45962]: https://github.com/home-assistant/core/pull/45962
+[#45968]: https://github.com/home-assistant/core/pull/45968
+[#45973]: https://github.com/home-assistant/core/pull/45973
+[#45976]: https://github.com/home-assistant/core/pull/45976
+[#45985]: https://github.com/home-assistant/core/pull/45985
+[#45991]: https://github.com/home-assistant/core/pull/45991
+[#45999]: https://github.com/home-assistant/core/pull/45999
+[#46001]: https://github.com/home-assistant/core/pull/46001
+[#46012]: https://github.com/home-assistant/core/pull/46012
+[#46015]: https://github.com/home-assistant/core/pull/46015
+[#46016]: https://github.com/home-assistant/core/pull/46016
+[#46017]: https://github.com/home-assistant/core/pull/46017
+[#46019]: https://github.com/home-assistant/core/pull/46019
+[#46024]: https://github.com/home-assistant/core/pull/46024
+[#46027]: https://github.com/home-assistant/core/pull/46027
+[#46028]: https://github.com/home-assistant/core/pull/46028
+[#46029]: https://github.com/home-assistant/core/pull/46029
+[#46032]: https://github.com/home-assistant/core/pull/46032
+[#46041]: https://github.com/home-assistant/core/pull/46041
+[#46042]: https://github.com/home-assistant/core/pull/46042
+[#46043]: https://github.com/home-assistant/core/pull/46043
+[#46044]: https://github.com/home-assistant/core/pull/46044
+[#46055]: https://github.com/home-assistant/core/pull/46055
+[#46058]: https://github.com/home-assistant/core/pull/46058
+[#46059]: https://github.com/home-assistant/core/pull/46059
+[#46064]: https://github.com/home-assistant/core/pull/46064
+[#46065]: https://github.com/home-assistant/core/pull/46065
+[#46069]: https://github.com/home-assistant/core/pull/46069
+[#46073]: https://github.com/home-assistant/core/pull/46073
+[#46075]: https://github.com/home-assistant/core/pull/46075
+[#46077]: https://github.com/home-assistant/core/pull/46077
+[#46083]: https://github.com/home-assistant/core/pull/46083
+[#46090]: https://github.com/home-assistant/core/pull/46090
+[#46091]: https://github.com/home-assistant/core/pull/46091
+[#46092]: https://github.com/home-assistant/core/pull/46092
+[#46093]: https://github.com/home-assistant/core/pull/46093
+[#46102]: https://github.com/home-assistant/core/pull/46102
+[#46106]: https://github.com/home-assistant/core/pull/46106
+[#46111]: https://github.com/home-assistant/core/pull/46111
+[#46112]: https://github.com/home-assistant/core/pull/46112
+[#46113]: https://github.com/home-assistant/core/pull/46113
+[#46117]: https://github.com/home-assistant/core/pull/46117
+[#46124]: https://github.com/home-assistant/core/pull/46124
+[#46128]: https://github.com/home-assistant/core/pull/46128
+[#46133]: https://github.com/home-assistant/core/pull/46133
+[#46135]: https://github.com/home-assistant/core/pull/46135
+[#46136]: https://github.com/home-assistant/core/pull/46136
+[#46137]: https://github.com/home-assistant/core/pull/46137
+[#46139]: https://github.com/home-assistant/core/pull/46139
+[#46144]: https://github.com/home-assistant/core/pull/46144
+[#46161]: https://github.com/home-assistant/core/pull/46161
+[#46169]: https://github.com/home-assistant/core/pull/46169
+[#46171]: https://github.com/home-assistant/core/pull/46171
+[#46172]: https://github.com/home-assistant/core/pull/46172
+[#46173]: https://github.com/home-assistant/core/pull/46173
+[#46176]: https://github.com/home-assistant/core/pull/46176
+[#46177]: https://github.com/home-assistant/core/pull/46177
+[#46179]: https://github.com/home-assistant/core/pull/46179
+[#46188]: https://github.com/home-assistant/core/pull/46188
+[#46192]: https://github.com/home-assistant/core/pull/46192
+[#46193]: https://github.com/home-assistant/core/pull/46193
+[#46196]: https://github.com/home-assistant/core/pull/46196
+[#46197]: https://github.com/home-assistant/core/pull/46197
+[#46200]: https://github.com/home-assistant/core/pull/46200
+[#46201]: https://github.com/home-assistant/core/pull/46201
+[#46202]: https://github.com/home-assistant/core/pull/46202
+[#46203]: https://github.com/home-assistant/core/pull/46203
+[#46204]: https://github.com/home-assistant/core/pull/46204
+[#46207]: https://github.com/home-assistant/core/pull/46207
+[#46208]: https://github.com/home-assistant/core/pull/46208
+[#46209]: https://github.com/home-assistant/core/pull/46209
+[#46210]: https://github.com/home-assistant/core/pull/46210
+[#46211]: https://github.com/home-assistant/core/pull/46211
+[#46214]: https://github.com/home-assistant/core/pull/46214
+[#46216]: https://github.com/home-assistant/core/pull/46216
+[#46218]: https://github.com/home-assistant/core/pull/46218
+[#46219]: https://github.com/home-assistant/core/pull/46219
+[#46221]: https://github.com/home-assistant/core/pull/46221
+[#46224]: https://github.com/home-assistant/core/pull/46224
+[#46225]: https://github.com/home-assistant/core/pull/46225
+[#46226]: https://github.com/home-assistant/core/pull/46226
+[#46233]: https://github.com/home-assistant/core/pull/46233
+[#46236]: https://github.com/home-assistant/core/pull/46236
+[#46238]: https://github.com/home-assistant/core/pull/46238
+[#46239]: https://github.com/home-assistant/core/pull/46239
+[#46240]: https://github.com/home-assistant/core/pull/46240
+[#46244]: https://github.com/home-assistant/core/pull/46244
+[#46245]: https://github.com/home-assistant/core/pull/46245
+[#46246]: https://github.com/home-assistant/core/pull/46246
+[#46247]: https://github.com/home-assistant/core/pull/46247
+[#46248]: https://github.com/home-assistant/core/pull/46248
+[#46250]: https://github.com/home-assistant/core/pull/46250
+[#46251]: https://github.com/home-assistant/core/pull/46251
+[#46253]: https://github.com/home-assistant/core/pull/46253
+[#46262]: https://github.com/home-assistant/core/pull/46262
+[#46265]: https://github.com/home-assistant/core/pull/46265
+[#46268]: https://github.com/home-assistant/core/pull/46268
+[#46269]: https://github.com/home-assistant/core/pull/46269
+[#46270]: https://github.com/home-assistant/core/pull/46270
+[#46290]: https://github.com/home-assistant/core/pull/46290
+[#46291]: https://github.com/home-assistant/core/pull/46291
+[#46292]: https://github.com/home-assistant/core/pull/46292
+[#46300]: https://github.com/home-assistant/core/pull/46300
+[#46301]: https://github.com/home-assistant/core/pull/46301
+[#46309]: https://github.com/home-assistant/core/pull/46309
+[#46310]: https://github.com/home-assistant/core/pull/46310
+[#46311]: https://github.com/home-assistant/core/pull/46311
+[#46312]: https://github.com/home-assistant/core/pull/46312
+[#46315]: https://github.com/home-assistant/core/pull/46315
+[#46316]: https://github.com/home-assistant/core/pull/46316
+[#46319]: https://github.com/home-assistant/core/pull/46319
+[#46320]: https://github.com/home-assistant/core/pull/46320
+[#46321]: https://github.com/home-assistant/core/pull/46321
+[#46322]: https://github.com/home-assistant/core/pull/46322
+[#46325]: https://github.com/home-assistant/core/pull/46325
+[#46328]: https://github.com/home-assistant/core/pull/46328
+[#46329]: https://github.com/home-assistant/core/pull/46329
+[#46330]: https://github.com/home-assistant/core/pull/46330
+[#46331]: https://github.com/home-assistant/core/pull/46331
+[#46340]: https://github.com/home-assistant/core/pull/46340
+[#46348]: https://github.com/home-assistant/core/pull/46348
+[#46349]: https://github.com/home-assistant/core/pull/46349
+[#46350]: https://github.com/home-assistant/core/pull/46350
+[#46355]: https://github.com/home-assistant/core/pull/46355
+[#46358]: https://github.com/home-assistant/core/pull/46358
+[#46359]: https://github.com/home-assistant/core/pull/46359
+[#46366]: https://github.com/home-assistant/core/pull/46366
+[#46367]: https://github.com/home-assistant/core/pull/46367
+[#46368]: https://github.com/home-assistant/core/pull/46368
+[#46369]: https://github.com/home-assistant/core/pull/46369
+[#46371]: https://github.com/home-assistant/core/pull/46371
+[#46377]: https://github.com/home-assistant/core/pull/46377
+[#46379]: https://github.com/home-assistant/core/pull/46379
+[#46385]: https://github.com/home-assistant/core/pull/46385
+[#46388]: https://github.com/home-assistant/core/pull/46388
+[#46389]: https://github.com/home-assistant/core/pull/46389
+[#46390]: https://github.com/home-assistant/core/pull/46390
+[#46391]: https://github.com/home-assistant/core/pull/46391
+[#46398]: https://github.com/home-assistant/core/pull/46398
+[#46399]: https://github.com/home-assistant/core/pull/46399
+[#46401]: https://github.com/home-assistant/core/pull/46401
+[#46402]: https://github.com/home-assistant/core/pull/46402
+[#46404]: https://github.com/home-assistant/core/pull/46404
+[#46406]: https://github.com/home-assistant/core/pull/46406
+[#46410]: https://github.com/home-assistant/core/pull/46410
+[#46413]: https://github.com/home-assistant/core/pull/46413
+[#46414]: https://github.com/home-assistant/core/pull/46414
+[#46416]: https://github.com/home-assistant/core/pull/46416
+[#46419]: https://github.com/home-assistant/core/pull/46419
+[#46421]: https://github.com/home-assistant/core/pull/46421
+[#46423]: https://github.com/home-assistant/core/pull/46423
+[#46424]: https://github.com/home-assistant/core/pull/46424
+[#46428]: https://github.com/home-assistant/core/pull/46428
+[#46433]: https://github.com/home-assistant/core/pull/46433
+[#46434]: https://github.com/home-assistant/core/pull/46434
+[#46438]: https://github.com/home-assistant/core/pull/46438
+[#46440]: https://github.com/home-assistant/core/pull/46440
+[#46441]: https://github.com/home-assistant/core/pull/46441
+[#46442]: https://github.com/home-assistant/core/pull/46442
+[#46445]: https://github.com/home-assistant/core/pull/46445
+[#46455]: https://github.com/home-assistant/core/pull/46455
+[#46456]: https://github.com/home-assistant/core/pull/46456
+[#46460]: https://github.com/home-assistant/core/pull/46460
+[#46462]: https://github.com/home-assistant/core/pull/46462
+[#46463]: https://github.com/home-assistant/core/pull/46463
+[#46464]: https://github.com/home-assistant/core/pull/46464
+[#46465]: https://github.com/home-assistant/core/pull/46465
+[#46466]: https://github.com/home-assistant/core/pull/46466
+[#46468]: https://github.com/home-assistant/core/pull/46468
+[#46471]: https://github.com/home-assistant/core/pull/46471
+[#46472]: https://github.com/home-assistant/core/pull/46472
+[#46473]: https://github.com/home-assistant/core/pull/46473
+[#46479]: https://github.com/home-assistant/core/pull/46479
+[#46482]: https://github.com/home-assistant/core/pull/46482
+[#46483]: https://github.com/home-assistant/core/pull/46483
+[#46484]: https://github.com/home-assistant/core/pull/46484
+[#46489]: https://github.com/home-assistant/core/pull/46489
+[#46494]: https://github.com/home-assistant/core/pull/46494
+[#46497]: https://github.com/home-assistant/core/pull/46497
+[#46500]: https://github.com/home-assistant/core/pull/46500
+[#46501]: https://github.com/home-assistant/core/pull/46501
+[#46502]: https://github.com/home-assistant/core/pull/46502
+[#46503]: https://github.com/home-assistant/core/pull/46503
+[#46505]: https://github.com/home-assistant/core/pull/46505
+[#46507]: https://github.com/home-assistant/core/pull/46507
+[#46508]: https://github.com/home-assistant/core/pull/46508
+[#46509]: https://github.com/home-assistant/core/pull/46509
+[#46510]: https://github.com/home-assistant/core/pull/46510
+[#46511]: https://github.com/home-assistant/core/pull/46511
+[#46512]: https://github.com/home-assistant/core/pull/46512
+[#46513]: https://github.com/home-assistant/core/pull/46513
+[#46517]: https://github.com/home-assistant/core/pull/46517
+[#46520]: https://github.com/home-assistant/core/pull/46520
+[#46521]: https://github.com/home-assistant/core/pull/46521
+[#46537]: https://github.com/home-assistant/core/pull/46537
+[#46538]: https://github.com/home-assistant/core/pull/46538
+[#46539]: https://github.com/home-assistant/core/pull/46539
+[#46541]: https://github.com/home-assistant/core/pull/46541
+[#46543]: https://github.com/home-assistant/core/pull/46543
+[#46544]: https://github.com/home-assistant/core/pull/46544
+[#46545]: https://github.com/home-assistant/core/pull/46545
+[#46548]: https://github.com/home-assistant/core/pull/46548
+[#46549]: https://github.com/home-assistant/core/pull/46549
+[#46550]: https://github.com/home-assistant/core/pull/46550
+[#46551]: https://github.com/home-assistant/core/pull/46551
+[#46552]: https://github.com/home-assistant/core/pull/46552
+[#46554]: https://github.com/home-assistant/core/pull/46554
+[#46561]: https://github.com/home-assistant/core/pull/46561
+[#46562]: https://github.com/home-assistant/core/pull/46562
+[#46563]: https://github.com/home-assistant/core/pull/46563
+[#46574]: https://github.com/home-assistant/core/pull/46574
+[#46576]: https://github.com/home-assistant/core/pull/46576
+[#46581]: https://github.com/home-assistant/core/pull/46581
+[#46583]: https://github.com/home-assistant/core/pull/46583
+[#46590]: https://github.com/home-assistant/core/pull/46590
+[#46592]: https://github.com/home-assistant/core/pull/46592
+[#46595]: https://github.com/home-assistant/core/pull/46595
+[#46596]: https://github.com/home-assistant/core/pull/46596
+[#46601]: https://github.com/home-assistant/core/pull/46601
+[#46602]: https://github.com/home-assistant/core/pull/46602
+[#46604]: https://github.com/home-assistant/core/pull/46604
+[#46608]: https://github.com/home-assistant/core/pull/46608
+[#46610]: https://github.com/home-assistant/core/pull/46610
+[#46612]: https://github.com/home-assistant/core/pull/46612
+[#46615]: https://github.com/home-assistant/core/pull/46615
+[#46616]: https://github.com/home-assistant/core/pull/46616
+[#46622]: https://github.com/home-assistant/core/pull/46622
+[#46623]: https://github.com/home-assistant/core/pull/46623
+[#46625]: https://github.com/home-assistant/core/pull/46625
+[#46626]: https://github.com/home-assistant/core/pull/46626
+[#46627]: https://github.com/home-assistant/core/pull/46627
+[#46628]: https://github.com/home-assistant/core/pull/46628
+[#46629]: https://github.com/home-assistant/core/pull/46629
+[#46630]: https://github.com/home-assistant/core/pull/46630
+[#46632]: https://github.com/home-assistant/core/pull/46632
+[#46633]: https://github.com/home-assistant/core/pull/46633
+[#46634]: https://github.com/home-assistant/core/pull/46634
+[#46635]: https://github.com/home-assistant/core/pull/46635
+[#46638]: https://github.com/home-assistant/core/pull/46638
+[#46639]: https://github.com/home-assistant/core/pull/46639
+[#46640]: https://github.com/home-assistant/core/pull/46640
+[#46642]: https://github.com/home-assistant/core/pull/46642
+[#46646]: https://github.com/home-assistant/core/pull/46646
+[#46647]: https://github.com/home-assistant/core/pull/46647
+[#46649]: https://github.com/home-assistant/core/pull/46649
+[#46650]: https://github.com/home-assistant/core/pull/46650
+[#46651]: https://github.com/home-assistant/core/pull/46651
+[#46652]: https://github.com/home-assistant/core/pull/46652
+[#46654]: https://github.com/home-assistant/core/pull/46654
+[#46656]: https://github.com/home-assistant/core/pull/46656
+[#46659]: https://github.com/home-assistant/core/pull/46659
+[#46664]: https://github.com/home-assistant/core/pull/46664
+[#46667]: https://github.com/home-assistant/core/pull/46667
+[#46669]: https://github.com/home-assistant/core/pull/46669
+[#46670]: https://github.com/home-assistant/core/pull/46670
+[#46673]: https://github.com/home-assistant/core/pull/46673
+[#46674]: https://github.com/home-assistant/core/pull/46674
+[#46675]: https://github.com/home-assistant/core/pull/46675
+[#46680]: https://github.com/home-assistant/core/pull/46680
+[#46681]: https://github.com/home-assistant/core/pull/46681
+[#46683]: https://github.com/home-assistant/core/pull/46683
+[#46684]: https://github.com/home-assistant/core/pull/46684
+[#46687]: https://github.com/home-assistant/core/pull/46687
+[#46690]: https://github.com/home-assistant/core/pull/46690
+[#46691]: https://github.com/home-assistant/core/pull/46691
+[#46701]: https://github.com/home-assistant/core/pull/46701
+[#46702]: https://github.com/home-assistant/core/pull/46702
+[#46703]: https://github.com/home-assistant/core/pull/46703
+[#46705]: https://github.com/home-assistant/core/pull/46705
+[#46709]: https://github.com/home-assistant/core/pull/46709
+[#46711]: https://github.com/home-assistant/core/pull/46711
+[#46714]: https://github.com/home-assistant/core/pull/46714
+[#46717]: https://github.com/home-assistant/core/pull/46717
+[#46718]: https://github.com/home-assistant/core/pull/46718
+[#46720]: https://github.com/home-assistant/core/pull/46720
+[#46722]: https://github.com/home-assistant/core/pull/46722
+[#46725]: https://github.com/home-assistant/core/pull/46725
+[#46727]: https://github.com/home-assistant/core/pull/46727
+[#46728]: https://github.com/home-assistant/core/pull/46728
+[#46729]: https://github.com/home-assistant/core/pull/46729
+[#46730]: https://github.com/home-assistant/core/pull/46730
+[#46731]: https://github.com/home-assistant/core/pull/46731
+[#46732]: https://github.com/home-assistant/core/pull/46732
+[#46733]: https://github.com/home-assistant/core/pull/46733
+[#46736]: https://github.com/home-assistant/core/pull/46736
+[#46737]: https://github.com/home-assistant/core/pull/46737
+[#46738]: https://github.com/home-assistant/core/pull/46738
+[#46739]: https://github.com/home-assistant/core/pull/46739
+[#46740]: https://github.com/home-assistant/core/pull/46740
+[#46741]: https://github.com/home-assistant/core/pull/46741
+[#46742]: https://github.com/home-assistant/core/pull/46742
+[#46743]: https://github.com/home-assistant/core/pull/46743
+[#46744]: https://github.com/home-assistant/core/pull/46744
+[#46745]: https://github.com/home-assistant/core/pull/46745
+[#46746]: https://github.com/home-assistant/core/pull/46746
+[#46747]: https://github.com/home-assistant/core/pull/46747
+[#46748]: https://github.com/home-assistant/core/pull/46748
+[#46749]: https://github.com/home-assistant/core/pull/46749
+[#46750]: https://github.com/home-assistant/core/pull/46750
+[#46751]: https://github.com/home-assistant/core/pull/46751
+[#46752]: https://github.com/home-assistant/core/pull/46752
+[#46753]: https://github.com/home-assistant/core/pull/46753
+[#46754]: https://github.com/home-assistant/core/pull/46754
+[#46756]: https://github.com/home-assistant/core/pull/46756
+[#46759]: https://github.com/home-assistant/core/pull/46759
+[#46764]: https://github.com/home-assistant/core/pull/46764
+[#46767]: https://github.com/home-assistant/core/pull/46767
+[#46768]: https://github.com/home-assistant/core/pull/46768
+[#46772]: https://github.com/home-assistant/core/pull/46772
+[#46774]: https://github.com/home-assistant/core/pull/46774
+[#46775]: https://github.com/home-assistant/core/pull/46775
+[#46776]: https://github.com/home-assistant/core/pull/46776
+[#46777]: https://github.com/home-assistant/core/pull/46777
+[#46779]: https://github.com/home-assistant/core/pull/46779
+[#46780]: https://github.com/home-assistant/core/pull/46780
+[#46787]: https://github.com/home-assistant/core/pull/46787
+[#46789]: https://github.com/home-assistant/core/pull/46789
+[#46790]: https://github.com/home-assistant/core/pull/46790
+[#46791]: https://github.com/home-assistant/core/pull/46791
+[#46792]: https://github.com/home-assistant/core/pull/46792
+[#46793]: https://github.com/home-assistant/core/pull/46793
+[#46794]: https://github.com/home-assistant/core/pull/46794
+[#46797]: https://github.com/home-assistant/core/pull/46797
+[#46798]: https://github.com/home-assistant/core/pull/46798
+[#46799]: https://github.com/home-assistant/core/pull/46799
+[#46801]: https://github.com/home-assistant/core/pull/46801
+[#46802]: https://github.com/home-assistant/core/pull/46802
+[#46806]: https://github.com/home-assistant/core/pull/46806
+[#46807]: https://github.com/home-assistant/core/pull/46807
+[#46809]: https://github.com/home-assistant/core/pull/46809
+[#46812]: https://github.com/home-assistant/core/pull/46812
+[#46814]: https://github.com/home-assistant/core/pull/46814
+[#46819]: https://github.com/home-assistant/core/pull/46819
+[#46821]: https://github.com/home-assistant/core/pull/46821
+[#46823]: https://github.com/home-assistant/core/pull/46823
+[#46825]: https://github.com/home-assistant/core/pull/46825
+[#46828]: https://github.com/home-assistant/core/pull/46828
+[#46836]: https://github.com/home-assistant/core/pull/46836
+[#46838]: https://github.com/home-assistant/core/pull/46838
+[#46839]: https://github.com/home-assistant/core/pull/46839
+[#46840]: https://github.com/home-assistant/core/pull/46840
+[#46842]: https://github.com/home-assistant/core/pull/46842
+[#46845]: https://github.com/home-assistant/core/pull/46845
+[#46854]: https://github.com/home-assistant/core/pull/46854
+[#46855]: https://github.com/home-assistant/core/pull/46855
+[#46859]: https://github.com/home-assistant/core/pull/46859
+[#46862]: https://github.com/home-assistant/core/pull/46862
+[#46864]: https://github.com/home-assistant/core/pull/46864
+[#46867]: https://github.com/home-assistant/core/pull/46867
+[#46868]: https://github.com/home-assistant/core/pull/46868
+[#46876]: https://github.com/home-assistant/core/pull/46876
+[#46878]: https://github.com/home-assistant/core/pull/46878
+[#46880]: https://github.com/home-assistant/core/pull/46880
+[#46881]: https://github.com/home-assistant/core/pull/46881
+[#46883]: https://github.com/home-assistant/core/pull/46883
+[#46885]: https://github.com/home-assistant/core/pull/46885
+[#46886]: https://github.com/home-assistant/core/pull/46886
+[#46888]: https://github.com/home-assistant/core/pull/46888
+[#46889]: https://github.com/home-assistant/core/pull/46889
+[#46891]: https://github.com/home-assistant/core/pull/46891
+[#46894]: https://github.com/home-assistant/core/pull/46894
+[#46897]: https://github.com/home-assistant/core/pull/46897
+[#46898]: https://github.com/home-assistant/core/pull/46898
+[#46902]: https://github.com/home-assistant/core/pull/46902
+[#46903]: https://github.com/home-assistant/core/pull/46903
+[#46905]: https://github.com/home-assistant/core/pull/46905
+[#46906]: https://github.com/home-assistant/core/pull/46906
+[#46907]: https://github.com/home-assistant/core/pull/46907
+[#46909]: https://github.com/home-assistant/core/pull/46909
+[#46910]: https://github.com/home-assistant/core/pull/46910
+[#46914]: https://github.com/home-assistant/core/pull/46914
+[#46915]: https://github.com/home-assistant/core/pull/46915
+[#46916]: https://github.com/home-assistant/core/pull/46916
+[#46924]: https://github.com/home-assistant/core/pull/46924
+[#46926]: https://github.com/home-assistant/core/pull/46926
+[#46927]: https://github.com/home-assistant/core/pull/46927
+[#46928]: https://github.com/home-assistant/core/pull/46928
+[#46929]: https://github.com/home-assistant/core/pull/46929
+[#46931]: https://github.com/home-assistant/core/pull/46931
+[#46932]: https://github.com/home-assistant/core/pull/46932
+[#46933]: https://github.com/home-assistant/core/pull/46933
+[#46939]: https://github.com/home-assistant/core/pull/46939
+[#46941]: https://github.com/home-assistant/core/pull/46941
+[#46942]: https://github.com/home-assistant/core/pull/46942
+[#46944]: https://github.com/home-assistant/core/pull/46944
+[#46947]: https://github.com/home-assistant/core/pull/46947
+[#46950]: https://github.com/home-assistant/core/pull/46950
+[#46951]: https://github.com/home-assistant/core/pull/46951
+[#46952]: https://github.com/home-assistant/core/pull/46952
+[#46954]: https://github.com/home-assistant/core/pull/46954
+[#46956]: https://github.com/home-assistant/core/pull/46956
+[#46957]: https://github.com/home-assistant/core/pull/46957
+[#46962]: https://github.com/home-assistant/core/pull/46962
+[#46971]: https://github.com/home-assistant/core/pull/46971
+[#46973]: https://github.com/home-assistant/core/pull/46973
+[#46974]: https://github.com/home-assistant/core/pull/46974
+[#46976]: https://github.com/home-assistant/core/pull/46976
+[#46977]: https://github.com/home-assistant/core/pull/46977
+[#46979]: https://github.com/home-assistant/core/pull/46979
+[#46981]: https://github.com/home-assistant/core/pull/46981
+[#46983]: https://github.com/home-assistant/core/pull/46983
+[#46984]: https://github.com/home-assistant/core/pull/46984
+[#46987]: https://github.com/home-assistant/core/pull/46987
+[#46988]: https://github.com/home-assistant/core/pull/46988
+[#46989]: https://github.com/home-assistant/core/pull/46989
+[#46990]: https://github.com/home-assistant/core/pull/46990
+[#46991]: https://github.com/home-assistant/core/pull/46991
+[#46993]: https://github.com/home-assistant/core/pull/46993
+[#46995]: https://github.com/home-assistant/core/pull/46995
+[#46999]: https://github.com/home-assistant/core/pull/46999
+[#47007]: https://github.com/home-assistant/core/pull/47007
+[#47010]: https://github.com/home-assistant/core/pull/47010
+[#47013]: https://github.com/home-assistant/core/pull/47013
+[@AdmiralStipe]: https://github.com/AdmiralStipe
+[@Antoni-Czaplicki]: https://github.com/Antoni-Czaplicki
+[@EPMatt]: https://github.com/EPMatt
+[@G-Two]: https://github.com/G-Two
+[@GeoffAtHome]: https://github.com/GeoffAtHome
+[@Guliver]: https://github.com/Guliver
+[@JohNan]: https://github.com/JohNan
+[@KJonline]: https://github.com/KJonline
+[@KTibow]: https://github.com/KTibow
+[@Kane610]: https://github.com/Kane610
+[@MHV33]: https://github.com/MHV33
+[@MartinHjelmare]: https://github.com/MartinHjelmare
+[@MatthewFlamm]: https://github.com/MatthewFlamm
+[@Nixon506E]: https://github.com/Nixon506E
+[@Noltari]: https://github.com/Noltari
+[@Quentame]: https://github.com/Quentame
+[@RobBie1221]: https://github.com/RobBie1221
+[@Shutgun]: https://github.com/Shutgun
+[@StevenLooman]: https://github.com/StevenLooman
+[@WizBangCrash]: https://github.com/WizBangCrash
+[@adamoutler]: https://github.com/adamoutler
+[@adrian-vlad]: https://github.com/adrian-vlad
+[@aizerin]: https://github.com/aizerin
+[@alexpilotti]: https://github.com/alexpilotti
+[@allenporter]: https://github.com/allenporter
+[@amelchio]: https://github.com/amelchio
+[@austinmroczek]: https://github.com/austinmroczek
+[@bachya]: https://github.com/bachya
+[@badguy99]: https://github.com/badguy99
+[@balloob]: https://github.com/balloob
+[@bdr99]: https://github.com/bdr99
+[@bdraco]: https://github.com/bdraco
+[@bernimoses]: https://github.com/bernimoses
+[@bieniu]: https://github.com/bieniu
+[@boralyl]: https://github.com/boralyl
+[@bramkragten]: https://github.com/bramkragten
+[@bsmappee]: https://github.com/bsmappee
+[@cgarwood]: https://github.com/cgarwood
+[@cgtobi]: https://github.com/cgtobi
+[@chemelli74]: https://github.com/chemelli74
+[@chpego]: https://github.com/chpego
+[@chriss158]: https://github.com/chriss158
+[@cpainchaud]: https://github.com/cpainchaud
+[@crazyfx1]: https://github.com/crazyfx1
+[@cristian-vescan]: https://github.com/cristian-vescan
+[@ctalkington]: https://github.com/ctalkington
+[@decompil3d]: https://github.com/decompil3d
+[@denes44]: https://github.com/denes44
+[@deniseyu]: https://github.com/deniseyu
+[@dermotduffy]: https://github.com/dermotduffy
+[@dgomes]: https://github.com/dgomes
+[@dingusdk]: https://github.com/dingusdk
+[@djtimca]: https://github.com/djtimca
+[@dmcc]: https://github.com/dmcc
+[@dmulcahey]: https://github.com/dmulcahey
+[@ehendrix23]: https://github.com/ehendrix23
+[@elupus]: https://github.com/elupus
+[@emichael]: https://github.com/emichael
+[@emontnemery]: https://github.com/emontnemery
+[@esev]: https://github.com/esev
+[@fabaff]: https://github.com/fabaff
+[@farmio]: https://github.com/farmio
+[@foxel]: https://github.com/foxel
+[@frenck]: https://github.com/frenck
+[@fronzbot]: https://github.com/fronzbot
+[@functionpointer]: https://github.com/functionpointer
+[@ggravlingen]: https://github.com/ggravlingen
+[@gsemet]: https://github.com/gsemet
+[@hencoappel]: https://github.com/hencoappel
+[@iMicknl]: https://github.com/iMicknl
+[@inytar]: https://github.com/inytar
+[@janiversen]: https://github.com/janiversen
+[@javicalle]: https://github.com/javicalle
+[@jcam]: https://github.com/jcam
+[@jjlawren]: https://github.com/jjlawren
+[@jloehr]: https://github.com/jloehr
+[@joncar]: https://github.com/joncar
+[@jwnmulder]: https://github.com/jwnmulder
+[@kangaroomadman]: https://github.com/kangaroomadman
+[@kingo55]: https://github.com/kingo55
+[@kochen]: https://github.com/kochen
+[@kpine]: https://github.com/kpine
+[@kriansa]: https://github.com/kriansa
+[@kukulich]: https://github.com/kukulich
+[@leikoilja]: https://github.com/leikoilja
+[@leofig-rj]: https://github.com/leofig-rj
+[@ludeeus]: https://github.com/ludeeus
+[@macrosak]: https://github.com/macrosak
+[@marcelveldt]: https://github.com/marcelveldt
+[@marecabo]: https://github.com/marecabo
+[@mdz]: https://github.com/mdz
+[@meichthys]: https://github.com/meichthys
+[@mib1185]: https://github.com/mib1185
+[@michaeldavie]: https://github.com/michaeldavie
+[@milanmeu]: https://github.com/milanmeu
+[@mkeesey]: https://github.com/mkeesey
+[@natekspencer]: https://github.com/natekspencer
+[@nielstron]: https://github.com/nielstron
+[@ntilley905]: https://github.com/ntilley905
+[@o-l-o]: https://github.com/o-l-o
+[@oetken]: https://github.com/oetken
+[@olijouve]: https://github.com/olijouve
+[@ollo69]: https://github.com/ollo69
+[@oxygen0211]: https://github.com/oxygen0211
+[@palfrey]: https://github.com/palfrey
+[@pavoni]: https://github.com/pavoni
+[@pawlizio]: https://github.com/pawlizio
+[@persandstrom]: https://github.com/persandstrom
+[@postlund]: https://github.com/postlund
+[@pree]: https://github.com/pree
+[@puddly]: https://github.com/puddly
+[@raman325]: https://github.com/raman325
+[@rfleming71]: https://github.com/rfleming71
+[@rngtng]: https://github.com/rngtng
+[@scop]: https://github.com/scop
+[@sgryphon]: https://github.com/sgryphon
+[@shbatm]: https://github.com/shbatm
+[@spacegaier]: https://github.com/spacegaier
+[@spike411]: https://github.com/spike411
+[@starkillerOG]: https://github.com/starkillerOG
+[@teharris1]: https://github.com/teharris1
+[@thecode]: https://github.com/thecode
+[@timmo001]: https://github.com/timmo001
+[@tkdrob]: https://github.com/tkdrob
+[@uvjustin]: https://github.com/uvjustin
+[@yurnih]: https://github.com/yurnih
+[@yuvalabou]: https://github.com/yuvalabou
+[accuweather docs]: /integrations/accuweather/
+[acer_projector docs]: /integrations/acer_projector/
+[aemet docs]: /integrations/aemet/
+[airly docs]: /integrations/airly/
+[airvisual docs]: /integrations/airvisual/
+[alarm_control_panel docs]: /integrations/alarm_control_panel/
+[alert docs]: /integrations/alert/
+[alexa docs]: /integrations/alexa/
+[amazon_polly docs]: /integrations/amazon_polly/
+[api docs]: /integrations/api/
+[apple_tv docs]: /integrations/apple_tv/
+[asuswrt docs]: /integrations/asuswrt/
+[aurora docs]: /integrations/aurora/
+[auth docs]: /integrations/auth/
+[automation docs]: /integrations/automation/
+[aws docs]: /integrations/aws/
+[bayesian docs]: /integrations/bayesian/
+[binary_sensor docs]: /integrations/binary_sensor/
+[blink docs]: /integrations/blink/
+[blueprint docs]: /integrations/blueprint/
+[bluetooth_tracker docs]: /integrations/bluetooth_tracker/
+[bmw_connected_drive docs]: /integrations/bmw_connected_drive/
+[bond docs]: /integrations/bond/
+[brother docs]: /integrations/brother/
+[browser docs]: /integrations/browser/
+[bt_smarthub docs]: /integrations/bt_smarthub/
+[caldav docs]: /integrations/caldav/
+[camera docs]: /integrations/camera/
+[cast docs]: /integrations/cast/
+[climacell docs]: /integrations/climacell/
+[climate docs]: /integrations/climate/
+[cloud docs]: /integrations/cloud/
+[cloudflare docs]: /integrations/cloudflare/
+[cmus docs]: /integrations/cmus/
+[coinmarketcap docs]: /integrations/coinmarketcap/
+[color_extractor docs]: /integrations/color_extractor/
+[comfoconnect docs]: /integrations/comfoconnect/
+[command_line docs]: /integrations/command_line/
+[config docs]: /integrations/config/
+[conversation docs]: /integrations/conversation/
+[counter docs]: /integrations/counter/
+[cover docs]: /integrations/cover/
+[crimereports docs]: /integrations/crimereports/
+[daikin docs]: /integrations/daikin/
+[deconz docs]: /integrations/deconz/
+[default_config docs]: /integrations/default_config/
+[delijn docs]: /integrations/delijn/
+[demo docs]: /integrations/demo/
+[denonavr docs]: /integrations/denonavr/
+[deutsche_bahn docs]: /integrations/deutsche_bahn/
+[devolo_home_control docs]: /integrations/devolo_home_control/
+[dht docs]: /integrations/dht/
+[doods docs]: /integrations/doods/
+[downloader docs]: /integrations/downloader/
+[dsmr docs]: /integrations/dsmr/
+[dynalite docs]: /integrations/dynalite/
+[dyson docs]: /integrations/dyson/
+[efergy docs]: /integrations/efergy/
+[elgato docs]: /integrations/elgato/
+[elkm1 docs]: /integrations/elkm1/
+[emulated_hue docs]: /integrations/emulated_hue/
+[environment_canada docs]: /integrations/environment_canada/
+[envisalink docs]: /integrations/envisalink/
+[esphome docs]: /integrations/esphome/
+[faadelays docs]: /integrations/faadelays/
+[fan docs]: /integrations/fan/
+[ffmpeg_motion docs]: /integrations/ffmpeg_motion/
+[fibaro docs]: /integrations/fibaro/
+[file docs]: /integrations/file/
+[fireservicerota docs]: /integrations/fireservicerota/
+[firmata docs]: /integrations/firmata/
+[fixer docs]: /integrations/fixer/
+[fleetgo docs]: /integrations/fleetgo/
+[flux docs]: /integrations/flux/
+[folder_watcher docs]: /integrations/folder_watcher/
+[freebox docs]: /integrations/freebox/
+[fritzbox docs]: /integrations/fritzbox/
+[fronius docs]: /integrations/fronius/
+[frontend docs]: /integrations/frontend/
+[futurenow docs]: /integrations/futurenow/
+[generic docs]: /integrations/generic/
+[generic_thermostat docs]: /integrations/generic_thermostat/
+[geniushub docs]: /integrations/geniushub/
+[gios docs]: /integrations/gios/
+[google docs]: /integrations/google/
+[google_assistant docs]: /integrations/google_assistant/
+[google_cloud docs]: /integrations/google_cloud/
+[greeneye_monitor docs]: /integrations/greeneye_monitor/
+[group docs]: /integrations/group/
+[habitica docs]: /integrations/habitica/
+[harmony docs]: /integrations/harmony/
+[here_travel_time docs]: /integrations/here_travel_time/
+[hikvision docs]: /integrations/hikvision/
+[hive docs]: /integrations/hive/
+[home_connect docs]: /integrations/home_connect/
+[homeassistant docs]: /integrations/homeassistant/
+[homekit docs]: /integrations/homekit/
+[homekit_controller docs]: /integrations/homekit_controller/
+[homematic docs]: /integrations/homematic/
+[http docs]: /integrations/http/
+[hue docs]: /integrations/hue/
+[hunterdouglas_powerview docs]: /integrations/hunterdouglas_powerview/
+[hyperion docs]: /integrations/hyperion/
+[ihc docs]: /integrations/ihc/
+[image_processing docs]: /integrations/image_processing/
+[influxdb docs]: /integrations/influxdb/
+[input_boolean docs]: /integrations/input_boolean/
+[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/
+[integration docs]: /integrations/integration/
+[isy994 docs]: /integrations/isy994/
+[izone docs]: /integrations/izone/
+[joaoapps_join docs]: /integrations/joaoapps_join/
+[keenetic_ndms2 docs]: /integrations/keenetic_ndms2/
+[keyboard docs]: /integrations/keyboard/
+[kira docs]: /integrations/kira/
+[kmtronic docs]: /integrations/kmtronic/
+[knx docs]: /integrations/knx/
+[konnected docs]: /integrations/konnected/
+[lcn docs]: /integrations/lcn/
+[lg_soundbar docs]: /integrations/lg_soundbar/
+[lifx docs]: /integrations/lifx/
+[light docs]: /integrations/light/
+[litejet docs]: /integrations/litejet/
+[litterrobot docs]: /integrations/litterrobot/
+[local_file docs]: /integrations/local_file/
+[lock docs]: /integrations/lock/
+[logbook docs]: /integrations/logbook/
+[logger docs]: /integrations/logger/
+[logi_circle docs]: /integrations/logi_circle/
+[lovelace docs]: /integrations/lovelace/
+[lutron docs]: /integrations/lutron/
+[lutron_caseta docs]: /integrations/lutron_caseta/
+[lyric docs]: /integrations/lyric/
+[mazda docs]: /integrations/mazda/
+[media_extractor docs]: /integrations/media_extractor/
+[media_player docs]: /integrations/media_player/
+[microsoft docs]: /integrations/microsoft/
+[mitemp_bt docs]: /integrations/mitemp_bt/
+[mobile_app docs]: /integrations/mobile_app/
+[modbus docs]: /integrations/modbus/
+[motion_blinds docs]: /integrations/motion_blinds/
+[mqtt docs]: /integrations/mqtt/
+[mullvad docs]: /integrations/mullvad/
+[my docs]: /integrations/my/
+[myq docs]: /integrations/myq/
+[mysensors docs]: /integrations/mysensors/
+[nest docs]: /integrations/nest/
+[netatmo docs]: /integrations/netatmo/
+[nexia docs]: /integrations/nexia/
+[nissan_leaf docs]: /integrations/nissan_leaf/
+[nmap_tracker docs]: /integrations/nmap_tracker/
+[nuheat docs]: /integrations/nuheat/
+[nuimo_controller docs]: /integrations/nuimo_controller/
+[nuki docs]: /integrations/nuki/
+[number docs]: /integrations/number/
+[nut docs]: /integrations/nut/
+[nws docs]: /integrations/nws/
+[ohmconnect docs]: /integrations/ohmconnect/
+[onvif docs]: /integrations/onvif/
+[ozw docs]: /integrations/ozw/
+[person docs]: /integrations/person/
+[philips_js docs]: /integrations/philips_js/
+[plaato docs]: /integrations/plaato/
+[plex docs]: /integrations/plex/
+[plugwise docs]: /integrations/plugwise/
+[powerwall docs]: /integrations/powerwall/
+[recollect_waste docs]: /integrations/recollect_waste/
+[recorder docs]: /integrations/recorder/
+[reddit docs]: /integrations/reddit/
+[remember_the_milk docs]: /integrations/remember_the_milk/
+[rest docs]: /integrations/rest/
+[rflink docs]: /integrations/rflink/
+[rfxtrx docs]: /integrations/rfxtrx/
+[rituals_perfume_genie docs]: /integrations/rituals_perfume_genie/
+[rmvtransport docs]: /integrations/rmvtransport/
+[roku docs]: /integrations/roku/
+[roomba docs]: /integrations/roomba/
+[roon docs]: /integrations/roon/
+[rova docs]: /integrations/rova/
+[rpi_gpio docs]: /integrations/rpi_gpio/
+[rpi_rf docs]: /integrations/rpi_rf/
+[samsungtv docs]: /integrations/samsungtv/
+[scene docs]: /integrations/scene/
+[scrape docs]: /integrations/scrape/
+[script docs]: /integrations/script/
+[sense docs]: /integrations/sense/
+[sentry docs]: /integrations/sentry/
+[shelly docs]: /integrations/shelly/
+[shopping_list docs]: /integrations/shopping_list/
+[simplepush docs]: /integrations/simplepush/
+[skybell docs]: /integrations/skybell/
+[sma docs]: /integrations/sma/
+[smappee docs]: /integrations/smappee/
+[smartthings docs]: /integrations/smartthings/
+[smarttub docs]: /integrations/smarttub/
+[smarty docs]: /integrations/smarty/
+[solaredge docs]: /integrations/solaredge/
+[somfy docs]: /integrations/somfy/
+[sonos docs]: /integrations/sonos/
+[sql docs]: /integrations/sql/
+[ssdp docs]: /integrations/ssdp/
+[starline docs]: /integrations/starline/
+[stream docs]: /integrations/stream/
+[subaru docs]: /integrations/subaru/
+[switch docs]: /integrations/switch/
+[switcher_kis docs]: /integrations/switcher_kis/
+[syncthru docs]: /integrations/syncthru/
+[synology docs]: /integrations/synology/
+[synology_dsm docs]: /integrations/synology_dsm/
+[system_log docs]: /integrations/system_log/
+[tado docs]: /integrations/tado/
+[tasmota docs]: /integrations/tasmota/
+[tcp docs]: /integrations/tcp/
+[tellduslive docs]: /integrations/tellduslive/
+[temper docs]: /integrations/temper/
+[template docs]: /integrations/template/
+[tesla docs]: /integrations/tesla/
+[thethingsnetwork docs]: /integrations/thethingsnetwork/
+[tile docs]: /integrations/tile/
+[timer docs]: /integrations/timer/
+[todoist docs]: /integrations/todoist/
+[toon docs]: /integrations/toon/
+[totalconnect docs]: /integrations/totalconnect/
+[tradfri docs]: /integrations/tradfri/
+[trend docs]: /integrations/trend/
+[tts docs]: /integrations/tts/
+[tuya docs]: /integrations/tuya/
+[twentemilieu docs]: /integrations/twentemilieu/
+[twitter docs]: /integrations/twitter/
+[ubus docs]: /integrations/ubus/
+[unifi docs]: /integrations/unifi/
+[universal docs]: /integrations/universal/
+[updater docs]: /integrations/updater/
+[upnp docs]: /integrations/upnp/
+[uvc docs]: /integrations/uvc/
+[vacuum docs]: /integrations/vacuum/
+[vasttrafik docs]: /integrations/vasttrafik/
+[velux docs]: /integrations/velux/
+[vera docs]: /integrations/vera/
+[verisure docs]: /integrations/verisure/
+[vesync docs]: /integrations/vesync/
+[vicare docs]: /integrations/vicare/
+[vizio docs]: /integrations/vizio/
+[vlc_telnet docs]: /integrations/vlc_telnet/
+[volvooncall docs]: /integrations/volvooncall/
+[websocket_api docs]: /integrations/websocket_api/
+[wemo docs]: /integrations/wemo/
+[whois docs]: /integrations/whois/
+[wilight docs]: /integrations/wilight/
+[withings docs]: /integrations/withings/
+[wled docs]: /integrations/wled/
+[xbee docs]: /integrations/xbee/
+[xfinity docs]: /integrations/xfinity/
+[xiaomi_aqara docs]: /integrations/xiaomi_aqara/
+[xiaomi_miio docs]: /integrations/xiaomi_miio/
+[xmpp docs]: /integrations/xmpp/
+[yeelight docs]: /integrations/yeelight/
+[zha docs]: /integrations/zha/
+[zwave docs]: /integrations/zwave/
+[zwave_js docs]: /integrations/zwave_js/