diff --git a/_config.yml b/_config.yml
index 274f5a2a363..5a2f5f40720 100644
--- a/_config.yml
+++ b/_config.yml
@@ -104,9 +104,9 @@ social:
# Home Assistant release details
current_major_version: 2021
-current_minor_version: 6
-current_patch_version: 6
-date_released: 2021-06-20
+current_minor_version: 7
+current_patch_version: 0
+date_released: 2021-07-07
# Either # or the anchor link to latest release notes in the blog post.
# Must be prefixed with a # and have double quotes around it.
diff --git a/source/_posts/2021-07-07-release-20217.markdown b/source/_posts/2021-07-07-release-20217.markdown
new file mode 100644
index 00000000000..be050b97f1a
--- /dev/null
+++ b/source/_posts/2021-07-07-release-20217.markdown
@@ -0,0 +1,2192 @@
+---
+layout: post
+title: "2021.7: Beta release notes"
+description: "Beta release notes for Home Assistant Core 2021.7"
+date: 2021-06-30 00:00:00
+date_formatted: "July 7, 2021"
+author: Franck Nijhof
+author_twitter: frenck
+comments: true
+categories:
+- Release-Notes
+- Core
+og_image: /images/blog/2021-07/social.png
+feedback: true
+---
+
+
+
+These are the beta release notes for Home Assistant Core 2021.7 (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 title), so we can classify your issue correctly.
+
+Issues introduced in the beta are processed with priority.
+
+- [New entity: Select](#new-entity-select)
+- [Trigger conditions and trigger IDs](#trigger-conditions-and-trigger-ids)
+- [Referencing other entities in triggers and conditions](#referencing-other-entities-in-triggers-and-conditions)
+- [Working with dates in templates](#working-with-dates-in-templates)
+- [Series version tags for Docker containers](#series-version-tags-for-docker-containers)
+- [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)
+- [All changes](#all-changes)
+
+
+
+## New entity: Select
+
+This release we welcome the `select` entity to the Home Assistant family. The
+select entity is relative of the dropdown helper (also known as
+`input_select`).
+
+The difference is that while the input select is configured and managed by you,
+the select entities are provided by integrations.
+
+This means integrations can now provide provide entities that give a choice.
+Either in the Lovelace UI, but also via automations using services,
+and via the Google Assistant.
+
+
+
+Some integrations started implementing the first select entities as of this
+release. MQTT & KNS made it available for use, WLED uses it to provide
+controls on selecting and activating a user preset, and with Rituals Perfume
+Genie you can now change the room size for your diffuser.
+
+## Trigger conditions and trigger IDs
+
+If you are creating some complex automations in YAML, you might be familiar with
+this. Consider an big automation, with a whole bunch of triggers. But how
+would you know which of those triggers actually triggered the automation?
+
+You can now assign an `id` to your triggers that is passed into automation
+when it is triggered, allowing you to make decision on it.
+
+```yaml
+automation:
+ - alias: "Trigger IDs!"
+ trigger:
+ - platform: state
+ id: "normal"
+ entity_id: binary_sensor.gate
+ - platform: state
+ id: "forgotten"
+ entity_id: binary_sensor.gate
+ for:
+ minutes: 10
+ ...
+```
+
+The above example triggers the same automation twice, once when the gate opens
+and once when the gate is left open for 10 minutes (probably forgotten). Each
+trigger has its own ID.
+
+Now introducing the new trigger condition! So you can add a condition on which
+trigger fired the automation.
+
+```yaml
+automation:
+ - alias: "Trigger IDs!"
+ ...
+ action:
+ ...
+ - condition: trigger
+ id: "forgotten"
+ - service: notify.frenck_iphone
+ data:
+ message: "Someone left the gate open..."
+```
+
+You can use the trigger condition in all places all other conditions work
+as well, including things like [choose from a group of actions](/docs/scripts/#choose-a-group-of-actions).
+
+## Referencing other entities in triggers and conditions
+
+A small, but possibly helpful, change to our script and automations.
+You can now reference other entities for the above/below values of numeric
+state triggers and conditions. Both sensors and number entities can be used.
+
+For example, you can now trigger an automation if the outside temperature
+is higher than the temperature inside.
+
+```yaml
+automation:
+ - alias: "Notify to close the window"
+ trigger:
+ - platform: numeric_state
+ entity_id: sensor.outside_temperature
+ above: sensor.inside_temperature
+ action:
+ - service: notify.frenck_iphone
+ data:
+ message: "Close the windows, it is warm outside!"
+```
+
+The numeric state conditions supports the same.
+
+Additionally, the time conditions now support a similar thing using other
+sensors that provide a time in the before and after options. Time triggers
+added support for that already in a previous release.
+
+## Working with dates in templates
+
+If you ever tried to work with dates in templates, you probably know that that
+is hard. And honestly, that will never go away, a time and timezones is a
+complex little beast.
+
+However, we realized that the hardest part of using date & times with templates,
+is actually converting the state of a sensor or text to an datetime. This
+release we added a small template method to help with that: `as_datetime`.
+
+It can be used as a filter or as a method. Here is an example to
+calculate the number of days until my drivers license expires:
+
+{% raw %}
+
+```yaml
+{{ (states('sensor.drivers_license') | as_datetime - now()).days }} days
+```
+
+{% endraw %}
+
+## Series version tags for Docker containers
+
+If you are using the Home Assistant Container installation method,
+we recommend to use a specific version tag, however, that means
+you need to update the version tag each time we release a new patch version
+of Home Assistant.
+
+As of this release, we also provide a series version tag, that always
+points to the latest patch version of that release.
+
+```shell
+docker pull ghcr.io/home-assistant/home-assistant:2021.7
+```
+
+The `2021.7`, will contain the latest July release, even if that is
+actually version `2021.7.2`.
+
+## Other noteworthy changes
+
+There is much more juice in this release; here are some of the other
+noteworthy changes this release:
+
+Z-Wave JS Updates, probably make it a chapter in the release blog:
+
+- Add zwave_js.multicast_set_value service ([@raman325] - [#51115]) ([zwave_js docs])
+- Add zwave_js node status sensor ([@raman325] - [#51181]) ([zwave_js docs])
+- Add zwave_js ping node service ([@raman325] - [#51435]) ([zwave_js docs])
+- Add ZWave JS heal network UI (#9449) @cgarwood (frontend)
+- Add button for zwave_js options flow (#9001) @MartinHjelmare (frontend)
+- Add button to download logs from zwave_js logs page (#9395) @raman325 (frontend)
+
+Others:
+
+- Add support for fan speed percentage and preset modes to google_assistant integration ([@jbouwh] - [#50283]) ([google_assistant docs])
+- Alexa fan preset_mode support ([@jbouwh] - [#50466]) ([alexa docs])
+- Philips TV ambilight support ([@elupus] - [#44867]) ([philips_js docs])
+- Yamaha musiccast grouping-services ([@micha91] - [#51952]) ([yamaha_musiccast docs])
+- Add separate ozone sensor for climacell ([@raman325] - [#51182]) ([climacell docs])
+- Add device trigger support for Philips Hue Wall Switch Module ([@cklagenberg] - [#51574]) ([hue docs])
+- WLED WebSocket support - local push updates ([@frenck] - [#51683]) ([wled docs])
+- Add preset support to WLED ([@frenck] - [#52170]) ([wled docs])
+- Allow keeping master light in WLED ([@frenck] - [#51759]) ([wled docs])
+- Add Xiaomi add using cloud support ([@starkillerOG] - [#47955]) ([xiaomi_miio docs])
+- Add services to ezviz integration ([@RenierM26] - [#48984]) ([ezviz docs]) (new-platform)
+- Xiaomi_miio fan percentage based speeds and preset_modes ([@jbouwh] - [#51791]) ([xiaomi_miio docs])
+- Add config flow step user to dsmr ([@RobBie1221] - [#50318]) ([dsmr docs])
+- Add sensor platform to Meteoclimatic integration ([@adrianmo] - [#51467]) ([meteoclimatic docs]) (new-platform)
+- Tibber power factor ([@Danielhiversen] - [#52223]) ([tibber docs])
+- Bulgarian language added in Google Translate TTS ([@hristo-atanasov] - [#51985]) ([google_translate docs])
+- Add new climacell sensors ([@raman325] - [#52079]) ([climacell docs])
+- Add service to reset SmartTub reminders ([@mdz] - [#51824]) ([smarttub docs])
+- ESPHome Climate add preset, custom preset, custom fan mode ([@OttoWinter] - [#52133]) ([esphome docs])
+- Change DiffuserRoomSize number entity to select entity ([@milanmeu] - [#51993]) ([rituals_perfume_genie docs])
+- KNX: Support for XY-color lights ([@farmio] - [#51306]) ([knx docs])
+- Add quantiles to Statistics integration ([@cgomesu] - [#52189]) ([statistics docs])
+- Create service to enable Continuous Mode on Nuki Opener ([@anaisbetts] - [#51861]) ([nuki docs])
+
+- Add input elements to login page for password managers (#9369) @rianadon (frontend)
+- Add hardware dialog (#9348) @ludeeus (frontend)
+
+## New Integrations
+
+We welcome the following new integrations this release:
+
+- [Ambee][ambee docs], added by [@frenck]
+- [Forecast.Solar], added by [@klaasnicolaas]
+- [Freedompro], added by [@stefano055415]
+- [Modern Forms][modern_forms docs], added by [@wonderslug]
+- [Select], added by [@frenck]
+
+## New Platforms
+
+The following integration got support for a new platform:
+
+- [AVM FRITZ!Box Tools][fritz docs] now has switches available, added by [[@chemelli74]
+- [Bosch SHC][bosch_shc docs] has now several sensors for their devices, added by [@tschamm]
+- [Groups][group docs] now support creating Media Player groups, added by [@definitio]
+- [Hyperion][hyperion docs] can now provide a camera feed with the live image, added by [@dermotduffy]
+- [KNX][knx docs] added support for number and the new select entities, added by [@farmio]
+- [Meteoclimatic][meteoclimatic docs] now provides sensors with weather information, added by [@adrianmo]
+- [MQTT][mqtt docs] got support for the new select entities, added by [@emontnemery]
+- [Rituals Perfume Genie][rituals_perfume_genie docs] added a select entity for room size, added by [@milanmeu]
+- [SIA Alarm Systems][sia docs] now provides various binary sensors, added by [@eavanvalkenburg]
+- [Sony Bravia TV][braviatv docs] now offers a remote entity, added by [@Drafteed]
+- [Switcher][switcher_kis docs] now provides sensors, added by [@thecode]
+- [WLED][wled docs] now exposes color palettes and presets using select entities, added by [@frenck]
+
+## Integrations now available to set up from the UI
+
+The following integrations are now available via the Home Assistant UI:
+
+- [Coinbase][coinbase docs], done by [@TomBrien]
+- [DSMR Slimme Meter][dsmr docs], done by [@RobBie1221]
+- [Nmap Tracker][nmap_tracker docs], done by [@bdraco]
+- [Yamaha MusicCast][yamaha_musiccast docs], done by [@vigonotion]
+
+## 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 "Using a reverse proxy with Home Assistant" %}
+
+Home Assistant will now block HTTP requests when a misconfigured reverse proxy,
+or misconfigured Home Assistant instance when using a reverse proxy,
+has been detected.
+
+If you are using a reverse proxy, please make sure you have configured
+`use_x_forwarded_for` and `trusted_proxies` in your HTTP integration
+configuration.
+
+For more information, see the
+[HTTP integration documentation](https://www.home-assistant.io/integrations/http#use_x_forwarded_for).
+
+Additionally, access to Home Assistant from same IP as a trusted proxy will be
+rejected if the request is marked as forwarded.
+
+([@frenck] - [#51839]) ([@elupus] - [#52073]) ([http docs])
+
+{% enddetails %}
+
+{% details "Python 3.9 / Alpine 3.13" %}
+
+Our Docker images are not based on Alpine 3.13, and run Python 3.9.
+
+This is mainly interesting if you running custom Docker containers based
+on our container.
+
+If you are using Home Assistant Container, Home Assistant OS or the Home Assistant
+Supervised installation method, you will automatically get this update on upgrade
+and no additional interaction is needed.
+
+([@pvizeli] - [#51628])
+
+{% enddetails %}
+
+{% details "Modbus" %}
+
+As announced in 2021.4, the “old style” YAML was deprecated and now removed:
+
+Example “old style” configuration, that is now invalid:
+
+```yaml
+modbus:
+ - name: hub1
+ type: tcp
+ host: IP_ADDRESS
+ port: 502
+
+binary_sensor:
+ platform: modbus
+ registers:
+ - name: Sensor1
+ hub: hub1
+ slave: 1
+ register: 100
+```
+
+Same configuration in valid new style:
+
+```yaml
+modbus:
+ - name: hub1
+ type: tcp
+ host: IP_ADDRESS
+ port: 502
+ binary_sensors:
+ - name: Sensor1
+ slave: 1
+ address: 100
+```
+
+([@janiversen] - [#51117]) ([modbus docs])
+
+---
+
+The `coil` and `register` configuration options are changed to `address` and (if not default) `input_type`.
+
+Previous configuration example:
+
+```yaml
+modbus:
+ - name: hub1
+ type: tcp
+ host: IP_ADDRESS
+ port: 502
+ covers:
+ - name: Door1
+ coil: 117
+ - name: Door2
+ register: 131
+ state_open: 1
+ state_closed: 0
+```
+
+The new configuration looks like:
+
+```yaml
+modbus:
+ - name: hub1
+ type: tcp
+ host: IP_ADDRESS
+ port: 502
+ covers:
+ - name: Door1
+ input_type: coil
+ address: 117
+ - name: Door2
+ address: 131
+ state_open: 1
+ state_closed: 0
+```
+
+([@janiversen] - [#51154]) ([modbus docs])
+
+---
+
+The configuration attributes `curent_temp_register` and `current_temp_register_type`
+are changed to `address` and `input_type` in order for all platforms to have a
+common configurations.
+
+Before this PR, this was legal:
+
+```yaml
+modbus:
+ - name: hub1
+ type: tcp
+ host: IP_ADDRESS
+ port: 502
+ climates:
+ - name: "Watlow F4T"
+ current_temp_register: 27586
+ current_temp_register_type: holding
+```
+
+This changes to:
+
+```yaml
+modbus:
+ - name: hub1
+ type: tcp
+ host: IP_ADDRESS
+ port: 502
+ climates:
+ - name: "Watlow F4T"
+ address: 27586
+ input_type: holding
+```
+
+([@janiversen] - [#51202]) ([modbus docs])
+
+---
+
+Modbus sensor ‘reverse_order’ is no longer supported, please use ‘swap’ instead.
+
+Old configuration:
+
+```yaml
+modbus:
+ - name: hub1
+ type: tcp
+ host: IP_ADDRESS
+ port: 502
+ sensors:
+ - name: Sensor1
+ address: 100
+ reverse_order: true
+```
+
+New configuration:
+
+```yaml
+modbus:
+ - name: hub1
+ type: tcp
+ host: IP_ADDRESS
+ port: 502
+ sensors:
+ - name: Sensor1
+ address: 100
+ swap: word
+```
+
+([@janiversen] - [#51665]) ([modbus docs])
+
+---
+
+`data_count` is no longer supported, please use `count`.
+
+No longer supported:
+
+```yaml
+modbus:
+ - name: hub1
+ type: tcp
+ host: IP_ADDRESS
+ port: 502
+ climates:
+ - name: "Watlow F4T"
+ address: 27586
+ input_type: holding
+ data_count: 1
+ ...
+```
+
+Please change it to:
+
+```yaml
+modbus:
+ - name: hub1
+ type: tcp
+ host: IP_ADDRESS
+ port: 502
+ climates:
+ - name: "Watlow F4T"
+ address: 27586
+ input_type: holding
+ count: 1
+ ...
+```
+
+([@janiversen] - [#51668]) ([modbus docs])
+
+{% enddetails %}
+
+{% details "Google Play Music Desktop Player (GPMDP)" %}
+
+- The integration has been disabled since it requires an old version of the
+ `websocket-client` library which is incompatible with the requirements of
+ other integrations that are actively maintained.
+
+- It's not clear if this integration still works with the gpmdp app that now
+ only supports YouTube Music. If there's someone that uses the integration
+ successfully and wants to take on the maintenance task that is required to get
+ the integration in a compatible state, please create an issue to discus
+ the future of this integration.
+
+([@MartinHjelmare] - [#51509]) ([gpmdp docs])
+
+{% enddetails %}
+
+{% details "MeteoAlarm" %}
+
+You now cannot use the 2 letters of your country code, but must know use the
+complete country name in your configuration. To find out which country names
+you can use, please look at meteoalarm.org.
+
+([@rolfberkenbosch] - [#51383]) ([meteoalarm docs])
+
+{% enddetails %}
+
+{% details "CEC Support" %}
+
+our Docker container limited too support CEC drivers that are provided by
+the Linux kernel. This applies to the Home Assistant Container,
+Home Assistant OS and Home Assistant Supervised installation types.
+
+This will cover most CEC drivers out there.
+
+ ([@pvizeli] - [#51637])
+
+{% enddetails %}
+
+{% details "Yamaha MusicCast" %}
+
+The integration has been rewritten from the ground up and is now configurable
+via the user interface only. Existing platform YAML config will automatically
+imported into the user interface on upgrade; and can be safely removed
+from the YAML configuration after upgrade has been completed.
+
+([@vigonotion] - [#51561]) ([yamaha_musiccast docs])
+
+{% enddetails %}
+
+{% details "Spain electricity hourly pricing (PVPC)" %}
+
+With the change to the new, and unique, electric tariff 2.0TD, if you
+previously had configured multiple PVPC sensors monitoring prices for more
+than one of the old tariffs, only the first one will survive, so if you
+have any automations or scripts that depend on these removed sensors,
+you might need to adjust them.
+
+([@azogue] - [#51789]) ([pvpc_hourly_pricing docs])
+
+{% enddetails %}
+
+{% details "Growatt" %}
+
+The Growatt API has changed individual PV array units from Watts to Kilowatts.
+This change is to update the units used for these values in Home Assistant,
+therefore the units for these values will change.
+
+([@muppet3000] - [#52021]) ([growatt_server docs])
+
+{% enddetails %}
+
+{% details "Switcher" %}
+
+In preparation for multi device support, configuration via the UI and support
+for discovery; this integration is migrating entity attributes into sensors
+to be later added as device entities. The following switch entity attributes
+migrated to sensors:
+
+| Attribute | Sensor Name |
+| ------------- | ------------- |
+| `power_consumption` | Power Consumption |
+| `electric_current` | Electric Current |
+| `remaining_time` | Remaining Time |
+| `auto_off_set` | Auto Shutdown |
+
+([@thecode] - [#51964]) ([switcher_kis docs])
+
+{% enddetails %}
+
+{% details "Sony Bravia TV " %}
+
+From April 2020, the Sony Bravia TV integration has been automatically importing
+your import of existing YAML configurations. Now we have removed this option for
+migration. Your existing configuration has been imported to the UI already
+and can now be safely removed from your YAML configuration files.
+
+([@bieniu] - [#52141]) ([braviatv docs])
+
+{% enddetails %}
+
+{% details "Azure Event Hub" %}
+
+When using this integration with with IoTHub, the `event_hub_name` is now
+a required field, can be filled by the DeviceID when using IoTHub.
+
+([@eavanvalkenburg] - [#52049]) ([azure_event_hub docs])
+
+{% enddetails %}
+
+{% details "DSMR Slimme Meter" %}
+
+Configuring the DSMR integration via YAML has been deprecated and will
+be removed in Home Assistant 2021.9. If you have an existing YAML
+configuration for the DSMR platform is will be imported into the UI
+automatically on upgrade. You can safely remove the DSMR YAML configuration
+after upgrading Home Assistant.
+
+([@frenck] - [#52179]) ([dsmr docs])
+
+----
+
+The Hourly Gas Consumption sensor has been removed from the DSMR integration.
+This sensor was calculated and it is not an actual datapoint from the energy
+meter.
+
+If you are looking for a replacement, you can use the
+[Derivative integration](/integrations/derivative/) to re-create the hourly
+(or any other timeframe) sensor based on the total Gas consumption sensor.
+
+([@frenck] - [#52147]) ([dsmr docs])
+
+{% enddetails %}
+
+{% details "Nettigo Air Monitor" %}
+
+The AirQuality platform has been marked as deprecated. The `air_quality`
+entities will be deleted and replaced with `sensor` entities.
+You need to update your automations and dashboards if you have been usin
+these `air_quality` entities in those.
+
+([@bieniu] - [#52152]) ([nam docs])
+
+{% enddetails %}
+
+{% details "Open Z-Wave" %}
+
+Open Z-Wave lights no longer support the deprecated `white_value` attribute,
+use `rgbw_color` instead.
+
+([@emontnemery] - [#52063]) ([ozw docs])
+
+{% enddetails %}
+
+{% details "Prometheus" %}
+
+Prometheus is now converting temperatures in °F to °C. If you are relying on
+`temperature_c` being in Fahrenheit, you will need to make adjustments,
+for example by doing a unit conversion in a PromQL query.
+
+([@masto] - [#52212]) ([prometheus docs])
+
+{% enddetails %}
+
+{% details "Airly" %}
+
+The AirQuality platform has been marked as deprecated. The `air_quality` entitiy
+is removed and replaced with sensor entities. You will need to update their
+automations and dashboards if you have been using the `air_quality` entity
+of Airly.
+
+([@bieniu] - [#52225]) ([airly docs])
+
+{% enddetails %}
+
+{% details "Nmap Tracker" %}
+
+The Nmap Tracker has fully transitioned to configuration via UI.
+Existing YAML configuration will be imported automatically and can now safely
+be removed from your configuration files.
+
+([@bdraco] - [#50429]) ([nmap_tracker docs])
+
+{% enddetails %}
+
+{% details "MQTT" %}
+
+It's no longer possible to set attributes defined in the the base component
+via a configured `json_attributes_topic`.
+
+For example a light no longer accepts brightness via the `json_attribute_topic`.
+This was unintended and undocumented functionality that lead to expected
+behavior.
+
+This change applies to all supported MQTT platforms.
+
+([@emontnemery] - [#52242] [#52278] [#52280] [#52285] [#52286] [#52283] [#52289] [#52291] [#52290] [#52288] [#52282] [#52279]) ([mqtt docs])
+
+{% enddetails %}
+
+{% details "Coinbase" %}
+
+The Coinbase integration migrated to configuration via the UI. Configuring
+Coinbase via YAML configuration has been deprecated and will be removed in a
+future Home Assistant release. Your existing YAML configuration is automatically
+imported on upgrade to this release; and thus can be safely removed from your
+YAML configuration after upgrading.
+
+([@TomBrien] - [#45354]) ([coinbase docs])
+
+----
+
+Only accounts explicitly included in `account_balance_currencies` will be
+loaded. Excluding the option will no longer load all provided accounts as
+Coinbase's API now provides at least 29 accounts even if they are not
+configured in your API settings on Coinbase.
+
+([@TomBrien] - [#51981]) ([coinbase docs])
+
+{% enddetails %}
+
+{% details "Kuler Sky" %}
+
+Kuler Sky lights no longer supports deprecated `white_value` attribute for
+its lights, use the `rgbw_color` attribute instead.
+
+([@emontnemery] - [#52080]) ([kulersky docs])
+
+{% enddetails %}
+
+{% details "Zero-configuration networking (zeroconf)" %}
+
+The IPv6 configuration option has been deprecated in favor of the settings
+provided by the network integration.
+
+([@bdraco] - [#51173]) ([zeroconf docs])
+
+{% enddetails %}
+
+{% details "Database (statistics table)" %}
+
+The statistics table is Home Assistant data table that is not exposed
+or used by Home Assistant yet and is part of an alpha / feature that is in
+development. However, it does exist and it might be you found it already
+interesting or found a use for it.
+
+This release, the contents of this table is reset. This does not impact
+any state history, and this data isn't used by Home Assistant as of yet.
+
+If you have no idea what this message is about, you can safely ignore it.
+We have merely listed this to be complete in our breaking changes report.
+
+([@emontnemery] - [#52331]) ([history docs])
+
+{% enddetails %}
+
+## All changes
+
+{% details "Click to see all changes!" %}
+
+- Refactor ModbusRegisterSensor class to get hub and configuration ([@yury-sannikov] - [#50234]) ([modbus docs])
+- Bump version to 2021.7.0dev0 ([@frenck] - [#51116])
+- Change stream sequence number to start from 0 ([@uvjustin] - [#51101]) ([stream docs])
+- Upgrade pysonos to 0.0.50 ([@amelchio] - [#51125]) ([sonos docs])
+- After merge, review. ([@janiversen] - [#51139]) ([modbus docs])
+- Bump pysma version to 0.5.0 ([@rklomp] - [#51098]) ([sma docs])
+- Add missing function signature ([@ollo69] - [#51153]) ([asuswrt docs])
+- Clean up Local IP integration ([@frenck] - [#51126]) ([local_ip docs])
+- Clean up DNS IP integration ([@frenck] - [#51143]) ([dnsip docs])
+- Update sia tests ([@eavanvalkenburg] - [#51151]) ([sia docs])
+- Normalize async_setup_entry ([@tkdrob] - [#51161])
+- Add myself to Switcher codeowners ([@thecode] - [#51158]) ([switcher_kis docs])
+- Use bool annotations for setup entries ([@tkdrob] - [#51166])
+- Define climate entity attributes as class variables ([@frenck] - [#51006]) ([climate docs]) ([toon docs])
+- Add zwave_js.multicast_set_value service ([@raman325] - [#51115]) ([zwave_js docs])
+- Fix totalconnect test calling public host ([@jjlawren] - [#51138]) ([totalconnect docs])
+- Adjust segment duration calculation in stream ([@uvjustin] - [#51149]) ([stream docs])
+- Use entity class vars in SolarEdge ([@frenck] - [#51123]) ([solaredge docs])
+- Define alarm_control_panel entity attributes as class variables ([@frenck] - [#51120]) ([alarm_control_panel docs]) ([verisure docs])
+- Bump actions/cache from 2.1.5 to 2.1.6 (@dependabot - [#51185])
+- Clean up Speedtest.net Sensors ([@frenck] - [#51124]) ([speedtestdotnet docs])
+- Bump config version to 2 for AVM Fritz Tools ([@mib1185] - [#51176]) ([fritz docs])
+- Remove old config from cover, including tests ([@janiversen] - [#51118]) ([modbus docs])
+- Move modbus schema validators to validators.py ([@janiversen] - [#51121]) ([modbus docs])
+- Remove "old" config from modbus binary_sensor ([@janiversen] - [#51117]) ([modbus docs]) (breaking-change)
+- Define media_player entity attributes as class variables ([@frenck] - [#51192]) ([dunehd docs]) ([heos docs]) ([media_player docs]) ([spotify docs])
+- Change Cover to use address/input_type ([@janiversen] - [#51154]) ([modbus docs]) (breaking-change)
+- Add missing outdoor temperature unit for Tado ([@Noltari] - [#51197]) ([tado docs])
+- Revert "Bump config version to 2 for AVM Fritz Tools (#51176)" ([@ludeeus] - [#51193]) ([fritz docs])
+- Set Registry name parameter to Hashable type ([@MartinHjelmare] - [#51203])
+- Address late review of Mazda services ([@bdr99] - [#51178]) ([mazda docs])
+- Adjust modbus climate to use address/input_type ([@janiversen] - [#51202]) ([modbus docs]) (breaking-change)
+- Add separate ozone sensor for climacell ([@raman325] - [#51182]) ([climacell docs])
+- Decrease nsw fuel request volume ([@nickw444] - [#49552]) ([nsw_fuel_station docs])
+- Add network and callback support to SSDP ([@bdraco] - [#51019]) ([dlna_dmr docs]) ([network docs]) ([ssdp docs]) ([upnp docs]) (new-integration)
+- Remove incorrect check in Alexa for SERVICE_ALARM_DISARM fail ([@emontnemery] - [#51224]) ([alexa docs])
+- Add discovery by manufacturer to Nettigo Air Monitor integration ([@bieniu] - [#51155]) ([nam docs])
+- Use flow result type constants more ([@scop] - [#51122]) ([auth docs]) ([mqtt docs]) ([mysensors docs])
+- Remove double schema validation in network ([@bdraco] - [#51219]) ([network docs])
+- Define CoverEntity entity attributes as class variables ([@frenck] - [#51236]) ([cover docs]) ([zwave_js docs])
+- Replace sonos discovery thread with ssdp callback registration ([@bdraco] - [#51033]) ([network docs]) ([sonos docs]) ([ssdp docs]) (new-integration)
+- Cleanup unneeded variable assignment in ezviz ([@frenck] - [#51239]) ([ezviz docs])
+- Cleanup commented code + comprehensions in iOS ([@frenck] - [#51238]) ([ios docs])
+- Small tweaks to LaCrosse ([@frenck] - [#51249]) ([lacrosse docs])
+- Add gui config option consider device unavailable ([@rsegers] - [#51218]) ([zha docs])
+- Update HLS playlist in stream ([@uvjustin] - [#51191]) ([stream docs])
+- Handle empty ssdp descriptions in the cache ([@bdraco] - [#51253]) ([ssdp docs])
+- Small optimization in entity registry enabled deConz method ([@frenck] - [#51250]) ([deconz docs])
+- Clean up SmartTub ([@mdz] - [#51257]) ([smarttub docs])
+- Use entity class vars for Mill ([@Danielhiversen] - [#51264]) ([mill docs])
+- Only debug log new Sonos SSDP discoveries ([@jjlawren] - [#51247]) ([sonos docs])
+- Add zwave_js node status sensor ([@raman325] - [#51181]) ([zwave_js docs])
+- Simplify device action code ([@emontnemery] - [#51263])
+- Simplify device condition code ([@emontnemery] - [#51266])
+- Move light helper get_supported_color_modes ([@emontnemery] - [#51269]) ([light docs])
+- Collection of changing entity properties to class attributes ([@frenck] - [#51248])
+- Update to pygtfs 0.1.6 ([@mazzy89] - [#51267]) ([gtfs docs])
+- Entity attributes + typing fix in deCONZ alarm control panel ([@frenck] - [#51241]) ([deconz docs])
+- Add support for state class for Airly sensor ([@bieniu] - [#51285]) ([airly docs])
+- Processing of messages from channel by telegram_bot ([@NikoM87] - [#51274]) ([telegram_bot docs])
+- AppleTV typo in error notification ([@adrum] - [#51300]) ([apple_tv docs])
+- Upgrade black to 21.5b2 ([@frenck] - [#51297])
+- Alexa fan preset_mode support ([@jbouwh] - [#50466]) ([alexa docs])
+- Philips TV ambilight support ([@elupus] - [#44867]) ([philips_js docs])
+- Upgrade pylint to 2.8.3 ([@frenck] - [#51308])
+- KNX: move some Schema to schema.py ([@farmio] - [#51307]) ([knx docs])
+- KNX: Support for XY-color lights ([@farmio] - [#51306]) ([knx docs])
+- Refactor yeelight integration to use only flows ([@danielrheinbay] - [#51255]) ([yeelight docs])
+- Define SwitchEntity entity attributes as class variables ([@frenck] - [#51232]) ([switch docs])
+- Switch to using entity class attributes where possible in zwave_js ([@raman325] - [#51207]) ([zwave_js docs])
+- Improve config validation for key_value_schemas ([@balloob] - [#49429])
+- Bump aioswitcher to 1.2.3 ([@thecode] - [#51324]) ([switcher_kis docs])
+- Collection of changing entity properties to class attributes - 2 ([@frenck] - [#51345])
+- Use entity class vars for Melcloud ([@Danielhiversen] - [#51351]) ([melcloud docs])
+- SolarEdge: Move coordinators out of sensor platform ([@frenck] - [#51348]) ([solaredge docs])
+- Bump hangups to 0.4.14 ([@MartinHjelmare] - [#51355]) ([hangouts docs])
+- Move pymodbus test fixtures to test_init ([@janiversen] - [#51244]) ([modbus docs])
+- Define ToggleEntity entity attributes as class variables ([@frenck] - [#51231])
+- Add binary_sensor tests for devolo Home Control ([@Shutgun] - [#49843]) ([devolo_home_control docs])
+- Mark state final in BinarySensorEntity ([@frenck] - [#51234]) ([binary_sensor docs])
+- Update ping to use asyncio function in icmplib ([@bdraco] - [#50808]) ([ping docs])
+- Add Hyperion camera feed ([@dermotduffy] - [#46516]) ([hyperion docs]) (new-platform)
+- Add media_player.group ([@definitio] - [#38855]) ([group docs]) (new-integration) (new-platform)
+- Add support for fan speed percentage and preset modes to google_assistant integration ([@jbouwh] - [#50283]) ([google_assistant docs])
+- Fix HLS idle timer in stream ([@uvjustin] - [#51372]) ([stream docs])
+- Add binary sensor platform to SIA integration ([@eavanvalkenburg] - [#51206]) ([sia docs]) (new-platform)
+- Remove is_standby from SwitchEntity ([@emontnemery] - [#51400]) ([hdmi_cec docs]) ([switch docs])
+- Add bosch shc platforms for sensor devices ([@tschamm] - [#50720]) ([bosch_shc docs]) (new-platform)
+- Bumped to boschshcpy==0.2.19 ([@tschamm] - [#51416]) ([bosch_shc docs])
+- Allow registering a callback to ssdp that matches any key value ([@bdraco] - [#51382]) ([ssdp docs])
+- Pin jinja ([@balloob] - [#51434])
+- Bump aiohue to 2.5.1 ([@balloob] - [#51447]) ([hue docs])
+- Small fixes in SIA ([@eavanvalkenburg] - [#51401]) ([sia docs])
+- Address Hyperion camera post-merge code review ([@dermotduffy] - [#51457]) ([hyperion docs])
+- Allow unlimited scan_interval in modbus ([@janiversen] - [#51471]) ([modbus docs])
+- Allow number/sensor entities in numeric state conditions/triggers ([@frenck] - [#51439]) ([homeassistant docs])
+- Bump islamic-prayer-times to 0.0.5 ([@uchagani] - [#51174])
+- Remove empty tests for ping now that the code in icmplib is used ([@bdraco] - [#51454]) ([ping docs])
+- Ensure ssdp can callback messages that do not have an ST ([@bdraco] - [#51436]) ([ssdp docs])
+- Disable gpmdp integration ([@MartinHjelmare] - [#51509]) ([gpmdp docs]) (breaking-change)
+- Bump mcstatus to 6.0.0 ([@MartinHjelmare] - [#51517]) ([minecraft_server docs])
+- Fix mysensors typing ([@MartinHjelmare] - [#51518]) ([mysensors docs])
+- Check initial connect() worked in modbus ([@janiversen] - [#51470]) ([modbus docs])
+- Add fix delay after send/request to allow RS485 adapter to switch in modbus ([@janiversen] - [#51417]) ([modbus docs])
+- Clean mysensors on_unload ([@MartinHjelmare] - [#51521]) ([mysensors docs])
+- Add retries/retry_on_empty configuration parameters to Modbus ([@janiversen] - [#51412]) ([modbus docs])
+- Add color_mode white ([@emontnemery] - [#51411]) ([light docs])
+- Add workaround for missing cleaning time in roomba ([@drinfernoo] - [#51163]) ([roomba docs])
+- Ensure from __future__ import annotations in irobot_base ([@bdraco] - [#51554]) ([roomba docs])
+- Add lightwave state_class and unique_id properties ([@ColinRobbins] - [#51544]) ([lightwave docs])
+- Update pyhomematic to 0.1.73 ([@danielperna84] - [#51551]) ([homematic docs])
+- Replace supported_features property with class attribute in deCONZ light entities ([@Kane610] - [#51558]) ([deconz docs])
+- Cleanup of Toon ([@frenck] - [#51230]) ([toon docs])
+- Allow referencing sensor entities for before/after in time conditions ([@frenck] - [#51444])
+- Bump home-assistant/wheels from 2021.05.4 to 2021.06.0 (@dependabot - [#51569])
+- Add easy converting string timestamps/dates to datetime objects in templates ([@frenck] - [#51576])
+- Clean mysensors gateway type selection ([@MartinHjelmare] - [#51531]) ([mysensors docs])
+- Type mysensors strictly ([@MartinHjelmare] - [#51535]) ([mysensors docs])
+- Bump nad_receiver to version 0.2.0 ([@andreas-amlabs] - [#51381]) ([nad docs])
+- Bump aio_georss_gdacs to 0.5 ([@exxamalte] - [#51577]) ([gdacs docs])
+- Bump meteoalertapi to 0.2.0 ([@rolfberkenbosch] - [#51383]) ([meteoalarm docs]) (breaking-change)
+- Fully type switch entity component ([@frenck] - [#51586]) ([switch docs])
+- Add support for color_mode white to demo light ([@emontnemery] - [#51575]) ([demo docs])
+- Move remaining code out of netdisco to eliminate as SSDP dependency ([@bdraco] - [#51588]) ([ssdp docs])
+- Use supported color modes in Axis integration ([@Kane610] - [#51557]) ([axis docs])
+- Correctly support use of Farenheit in Gree Climate component ([@cmroche] - [#50260]) ([gree docs])
+- Bump georss_qld_bushfire_alert_client to 0.5 ([@exxamalte] - [#51596]) ([qld_bushfire docs])
+- Fix kraken I/O and sleep in tests ([@MartinHjelmare] - [#51599]) ([kraken docs])
+- Fix misaligned high/low temperatures in weather card ([@michaeldavie] - [#49826]) ([environment_canada docs])
+- Add Rituals number platform ([@milanmeu] - [#49723]) ([rituals_perfume_genie docs])
+- Detect Sonos reboots and recreate subscriptions ([@jjlawren] - [#51377]) ([sonos docs])
+- Bump aio_geojson_geonetnz_volcano to v0.6 ([@exxamalte] - [#51602]) ([geonetnz_volcano docs])
+- Modern Forms integration initial pass - Fan ([@wonderslug] - [#51317]) ([modern_forms docs]) (new-integration)
+- Remove value_template from MQTT_RW_PLATFORM_SCHEMA ([@emontnemery] - [#51590]) ([mqtt docs])
+- Deprecate support for undocumented value_template in MQTT light ([@emontnemery] - [#51589]) ([mqtt docs])
+- Small entity attribute cleanup in AirVisual ([@frenck] - [#51601]) ([airvisual docs])
+- Address late review of nsw fuel station ([@nickw444] - [#51619]) ([nsw_fuel_station docs])
+- Fix mysensors tests typing ([@MartinHjelmare] - [#51621]) ([mysensors docs])
+- Static typing for Zodiac ([@yuvalabou] - [#51622]) ([zodiac docs])
+- Bump sqlalchemy to 1.4.17 ([@bdraco] - [#51593]) ([recorder docs]) ([sql docs])
+- Add support for color_mode white to tasmota light ([@emontnemery] - [#51608]) ([light docs]) ([tasmota docs])
+- Use baseimage 2021.06.0 / Python 3.9 - Alpine 3.13 ([@pvizeli] - [#51628]) (breaking-change)
+- Fix mysensors awesomeversion strategy usage ([@MartinHjelmare] - [#51627]) ([mysensors docs])
+- Update Machine support of python 3.9 / Kernel CEC ([@pvizeli] - [#51637]) (breaking-change)
+- Bump hatasmota to 0.2.16 ([@emontnemery] - [#51623]) ([tasmota docs])
+- Populate upnp devices from ssdp ([@bdraco] - [#51221]) ([upnp docs])
+- Upgrade wled to 0.5.0 ([@frenck] - [#51632]) ([wled docs])
+- Improve editing of device automations referencing non-added sensors ([@emontnemery] - [#51312]) ([sensor docs])
+- Bump codecov/codecov-action from 1.5.0 to 1.5.2 (@dependabot - [#51652])
+- Emulate color_temp for lights which support color or white ([@emontnemery] - [#51654]) ([light docs])
+- Increase test coverage in Brother integration ([@bieniu] - [#51657]) ([brother docs])
+- Add device trigger support for Philips Hue Wall Switch Module ([@cklagenberg] - [#51574]) ([hue docs])
+- Tweak light.valid_supported_color_modes ([@emontnemery] - [#51659]) ([light docs])
+- Add Ambee integration ([@frenck] - [#51645]) ([ambee docs]) (new-integration)
+- Add color mode support to WLED ([@frenck] - [#51648]) ([wled docs])
+- Remove ASUS.gpio / not working with new GCC ([@pvizeli] - [#51662])
+- Convert ecobee pressure to local units ([@rianadon] - [#51379]) ([ecobee docs])
+- Update xknx to version 0.18.5 ([@farmio] - [#51644]) ([knx docs])
+- Static typing for Uptime ([@yuvalabou] - [#51638]) ([uptime docs])
+- Create docker series version tag YYYY.M ([@kmdm] - [#51615])
+- Bump pysonos to 0.0.51 ([@jjlawren] - [#51669]) ([sonos docs])
+- Restructure WLED integration ([@frenck] - [#51667]) ([wled docs])
+- Add 100% test coverage to Ambee integration ([@frenck] - [#51670]) ([ambee docs])
+- Clean up unused Sonos subscriptions ([@jjlawren] - [#51583]) ([sonos docs])
+- Upgrade ambee to 0.3.0 ([@frenck] - [#51676]) ([ambee docs])
+- Correct comment in MQTT fan ([@emontnemery] - [#51682]) ([mqtt docs])
+- Use supported color modes in deCONZ integration ([@Kane610] - [#51656]) ([deconz docs])
+- Clean up unloads ([@tkdrob] - [#51688]) ([modern_forms docs]) ([wallbox docs])
+- Improve editing of device triggers referencing non-added cover ([@emontnemery] - [#51703]) ([cover docs])
+- Improve editing of device triggers referencing non-added binary sensors ([@emontnemery] - [#51700]) ([binary_sensor docs])
+- Add device trigger for IKEA Trådfri Shortcut button to deCONZ ([@Kane610] - [#51680]) ([deconz docs])
+- Add pollen sensors to Ambee ([@frenck] - [#51702]) ([ambee docs])
+- Use attrs instead of properties in Nettigo Air Monitor integration ([@bieniu] - [#51705]) ([nam docs])
+- Increase Ambee update interval to 1 hour ([@frenck] - [#51708]) ([ambee docs])
+- Revert "Set Fahrenheit reporting precision to tenths for Homekit Controller climate entities (#50415)" ([@Jc2k] - [#51698]) ([homekit_controller docs]) (breaking-change)
+- Add Supervisor restart add-on helper ([@MartinHjelmare] - [#51717]) ([hassio docs])
+- Rename device trigger base schema to DEVICE_TRIGGER_BASE_SCHEMA ([@emontnemery] - [#51719])
+- Replace properties with attr in Axis integration ([@Kane610] - [#51686]) ([axis docs])
+- Secure not to activate multiple venv in pre_commit hook ([@janiversen] - [#51715])
+- Use attrs instead of properties in Airly integration ([@bieniu] - [#51712]) ([airly docs])
+- Add support for state_class ([@bieniu] - [#51512]) ([brother docs])
+- Static typing for no_ip integration ([@yuvalabou] - [#51694]) ([no_ip docs])
+- Reduce modbus schemas and add delay to fan/light ([@janiversen] - [#51664]) ([modbus docs])
+- Add base schema for triggers ([@emontnemery] - [#51727])
+- Improve editing of device actions referencing non-added HVAC ([@emontnemery] - [#51706]) ([climate docs])
+- Mock WLED in all WLED tests ([@frenck] - [#51724]) ([wled docs])
+- Remove reverse_order (replaced by generic swap) ([@janiversen] - [#51665]) ([modbus docs]) (breaking-change)
+- Add 100% test coverage to WLED integration ([@frenck] - [#51743]) ([wled docs])
+- Clean up redudant exceptions from handlers ([@frenck] - [#51741])
+- Bump georss_generic_client to v0.6 ([@exxamalte] - [#51745]) ([geo_rss_events docs])
+- Spelling fixes ([@scop] - [#51642])
+- Use attrs instead of properties in Brother ([@bieniu] - [#51742]) ([brother docs])
+- Use attrs instead of properties in sonarr ([@ctalkington] - [#51737]) ([sonarr docs])
+- Use attrs instead of properties in roku ([@ctalkington] - [#51735]) ([roku docs])
+- Add trigger condition ([@emontnemery] - [#51710])
+- Add Ecobee humidifier device_info and unique_id ([@bjpetit] - [#51504]) ([ecobee docs])
+- WLED WebSocket support - local push updates ([@frenck] - [#51683]) ([wled docs])
+- Tweak device action scaffold, fix typo ([@emontnemery] - [#51751]) ([climate docs])
+- xknx 0.18.6 ([@farmio] - [#51758]) ([knx docs])
+- Refactor zwave_js disconnect client helper ([@MartinHjelmare] - [#51718]) ([zwave_js docs])
+- Bump aio_geojson_nsw_rfs_incidents to v0.4 ([@exxamalte] - [#51770]) ([nsw_rural_fire_service_feed docs])
+- Refactor zwave_js config flow ([@MartinHjelmare] - [#51720]) ([zwave_js docs])
+- Add timedelta option for async_call_later ([@eavanvalkenburg] - [#50164])
+- Allow keeping master light in WLED ([@frenck] - [#51759]) ([wled docs])
+- Add re-authentication support to Ambee ([@frenck] - [#51773]) ([ambee docs])
+- Improve editing of device actions referencing non-added lock ([@emontnemery] - [#51750]) ([lock docs])
+- Improve editing of device actions referencing non-added cover ([@emontnemery] - [#51748]) ([cover docs])
+- Upgrade black to 21.6b0 ([@frenck] - [#51785])
+- Upgrade wled to 0.6.0 ([@frenck] - [#51783]) ([wled docs])
+- Improve editing of device actions referencing non-added alarm ([@emontnemery] - [#51747]) ([alarm_control_panel docs])
+- Improve editing of device triggers referencing non-added alarm ([@emontnemery] - [#51701]) ([alarm_control_panel docs])
+- Mark Ambee as a platinum quality integration ([@frenck] - [#51779]) ([ambee docs])
+- Remove connection classes ([@milanmeu] - [#51801]) ([growatt_server docs]) ([kraken docs]) ([modern_forms docs]) ([synology_dsm docs]) ([system_bridge docs])
+- Fix Roomba strings step_id rename ([@milanmeu] - [#51744]) ([roomba docs])
+- Cleanup switcher_kis - move to consts ([@thecode] - [#51807]) ([switcher_kis docs])
+- Strict types - first part ([@chemelli74] - [#51479]) ([fritz docs])
+- Bump androidtv to 0.0.60 ([@JeffLIrion] - [#51812])
+- Refactor stream to create partial segments ([@uvjustin] - [#51282]) ([stream docs])
+- Catch AsusWRT UnicodeDecodeError in get_nvram call ([@ollo69] - [#51811]) ([asuswrt docs])
+- Set playlist name on playing Sonos media ([@jjlawren] - [#51685]) ([sonos docs])
+- Improve error when HomeKit accessory underlying entity is missing ([@bdraco] - [#51713]) ([homekit docs])
+- Bump up ZHA dependencies ([@Adminiuga] - [#51765]) ([zha docs])
+- Pass metadata when casting an app ([@blawford] - [#51148]) ([cast docs])
+- Rewrite of Yamaha musiccast integration ([@vigonotion] - [#51561]) ([yamaha_musiccast docs]) (breaking-change)
+- Do not return an exception in modbus ([@janiversen] - [#51829]) ([modbus docs])
+- Improve editing of device conditions referencing non-added alarm ([@emontnemery] - [#51830]) ([alarm_control_panel docs])
+- Create dataclass to mock entry setup in Broadlink tests ([@felipediel] - [#50134]) ([broadlink docs])
+- Bump georss_ign_sismologia_client to v0.3 ([@exxamalte] - [#51838]) ([ign_sismologia docs])
+- Improve editing of device conditions referencing non-added humidifier ([@emontnemery] - [#51834]) ([humidifier docs])
+- Improve editing of device conditions referencing non-added cover ([@emontnemery] - [#51833]) ([cover docs])
+- Improve editing of device conditions referencing non-added sensor ([@emontnemery] - [#51835]) ([sensor docs])
+- Improve editing of device conditions referencing non-added binary sensor ([@emontnemery] - [#51831]) ([binary_sensor docs])
+- Correct trace path for trigger with custom id ([@emontnemery] - [#51847])
+- Bump aio_geojson_geonetnz_quakes to v0.13 ([@exxamalte] - [#51846]) ([geonetnz_quakes docs])
+- Improve type hints in stream ([@uvjustin] - [#51837]) ([stream docs])
+- Migrate the name for the hassio user ([@ludeeus] - [#51771]) ([hassio docs])
+- Define HumidifierEntity entity attributes as class variables ([@frenck] - [#51841]) ([demo docs]) ([humidifier docs])
+- Define NumberEntity entity attributes as class variables ([@frenck] - [#51842]) ([demo docs]) ([number docs])
+- Create zwave_js node status sensor when the node is added ([@raman325] - [#51850]) ([zwave_js docs])
+- Add warning during playback if Plex token missing ([@jjlawren] - [#51853]) ([plex docs])
+- Add missing languages to Microsoft TTS ([@yllar] - [#51774]) ([microsoft docs])
+- Cleanup of code reviews from initial modern forms ([@wonderslug] - [#51794]) ([modern_forms docs])
+- Add zwave_js ping node service ([@raman325] - [#51435]) ([zwave_js docs])
+- Add zwave_js WS API cmds to get node state and version info ([@raman325] - [#51396]) ([zwave_js docs])
+- Add Xiaomi Miio EU gateway support ([@starkillerOG] - [#47955]) ([xiaomi_miio docs])
+- Update fortios device tracker to support FortiOS 7.0 ([@kimfrellsen] - [#51640]) ([fortios docs])
+- Add selectors to BMW Connected Drive service definitions ([@rikroe] - [#47065]) ([bmw_connected_drive docs])
+- Improve editing of device conditions referencing non-added HVAC ([@emontnemery] - [#51832]) ([climate docs])
+- Require admin for new node status WS API command ([@raman325] - [#51863]) ([zwave_js docs])
+- Enable asyncio debugging from debugpy integration ([@emontnemery] - [#51880]) ([debugpy docs])
+- Additional units for HM-ES-TX-WM with ES-IEC ([@climblinne] - [#50713]) ([homematic docs])
+- Restore state of KNX Switch ([@farmio] - [#51761]) ([knx docs])
+- Don't create unsupported pump sensors ([@dieselrabbit] - [#51828]) ([screenlogic docs])
+- Add services to ezviz integration ([@RenierM26] - [#48984]) ([ezviz docs]) (new-platform)
+- Upgrade pytest-cov to 2.12.1 ([@frenck] - [#51886])
+- Upgrade codecov to 2.1.11 ([@frenck] - [#51885])
+- Add current hvac_action to KNX climate ([@farmio] - [#51464]) ([knx docs])
+- Upgrade pillow to 8.2.0 ([@frenck] - [#51897])
+- Add a menu_cursor service to the yamaha component ([@esev] - [#44819]) ([yamaha docs])
+- Mark config flow fields as required ([@milanmeu] - [#51898]) ([flo docs]) ([goalzero docs]) ([mutesync docs]) ([ring docs]) ([risco docs]) ([roon docs]) ([ruckus_unleashed docs])
+- Speed up record stream audio test ([@uvjustin] - [#51901]) ([stream docs])
+- Use entity class vars in Switch demo ([@frenck] - [#51906]) ([demo docs])
+- Fix typo in min/max mired(s) entity class attribute ([@frenck] - [#51921]) ([light docs])
+- Support receiving long-press events from WeMo devices ([@esev] - [#45503]) ([wemo docs])
+- Add swap to climate and change data_count -> count in modbus ([@janiversen] - [#51668]) ([modbus docs]) (breaking-change)
+- Clean up light group ([@frenck] - [#51922]) ([group docs])
+- Upgrade mypy to 0.902 ([@frenck] - [#51907])
+- Clean up cover group ([@frenck] - [#51924]) ([group docs])
+- Refactor Sonos alarms and favorites into system-level coordinators ([@jjlawren] - [#51757]) ([sonos docs])
+- Support bitmask as a value ([@raman325] - [#51892]) ([zwave_js docs])
+- Raise bad request when receiving HTTP request from untrusted proxy ([@frenck] - [#51839]) ([http docs]) (breaking-change)
+- Support Wolflink reconnection after unexpected failure ([@adamkrol93] - [#47011]) ([wolflink docs])
+- Clean ezviz error handling in services ([@RenierM26] - [#51945]) ([ezviz docs])
+- Bump actions/upload-artifact from 2.2.3 to 2.2.4 (@dependabot - [#51946])
+- Bump plexapi to 4.6.1 ([@jjlawren] - [#51936]) ([plex docs])
+- Adopt new electricity tariffs in pvpc hourly pricing ([@azogue] - [#51789]) ([pvpc_hourly_pricing docs]) (breaking-change)
+- Type entry setup/unload for entity components ([@frenck] - [#51912])
+- Define WeatherEntity entity attributes as class variables ([@frenck] - [#51899]) ([weather docs])
+- Define WaterHeaterEntity entity attributes as class variables ([@frenck] - [#51903]) ([demo docs]) ([water_heater docs])
+- Define RemoteEntity entity attributes as class variables ([@frenck] - [#51904]) ([remote docs])
+- Improve editing of device actions referencing non-added humidifier ([@emontnemery] - [#51749]) ([humidifier docs])
+- Add autospec to modbus mock, in order to use getattr ([@janiversen] - [#51813]) ([modbus docs])
+- Ecobee logging cleanup ([@bjpetit] - [#51754]) ([ecobee docs])
+- Improve Sonos Spotify/Tidal support, add service exceptions ([@jjlawren] - [#51871]) ([sonos docs])
+- Define LockEntity entity attributes as class variables ([@frenck] - [#51909]) ([demo docs]) ([lock docs])
+- Add Mutesync dynamic update interval and catch invalid response values ([@bramkragten] - [#50764]) ([mutesync docs])
+- Use test fixture for configuration testing ([@janiversen] - [#51803]) ([modbus docs])
+- Add remote control platform to BraviaTV ([@Drafteed] - [#50845]) ([braviatv docs]) (new-platform)
+- Fully type binary_sensor entity component ([@frenck] - [#51957])
+- Fully type lock entity component ([@frenck] - [#51958]) ([lock docs])
+- Adjust zwave_js WS API commands for logging ([@raman325] - [#51096]) ([zwave_js docs])
+- Add deconz support for Lidl Smart Door Bell HG06668 ([@T0mWz] - [#51949]) ([deconz docs])
+- Handle disconnected ecobee thermostat in humidifier and remote sensors ([@bjpetit] - [#51873]) ([ecobee docs])
+- Convert if/elif chains to dicts in modbus ([@janiversen] - [#51962]) ([modbus docs])
+- Add Select entity component platform ([@frenck] - [#51849]) ([demo docs]) ([select docs]) (new-integration)
+- Type homeassistant triggers event ([@MartinHjelmare] - [#51979]) ([homeassistant docs])
+- Add device trigger support to Select entity ([@frenck] - [#51987]) ([select docs])
+- Add reproduce state to select entity ([@frenck] - [#51977]) ([select docs])
+- Add significant change support to select entity ([@frenck] - [#51978]) ([select docs])
+- Add device action support to Select entity ([@frenck] - [#51990]) ([select docs])
+- Allow fetching multiple statistics ([@balloob] - [#51996]) ([history docs]) ([recorder docs])
+- Add WS API for listing available statistic ids ([@emontnemery] - [#51984]) ([history docs]) ([recorder docs])
+- Add Select entity support to Google Assistant ([@frenck] - [#51997]) ([google_assistant docs])
+- Add device condition support to Select entity ([@frenck] - [#51992]) ([select docs])
+- Force SimpliSafe to reauthenticate with a password ([@bachya] - [#51528]) ([simplisafe docs])
+- Update xknx to 0.18.7 ([@farmio] - [#52000]) ([knx docs])
+- Fix not awaiting async super method in KNX climate ([@farmio] - [#52005]) ([knx docs])
+- Use entity sources to find related entities in Search ([@bramkragten] - [#51966]) ([search docs])
+- Fix IoT class ([@Oderik] - [#52008]) ([min_max docs])
+- Small WLED cleanups ([@frenck] - [#52014]) ([wled docs])
+- Clean up stream refactor ([@uvjustin] - [#51951]) ([stream docs])
+- Upgrade async_upnp_client to 0.19.0 ([@StevenLooman] - [#52019]) ([dlna_dmr docs]) ([ssdp docs]) ([upnp docs])
+- Remove undo listener variable in sonarr ([@ctalkington] - [#52042]) ([sonarr docs])
+- Remove undo_listener variable in Sony Bravia TV integration ([@bieniu] - [#52033]) ([braviatv docs])
+- Remove `undo_listener` variable in AccuWeather integration ([@bieniu] - [#52032]) ([accuweather docs])
+- Bump adb-shell to 0.3.4 ([@JeffLIrion] - [#52044])
+- Upgrade wled to 0.7.0 ([@frenck] - [#52017]) ([wled docs])
+- Modern Forms light platform ([@wonderslug] - [#51857]) ([modern_forms docs]) (new-platform)
+- Improve editing of device automation referring non added select entity ([@emontnemery] - [#52047]) ([alarm_control_panel docs]) ([select docs])
+- Update climate.py ([@MattWestb] - [#52065]) ([zha docs])
+- Fix zwave_js migration logic ([@raman325] - [#52070]) ([zwave_js docs])
+- Move zwave_js migration tests into new module ([@raman325] - [#52075]) ([zwave_js docs])
+- ESPHome rework EsphomeEnumMapper for safe enum mappings ([@OttoWinter] - [#51975]) ([esphome docs])
+- Modern Forms light platform code cleanup ([@wonderslug] - [#52058]) ([modern_forms docs])
+- Static typing for PiHole ([@yuvalabou] - [#51681]) ([pi_hole docs])
+- Add support for color_mode white to MQTT light basic schema ([@emontnemery] - [#51484]) ([light docs]) ([mqtt docs])
+- Adjust Growatt PV units from W to kW ([@muppet3000] - [#52021]) ([growatt_server docs]) (breaking-change)
+- Bump Nettigo Air Monitor library ([@bieniu] - [#52085]) ([nam docs])
+- Migrate Switcher entity attributes to sensors ([@thecode] - [#51964]) ([switcher_kis docs]) (breaking-change) (new-platform)
+- Improve deCONZ lights supported_color_modes and tests ([@Kane610] - [#51933]) ([deconz docs])
+- Make attestation of supported features easier to read (deCONZ test) ([@Kane610] - [#52096]) ([deconz docs])
+- Use HS color instead of RGB color for Tasmota lights ([@emontnemery] - [#52052]) ([tasmota docs])
+- Handle ConnectionError if proxmoxve host is not reachable ([@maurerle] - [#51970]) ([proxmoxve docs])
+- Get running event loop in debugpy ([@frenck] - [#52091]) ([debugpy docs])
+- Add state class to powerwall ([@balloob] - [#52102]) ([powerwall docs])
+- Add state class to Sense ([@balloob] - [#52104]) ([sense docs])
+- Xiaomi_miio fan percentage based speeds and preset_modes ([@jbouwh] - [#51791]) ([xiaomi_miio docs])
+- Add @jesserockz to ESPHome codeowners ([@jesserockz] - [#52115])
+- Add state class to Huisbaasje ([@frenck] - [#52114]) ([huisbaasje docs])
+- Catch exception for failed webhook drop for netatmo ([@cgtobi] - [#52119]) ([netatmo docs])
+- Add monetary sensor device class ([@emontnemery] - [#52087]) ([sensor docs])
+- Update MQTT number to treat received payload as UTF-8 ([@emontnemery] - [#52121]) ([mqtt docs])
+- Pass the hass object to all MQTT component constructors ([@emontnemery] - [#52124]) ([mqtt docs])
+- Use attrs instead of properties in Bravia TV integration ([@bieniu] - [#52045]) ([braviatv docs])
+- Bump pyatmo version ([@cgtobi] - [#52112]) ([netatmo docs])
+- Warn when receiving message on illegal MQTT discovery topic ([@emontnemery] - [#52106]) ([mqtt docs])
+- Use attrs instead of properties for directv ([@ctalkington] - [#51918]) ([directv docs])
+- Add number entity to KNX ([@farmio] - [#51786]) ([knx docs])
+- Fix ezviz options flow test patch ([@MartinHjelmare] - [#52125]) ([ezviz docs])
+- Add state class to Atome Linky, use class attributes ([@frenck] - [#52107]) ([atome docs])
+- Add state class to Neurio energy ([@frenck] - [#52117]) ([neurio_energy docs])
+- Add state class to JuiceNet ([@frenck] - [#52116]) ([juicenet docs])
+- Add state class to Aurora ABB Solar PV ([@frenck] - [#52108]) ([aurora_abb_powerone docs])
+- Add state class to The Energy Detective TED5000 ([@frenck] - [#52109]) ([ted5000 docs])
+- Add state class to DTE Energy Bridge ([@frenck] - [#52110]) ([dte_energy_bridge docs])
+- Add state class to Eliqonline ([@frenck] - [#52111]) ([eliqonline docs])
+- Add state class to Enphase Envoy ([@frenck] - [#52113]) ([enphase_envoy docs])
+- Share struct validator between sensor and climate ([@janiversen] - [#51935]) ([modbus docs])
+- Use more attr instead of properties in deCONZ integration ([@Kane610] - [#52098]) ([deconz docs])
+- Allow defining state class for template sensors ([@balloob] - [#52130]) ([template docs])
+- Change dynamic segment handling of WLED ([@frenck] - [#52018]) ([wled docs])
+- Bump docker/login-action from 1.9.0 to 1.10.0 (@dependabot - [#52140])
+- Add config flow step user to dsmr ([@RobBie1221] - [#50318]) ([dsmr docs])
+- Add KNX select entity ([@farmio] - [#52026]) ([knx docs])
+- Remove YAML configuration import from Sony Bravia TV ([@bieniu] - [#52141]) ([braviatv docs]) (breaking-change)
+- DSMR: Adding myself to the codeowners ([@frenck] - [#52144]) ([dsmr docs])
+- Fix missing azure event hub instance name ([@eavanvalkenburg] - [#52049]) ([azure_event_hub docs]) (breaking-change)
+- DSMR: Small cleanup; use entity class attributes ([@frenck] - [#52143]) ([dsmr docs])
+- DSMR: Typing cleanup in init & config flow ([@frenck] - [#52145]) ([dsmr docs])
+- Add zwave_js options flow to reconfigure server ([@MartinHjelmare] - [#51840]) ([zwave_js docs])
+- DSMR: Remove Gas derivative sensor ([@frenck] - [#52147]) ([dsmr docs]) (breaking-change)
+- Type frontend strictly ([@MartinHjelmare] - [#52148]) ([frontend docs])
+- Filter MQTT JSON attributes ([@emontnemery] - [#52076]) ([mqtt docs])
+- DSMR: Refactor sensor creation, added typing to sensors ([@frenck] - [#52153]) ([dsmr docs])
+- Second part of Strict types for Fritz ([@chemelli74] - [#52086]) ([fritz docs])
+- Fix Xiaomi Miio missing gateway info ([@starkillerOG] - [#52146]) ([xiaomi_miio docs])
+- Add MQTT select ([@emontnemery] - [#52120]) ([mqtt docs])
+- DSMR: Device/state classes, icons, less common disabled by default ([@frenck] - [#52159]) ([dsmr docs])
+- Add mac address to samsungtv config entry data if missing ([@bdraco] - [#51634]) ([samsungtv docs])
+- Add Color Palette Select entities to WLED ([@frenck] - [#51994]) ([wled docs])
+- DSMR: Complete full strictly typed ([@frenck] - [#52162]) ([dsmr docs])
+- Tibber, correct generate a 0-timestamp ([@Danielhiversen] - [#52165]) ([tibber docs])
+- Toon, correct generate a 0-timestamp ([@Danielhiversen] - [#52167]) ([toon docs])
+- Remove `air_quality` platform from Nettigo Air Monitor integration ([@bieniu] - [#52152]) ([nam docs]) (breaking-change)
+- Add preset support to WLED ([@frenck] - [#52170]) ([wled docs])
+- Handle connection being closed in legacy samsungtv ([@bdraco] - [#52137]) ([samsungtv docs])
+- Create a base class for broadlink entities ([@bdraco] - [#52132]) ([broadlink docs])
+- Add support for state_class to AccuWeather integration ([@bieniu] - [#51510]) ([accuweather docs])
+- Simplify WLED segment tracking ([@frenck] - [#52174]) ([wled docs])
+- Clean up input_boolean, removing typing exceptions ([@frenck] - [#52181]) ([input_boolean docs])
+- Fix typo in Nettigo Air Monitor integration ([@bieniu] - [#52182]) ([nam docs])
+- Add day-consumption fixed cost sensor in dsmr_reader ([@depl0y] - [#52178]) ([dsmr_reader docs])
+- DSMR: Add deprecation warning for YAML configuration ([@frenck] - [#52179]) ([dsmr docs]) (breaking-change)
+- Add color_mode support to yeelight light ([@emontnemery] - [#51973]) ([yeelight docs])
+- Stream requests to ingress ([@ludeeus] - [#52184]) ([hassio docs])
+- Improve Xiaomi Miio error handling ([@starkillerOG] - [#52009]) ([xiaomi_miio docs])
+- Abort samsungtv config flow for existing hosts when the unique id is set ([@bdraco] - [#52138]) ([samsungtv docs])
+- Avoid drift in recorder purge cut-off ([@PeteBa] - [#52135]) ([recorder docs])
+- Use entity class vars in Broadlink ([@Danielhiversen] - [#52177]) ([broadlink docs])
+- Add retries for tplink discovery ([@appleguru] - [#52015]) ([tplink docs])
+- Address late review of Switcher sensor migration ([@thecode] - [#52186]) ([switcher_kis docs])
+- Fix deprecation warning in discord notifier ([@ludeeus] - [#52197]) ([discord docs])
+- Cleanup KNX integration ([@farmio] - [#52168]) ([knx docs])
+- Correct keyerror exception. ([@janiversen] - [#52150]) ([modbus docs])
+- Clean up strings.json ([@milanmeu] - [#52202]) ([arcam_fmj docs]) ([directv docs]) ([kraken docs]) ([roku docs])
+- Fix habitica regression ([@ASMfreaK] - [#52097]) ([habitica docs])
+- Surepetcare, Use entity class vars and some clean up ([@Danielhiversen] - [#52205]) ([surepetcare docs])
+- Add Forecast Solar integration ([@klaasnicolaas] - [#52158]) ([forecast_solar docs]) (new-integration)
+- Upgrade pyrituals 0.0.3 -> 0.0.4 ([@milanmeu] - [#52209]) ([rituals_perfume_genie docs])
+- Tibber power factor ([@Danielhiversen] - [#52223]) ([tibber docs])
+- Upgrade watchdog to 2.1.3 ([@frenck] - [#52224]) ([folder_watcher docs])
+- DSMR: Use entry unload to unsub update listener ([@frenck] - [#52220]) ([dsmr docs])
+- Clean up Surepetcare sensor ([@Danielhiversen] - [#52219]) ([surepetcare docs])
+- Clean up surepetcare binary sensor ([@Danielhiversen] - [#52217]) ([surepetcare docs])
+- Add idle hvac_action to KNX climate ([@farmio] - [#52006]) ([knx docs])
+- Add respond_to_read option to KNX switch ([@farmio] - [#51790]) ([knx docs])
+- Remove Rituals room size number entity ([@milanmeu] - [#52200]) ([rituals_perfume_genie docs])
+- Add state attribute to SmartTub reminders for days remaining ([@mdz] - [#51825]) ([smarttub docs])
+- Update base image to 2021.06.2 ([@ryansun96] - [#52190])
+- Reject requests from the proxy itself ([@elupus] - [#52073]) ([http docs]) (breaking-change)
+- Update pyfronius to 0.5.2 ([@nielstron] - [#52216]) ([fronius docs])
+- Make PjLink power toggle more robust ([@shocklateboy92] - [#51821]) ([pjlink docs])
+- Add mysensors sensor platform test foundation ([@MartinHjelmare] - [#51548]) ([mysensors docs])
+- Fix isy994 fan when turn on is not called with a percentage ([@bdraco] - [#49531]) ([isy994 docs])
+- Bulgarian language added in Google Translate TTS ([@hristo-atanasov] - [#51985]) ([google_translate docs])
+- Add service to reset SmartTub reminders ([@mdz] - [#51824]) ([smarttub docs])
+- Implement color_mode support for ozw ([@emontnemery] - [#52063]) ([ozw docs]) (breaking-change)
+- Add new climacell sensors ([@raman325] - [#52079]) ([climacell docs])
+- Add forecasts to MetOffice integration ([@avee87] - [#50876]) ([metoffice docs])
+- Refactor wallbox tests ([@hesselonline] - [#51094]) ([wallbox docs])
+- AsusWRT code improvements for sensors and related tests ([@ollo69] - [#51822]) ([asuswrt docs])
+- Add support for 4th fan speed in izone A/C systems ([@SgtBatten] - [#51969]) ([climate docs]) ([izone docs])
+- Allow creating ZHA groups with specific IDs ([@puddly] - [#50781]) ([zha docs])
+- Make Philips TV notify service optional ([@elupus] - [#50691]) ([philips_js docs])
+- Remove undo listener variable in cloudflare ([@ctalkington] - [#52227]) ([cloudflare docs])
+- Fix Fahrenheit to Celsius conversion in Prometheus exporter ([@masto] - [#52212]) ([prometheus docs]) (breaking-change)
+- Support dynamic schema validation in device conditions and actions ([@raman325] - [#52007]) ([device_automation docs])
+- Modern forms switch platform ([@wonderslug] - [#52061]) ([modern_forms docs]) (new-platform)
+- Remove `air_quality` platform from Airly integration ([@bieniu] - [#52225]) ([airly docs]) (breaking-change)
+- Add value_template support to MQTT number ([@emontnemery] - [#52155]) ([mqtt docs])
+- Update cloudflare test helpers ([@ctalkington] - [#52235]) ([cloudflare docs])
+- Add re-authentication support to cloudflare ([@ctalkington] - [#51787]) ([cloudflare docs])
+- Add hvac_action to Daikin AC ([@myhomeiot] - [#52035]) ([daikin docs])
+- Add "auto" HVAC mode to Advantage Air ([@Bre77] - [#51693]) ([advantage_air docs])
+- Change "Not adding entity" log level to debug ([@thecode] - [#52240])
+- Convert openweathermap dewpoint from kelvin to celcius ([@devfaz] - [#51893]) ([openweathermap docs])
+- Suppress duplicate mdns discovery from netdisco ([@bdraco] - [#52099]) ([discovery docs])
+- Fix unique_id generation for AtwZoneSensors ([@vilppuvuorinen] - [#51227]) ([melcloud docs])
+- Convert nmap_tracker to be a config flow ([@bdraco] - [#50429]) ([nmap_tracker docs]) (breaking-change)
+- Add support for overriding SMTP recipient(s) in a service call ([@billsq] - [#47611]) ([smtp docs])
+- Fix timezones in Environment Canada hourly forecasts ([@michaeldavie] - [#51917]) ([environment_canada docs])
+- ESPHome Climate add preset, custom preset, custom fan mode ([@OttoWinter] - [#52133]) ([esphome docs])
+- Removal of stale add-on devices on startup ([@ludeeus] - [#52245]) ([hassio docs])
+- Yamaha musiccast grouping-services ([@micha91] - [#51952]) ([yamaha_musiccast docs])
+- Update new effect before calculating color on Philips TV ([@elupus] - [#52072]) ([philips_js docs])
+- Filter MQTT light JSON attributes ([@emontnemery] - [#52242]) ([mqtt docs]) (breaking-change)
+- Add reauth config flow to devolo Home Control ([@Shutgun] - [#49697]) ([devolo_home_control docs])
+- Update SMA device info on setup ([@rklomp] - [#51159]) ([sma docs])
+- Bump hatasmota to 0.2.19 ([@emontnemery] - [#52246]) ([tasmota docs])
+- Don't copy result to new list ([@ludeeus] - [#52248]) ([hassio docs])
+- Add config flow for Coinbase ([@TomBrien] - [#45354]) ([coinbase docs]) (breaking-change)
+- Merge onvif host/auth step, allow skipping scan ([@xuefer] - [#49660]) ([onvif docs])
+- Use pysma exceptions ([@rklomp] - [#52252]) ([sma docs])
+- Add tests for LCN integration setup ([@alengwenus] - [#48070]) ([lcn docs])
+- Provide correct defaults for CoinBase options flow ([@TomBrien] - [#52255]) ([coinbase docs])
+- Change DiffuserRoomSize number entity to select entity ([@milanmeu] - [#51993]) ([rituals_perfume_genie docs])
+- Only load requested coinbase accounts ([@TomBrien] - [#51981]) ([coinbase docs]) (breaking-change)
+- Cleanup KNX supported_features for climate, cover and fan ([@farmio] - [#52218]) ([knx docs])
+- Add OAuth 2.0 Bearer Token authentication to send_file for telegram_bot ([@fnoorian] - [#46567]) ([telegram_bot docs])
+- Update Tile unique ID to include username ([@bachya] - [#52175]) ([tile docs])
+- Add AsusWRT load average sensors ([@ollo69] - [#52230]) ([asuswrt docs])
+- Add secondary temperature sensors to homekit_controller ([@Jc2k] - [#52194]) ([homekit_controller docs])
+- change processor_temperature icon ([@Mariusthvdb] - [#52256]) ([systemmonitor docs])
+- Clean up Rituals Perfume Genie integration ([@milanmeu] - [#52266]) ([rituals_perfume_genie docs])
+- Bump zwave_js_server to 0.27.0 ([@raman325] - [#52267]) ([zwave_js docs])
+- Remove bachya as 17track.net codeowner ([@bachya] - [#52262])
+- Tibber, add device class monetary to accumulated cost ([@Danielhiversen] - [#52259]) ([tibber docs])
+- Add fixture to handle mock restore state ([@janiversen] - [#52198]) ([modbus docs])
+- Let climate use base_struct_schema. ([@janiversen] - [#52154]) ([modbus docs])
+- Add state class support to SolarEdge ([@frenck] - [#52271]) ([solaredge docs])
+- Add state class support to SAJ Solar Inverter ([@frenck] - [#52261]) ([saj docs])
+- Small tweaks to Rituals Perfume Genie ([@frenck] - [#52269]) ([rituals_perfume_genie docs])
+- Demo: Sensor improvements ([@frenck] - [#52263]) ([demo docs])
+- Reduce Ring TTL ([@balloob] - [#52277]) ([ring docs])
+- Fix caldav TZ interpretation of all day events ([@franc6] - [#48642]) ([caldav docs])
+- Clean up Onvif steps ([@xuefer] - [#52254]) ([onvif docs])
+- Use attrs instead of properties for ipp ([@ctalkington] - [#52270]) ([ipp docs])
+- Add sensor platform to Modern Forms integration ([@wonderslug] - [#52249]) ([modern_forms docs]) (new-platform)
+- Fix bug in detecting RainMachine zone soil type ([@bachya] - [#52273]) ([rainmachine docs])
+- Update RainMachine sprinkler and vegetation types ([@bachya] - [#52274]) ([rainmachine docs])
+- Fix values of RainMachine Freeze Protection and Hot Days binary sensors ([@bachya] - [#52275]) ([rainmachine docs])
+- Filter MQTT alarm JSON attributes ([@emontnemery] - [#52278]) ([mqtt docs]) (breaking-change)
+- Filter MQTT climate JSON attributes ([@emontnemery] - [#52280]) ([mqtt docs]) (breaking-change)
+- Support setting hvac_mode and temp in same homekit_controller set_temperature service call ([@Jc2k] - [#52195]) ([homekit_controller docs])
+- Filter MQTT lock JSON attributes ([@emontnemery] - [#52285]) ([mqtt docs]) (breaking-change)
+- Filter MQTT number JSON attributes ([@emontnemery] - [#52286]) ([mqtt docs]) (breaking-change)
+- Filter MQTT fan JSON attributes ([@emontnemery] - [#52283]) ([mqtt docs]) (breaking-change)
+- Filter MQTT sensor JSON attributes ([@emontnemery] - [#52289]) ([mqtt docs]) (breaking-change)
+- Filter MQTT vacuum JSON attributes ([@emontnemery] - [#52291]) ([mqtt docs]) (breaking-change) (new-platform)
+- Filter MQTT switch JSON attributes ([@emontnemery] - [#52290]) ([mqtt docs]) (breaking-change)
+- Filter MQTT select JSON attributes ([@emontnemery] - [#52288]) ([mqtt docs]) (breaking-change)
+- Demo: Remote improvements ([@frenck] - [#52265]) ([demo docs])
+- Add test to MQTT device tracker ([@emontnemery] - [#52292]) ([mqtt docs])
+- Filter MQTT cover JSON attributes ([@emontnemery] - [#52282]) ([mqtt docs]) (breaking-change)
+- Filter MQTT camera JSON attributes ([@emontnemery] - [#52279]) ([mqtt docs]) (breaking-change)
+- Normalize energy statistics to kWh ([@emontnemery] - [#52238]) ([sensor docs])
+- Small clean up for Motion Blinds ([@frenck] - [#52281]) ([motion_blinds docs])
+- Add sensor platform to Meteoclimatic integration ([@adrianmo] - [#51467]) ([meteoclimatic docs]) (new-platform)
+- Add number entities to ESPHome ([@jesserockz] - [#52241]) ([esphome docs])
+- Compile statistics for power sensors ([@emontnemery] - [#52299]) ([sensor docs])
+- Allow None value return type for Number entity state value ([@frenck] - [#52302]) ([number docs]) ([zwave_js docs])
+- Bump hass-nabucasa to 0.44.0 ([@ludeeus] - [#52303]) ([cloud docs])
+- Disable dependency checks and tests for disabled EE Brightbox integration ([@frenck] - [#52304]) ([ee_brightbox docs])
+- Implement color_mode support for kulersky ([@emontnemery] - [#52080]) ([kulersky docs]) (breaking-change)
+- Fix Garmin Connect sensor dependency import ([@frenck] - [#52306]) ([garmin_connect docs])
+- Coinbase code quality improvements from review ([@TomBrien] - [#52307]) ([coinbase docs])
+- Add switch platform to Fritz ([@chemelli74] - [#51610]) ([fritz docs]) (new-platform)
+- Skip updating tplink bulb state if the new state not reported by the device ([@rytilahti] - [#52310]) ([tplink docs])
+- Fix Todoist incorrect end date when task has no time ([@Koenkk] - [#52258]) ([todoist docs])
+- Add Melcloud device class and state class ([@Danielhiversen] - [#52276]) ([melcloud docs])
+- ESPHome Migrate to dataclasses ([@OttoWinter] - [#52305]) ([esphome docs])
+- Fix small inconsistencies in RainMachine vegetation and sprinkler types ([@bachya] - [#52313]) ([rainmachine docs])
+- Disable import of disabled eebrightbox in tests ([@frenck] - [#52314]) ([ee_brightbox docs])
+- Stop build wheels for python38 ([@pvizeli] - [#52309])
+- Refactor Tile entity unique ID migration to use helper ([@bachya] - [#52315]) ([tile docs])
+- Upgrade nmap tracker with forked package for compatibility ([@frenck] - [#52300]) ([nmap_tracker docs])
+- Bump enturclient to v0.2.2 ([@hfurubotten] - [#52321]) ([entur_public_transport docs])
+- Fix esphome startup with missing api_version key ([@bdraco] - [#52324]) ([esphome docs])
+- Normalize pressure statistics to Pa ([@emontnemery] - [#52298]) ([sensor docs])
+- ESPHome delete store data when unloading entry ([@OttoWinter] - [#52296]) ([esphome docs])
+- Fix Mill consumption data ([@Danielhiversen] - [#52320]) ([mill docs])
+- Fix point ConnectionTimeout during startup ([@fredrike] - [#52322]) ([point docs])
+- Deprecate IPv6 zeroconf setting in favor of the network integration ([@bdraco] - [#51173]) ([zeroconf docs]) (breaking-change)
+- Add quantiles to Statistics integration ([@cgomesu] - [#52189]) ([statistics docs])
+- Create service to enable Continuous Mode on Nuki Opener ([@anaisbetts] - [#51861]) ([nuki docs])
+- Speed up lookup of AirVisual pollutant labels, levels, and units ([@bachya] - [#52327]) ([airvisual docs])
+- Add Modern Forms binary sensor platform ([@wonderslug] - [#52312]) ([modern_forms docs]) (new-platform)
+- Fix MusicCast subwoofers ([@vigonotion] - [#52335]) ([yamaha_musiccast docs])
+- Add Freedompro ([@stefano055415] - [#46332]) ([freedompro docs]) (new-integration)
+- Add statistics meta data table ([@emontnemery] - [#52331]) ([history docs]) ([recorder docs]) ([sensor docs]) (breaking-change)
+- Update frontend to 20210630.0 ([@bramkragten] - [#52336]) ([frontend docs])
+- Normalize temperature statistics to °C ([@emontnemery] - [#52297]) ([recorder docs]) ([sensor docs])
+- review comments. ([@janiversen] - [#52337]) ([modbus docs])
+- Convert units when fetching statistics ([@emontnemery] - [#52338]) ([recorder docs])
+- xknx 0.18.8 ([@farmio] - [#52340]) ([knx docs])
+- Report target unit in statistics meta data ([@emontnemery] - [#52341]) ([history docs]) ([recorder docs])
+
+{% enddetails %}
+
+[#38855]: https://github.com/home-assistant/core/pull/38855
+[#44819]: https://github.com/home-assistant/core/pull/44819
+[#44867]: https://github.com/home-assistant/core/pull/44867
+[#45354]: https://github.com/home-assistant/core/pull/45354
+[#45503]: https://github.com/home-assistant/core/pull/45503
+[#46332]: https://github.com/home-assistant/core/pull/46332
+[#46516]: https://github.com/home-assistant/core/pull/46516
+[#46567]: https://github.com/home-assistant/core/pull/46567
+[#47011]: https://github.com/home-assistant/core/pull/47011
+[#47065]: https://github.com/home-assistant/core/pull/47065
+[#47611]: https://github.com/home-assistant/core/pull/47611
+[#47955]: https://github.com/home-assistant/core/pull/47955
+[#48070]: https://github.com/home-assistant/core/pull/48070
+[#48642]: https://github.com/home-assistant/core/pull/48642
+[#48984]: https://github.com/home-assistant/core/pull/48984
+[#49429]: https://github.com/home-assistant/core/pull/49429
+[#49531]: https://github.com/home-assistant/core/pull/49531
+[#49552]: https://github.com/home-assistant/core/pull/49552
+[#49660]: https://github.com/home-assistant/core/pull/49660
+[#49697]: https://github.com/home-assistant/core/pull/49697
+[#49723]: https://github.com/home-assistant/core/pull/49723
+[#49826]: https://github.com/home-assistant/core/pull/49826
+[#49843]: https://github.com/home-assistant/core/pull/49843
+[#50134]: https://github.com/home-assistant/core/pull/50134
+[#50164]: https://github.com/home-assistant/core/pull/50164
+[#50234]: https://github.com/home-assistant/core/pull/50234
+[#50260]: https://github.com/home-assistant/core/pull/50260
+[#50283]: https://github.com/home-assistant/core/pull/50283
+[#50318]: https://github.com/home-assistant/core/pull/50318
+[#50429]: https://github.com/home-assistant/core/pull/50429
+[#50466]: https://github.com/home-assistant/core/pull/50466
+[#50691]: https://github.com/home-assistant/core/pull/50691
+[#50713]: https://github.com/home-assistant/core/pull/50713
+[#50720]: https://github.com/home-assistant/core/pull/50720
+[#50764]: https://github.com/home-assistant/core/pull/50764
+[#50781]: https://github.com/home-assistant/core/pull/50781
+[#50808]: https://github.com/home-assistant/core/pull/50808
+[#50845]: https://github.com/home-assistant/core/pull/50845
+[#50876]: https://github.com/home-assistant/core/pull/50876
+[#51006]: https://github.com/home-assistant/core/pull/51006
+[#51019]: https://github.com/home-assistant/core/pull/51019
+[#51033]: https://github.com/home-assistant/core/pull/51033
+[#51094]: https://github.com/home-assistant/core/pull/51094
+[#51096]: https://github.com/home-assistant/core/pull/51096
+[#51098]: https://github.com/home-assistant/core/pull/51098
+[#51101]: https://github.com/home-assistant/core/pull/51101
+[#51115]: https://github.com/home-assistant/core/pull/51115
+[#51116]: https://github.com/home-assistant/core/pull/51116
+[#51117]: https://github.com/home-assistant/core/pull/51117
+[#51118]: https://github.com/home-assistant/core/pull/51118
+[#51120]: https://github.com/home-assistant/core/pull/51120
+[#51121]: https://github.com/home-assistant/core/pull/51121
+[#51122]: https://github.com/home-assistant/core/pull/51122
+[#51123]: https://github.com/home-assistant/core/pull/51123
+[#51124]: https://github.com/home-assistant/core/pull/51124
+[#51125]: https://github.com/home-assistant/core/pull/51125
+[#51126]: https://github.com/home-assistant/core/pull/51126
+[#51138]: https://github.com/home-assistant/core/pull/51138
+[#51139]: https://github.com/home-assistant/core/pull/51139
+[#51143]: https://github.com/home-assistant/core/pull/51143
+[#51148]: https://github.com/home-assistant/core/pull/51148
+[#51149]: https://github.com/home-assistant/core/pull/51149
+[#51151]: https://github.com/home-assistant/core/pull/51151
+[#51153]: https://github.com/home-assistant/core/pull/51153
+[#51154]: https://github.com/home-assistant/core/pull/51154
+[#51155]: https://github.com/home-assistant/core/pull/51155
+[#51158]: https://github.com/home-assistant/core/pull/51158
+[#51159]: https://github.com/home-assistant/core/pull/51159
+[#51161]: https://github.com/home-assistant/core/pull/51161
+[#51163]: https://github.com/home-assistant/core/pull/51163
+[#51166]: https://github.com/home-assistant/core/pull/51166
+[#51173]: https://github.com/home-assistant/core/pull/51173
+[#51174]: https://github.com/home-assistant/core/pull/51174
+[#51176]: https://github.com/home-assistant/core/pull/51176
+[#51178]: https://github.com/home-assistant/core/pull/51178
+[#51181]: https://github.com/home-assistant/core/pull/51181
+[#51182]: https://github.com/home-assistant/core/pull/51182
+[#51185]: https://github.com/home-assistant/core/pull/51185
+[#51191]: https://github.com/home-assistant/core/pull/51191
+[#51192]: https://github.com/home-assistant/core/pull/51192
+[#51193]: https://github.com/home-assistant/core/pull/51193
+[#51197]: https://github.com/home-assistant/core/pull/51197
+[#51202]: https://github.com/home-assistant/core/pull/51202
+[#51203]: https://github.com/home-assistant/core/pull/51203
+[#51206]: https://github.com/home-assistant/core/pull/51206
+[#51207]: https://github.com/home-assistant/core/pull/51207
+[#51218]: https://github.com/home-assistant/core/pull/51218
+[#51219]: https://github.com/home-assistant/core/pull/51219
+[#51221]: https://github.com/home-assistant/core/pull/51221
+[#51224]: https://github.com/home-assistant/core/pull/51224
+[#51227]: https://github.com/home-assistant/core/pull/51227
+[#51230]: https://github.com/home-assistant/core/pull/51230
+[#51231]: https://github.com/home-assistant/core/pull/51231
+[#51232]: https://github.com/home-assistant/core/pull/51232
+[#51234]: https://github.com/home-assistant/core/pull/51234
+[#51236]: https://github.com/home-assistant/core/pull/51236
+[#51238]: https://github.com/home-assistant/core/pull/51238
+[#51239]: https://github.com/home-assistant/core/pull/51239
+[#51241]: https://github.com/home-assistant/core/pull/51241
+[#51244]: https://github.com/home-assistant/core/pull/51244
+[#51247]: https://github.com/home-assistant/core/pull/51247
+[#51248]: https://github.com/home-assistant/core/pull/51248
+[#51249]: https://github.com/home-assistant/core/pull/51249
+[#51250]: https://github.com/home-assistant/core/pull/51250
+[#51253]: https://github.com/home-assistant/core/pull/51253
+[#51255]: https://github.com/home-assistant/core/pull/51255
+[#51257]: https://github.com/home-assistant/core/pull/51257
+[#51263]: https://github.com/home-assistant/core/pull/51263
+[#51264]: https://github.com/home-assistant/core/pull/51264
+[#51266]: https://github.com/home-assistant/core/pull/51266
+[#51267]: https://github.com/home-assistant/core/pull/51267
+[#51269]: https://github.com/home-assistant/core/pull/51269
+[#51274]: https://github.com/home-assistant/core/pull/51274
+[#51282]: https://github.com/home-assistant/core/pull/51282
+[#51285]: https://github.com/home-assistant/core/pull/51285
+[#51297]: https://github.com/home-assistant/core/pull/51297
+[#51300]: https://github.com/home-assistant/core/pull/51300
+[#51306]: https://github.com/home-assistant/core/pull/51306
+[#51307]: https://github.com/home-assistant/core/pull/51307
+[#51308]: https://github.com/home-assistant/core/pull/51308
+[#51312]: https://github.com/home-assistant/core/pull/51312
+[#51317]: https://github.com/home-assistant/core/pull/51317
+[#51324]: https://github.com/home-assistant/core/pull/51324
+[#51345]: https://github.com/home-assistant/core/pull/51345
+[#51348]: https://github.com/home-assistant/core/pull/51348
+[#51351]: https://github.com/home-assistant/core/pull/51351
+[#51355]: https://github.com/home-assistant/core/pull/51355
+[#51372]: https://github.com/home-assistant/core/pull/51372
+[#51377]: https://github.com/home-assistant/core/pull/51377
+[#51379]: https://github.com/home-assistant/core/pull/51379
+[#51381]: https://github.com/home-assistant/core/pull/51381
+[#51382]: https://github.com/home-assistant/core/pull/51382
+[#51383]: https://github.com/home-assistant/core/pull/51383
+[#51396]: https://github.com/home-assistant/core/pull/51396
+[#51400]: https://github.com/home-assistant/core/pull/51400
+[#51401]: https://github.com/home-assistant/core/pull/51401
+[#51411]: https://github.com/home-assistant/core/pull/51411
+[#51412]: https://github.com/home-assistant/core/pull/51412
+[#51416]: https://github.com/home-assistant/core/pull/51416
+[#51417]: https://github.com/home-assistant/core/pull/51417
+[#51434]: https://github.com/home-assistant/core/pull/51434
+[#51435]: https://github.com/home-assistant/core/pull/51435
+[#51436]: https://github.com/home-assistant/core/pull/51436
+[#51439]: https://github.com/home-assistant/core/pull/51439
+[#51444]: https://github.com/home-assistant/core/pull/51444
+[#51447]: https://github.com/home-assistant/core/pull/51447
+[#51454]: https://github.com/home-assistant/core/pull/51454
+[#51457]: https://github.com/home-assistant/core/pull/51457
+[#51464]: https://github.com/home-assistant/core/pull/51464
+[#51467]: https://github.com/home-assistant/core/pull/51467
+[#51470]: https://github.com/home-assistant/core/pull/51470
+[#51471]: https://github.com/home-assistant/core/pull/51471
+[#51479]: https://github.com/home-assistant/core/pull/51479
+[#51484]: https://github.com/home-assistant/core/pull/51484
+[#51504]: https://github.com/home-assistant/core/pull/51504
+[#51509]: https://github.com/home-assistant/core/pull/51509
+[#51510]: https://github.com/home-assistant/core/pull/51510
+[#51512]: https://github.com/home-assistant/core/pull/51512
+[#51517]: https://github.com/home-assistant/core/pull/51517
+[#51518]: https://github.com/home-assistant/core/pull/51518
+[#51521]: https://github.com/home-assistant/core/pull/51521
+[#51528]: https://github.com/home-assistant/core/pull/51528
+[#51531]: https://github.com/home-assistant/core/pull/51531
+[#51535]: https://github.com/home-assistant/core/pull/51535
+[#51544]: https://github.com/home-assistant/core/pull/51544
+[#51548]: https://github.com/home-assistant/core/pull/51548
+[#51551]: https://github.com/home-assistant/core/pull/51551
+[#51554]: https://github.com/home-assistant/core/pull/51554
+[#51557]: https://github.com/home-assistant/core/pull/51557
+[#51558]: https://github.com/home-assistant/core/pull/51558
+[#51561]: https://github.com/home-assistant/core/pull/51561
+[#51569]: https://github.com/home-assistant/core/pull/51569
+[#51574]: https://github.com/home-assistant/core/pull/51574
+[#51575]: https://github.com/home-assistant/core/pull/51575
+[#51576]: https://github.com/home-assistant/core/pull/51576
+[#51577]: https://github.com/home-assistant/core/pull/51577
+[#51583]: https://github.com/home-assistant/core/pull/51583
+[#51586]: https://github.com/home-assistant/core/pull/51586
+[#51588]: https://github.com/home-assistant/core/pull/51588
+[#51589]: https://github.com/home-assistant/core/pull/51589
+[#51590]: https://github.com/home-assistant/core/pull/51590
+[#51593]: https://github.com/home-assistant/core/pull/51593
+[#51596]: https://github.com/home-assistant/core/pull/51596
+[#51599]: https://github.com/home-assistant/core/pull/51599
+[#51601]: https://github.com/home-assistant/core/pull/51601
+[#51602]: https://github.com/home-assistant/core/pull/51602
+[#51608]: https://github.com/home-assistant/core/pull/51608
+[#51610]: https://github.com/home-assistant/core/pull/51610
+[#51615]: https://github.com/home-assistant/core/pull/51615
+[#51619]: https://github.com/home-assistant/core/pull/51619
+[#51621]: https://github.com/home-assistant/core/pull/51621
+[#51622]: https://github.com/home-assistant/core/pull/51622
+[#51623]: https://github.com/home-assistant/core/pull/51623
+[#51627]: https://github.com/home-assistant/core/pull/51627
+[#51628]: https://github.com/home-assistant/core/pull/51628
+[#51632]: https://github.com/home-assistant/core/pull/51632
+[#51634]: https://github.com/home-assistant/core/pull/51634
+[#51637]: https://github.com/home-assistant/core/pull/51637
+[#51638]: https://github.com/home-assistant/core/pull/51638
+[#51640]: https://github.com/home-assistant/core/pull/51640
+[#51642]: https://github.com/home-assistant/core/pull/51642
+[#51644]: https://github.com/home-assistant/core/pull/51644
+[#51645]: https://github.com/home-assistant/core/pull/51645
+[#51648]: https://github.com/home-assistant/core/pull/51648
+[#51652]: https://github.com/home-assistant/core/pull/51652
+[#51654]: https://github.com/home-assistant/core/pull/51654
+[#51656]: https://github.com/home-assistant/core/pull/51656
+[#51657]: https://github.com/home-assistant/core/pull/51657
+[#51659]: https://github.com/home-assistant/core/pull/51659
+[#51662]: https://github.com/home-assistant/core/pull/51662
+[#51664]: https://github.com/home-assistant/core/pull/51664
+[#51665]: https://github.com/home-assistant/core/pull/51665
+[#51667]: https://github.com/home-assistant/core/pull/51667
+[#51668]: https://github.com/home-assistant/core/pull/51668
+[#51669]: https://github.com/home-assistant/core/pull/51669
+[#51670]: https://github.com/home-assistant/core/pull/51670
+[#51676]: https://github.com/home-assistant/core/pull/51676
+[#51680]: https://github.com/home-assistant/core/pull/51680
+[#51681]: https://github.com/home-assistant/core/pull/51681
+[#51682]: https://github.com/home-assistant/core/pull/51682
+[#51683]: https://github.com/home-assistant/core/pull/51683
+[#51685]: https://github.com/home-assistant/core/pull/51685
+[#51686]: https://github.com/home-assistant/core/pull/51686
+[#51688]: https://github.com/home-assistant/core/pull/51688
+[#51693]: https://github.com/home-assistant/core/pull/51693
+[#51694]: https://github.com/home-assistant/core/pull/51694
+[#51698]: https://github.com/home-assistant/core/pull/51698
+[#51700]: https://github.com/home-assistant/core/pull/51700
+[#51701]: https://github.com/home-assistant/core/pull/51701
+[#51702]: https://github.com/home-assistant/core/pull/51702
+[#51703]: https://github.com/home-assistant/core/pull/51703
+[#51705]: https://github.com/home-assistant/core/pull/51705
+[#51706]: https://github.com/home-assistant/core/pull/51706
+[#51708]: https://github.com/home-assistant/core/pull/51708
+[#51710]: https://github.com/home-assistant/core/pull/51710
+[#51712]: https://github.com/home-assistant/core/pull/51712
+[#51713]: https://github.com/home-assistant/core/pull/51713
+[#51715]: https://github.com/home-assistant/core/pull/51715
+[#51717]: https://github.com/home-assistant/core/pull/51717
+[#51718]: https://github.com/home-assistant/core/pull/51718
+[#51719]: https://github.com/home-assistant/core/pull/51719
+[#51720]: https://github.com/home-assistant/core/pull/51720
+[#51724]: https://github.com/home-assistant/core/pull/51724
+[#51727]: https://github.com/home-assistant/core/pull/51727
+[#51735]: https://github.com/home-assistant/core/pull/51735
+[#51737]: https://github.com/home-assistant/core/pull/51737
+[#51741]: https://github.com/home-assistant/core/pull/51741
+[#51742]: https://github.com/home-assistant/core/pull/51742
+[#51743]: https://github.com/home-assistant/core/pull/51743
+[#51744]: https://github.com/home-assistant/core/pull/51744
+[#51745]: https://github.com/home-assistant/core/pull/51745
+[#51747]: https://github.com/home-assistant/core/pull/51747
+[#51748]: https://github.com/home-assistant/core/pull/51748
+[#51749]: https://github.com/home-assistant/core/pull/51749
+[#51750]: https://github.com/home-assistant/core/pull/51750
+[#51751]: https://github.com/home-assistant/core/pull/51751
+[#51754]: https://github.com/home-assistant/core/pull/51754
+[#51757]: https://github.com/home-assistant/core/pull/51757
+[#51758]: https://github.com/home-assistant/core/pull/51758
+[#51759]: https://github.com/home-assistant/core/pull/51759
+[#51761]: https://github.com/home-assistant/core/pull/51761
+[#51765]: https://github.com/home-assistant/core/pull/51765
+[#51770]: https://github.com/home-assistant/core/pull/51770
+[#51771]: https://github.com/home-assistant/core/pull/51771
+[#51773]: https://github.com/home-assistant/core/pull/51773
+[#51774]: https://github.com/home-assistant/core/pull/51774
+[#51779]: https://github.com/home-assistant/core/pull/51779
+[#51783]: https://github.com/home-assistant/core/pull/51783
+[#51785]: https://github.com/home-assistant/core/pull/51785
+[#51786]: https://github.com/home-assistant/core/pull/51786
+[#51787]: https://github.com/home-assistant/core/pull/51787
+[#51789]: https://github.com/home-assistant/core/pull/51789
+[#51790]: https://github.com/home-assistant/core/pull/51790
+[#51791]: https://github.com/home-assistant/core/pull/51791
+[#51794]: https://github.com/home-assistant/core/pull/51794
+[#51801]: https://github.com/home-assistant/core/pull/51801
+[#51803]: https://github.com/home-assistant/core/pull/51803
+[#51807]: https://github.com/home-assistant/core/pull/51807
+[#51811]: https://github.com/home-assistant/core/pull/51811
+[#51812]: https://github.com/home-assistant/core/pull/51812
+[#51813]: https://github.com/home-assistant/core/pull/51813
+[#51821]: https://github.com/home-assistant/core/pull/51821
+[#51822]: https://github.com/home-assistant/core/pull/51822
+[#51824]: https://github.com/home-assistant/core/pull/51824
+[#51825]: https://github.com/home-assistant/core/pull/51825
+[#51828]: https://github.com/home-assistant/core/pull/51828
+[#51829]: https://github.com/home-assistant/core/pull/51829
+[#51830]: https://github.com/home-assistant/core/pull/51830
+[#51831]: https://github.com/home-assistant/core/pull/51831
+[#51832]: https://github.com/home-assistant/core/pull/51832
+[#51833]: https://github.com/home-assistant/core/pull/51833
+[#51834]: https://github.com/home-assistant/core/pull/51834
+[#51835]: https://github.com/home-assistant/core/pull/51835
+[#51837]: https://github.com/home-assistant/core/pull/51837
+[#51838]: https://github.com/home-assistant/core/pull/51838
+[#51839]: https://github.com/home-assistant/core/pull/51839
+[#51840]: https://github.com/home-assistant/core/pull/51840
+[#51841]: https://github.com/home-assistant/core/pull/51841
+[#51842]: https://github.com/home-assistant/core/pull/51842
+[#51846]: https://github.com/home-assistant/core/pull/51846
+[#51847]: https://github.com/home-assistant/core/pull/51847
+[#51849]: https://github.com/home-assistant/core/pull/51849
+[#51850]: https://github.com/home-assistant/core/pull/51850
+[#51853]: https://github.com/home-assistant/core/pull/51853
+[#51857]: https://github.com/home-assistant/core/pull/51857
+[#51861]: https://github.com/home-assistant/core/pull/51861
+[#51863]: https://github.com/home-assistant/core/pull/51863
+[#51871]: https://github.com/home-assistant/core/pull/51871
+[#51873]: https://github.com/home-assistant/core/pull/51873
+[#51880]: https://github.com/home-assistant/core/pull/51880
+[#51885]: https://github.com/home-assistant/core/pull/51885
+[#51886]: https://github.com/home-assistant/core/pull/51886
+[#51892]: https://github.com/home-assistant/core/pull/51892
+[#51893]: https://github.com/home-assistant/core/pull/51893
+[#51897]: https://github.com/home-assistant/core/pull/51897
+[#51898]: https://github.com/home-assistant/core/pull/51898
+[#51899]: https://github.com/home-assistant/core/pull/51899
+[#51901]: https://github.com/home-assistant/core/pull/51901
+[#51903]: https://github.com/home-assistant/core/pull/51903
+[#51904]: https://github.com/home-assistant/core/pull/51904
+[#51906]: https://github.com/home-assistant/core/pull/51906
+[#51907]: https://github.com/home-assistant/core/pull/51907
+[#51909]: https://github.com/home-assistant/core/pull/51909
+[#51912]: https://github.com/home-assistant/core/pull/51912
+[#51917]: https://github.com/home-assistant/core/pull/51917
+[#51918]: https://github.com/home-assistant/core/pull/51918
+[#51921]: https://github.com/home-assistant/core/pull/51921
+[#51922]: https://github.com/home-assistant/core/pull/51922
+[#51924]: https://github.com/home-assistant/core/pull/51924
+[#51933]: https://github.com/home-assistant/core/pull/51933
+[#51935]: https://github.com/home-assistant/core/pull/51935
+[#51936]: https://github.com/home-assistant/core/pull/51936
+[#51945]: https://github.com/home-assistant/core/pull/51945
+[#51946]: https://github.com/home-assistant/core/pull/51946
+[#51949]: https://github.com/home-assistant/core/pull/51949
+[#51951]: https://github.com/home-assistant/core/pull/51951
+[#51952]: https://github.com/home-assistant/core/pull/51952
+[#51957]: https://github.com/home-assistant/core/pull/51957
+[#51958]: https://github.com/home-assistant/core/pull/51958
+[#51962]: https://github.com/home-assistant/core/pull/51962
+[#51964]: https://github.com/home-assistant/core/pull/51964
+[#51966]: https://github.com/home-assistant/core/pull/51966
+[#51969]: https://github.com/home-assistant/core/pull/51969
+[#51970]: https://github.com/home-assistant/core/pull/51970
+[#51973]: https://github.com/home-assistant/core/pull/51973
+[#51975]: https://github.com/home-assistant/core/pull/51975
+[#51977]: https://github.com/home-assistant/core/pull/51977
+[#51978]: https://github.com/home-assistant/core/pull/51978
+[#51979]: https://github.com/home-assistant/core/pull/51979
+[#51981]: https://github.com/home-assistant/core/pull/51981
+[#51984]: https://github.com/home-assistant/core/pull/51984
+[#51985]: https://github.com/home-assistant/core/pull/51985
+[#51987]: https://github.com/home-assistant/core/pull/51987
+[#51990]: https://github.com/home-assistant/core/pull/51990
+[#51992]: https://github.com/home-assistant/core/pull/51992
+[#51993]: https://github.com/home-assistant/core/pull/51993
+[#51994]: https://github.com/home-assistant/core/pull/51994
+[#51996]: https://github.com/home-assistant/core/pull/51996
+[#51997]: https://github.com/home-assistant/core/pull/51997
+[#52000]: https://github.com/home-assistant/core/pull/52000
+[#52005]: https://github.com/home-assistant/core/pull/52005
+[#52006]: https://github.com/home-assistant/core/pull/52006
+[#52007]: https://github.com/home-assistant/core/pull/52007
+[#52008]: https://github.com/home-assistant/core/pull/52008
+[#52009]: https://github.com/home-assistant/core/pull/52009
+[#52014]: https://github.com/home-assistant/core/pull/52014
+[#52015]: https://github.com/home-assistant/core/pull/52015
+[#52017]: https://github.com/home-assistant/core/pull/52017
+[#52018]: https://github.com/home-assistant/core/pull/52018
+[#52019]: https://github.com/home-assistant/core/pull/52019
+[#52021]: https://github.com/home-assistant/core/pull/52021
+[#52026]: https://github.com/home-assistant/core/pull/52026
+[#52032]: https://github.com/home-assistant/core/pull/52032
+[#52033]: https://github.com/home-assistant/core/pull/52033
+[#52035]: https://github.com/home-assistant/core/pull/52035
+[#52042]: https://github.com/home-assistant/core/pull/52042
+[#52044]: https://github.com/home-assistant/core/pull/52044
+[#52045]: https://github.com/home-assistant/core/pull/52045
+[#52047]: https://github.com/home-assistant/core/pull/52047
+[#52049]: https://github.com/home-assistant/core/pull/52049
+[#52052]: https://github.com/home-assistant/core/pull/52052
+[#52058]: https://github.com/home-assistant/core/pull/52058
+[#52061]: https://github.com/home-assistant/core/pull/52061
+[#52063]: https://github.com/home-assistant/core/pull/52063
+[#52065]: https://github.com/home-assistant/core/pull/52065
+[#52070]: https://github.com/home-assistant/core/pull/52070
+[#52072]: https://github.com/home-assistant/core/pull/52072
+[#52073]: https://github.com/home-assistant/core/pull/52073
+[#52075]: https://github.com/home-assistant/core/pull/52075
+[#52076]: https://github.com/home-assistant/core/pull/52076
+[#52079]: https://github.com/home-assistant/core/pull/52079
+[#52080]: https://github.com/home-assistant/core/pull/52080
+[#52085]: https://github.com/home-assistant/core/pull/52085
+[#52086]: https://github.com/home-assistant/core/pull/52086
+[#52087]: https://github.com/home-assistant/core/pull/52087
+[#52091]: https://github.com/home-assistant/core/pull/52091
+[#52096]: https://github.com/home-assistant/core/pull/52096
+[#52097]: https://github.com/home-assistant/core/pull/52097
+[#52098]: https://github.com/home-assistant/core/pull/52098
+[#52099]: https://github.com/home-assistant/core/pull/52099
+[#52102]: https://github.com/home-assistant/core/pull/52102
+[#52104]: https://github.com/home-assistant/core/pull/52104
+[#52106]: https://github.com/home-assistant/core/pull/52106
+[#52107]: https://github.com/home-assistant/core/pull/52107
+[#52108]: https://github.com/home-assistant/core/pull/52108
+[#52109]: https://github.com/home-assistant/core/pull/52109
+[#52110]: https://github.com/home-assistant/core/pull/52110
+[#52111]: https://github.com/home-assistant/core/pull/52111
+[#52112]: https://github.com/home-assistant/core/pull/52112
+[#52113]: https://github.com/home-assistant/core/pull/52113
+[#52114]: https://github.com/home-assistant/core/pull/52114
+[#52115]: https://github.com/home-assistant/core/pull/52115
+[#52116]: https://github.com/home-assistant/core/pull/52116
+[#52117]: https://github.com/home-assistant/core/pull/52117
+[#52119]: https://github.com/home-assistant/core/pull/52119
+[#52120]: https://github.com/home-assistant/core/pull/52120
+[#52121]: https://github.com/home-assistant/core/pull/52121
+[#52124]: https://github.com/home-assistant/core/pull/52124
+[#52125]: https://github.com/home-assistant/core/pull/52125
+[#52130]: https://github.com/home-assistant/core/pull/52130
+[#52132]: https://github.com/home-assistant/core/pull/52132
+[#52133]: https://github.com/home-assistant/core/pull/52133
+[#52135]: https://github.com/home-assistant/core/pull/52135
+[#52137]: https://github.com/home-assistant/core/pull/52137
+[#52138]: https://github.com/home-assistant/core/pull/52138
+[#52140]: https://github.com/home-assistant/core/pull/52140
+[#52141]: https://github.com/home-assistant/core/pull/52141
+[#52143]: https://github.com/home-assistant/core/pull/52143
+[#52144]: https://github.com/home-assistant/core/pull/52144
+[#52145]: https://github.com/home-assistant/core/pull/52145
+[#52146]: https://github.com/home-assistant/core/pull/52146
+[#52147]: https://github.com/home-assistant/core/pull/52147
+[#52148]: https://github.com/home-assistant/core/pull/52148
+[#52150]: https://github.com/home-assistant/core/pull/52150
+[#52152]: https://github.com/home-assistant/core/pull/52152
+[#52153]: https://github.com/home-assistant/core/pull/52153
+[#52154]: https://github.com/home-assistant/core/pull/52154
+[#52155]: https://github.com/home-assistant/core/pull/52155
+[#52158]: https://github.com/home-assistant/core/pull/52158
+[#52159]: https://github.com/home-assistant/core/pull/52159
+[#52162]: https://github.com/home-assistant/core/pull/52162
+[#52165]: https://github.com/home-assistant/core/pull/52165
+[#52167]: https://github.com/home-assistant/core/pull/52167
+[#52168]: https://github.com/home-assistant/core/pull/52168
+[#52170]: https://github.com/home-assistant/core/pull/52170
+[#52174]: https://github.com/home-assistant/core/pull/52174
+[#52175]: https://github.com/home-assistant/core/pull/52175
+[#52177]: https://github.com/home-assistant/core/pull/52177
+[#52178]: https://github.com/home-assistant/core/pull/52178
+[#52179]: https://github.com/home-assistant/core/pull/52179
+[#52181]: https://github.com/home-assistant/core/pull/52181
+[#52182]: https://github.com/home-assistant/core/pull/52182
+[#52184]: https://github.com/home-assistant/core/pull/52184
+[#52186]: https://github.com/home-assistant/core/pull/52186
+[#52189]: https://github.com/home-assistant/core/pull/52189
+[#52190]: https://github.com/home-assistant/core/pull/52190
+[#52194]: https://github.com/home-assistant/core/pull/52194
+[#52195]: https://github.com/home-assistant/core/pull/52195
+[#52197]: https://github.com/home-assistant/core/pull/52197
+[#52198]: https://github.com/home-assistant/core/pull/52198
+[#52200]: https://github.com/home-assistant/core/pull/52200
+[#52202]: https://github.com/home-assistant/core/pull/52202
+[#52205]: https://github.com/home-assistant/core/pull/52205
+[#52209]: https://github.com/home-assistant/core/pull/52209
+[#52212]: https://github.com/home-assistant/core/pull/52212
+[#52216]: https://github.com/home-assistant/core/pull/52216
+[#52217]: https://github.com/home-assistant/core/pull/52217
+[#52218]: https://github.com/home-assistant/core/pull/52218
+[#52219]: https://github.com/home-assistant/core/pull/52219
+[#52220]: https://github.com/home-assistant/core/pull/52220
+[#52223]: https://github.com/home-assistant/core/pull/52223
+[#52224]: https://github.com/home-assistant/core/pull/52224
+[#52225]: https://github.com/home-assistant/core/pull/52225
+[#52227]: https://github.com/home-assistant/core/pull/52227
+[#52230]: https://github.com/home-assistant/core/pull/52230
+[#52235]: https://github.com/home-assistant/core/pull/52235
+[#52238]: https://github.com/home-assistant/core/pull/52238
+[#52240]: https://github.com/home-assistant/core/pull/52240
+[#52241]: https://github.com/home-assistant/core/pull/52241
+[#52242]: https://github.com/home-assistant/core/pull/52242
+[#52245]: https://github.com/home-assistant/core/pull/52245
+[#52246]: https://github.com/home-assistant/core/pull/52246
+[#52248]: https://github.com/home-assistant/core/pull/52248
+[#52249]: https://github.com/home-assistant/core/pull/52249
+[#52252]: https://github.com/home-assistant/core/pull/52252
+[#52254]: https://github.com/home-assistant/core/pull/52254
+[#52255]: https://github.com/home-assistant/core/pull/52255
+[#52256]: https://github.com/home-assistant/core/pull/52256
+[#52258]: https://github.com/home-assistant/core/pull/52258
+[#52259]: https://github.com/home-assistant/core/pull/52259
+[#52261]: https://github.com/home-assistant/core/pull/52261
+[#52262]: https://github.com/home-assistant/core/pull/52262
+[#52263]: https://github.com/home-assistant/core/pull/52263
+[#52265]: https://github.com/home-assistant/core/pull/52265
+[#52266]: https://github.com/home-assistant/core/pull/52266
+[#52267]: https://github.com/home-assistant/core/pull/52267
+[#52269]: https://github.com/home-assistant/core/pull/52269
+[#52270]: https://github.com/home-assistant/core/pull/52270
+[#52271]: https://github.com/home-assistant/core/pull/52271
+[#52273]: https://github.com/home-assistant/core/pull/52273
+[#52274]: https://github.com/home-assistant/core/pull/52274
+[#52275]: https://github.com/home-assistant/core/pull/52275
+[#52276]: https://github.com/home-assistant/core/pull/52276
+[#52277]: https://github.com/home-assistant/core/pull/52277
+[#52278]: https://github.com/home-assistant/core/pull/52278
+[#52279]: https://github.com/home-assistant/core/pull/52279
+[#52280]: https://github.com/home-assistant/core/pull/52280
+[#52281]: https://github.com/home-assistant/core/pull/52281
+[#52282]: https://github.com/home-assistant/core/pull/52282
+[#52283]: https://github.com/home-assistant/core/pull/52283
+[#52285]: https://github.com/home-assistant/core/pull/52285
+[#52286]: https://github.com/home-assistant/core/pull/52286
+[#52288]: https://github.com/home-assistant/core/pull/52288
+[#52289]: https://github.com/home-assistant/core/pull/52289
+[#52290]: https://github.com/home-assistant/core/pull/52290
+[#52291]: https://github.com/home-assistant/core/pull/52291
+[#52292]: https://github.com/home-assistant/core/pull/52292
+[#52296]: https://github.com/home-assistant/core/pull/52296
+[#52297]: https://github.com/home-assistant/core/pull/52297
+[#52298]: https://github.com/home-assistant/core/pull/52298
+[#52299]: https://github.com/home-assistant/core/pull/52299
+[#52300]: https://github.com/home-assistant/core/pull/52300
+[#52302]: https://github.com/home-assistant/core/pull/52302
+[#52303]: https://github.com/home-assistant/core/pull/52303
+[#52304]: https://github.com/home-assistant/core/pull/52304
+[#52305]: https://github.com/home-assistant/core/pull/52305
+[#52306]: https://github.com/home-assistant/core/pull/52306
+[#52307]: https://github.com/home-assistant/core/pull/52307
+[#52309]: https://github.com/home-assistant/core/pull/52309
+[#52310]: https://github.com/home-assistant/core/pull/52310
+[#52312]: https://github.com/home-assistant/core/pull/52312
+[#52313]: https://github.com/home-assistant/core/pull/52313
+[#52314]: https://github.com/home-assistant/core/pull/52314
+[#52315]: https://github.com/home-assistant/core/pull/52315
+[#52320]: https://github.com/home-assistant/core/pull/52320
+[#52321]: https://github.com/home-assistant/core/pull/52321
+[#52322]: https://github.com/home-assistant/core/pull/52322
+[#52324]: https://github.com/home-assistant/core/pull/52324
+[#52327]: https://github.com/home-assistant/core/pull/52327
+[#52331]: https://github.com/home-assistant/core/pull/52331
+[#52335]: https://github.com/home-assistant/core/pull/52335
+[#52336]: https://github.com/home-assistant/core/pull/52336
+[#52337]: https://github.com/home-assistant/core/pull/52337
+[#52338]: https://github.com/home-assistant/core/pull/52338
+[#52340]: https://github.com/home-assistant/core/pull/52340
+[#52341]: https://github.com/home-assistant/core/pull/52341
+[@ASMfreaK]: https://github.com/ASMfreaK
+[@Adminiuga]: https://github.com/Adminiuga
+[@Bre77]: https://github.com/Bre77
+[@ColinRobbins]: https://github.com/ColinRobbins
+[@Danielhiversen]: https://github.com/Danielhiversen
+[@Drafteed]: https://github.com/Drafteed
+[@Jc2k]: https://github.com/Jc2k
+[@JeffLIrion]: https://github.com/JeffLIrion
+[@Kane610]: https://github.com/Kane610
+[@Koenkk]: https://github.com/Koenkk
+[@Mariusthvdb]: https://github.com/Mariusthvdb
+[@MartinHjelmare]: https://github.com/MartinHjelmare
+[@MattWestb]: https://github.com/MattWestb
+[@NikoM87]: https://github.com/NikoM87
+[@Noltari]: https://github.com/Noltari
+[@Oderik]: https://github.com/Oderik
+[@OttoWinter]: https://github.com/OttoWinter
+[@PeteBa]: https://github.com/PeteBa
+[@RenierM26]: https://github.com/RenierM26
+[@RobBie1221]: https://github.com/RobBie1221
+[@SgtBatten]: https://github.com/SgtBatten
+[@Shutgun]: https://github.com/Shutgun
+[@StevenLooman]: https://github.com/StevenLooman
+[@T0mWz]: https://github.com/T0mWz
+[@TomBrien]: https://github.com/TomBrien
+[@adamkrol93]: https://github.com/adamkrol93
+[@adrianmo]: https://github.com/adrianmo
+[@adrum]: https://github.com/adrum
+[@alengwenus]: https://github.com/alengwenus
+[@amelchio]: https://github.com/amelchio
+[@anaisbetts]: https://github.com/anaisbetts
+[@andreas-amlabs]: https://github.com/andreas-amlabs
+[@appleguru]: https://github.com/appleguru
+[@avee87]: https://github.com/avee87
+[@azogue]: https://github.com/azogue
+[@bachya]: https://github.com/bachya
+[@balloob]: https://github.com/balloob
+[@bdr99]: https://github.com/bdr99
+[@bdraco]: https://github.com/bdraco
+[@bieniu]: https://github.com/bieniu
+[@billsq]: https://github.com/billsq
+[@bjpetit]: https://github.com/bjpetit
+[@blawford]: https://github.com/blawford
+[@bramkragten]: https://github.com/bramkragten
+[@cgomesu]: https://github.com/cgomesu
+[@cgtobi]: https://github.com/cgtobi
+[@chemelli74]: https://github.com/chemelli74
+[@cklagenberg]: https://github.com/cklagenberg
+[@climblinne]: https://github.com/climblinne
+[@cmroche]: https://github.com/cmroche
+[@ctalkington]: https://github.com/ctalkington
+[@danielperna84]: https://github.com/danielperna84
+[@danielrheinbay]: https://github.com/danielrheinbay
+[@definitio]: https://github.com/definitio
+[@depl0y]: https://github.com/depl0y
+[@dermotduffy]: https://github.com/dermotduffy
+[@devfaz]: https://github.com/devfaz
+[@dieselrabbit]: https://github.com/dieselrabbit
+[@drinfernoo]: https://github.com/drinfernoo
+[@eavanvalkenburg]: https://github.com/eavanvalkenburg
+[@elupus]: https://github.com/elupus
+[@emontnemery]: https://github.com/emontnemery
+[@esev]: https://github.com/esev
+[@exxamalte]: https://github.com/exxamalte
+[@farmio]: https://github.com/farmio
+[@felipediel]: https://github.com/felipediel
+[@fnoorian]: https://github.com/fnoorian
+[@franc6]: https://github.com/franc6
+[@fredrike]: https://github.com/fredrike
+[@frenck]: https://github.com/frenck
+[@hesselonline]: https://github.com/hesselonline
+[@hfurubotten]: https://github.com/hfurubotten
+[@hristo-atanasov]: https://github.com/hristo-atanasov
+[@janiversen]: https://github.com/janiversen
+[@jbouwh]: https://github.com/jbouwh
+[@jesserockz]: https://github.com/jesserockz
+[@jjlawren]: https://github.com/jjlawren
+[@kimfrellsen]: https://github.com/kimfrellsen
+[@klaasnicolaas]: https://github.com/klaasnicolaas
+[@kmdm]: https://github.com/kmdm
+[@ludeeus]: https://github.com/ludeeus
+[@masto]: https://github.com/masto
+[@maurerle]: https://github.com/maurerle
+[@mazzy89]: https://github.com/mazzy89
+[@mdz]: https://github.com/mdz
+[@mib1185]: https://github.com/mib1185
+[@micha91]: https://github.com/micha91
+[@michaeldavie]: https://github.com/michaeldavie
+[@milanmeu]: https://github.com/milanmeu
+[@muppet3000]: https://github.com/muppet3000
+[@myhomeiot]: https://github.com/myhomeiot
+[@nickw444]: https://github.com/nickw444
+[@nielstron]: https://github.com/nielstron
+[@ollo69]: https://github.com/ollo69
+[@puddly]: https://github.com/puddly
+[@pvizeli]: https://github.com/pvizeli
+[@raman325]: https://github.com/raman325
+[@rianadon]: https://github.com/rianadon
+[@rikroe]: https://github.com/rikroe
+[@rklomp]: https://github.com/rklomp
+[@rolfberkenbosch]: https://github.com/rolfberkenbosch
+[@rsegers]: https://github.com/rsegers
+[@ryansun96]: https://github.com/ryansun96
+[@rytilahti]: https://github.com/rytilahti
+[@scop]: https://github.com/scop
+[@shocklateboy92]: https://github.com/shocklateboy92
+[@starkillerOG]: https://github.com/starkillerOG
+[@stefano055415]: https://github.com/stefano055415
+[@thecode]: https://github.com/thecode
+[@tkdrob]: https://github.com/tkdrob
+[@tschamm]: https://github.com/tschamm
+[@uchagani]: https://github.com/uchagani
+[@uvjustin]: https://github.com/uvjustin
+[@vigonotion]: https://github.com/vigonotion
+[@vilppuvuorinen]: https://github.com/vilppuvuorinen
+[@wonderslug]: https://github.com/wonderslug
+[@xuefer]: https://github.com/xuefer
+[@yllar]: https://github.com/yllar
+[@yury-sannikov]: https://github.com/yury-sannikov
+[@yuvalabou]: https://github.com/yuvalabou
+[accuweather docs]: /integrations/accuweather/
+[advantage_air docs]: /integrations/advantage_air/
+[airly docs]: /integrations/airly/
+[airvisual docs]: /integrations/airvisual/
+[alarm_control_panel docs]: /integrations/alarm_control_panel/
+[alexa docs]: /integrations/alexa/
+[ambee docs]: /integrations/ambee/
+[apple_tv docs]: /integrations/apple_tv/
+[arcam_fmj docs]: /integrations/arcam_fmj/
+[asuswrt docs]: /integrations/asuswrt/
+[atome docs]: /integrations/atome/
+[aurora_abb_powerone docs]: /integrations/aurora_abb_powerone/
+[auth docs]: /integrations/auth/
+[axis docs]: /integrations/axis/
+[azure_event_hub docs]: /integrations/azure_event_hub/
+[binary_sensor docs]: /integrations/binary_sensor/
+[bmw_connected_drive docs]: /integrations/bmw_connected_drive/
+[bosch_shc docs]: /integrations/bosch_shc/
+[braviatv docs]: /integrations/braviatv/
+[broadlink docs]: /integrations/broadlink/
+[brother docs]: /integrations/brother/
+[caldav docs]: /integrations/caldav/
+[cast docs]: /integrations/cast/
+[climacell docs]: /integrations/climacell/
+[climate docs]: /integrations/climate/
+[cloud docs]: /integrations/cloud/
+[cloudflare docs]: /integrations/cloudflare/
+[coinbase docs]: /integrations/coinbase/
+[cover docs]: /integrations/cover/
+[daikin docs]: /integrations/daikin/
+[debugpy docs]: /integrations/debugpy/
+[deconz docs]: /integrations/deconz/
+[demo docs]: /integrations/demo/
+[device_automation docs]: /integrations/device_automation/
+[devolo_home_control docs]: /integrations/devolo_home_control/
+[directv docs]: /integrations/directv/
+[discord docs]: /integrations/discord/
+[discovery docs]: /integrations/discovery/
+[dlna_dmr docs]: /integrations/dlna_dmr/
+[dnsip docs]: /integrations/dnsip/
+[dsmr docs]: /integrations/dsmr/
+[dsmr_reader docs]: /integrations/dsmr_reader/
+[dte_energy_bridge docs]: /integrations/dte_energy_bridge/
+[dunehd docs]: /integrations/dunehd/
+[ecobee docs]: /integrations/ecobee/
+[ee_brightbox docs]: /integrations/ee_brightbox/
+[eliqonline docs]: /integrations/eliqonline/
+[enphase_envoy docs]: /integrations/enphase_envoy/
+[entur_public_transport docs]: /integrations/entur_public_transport/
+[environment_canada docs]: /integrations/environment_canada/
+[esphome docs]: /integrations/esphome/
+[ezviz docs]: /integrations/ezviz/
+[flo docs]: /integrations/flo/
+[folder_watcher docs]: /integrations/folder_watcher/
+[forecast_solar docs]: /integrations/forecast_solar/
+[fortios docs]: /integrations/fortios/
+[freedompro docs]: /integrations/freedompro/
+[fritz docs]: /integrations/fritz/
+[fronius docs]: /integrations/fronius/
+[frontend docs]: /integrations/frontend/
+[garmin_connect docs]: /integrations/garmin_connect/
+[gdacs docs]: /integrations/gdacs/
+[geo_rss_events docs]: /integrations/geo_rss_events/
+[geonetnz_quakes docs]: /integrations/geonetnz_quakes/
+[geonetnz_volcano docs]: /integrations/geonetnz_volcano/
+[goalzero docs]: /integrations/goalzero/
+[google_assistant docs]: /integrations/google_assistant/
+[google_translate docs]: /integrations/google_translate/
+[gpmdp docs]: /integrations/gpmdp/
+[gree docs]: /integrations/gree/
+[group docs]: /integrations/group/
+[growatt_server docs]: /integrations/growatt_server/
+[gtfs docs]: /integrations/gtfs/
+[habitica docs]: /integrations/habitica/
+[hangouts docs]: /integrations/hangouts/
+[hassio docs]: /integrations/hassio/
+[hdmi_cec docs]: /integrations/hdmi_cec/
+[heos docs]: /integrations/heos/
+[history docs]: /integrations/history/
+[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/
+[huisbaasje docs]: /integrations/huisbaasje/
+[humidifier docs]: /integrations/humidifier/
+[hyperion docs]: /integrations/hyperion/
+[ign_sismologia docs]: /integrations/ign_sismologia/
+[input_boolean docs]: /integrations/input_boolean/
+[ios docs]: /integrations/ios/
+[ipp docs]: /integrations/ipp/
+[isy994 docs]: /integrations/isy994/
+[izone docs]: /integrations/izone/
+[juicenet docs]: /integrations/juicenet/
+[knx docs]: /integrations/knx/
+[kraken docs]: /integrations/kraken/
+[kulersky docs]: /integrations/kulersky/
+[lacrosse docs]: /integrations/lacrosse/
+[lcn docs]: /integrations/lcn/
+[light docs]: /integrations/light/
+[lightwave docs]: /integrations/lightwave/
+[local_ip docs]: /integrations/local_ip/
+[lock docs]: /integrations/lock/
+[mazda docs]: /integrations/mazda/
+[media_player docs]: /integrations/media_player/
+[melcloud docs]: /integrations/melcloud/
+[meteoalarm docs]: /integrations/meteoalarm/
+[meteoclimatic docs]: /integrations/meteoclimatic/
+[metoffice docs]: /integrations/metoffice/
+[microsoft docs]: /integrations/microsoft/
+[mill docs]: /integrations/mill/
+[min_max docs]: /integrations/min_max/
+[minecraft_server docs]: /integrations/minecraft_server/
+[modbus docs]: /integrations/modbus/
+[modern_forms docs]: /integrations/modern_forms/
+[motion_blinds docs]: /integrations/motion_blinds/
+[mqtt docs]: /integrations/mqtt/
+[mutesync docs]: /integrations/mutesync/
+[mysensors docs]: /integrations/mysensors/
+[nad docs]: /integrations/nad/
+[nam docs]: /integrations/nam/
+[netatmo docs]: /integrations/netatmo/
+[network docs]: /integrations/network/
+[neurio_energy docs]: /integrations/neurio_energy/
+[nmap_tracker docs]: /integrations/nmap_tracker/
+[no_ip docs]: /integrations/no_ip/
+[nsw_fuel_station docs]: /integrations/nsw_fuel_station/
+[nsw_rural_fire_service_feed docs]: /integrations/nsw_rural_fire_service_feed/
+[nuki docs]: /integrations/nuki/
+[number docs]: /integrations/number/
+[onvif docs]: /integrations/onvif/
+[openweathermap docs]: /integrations/openweathermap/
+[ozw docs]: /integrations/ozw/
+[philips_js docs]: /integrations/philips_js/
+[pi_hole docs]: /integrations/pi_hole/
+[ping docs]: /integrations/ping/
+[pjlink docs]: /integrations/pjlink/
+[plex docs]: /integrations/plex/
+[point docs]: /integrations/point/
+[powerwall docs]: /integrations/powerwall/
+[prometheus docs]: /integrations/prometheus/
+[proxmoxve docs]: /integrations/proxmoxve/
+[pvpc_hourly_pricing docs]: /integrations/pvpc_hourly_pricing/
+[qld_bushfire docs]: /integrations/qld_bushfire/
+[rainmachine docs]: /integrations/rainmachine/
+[recorder docs]: /integrations/recorder/
+[remote docs]: /integrations/remote/
+[ring docs]: /integrations/ring/
+[risco docs]: /integrations/risco/
+[rituals_perfume_genie docs]: /integrations/rituals_perfume_genie/
+[roku docs]: /integrations/roku/
+[roomba docs]: /integrations/roomba/
+[roon docs]: /integrations/roon/
+[ruckus_unleashed docs]: /integrations/ruckus_unleashed/
+[saj docs]: /integrations/saj/
+[samsungtv docs]: /integrations/samsungtv/
+[screenlogic docs]: /integrations/screenlogic/
+[search docs]: /integrations/search/
+[select docs]: /integrations/select/
+[sense docs]: /integrations/sense/
+[sensor docs]: /integrations/sensor/
+[sia docs]: /integrations/sia/
+[simplisafe docs]: /integrations/simplisafe/
+[sma docs]: /integrations/sma/
+[smarttub docs]: /integrations/smarttub/
+[smtp docs]: /integrations/smtp/
+[solaredge docs]: /integrations/solaredge/
+[sonarr docs]: /integrations/sonarr/
+[sonos docs]: /integrations/sonos/
+[speedtestdotnet docs]: /integrations/speedtestdotnet/
+[spotify docs]: /integrations/spotify/
+[sql docs]: /integrations/sql/
+[ssdp docs]: /integrations/ssdp/
+[statistics docs]: /integrations/statistics/
+[stream docs]: /integrations/stream/
+[surepetcare docs]: /integrations/surepetcare/
+[switch docs]: /integrations/switch/
+[switcher_kis docs]: /integrations/switcher_kis/
+[synology_dsm docs]: /integrations/synology_dsm/
+[system_bridge docs]: /integrations/system_bridge/
+[systemmonitor docs]: /integrations/systemmonitor/
+[tado docs]: /integrations/tado/
+[tasmota docs]: /integrations/tasmota/
+[ted5000 docs]: /integrations/ted5000/
+[telegram_bot docs]: /integrations/telegram_bot/
+[template docs]: /integrations/template/
+[tibber docs]: /integrations/tibber/
+[tile docs]: /integrations/tile/
+[todoist docs]: /integrations/todoist/
+[toon docs]: /integrations/toon/
+[totalconnect docs]: /integrations/totalconnect/
+[tplink docs]: /integrations/tplink/
+[upnp docs]: /integrations/upnp/
+[uptime docs]: /integrations/uptime/
+[verisure docs]: /integrations/verisure/
+[wallbox docs]: /integrations/wallbox/
+[water_heater docs]: /integrations/water_heater/
+[weather docs]: /integrations/weather/
+[wemo docs]: /integrations/wemo/
+[wled docs]: /integrations/wled/
+[wolflink docs]: /integrations/wolflink/
+[xiaomi_miio docs]: /integrations/xiaomi_miio/
+[yamaha docs]: /integrations/yamaha/
+[yamaha_musiccast docs]: /integrations/yamaha_musiccast/
+[yeelight docs]: /integrations/yeelight/
+[zeroconf docs]: /integrations/zeroconf/
+[zha docs]: /integrations/zha/
+[zodiac docs]: /integrations/zodiac/
+[zwave_js docs]: /integrations/zwave_js/