From ed256ec1d3126e838f85b7fb5d7b1bdc72ef4938 Mon Sep 17 00:00:00 2001
From: Franck Nijhof
Date: Wed, 30 Jun 2021 17:22:24 +0200
Subject: [PATCH 01/25] Add beta release notes for 2021.7
---
_config.yml | 6 +-
.../_posts/2021-07-07-release-20217.markdown | 2192 +++++++++++++++++
2 files changed, 2195 insertions(+), 3 deletions(-)
create mode 100644 source/_posts/2021-07-07-release-20217.markdown
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/
From 323a0c251ca7b02210f0334920ea70c1ab4c7286 Mon Sep 17 00:00:00 2001
From: Franck Nijhof
Date: Wed, 30 Jun 2021 17:30:19 +0200
Subject: [PATCH 02/25] Fix broken links to new integrations in beta release
notes
---
source/_posts/2021-07-07-release-20217.markdown | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/source/_posts/2021-07-07-release-20217.markdown b/source/_posts/2021-07-07-release-20217.markdown
index be050b97f1a..54773fecc1a 100644
--- a/source/_posts/2021-07-07-release-20217.markdown
+++ b/source/_posts/2021-07-07-release-20217.markdown
@@ -237,10 +237,10 @@ Others:
We welcome the following new integrations this release:
- [Ambee][ambee docs], added by [@frenck]
-- [Forecast.Solar], added by [@klaasnicolaas]
-- [Freedompro], added by [@stefano055415]
+- [Forecast.Solar][forecast_solar docs], added by [@klaasnicolaas]
+- [Freedompro][freedompro docs], added by [@stefano055415]
- [Modern Forms][modern_forms docs], added by [@wonderslug]
-- [Select], added by [@frenck]
+- [Select][select docs], added by [@frenck]
## New Platforms
From 4c44dd1ca3ba478025a3af5a0ea47125f32bfc06 Mon Sep 17 00:00:00 2001
From: Franck Nijhof
Date: Wed, 30 Jun 2021 17:42:36 +0200
Subject: [PATCH 03/25] 2021.7 release notes: not -> now
---
source/_posts/2021-07-07-release-20217.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_posts/2021-07-07-release-20217.markdown b/source/_posts/2021-07-07-release-20217.markdown
index 54773fecc1a..225230f9e7c 100644
--- a/source/_posts/2021-07-07-release-20217.markdown
+++ b/source/_posts/2021-07-07-release-20217.markdown
@@ -304,7 +304,7 @@ rejected if the request is marked as forwarded.
{% details "Python 3.9 / Alpine 3.13" %}
-Our Docker images are not based on Alpine 3.13, and run Python 3.9.
+Our Docker images are now based on Alpine 3.13, and run Python 3.9.
This is mainly interesting if you running custom Docker containers based
on our container.
From b6d554312d85529d95f70f7f8038770974f58aef Mon Sep 17 00:00:00 2001
From: Franck Nijhof
Date: Wed, 30 Jun 2021 17:54:55 +0200
Subject: [PATCH 04/25] 2021.7 release notes: CEC support clarity
---
source/_posts/2021-07-07-release-20217.markdown | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/source/_posts/2021-07-07-release-20217.markdown b/source/_posts/2021-07-07-release-20217.markdown
index 225230f9e7c..2a044157658 100644
--- a/source/_posts/2021-07-07-release-20217.markdown
+++ b/source/_posts/2021-07-07-release-20217.markdown
@@ -534,8 +534,8 @@ you can use, please look at meteoalarm.org.
{% 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,
+Our Docker container has limited support for CEC drivers to those 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.
From 350420502e0fb65158c1c4294e09516b74cd8a41 Mon Sep 17 00:00:00 2001
From: Franck Nijhof
Date: Wed, 30 Jun 2021 18:05:26 +0200
Subject: [PATCH 05/25] 2021.7 release notes: KNS -> KNX
---
source/_posts/2021-07-07-release-20217.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_posts/2021-07-07-release-20217.markdown b/source/_posts/2021-07-07-release-20217.markdown
index 2a044157658..423cf6e564d 100644
--- a/source/_posts/2021-07-07-release-20217.markdown
+++ b/source/_posts/2021-07-07-release-20217.markdown
@@ -72,7 +72,7 @@ Screenshot of a custom theme supporting both light & dark mode.
-->
Some integrations started implementing the first select entities as of this
-release. MQTT & KNS made it available for use, WLED uses it to provide
+release. MQTT & KNX 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.
From d0aac4a8abe33f32d93233cd691de8e5fded3040 Mon Sep 17 00:00:00 2001
From: ChaseCares <13863948+ChaseCares@users.noreply.github.com>
Date: Wed, 30 Jun 2021 23:03:32 -0700
Subject: [PATCH 06/25] Update climate.mqtt.markdown (#18358)
fixed typo
---
source/_integrations/climate.mqtt.markdown | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/source/_integrations/climate.mqtt.markdown b/source/_integrations/climate.mqtt.markdown
index 228a061b090..abb5cc6f07d 100644
--- a/source/_integrations/climate.mqtt.markdown
+++ b/source/_integrations/climate.mqtt.markdown
@@ -363,7 +363,7 @@ If a property works in *optimistic mode* (when the corresponding state topic is
#### Using Templates
-For all `*_state_topic`s, a template can be specified that will be used to render the incoming payloads on these topics. Also, a default template that applies to all state topis can be specified as `value_template`. This can be useful if you received payloads are e.g., in JSON format. Since in JSON, a quoted string (e.g., `"foo"`) is just a string, this can also be used for unquoting.
+For all `*_state_topic`s, a template can be specified that will be used to render the incoming payloads on these topics. Also, a default template that applies to all state topics can be specified as `value_template`. This can be useful if you received payloads are e.g., in JSON format. Since in JSON, a quoted string (e.g., `"foo"`) is just a string, this can also be used for unquoting.
Say you receive the operation mode `"auto"` via your `mode_state_topic`, but the mode is actually called just `auto`, here's what you could do:
From 0296b08873a17adde77e851871bc3c0639ec4a8e Mon Sep 17 00:00:00 2001
From: Ron Heald
Date: Fri, 2 Jul 2021 15:45:11 +1000
Subject: [PATCH 07/25] Update acmeda.markdown (#18360)
* Update acmeda.markdown
Discuss different hub versions and reference v2 integration
* Update source/_integrations/acmeda.markdown
Co-authored-by: Franck Nijhof
Co-authored-by: Franck Nijhof
---
source/_integrations/acmeda.markdown | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/source/_integrations/acmeda.markdown b/source/_integrations/acmeda.markdown
index a60f9dcb2f1..d787f59ac66 100644
--- a/source/_integrations/acmeda.markdown
+++ b/source/_integrations/acmeda.markdown
@@ -15,9 +15,12 @@ ha_platforms:
- sensor
---
-The Rollease Acmeda Automate integration allows you to control and monitor covers via your Rolelase Acmeda Automate hub. The integration uses an [API](https://pypi.org/project/aiopulse/) to directly communicate with hubs on the local network, rather than connecting via the cloud or via RS-485.
+The Rollease Acmeda Automate integration allows you to control and monitor covers via your Rolelase Acmeda Automate hub. The integrations communicates directly with hubs on the local network, rather than connecting via the cloud or via RS-485. Devices are represented as a cover for monitoring and control as well as a sensor for monitoring battery condition.
+
+### Supported devices
+
+- Automate Pulse Hub v1
-Devices are represented as a cover for monitoring and control as well as a sensor for monitoring battery condition.
{% include integrations/config_flow.md %}
From 6d7286653585a827744e018b8e344851c62b0ce7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Axel=20Sep=C3=BAlveda?=
Date: Fri, 2 Jul 2021 04:03:37 -0400
Subject: [PATCH 08/25] Adds core.md web interface links (#18367)
Co-authored-by: Franck Nijhof
---
source/_includes/installation/core.md | 2 ++
1 file changed, 2 insertions(+)
diff --git a/source/_includes/installation/core.md b/source/_includes/installation/core.md
index a61f904d716..c4fa43e4199 100644
--- a/source/_includes/installation/core.md
+++ b/source/_includes/installation/core.md
@@ -86,6 +86,8 @@ hass
You can now reach your installation via the web interface on `http://homeassistant.local:8123`.
+If this address doesn't work you may also try `http://localhost:8123` or `http://X.X.X.X:8123` (replace X.X.X.X with your machines’ IP address).
+