diff --git a/source/_integrations/fyta.markdown b/source/_integrations/fyta.markdown
index fb8b81f7b94..ab2cfd8ff21 100644
--- a/source/_integrations/fyta.markdown
+++ b/source/_integrations/fyta.markdown
@@ -11,7 +11,7 @@ ha_codeowners:
ha_domain: fyta
ha_platforms:
- sensor
-ha_integration_type: integration
+ha_integration_type: hub
---
The **FYTA** {% term integration %} uses the open API of [FYTA](https://www.fyta.de) to obtain the data from your plant sensors and integrate these into Home Assistant.
@@ -39,4 +39,3 @@ The following sensors are currently available per plant:
| moisture | % | Moisture measured by sensor |
| salinity | mS/cm | Salinity measured by sensor (measured as conductivity)|
| battery_level | % | Battery level of the sensor |
-
diff --git a/source/_integrations/google_tasks.markdown b/source/_integrations/google_tasks.markdown
index 8bfacb45d64..ee2bcffe652 100644
--- a/source/_integrations/google_tasks.markdown
+++ b/source/_integrations/google_tasks.markdown
@@ -88,4 +88,4 @@ If you have an error with your credentials, you can delete them in the [Applicat
- [To-do list integration documentation](/integrations/todo)
- [List of to-do list integrations](/integrations/#to-do-list)
-- [To-do list card](/dashboards/todo-list/)
\ No newline at end of file
+- [To-do list card](/dashboards/todo-list/)
diff --git a/source/_integrations/homematic.markdown b/source/_integrations/homematic.markdown
index bcc2948f65c..10d27e1bb93 100644
--- a/source/_integrations/homematic.markdown
+++ b/source/_integrations/homematic.markdown
@@ -15,7 +15,6 @@ ha_iot_class: Local Push
ha_release: 0.23
ha_codeowners:
- '@pvizeli'
- - '@danielperna84'
ha_domain: homematic
ha_platforms:
- binary_sensor
diff --git a/source/_integrations/homeworks.markdown b/source/_integrations/homeworks.markdown
index a5d65753d1b..0ff6eb2c8e8 100644
--- a/source/_integrations/homeworks.markdown
+++ b/source/_integrations/homeworks.markdown
@@ -2,9 +2,9 @@
title: Lutron Homeworks
description: How to use Lutron Homeworks Series 4 & 8 with Home Assistant.
ha_category:
- - Hub
- Binary sensor
- Button
+ - Hub
- Light
ha_release: 0.85
ha_iot_class: Local Push
@@ -14,6 +14,7 @@ ha_platforms:
- button
- light
ha_integration_type: integration
+ha_config_flow: true
---
[Lutron](https://www.lutron.com/) is an American lighting control company. The Lutron Homeworks Series 4 & 8 systems are relatively old (~2003), and use RS-232 connections to communicate with home automation systems. The `homeworks` integration in Home Assistant is responsible for communicating with the main controller for these systems. Communication is through an ethernet to serial converter (NPort, for example).
diff --git a/source/_integrations/husqvarna_automower.markdown b/source/_integrations/husqvarna_automower.markdown
index ecb3b2a1a22..691a0c22d56 100644
--- a/source/_integrations/husqvarna_automower.markdown
+++ b/source/_integrations/husqvarna_automower.markdown
@@ -16,6 +16,7 @@ ha_codeowners:
ha_platforms:
- binary_sensor
- device_tracker
+ - diagnostics
- lawn_mower
- select
- sensor
diff --git a/source/_integrations/hyperion.markdown b/source/_integrations/hyperion.markdown
index cb8ef98a2c3..69523f81b61 100644
--- a/source/_integrations/hyperion.markdown
+++ b/source/_integrations/hyperion.markdown
@@ -14,8 +14,8 @@ ha_ssdp: true
ha_platforms:
- camera
- light
- - switch
- sensor
+ - switch
ha_integration_type: integration
---
diff --git a/source/_integrations/ipma.markdown b/source/_integrations/ipma.markdown
index 85351853890..378c143b06e 100644
--- a/source/_integrations/ipma.markdown
+++ b/source/_integrations/ipma.markdown
@@ -10,6 +10,7 @@ ha_codeowners:
- '@dgomes'
ha_domain: ipma
ha_platforms:
+ - diagnostics
- sensor
- weather
ha_integration_type: integration
diff --git a/source/_integrations/kitchen_sink.markdown b/source/_integrations/kitchen_sink.markdown
index ef190583c5b..9e0c80ccfe3 100644
--- a/source/_integrations/kitchen_sink.markdown
+++ b/source/_integrations/kitchen_sink.markdown
@@ -12,6 +12,7 @@ ha_iot_class: Calculated
ha_platforms:
- button
- image
+ - lawn_mower
- lock
- sensor
- switch
diff --git a/source/_integrations/local_todo.markdown b/source/_integrations/local_todo.markdown
index 6b977d18659..934b22aa4bd 100644
--- a/source/_integrations/local_todo.markdown
+++ b/source/_integrations/local_todo.markdown
@@ -1,5 +1,5 @@
---
-title: Local to-do
+title: Local To-do
description: Instructions on how to use local to-do lists in Home Assistant.
ha_category:
- To-do list
@@ -26,4 +26,4 @@ about to-do list entities.
## Related topics
- [**To-do list** integration](/integrations/todo)
-- [To-do list card](/dashboards/todo-list/)
\ No newline at end of file
+- [To-do list card](/dashboards/todo-list/)
diff --git a/source/_integrations/microbees.markdown b/source/_integrations/microbees.markdown
index 69ded0fd173..28f0763db0e 100644
--- a/source/_integrations/microbees.markdown
+++ b/source/_integrations/microbees.markdown
@@ -1,9 +1,9 @@
---
title: microBees
description: Instructions on how to integrate microBees devices into Home Assistant.
-ha_category:
- - Cover
+ha_category:
- Button
+ - Cover
- Light
- Sensor
- Switch
@@ -14,10 +14,9 @@ ha_config_flow: true
ha_domain: microbees
ha_iot_class: Cloud Polling
ha_platforms:
- - switch
- - cover
- binary_sensor
- button
+ - cover
- light
- sensor
- switch
diff --git a/source/_integrations/modbus.markdown b/source/_integrations/modbus.markdown
index f68fd5ff21f..db98da4c3dc 100644
--- a/source/_integrations/modbus.markdown
+++ b/source/_integrations/modbus.markdown
@@ -16,7 +16,7 @@ ha_platforms:
- light
- sensor
- switch
-ha_quality_scale: gold
+ha_quality_scale: platinum
ha_integration_type: integration
---
diff --git a/source/_integrations/motionblinds_ble.markdown b/source/_integrations/motionblinds_ble.markdown
index 4034c23370b..aee84394c9f 100644
--- a/source/_integrations/motionblinds_ble.markdown
+++ b/source/_integrations/motionblinds_ble.markdown
@@ -14,7 +14,7 @@ ha_platforms:
- button
- cover
- select
-ha_integration_type: integration
+ha_integration_type: device
---
This {% term integration %} adds support for [Motionblinds](https://motionblinds.com/) Bluetooth motors. Want to motorize your existing blinds? This can be done with Motionblinds motor CMD-03. Made-to-measure window coverings with Motionblinds are available through a worldwide reseller network.
diff --git a/source/_integrations/mqtt.markdown b/source/_integrations/mqtt.markdown
index 158f329f35a..9288d8e15a6 100644
--- a/source/_integrations/mqtt.markdown
+++ b/source/_integrations/mqtt.markdown
@@ -25,6 +25,7 @@ ha_platforms:
- fan
- humidifier
- image
+ - lawn_mower
- light
- lock
- number
diff --git a/source/_integrations/neato.markdown b/source/_integrations/neato.markdown
index 1332da1336c..8afdb03c705 100644
--- a/source/_integrations/neato.markdown
+++ b/source/_integrations/neato.markdown
@@ -11,7 +11,6 @@ ha_iot_class: Cloud Polling
ha_release: 0.33
ha_config_flow: true
ha_codeowners:
- - '@dshokouhi'
- '@Santobert'
ha_domain: neato
ha_platforms:
diff --git a/source/_integrations/notify.markdown b/source/_integrations/notify.markdown
index b1e8e4f120b..7361b552461 100644
--- a/source/_integrations/notify.markdown
+++ b/source/_integrations/notify.markdown
@@ -87,5 +87,3 @@ action:
```
{% endraw %}
-
-
diff --git a/source/_integrations/numato.markdown b/source/_integrations/numato.markdown
index d69384cf8da..eaa005503a0 100644
--- a/source/_integrations/numato.markdown
+++ b/source/_integrations/numato.markdown
@@ -15,7 +15,7 @@ ha_platforms:
- binary_sensor
- sensor
- switch
-ha_integration_type: integration
+ha_integration_type: hub
---
The `numato` integration is the base for all related GPIO platforms of the
diff --git a/source/_integrations/ollama.markdown b/source/_integrations/ollama.markdown
index 7cf97813c67..446c838add6 100644
--- a/source/_integrations/ollama.markdown
+++ b/source/_integrations/ollama.markdown
@@ -16,7 +16,7 @@ The **Ollama** {% term integration %} adds a conversation agent in Home Assistan
This conversation agent is unable to control your house. The Ollama conversation agent can be used in automations, but not as a [sentence trigger](/docs/automation/trigger/#sentence-trigger). It can only query information that has been provided by Home Assistant. To be able to answer questions about your house, Home Assistant will need to provide Ollama with the details of your house, which include areas, devices, and their states.
-This integration requires an external Ollama server, which is available for macOS, Linux, and Windows. Follow the [download instructions](https://ollama.com/) to install the server.
+This integration requires an external Ollama server, which is available for macOS, Linux, and Windows. Follow the [download instructions](https://ollama.com/download) to install the server. Once installed, configure Ollama to be [accessible over the network](https://github.com/ollama/ollama/blob/main/docs/faq.md#how-can-i-expose-ollama-on-my-network).
{% include integrations/config_flow.md %}
diff --git a/source/_integrations/ourgroceries.markdown b/source/_integrations/ourgroceries.markdown
index 45c5f147c58..81e463cba47 100644
--- a/source/_integrations/ourgroceries.markdown
+++ b/source/_integrations/ourgroceries.markdown
@@ -24,4 +24,4 @@ It adds a [to-do list entity](/integrations/todo) for each shopping list, allowi
- [OurGroceries](https://www.ourgroceries.com/)
- [To-do list integration documentation](/integrations/todo)
- [List of to-do list integrations](/integrations/#to-do-list)
-- [To-do list card](/dashboards/todo-list/)
\ No newline at end of file
+- [To-do list card](/dashboards/todo-list/)
diff --git a/source/_integrations/permobil.markdown b/source/_integrations/permobil.markdown
index b24579bba1a..30b8a219b00 100644
--- a/source/_integrations/permobil.markdown
+++ b/source/_integrations/permobil.markdown
@@ -10,6 +10,7 @@ ha_codeowners:
- '@IsakNyberg'
ha_config_flow: true
ha_platforms:
+ - binary_sensor
- sensor
ha_integration_type: integration
---
diff --git a/source/_integrations/piper.markdown b/source/_integrations/piper.markdown
index 51c54fdc06d..c5b5997631f 100644
--- a/source/_integrations/piper.markdown
+++ b/source/_integrations/piper.markdown
@@ -19,6 +19,7 @@ ha_platforms:
- stt
- switch
- tts
+ - wake_word
ha_iot_class: Local Push
ha_zeroconf: true
---
diff --git a/source/_integrations/profiler.markdown b/source/_integrations/profiler.markdown
index c9ec95f6aec..e52cd8e0439 100644
--- a/source/_integrations/profiler.markdown
+++ b/source/_integrations/profiler.markdown
@@ -198,4 +198,4 @@ Logs statistics from [lru_cache](https://docs.python.org/3/library/functools.htm
| ---------------------- | -------- | -------------------------------------- |
| `enabled` | yes | Boolean to enable asyncio debug. |
-When `set_asyncio_debug` is enabled, `asyncio` will run in [debug mode](https://docs.python.org/3/library/asyncio-dev.html#debug-mode). Use this service to help identify an integration that is blocking the event loop.
\ No newline at end of file
+When `set_asyncio_debug` is enabled, `asyncio` will run in [debug mode](https://docs.python.org/3/library/asyncio-dev.html#debug-mode). Use this service to help identify an integration that is blocking the event loop.
diff --git a/source/_integrations/rejseplanen.markdown b/source/_integrations/rejseplanen.markdown
index f58e6e7953a..75a3e8c2516 100644
--- a/source/_integrations/rejseplanen.markdown
+++ b/source/_integrations/rejseplanen.markdown
@@ -6,8 +6,6 @@ ha_category:
ha_iot_class: Cloud Polling
ha_release: 0.88
ha_domain: rejseplanen
-ha_codeowners:
- - '@DarkFox'
ha_platforms:
- sensor
ha_integration_type: integration
diff --git a/source/_integrations/reolink.markdown b/source/_integrations/reolink.markdown
index a6037332459..e05afde201b 100644
--- a/source/_integrations/reolink.markdown
+++ b/source/_integrations/reolink.markdown
@@ -266,6 +266,7 @@ The following models have been tested and confirmed to work:
- [RLC-822A](https://reolink.com/product/rlc-822a/)
- [RLC-823A](https://reolink.com/product/rlc-823a/)
- [RLC-833A](https://reolink.com/product/rlc-833a/)
+- [RLC-1212A](https://reolink.com/product/rlc-1212a/)
- [RLC-1224A](https://reolink.com/product/rlc-1224a/)
- [RLN8-410 NVR](https://reolink.com/product/rln8-410/)
- [RLN16-410 NVR](https://reolink.com/product/rln16-410/)
diff --git a/source/_integrations/schedule.markdown b/source/_integrations/schedule.markdown
index b4db6426991..5108df962df 100644
--- a/source/_integrations/schedule.markdown
+++ b/source/_integrations/schedule.markdown
@@ -1,6 +1,6 @@
---
title: Schedule
-description: Instructions on how use make weekly schedule in Home Assistant.
+description: Instructions on how to make a weekly schedule in Home Assistant.
ha_category:
- Automation
- Helper
diff --git a/source/_integrations/seventeentrack.markdown b/source/_integrations/seventeentrack.markdown
index 72139122b4b..a4ed5831e40 100644
--- a/source/_integrations/seventeentrack.markdown
+++ b/source/_integrations/seventeentrack.markdown
@@ -11,7 +11,7 @@ ha_codeowners:
ha_domain: seventeentrack
ha_platforms:
- sensor
-ha_integration_type: integration
+ha_integration_type: service
---
The seventeentrack {% term integration %} allows users to get package data tied to their [17track.net](https://www.17track.net) account. The integration creates both summary sensors, which show the number of packages in a current state (e.g., "In Transit"), as well as individual sensors for each package within the account.
diff --git a/source/_integrations/shelly.markdown b/source/_integrations/shelly.markdown
index 4f19d13e9fb..d9728a66504 100644
--- a/source/_integrations/shelly.markdown
+++ b/source/_integrations/shelly.markdown
@@ -5,8 +5,8 @@ ha_category:
- Binary sensor
- Climate
- Cover
- - Event
- Energy
+ - Event
- Light
- Number
- Sensor
diff --git a/source/_integrations/smud.markdown b/source/_integrations/smud.markdown
index a98285110b4..a321ea4cb82 100644
--- a/source/_integrations/smud.markdown
+++ b/source/_integrations/smud.markdown
@@ -4,7 +4,7 @@ description: Get energy usage from Sacramento Municipal Utility District (SMUD)
ha_category:
- Energy
- Sensor
-ha_release: 2024.4
+ha_release: 2023.8
ha_domain: smud
ha_integration_type: virtual
ha_supporting_domain: opower
diff --git a/source/_integrations/synology_srm.markdown b/source/_integrations/synology_srm.markdown
index 801023e4fd8..9d7456d2f26 100644
--- a/source/_integrations/synology_srm.markdown
+++ b/source/_integrations/synology_srm.markdown
@@ -58,7 +58,7 @@ verify_ssl:
type: boolean
{% endconfiguration %}
-It's not possible to create another account in SRM with admin permissions. You'll need to use your admin account (or the one you renamed at creation) for this connection.
+For instructions on creating multiple administrators on SRM, please refer to the [Synology Knowledge Center](https://kb.synology.com/en-id/SRM/tutorial/Create_multiple_administrator_accounts_on_Synology_Router).
List of models known to be supported:
diff --git a/source/_integrations/teslemetry.markdown b/source/_integrations/teslemetry.markdown
index 97112d80a39..5822a1e1543 100644
--- a/source/_integrations/teslemetry.markdown
+++ b/source/_integrations/teslemetry.markdown
@@ -89,4 +89,3 @@ The integration will create sensor entities for a variety of metrics that relate
- Power
- State code (disabled by default)
- Vehicle
-
diff --git a/source/_integrations/todo.markdown b/source/_integrations/todo.markdown
index 1c4886f455b..c07dc406748 100644
--- a/source/_integrations/todo.markdown
+++ b/source/_integrations/todo.markdown
@@ -144,4 +144,4 @@ target:
## Related topics
- [Local to-do integration](/integrations/local_todo/)
-- [To-do list card](/dashboards/todo-list/)
\ No newline at end of file
+- [To-do list card](/dashboards/todo-list/)
diff --git a/source/_integrations/todoist.markdown b/source/_integrations/todoist.markdown
index de18a3d42d9..654890c4a28 100644
--- a/source/_integrations/todoist.markdown
+++ b/source/_integrations/todoist.markdown
@@ -205,4 +205,4 @@ Here are two example JSON payloads resulting in the same task:
- [To-do list integration documentation](/integrations/todo)
- [List of to-do list integrations](/integrations/#to-do-list)
- [To-do list card](/dashboards/todo-list/)-
-- [Dashboards](/dashboards/dashboards/)
\ No newline at end of file
+- [Dashboards](/dashboards/dashboards/)
diff --git a/source/_integrations/unifi.markdown b/source/_integrations/unifi.markdown
index d970d1ec8d1..66bc0845399 100644
--- a/source/_integrations/unifi.markdown
+++ b/source/_integrations/unifi.markdown
@@ -34,6 +34,7 @@ There is currently support for the following device types within Home Assistant:
- [Button](#button)
- [Image](#image)
- [Presence detection](#presence-detection)
+- [Services](#services)
- [Switch](#switch)
- [Sensor](#sensor)
- [Firmware updates](#firmware-updates)
diff --git a/source/_integrations/webmin.markdown b/source/_integrations/webmin.markdown
index f37204eca78..24ac6e982dc 100644
--- a/source/_integrations/webmin.markdown
+++ b/source/_integrations/webmin.markdown
@@ -11,6 +11,7 @@ ha_codeowners:
ha_domain: webmin
ha_integration_type: device
ha_platforms:
+ - diagnostics
- sensor
---
diff --git a/source/_integrations/whirlpool.markdown b/source/_integrations/whirlpool.markdown
index 5629b5f13f7..d634a034e3e 100644
--- a/source/_integrations/whirlpool.markdown
+++ b/source/_integrations/whirlpool.markdown
@@ -13,6 +13,7 @@ ha_codeowners:
ha_domain: whirlpool
ha_platforms:
- climate
+ - diagnostics
- sensor
ha_integration_type: hub
---
diff --git a/source/_integrations/whisper.markdown b/source/_integrations/whisper.markdown
index 9298b2de6db..d60b91aa302 100644
--- a/source/_integrations/whisper.markdown
+++ b/source/_integrations/whisper.markdown
@@ -19,6 +19,7 @@ ha_platforms:
- stt
- switch
- tts
+ - wake_word
ha_iot_class: Local Push
ha_zeroconf: true
---
diff --git a/source/_integrations/yolink.markdown b/source/_integrations/yolink.markdown
index 9bd3b8585cb..e84ad1c4a67 100644
--- a/source/_integrations/yolink.markdown
+++ b/source/_integrations/yolink.markdown
@@ -27,6 +27,7 @@ ha_platforms:
- sensor
- siren
- switch
+ - valve
ha_integration_type: integration
---
diff --git a/source/_posts/2024-04-03-release-20244.markdown b/source/_posts/2024-04-03-release-20244.markdown
new file mode 100644
index 00000000000..ae4f51ac8a2
--- /dev/null
+++ b/source/_posts/2024-04-03-release-20244.markdown
@@ -0,0 +1,846 @@
+---
+layout: post
+title: "2024.4: Organize all the things!"
+description: "Time for spring cleaning 🧹 Introducing new ways to organize your automations (and more) with floors, labels, and categories. Easily add Matter devices from other controllers, and two brand new map and webpage dashboards."
+date: 2024-04-03 00:00:00
+date_formatted: "April 3, 2024"
+author: Franck Nijhof
+author_twitter: frenck
+comments: true
+categories:
+ - Release-Notes
+ - Core
+og_image: /images/blog/2024-04/social.png
+---
+
+

+
+Home Assistant Core 2024.4! 🌱 🌻
+
+Are you ready for another massive release? This release addresses the most
+requested feature in Home Assistant history: grouping automations! 🎉
+
+But why stop there?
+
+This release brings excellent new features to our user interface that house not
+one, not two, but three! new ways to organize your Home Assistant setup!
+The best part is that it is not just for automations, but for everything! 🤯
+
+Perfect timing: spring is here! Time to spring clean your Home Assistant
+setup by adding some organization to your configuration! 🧹
+
+Enjoy the release! 🌞
+
+../Frenck
+
+
+
+- [Home Assistant spring cleaning! 🧹 New ways to get your automations (and more) organized](#home-assistant-spring-cleaning--new-ways-to-get-your-automations-and-more-organized)
+- [Upgraded tables!](#upgraded-tables)
+ - [A new toolbar](#a-new-toolbar)
+ - [Filter panel](#filter-panel)
+ - [Item grouping](#item-grouping)
+ - [Selection mode and batch actions](#selection-mode-and-batch-actions)
+- [Three new ways to organize](#three-new-ways-to-organize)
+ - [Floors: Help Home Assistant understand your house](#floors-help-home-assistant-understand-your-house)
+ - [Labels: Tag everything any way you want](#labels-tag-everything-any-way-you-want)
+ - [Categories: Make each settings page easier to browse](#categories-make-each-settings-page-easier-to-browse)
+ - [Time to clean up your Home Assistant!](#time-to-clean-up-your-home-assistant)
+- [Map dashboard](#map-dashboard)
+- [Webpage dashboard](#webpage-dashboard)
+- [Define the columns in the section view](#define-the-columns-in-the-section-view)
+- [Adding Matter devices from other controllers](#adding-matter-devices-from-other-controllers)
+- [Lock behavior improvements](#lock-behavior-improvements)
+- [Even more performance!](#even-more-performance)
+- [Other noteworthy changes](#other-noteworthy-changes)
+- [New integrations](#new-integrations)
+- [Integrations now available to set up from the UI](#integrations-now-available-to-set-up-from-the-ui)
+- [Release 2024.4.1 - April 5](#release-202441---april-5)
+- [Need help? Join the community!](#need-help-join-the-community)
+- [Backward-incompatible changes](#backward-incompatible-changes)
+- [Farewell to the following](#farewell-to-the-following)
+- [All changes](#all-changes)
+
+Don't forget to [join our release party live stream on YouTube](https://www.youtube.com/watch?v=Q1yHfqsVidw)
+3 April 2024, at 20:00 GMT / 12:00 PST / 21:00 CEST!
+
+
+
+## Home Assistant spring cleaning! 🧹 New ways to get your automations (and more) organized
+
+By far, the most requested feature in Home Assistant history would be:
+
+[_"Grouping Automations on frontend for organization"_](https://community.home-assistant.io/t/grouping-automations-on-frontend-for-organization/102771).
+
+We hear you! Today, in this release, we are going to give you tools to organize
+your Home Assistant setup, and we took it a few (well, many) steps further than
+just grouping {% term automations %}!
+
+We are introducing 3 (yes, you’ve read it correctly. It’s _three_) organization
+taxonomies, and we revamped our entire table user interface plus a few goodies
+along the way.
+
+## Upgraded tables!
+
+Adding more ways to organize your Home Assistant is great! But being able to
+easily view, filter, and navigate information is just as important. To achieve
+this, we have re-designed ALL the tables in Home Assistant.
+
+For an admin interface, tables are essential for visualizing and managing
+large datasets. Home Assistant has many tables in its settings pages.
+Previously, our UI provided the ability to search, sort, and filter for a few
+aspects, but it was relatively barebones.
+
+Today, we are rolling out a revamped table UI that will be standardized across
+**all** tables in the settings pages with new and improved features.
+
+### A new toolbar
+
+As we add more features to the tables, we need to keep the UI clean and its
+features easy to find. Therefore, we added descriptive text to the dropdown
+menus and standardized the look and feel of the toolbar buttons and text boxes.
+Shiny!
+
+
+
+ The new toolbar that is now on every table in Home Assistant.
+
+
+### Filter panel
+
+Previously, our automations page allowed you to filter by {% term areas %},
+{% term entities %}, or {% term devices %}, but only one at a time, and the
+filters were tucked away in a dropdown menu, which meant you needed to select
+a dropdown menu inside a dropdown menu to filter by area.
+
+A new filter panel fixes these issues by providing a new dual pane user
+interface that can let you check multiple filters across multiple filter
+types on the left that stay put and view the filtered results on the right.
+
+

+
+We also introduced multiple new filter types for each table. For example,
+{% term automations %} can now be filtered not only by {% term areas %},
+{% term entities %} , or {% term devices %}, but also by used
+{% term blueprints %}, labels, and categories (more on these later!).
+
+We didn’t stop at just that page! The devices and entities pages now also have
+a way to filter not only by state but also by integrations and areas. Almost all
+tables now have useful new filters to help you find what you are looking for.
+
+### Item grouping
+
+Browsing a list of hundreds of {% term automations %} or thousands of
+{% term entities %} can be overwhelming. While filters can help narrow the list,
+visually grouping the items into smaller chunks makes browsing easier.
+
+With the item grouping feature, we introduced a new dropdown menu to pick
+how you’d like the items on the table to be grouped. On the automations page,
+you can group automations by their {% term state %} - whether enabled
+or not - and custom categories (more on that later!). On the {% term devices %}
+page, you can even group them by manufacturers, {% term areas %},
+or {% term integrations %}, which is really cool because it makes the page much
+easier to browse. It gives you a new perspective on organizing your vast
+network of devices.
+
+

+
+### Selection mode and batch actions
+
+We removed the clutter of displaying a column of checkboxes by introducing
+a new selection mode. When it is toggled on, checkboxes will appear, and you
+can apply actions to all your selections with one click on the toolbar.
+
+
+
+ This button enables selection mode in the new tables.
+
+
+It allows you to, for example, enable or disable multiple selected
+{% term entities %} on the entities page at once. This new paradigm will allow
+us to introduce more batch management actions in the future.
+
+

+
+## Three new ways to organize
+
+Upon reading through and ideating on the feature request thread on
+[“Automation Grouping”](https://community.home-assistant.io/t/grouping-automations-on-frontend-for-organization/102771),
+we realized that organization can be done in multiple ways for different purposes.
+
+We learned that users who are proficient in making {% term automations %} have
+hundreds of them, which makes locating a particular automation hard. They often
+had to resort to using "hacks" such as emojis, bracketed “tags”, or numbering
+each automation to get the sort order they wanted. They needed a way to easily
+filter down and break down the giant list into more manageable chunks.
+
+We also noticed that users are stretching our areas feature beyond its
+intended purpose. For example, some users would create “{% term areas %}” such
+as “3D printer”, “Christmas decorations”, or even “Left side of my office desk”,
+to group different {% term devices %} and {% term entities %} together under
+one umbrella for dashboards or {% term automations %}.
+
+As we are developing our new dashboards and voice commands, this poses a
+big problem: We would be unable to provide specialized solutions if a dashboard
+{% term blueprint %} or automation blueprint cannot confidently assume the context of
+how it would be used. We need something more specialized.
+
+Therefore, to balance the basic goal of providing a more digestible UI for
+all users, the need for flexibility for our power users, and the future vision
+of Home Assistant, we are introducing 3 new organization structures to
+Home Assistant:
+
+**[Floors](#floors-help-home-assistant-understand-your-house)**,
+**[Labels](#labels-tag-everything-any-way-you-want)**,
+and **[Categories](#categories-make-each-settings-page-easier-to-browse)**
+
+### Floors: Help Home Assistant understand your house
+
+Let's talk about the new organizational structures, starting with **floors**.
+
+To become a truly intelligent home automation platform, Home Assistant needs
+to understand the context: Where exactly is a {% term device%}? How does one
+{%term area %} relate to another? What is the space used for?
+
+Currently, Home Assistant has {% term areas %}. Areas specify the physical
+location or vicinity of your devices per living space in your home
+(like the living room or kitchen). However, some users living in standalone
+houses might have multiple floors with their own areas.
+
+{% term Floors %} are a new way to organize your areas per level of floors in
+your home. The better Home Assistant knows your home and how it is spatially
+structured, the better it can help you. Especially when it comes to future
+features like generating dashboards, voice commands, and maybe even
+AI-related features.
+
+

+
+You can use floors in your {% term automations %} and {% term scripts %} as a
+target for your actions or control them with your voice. For example, you can
+turn off all the lights on the downstairs floor when you go to bed or ask
+[Assist](/voice_control/) to turn on the lights upstairs.
+
+For our power users, you can even use [floors in your templates](/docs/configuration/templating/#floors)
+to create the most advanced and creative automations.
+
+{% my areas badge %}
+
+### Labels: Tag everything any way you want
+
+{% term Floors %} and {% term areas %} are great for representing your actual
+home, but as everyone has their own ways of organizing their home, everyone
+has their own ways of organizing their Home Assistant, too!
+This is where **labels** 🏷️ come in!
+
+Labels is an organizational structure that is completely up to you. You can
+make as many labels with any naming structure, in any color 🌈 you want, and
+assign them to basically anything in Home Assistant. You assign labels to
+anything: {% term areas %}, {% term devices %}, {% term entities %},
+{% term automations %}, {% term scripts %}, helpers, you name it!
+You can even assign multiple labels to the same thing.
+
+

+
+Just like with floors, you can use labels in your automations and scripts as
+a target for your {% term actions %}. This gives you a lot of flexibility,
+not just in organizing your Home Assistant, but also in automating your home! 🤯
+
+For example, you could create a label "🎄 Christmas" to label all your
+Christmas decorations during the holiday season. You can then use this label to
+automate all of those decorations at once or to filter them in the new tables.
+
+More examples? You could create a label "🔒 Security" to label and control all
+your security-related devices and automations. Or, "🛌 Bedrooms" to label all
+your bedroom areas and simultaneously control all the devices in those areas.
+
+Do you have solar panels or home batteries? Create a label "⚡️ Heavy energy usage"
+to label devices that consume a lot of energy. You could switch them off when
+there is not enough battery or solar energy available.
+
+You decide how to use labels, and the possibilities are endless! And for our
+power users, you guessed it, you can use [labels in your templates](/docs/configuration/templating/#labels).
+
+{% my labels badge %}
+
+### Categories: Make each settings page easier to browse
+
+Last but not least, we are introducing **categories**. Categories are designed
+to be paired with the aforementioned [item grouping feature](#item-grouping),
+and it can be used to group things visually specific to a certain table
+in Home Assistant.
+
+This is great for those who have a particular way of displaying their
+{% term entities %} by separating them into multiple sections on a specific page.
+For example, on the {% term automations %} page, you can create categories only
+used for visually grouping automations but nowhere else, like "Notifications"
+or “NFC tags”. You can then view your automations grouped or filtered by
+those categories.
+
+

+
+As these categories are unique for each dashboard, you can have different
+sets of categories depending on the place you are organizing. This means
+you can have different categories on the automations page than the
+{% term scene %}, {% term scripts %}, or helpers settings page.
+
+### Time to clean up your Home Assistant!
+
+In summary, there are a total of 4 taxonomies for organizing your entities.
+It sounds like a lot, but they all serve a distinct purpose. We are extending
+and clarifying {% term areas %} with {% term floors %}, and we are introducing
+{% term labels %} and {% term categories %} to make your {% term automations %}
+and many other tables look more organized and be more manageable.
+
+What’s next? Time to dig in! Here are a few steps we recommend you take
+action on to organize your Home Assistant better:
+
+- **Migrate to labels**:
+ - If you have been grouping automations with emojis and bracketed text,
+ you can now create labels for each. Labels can have icons to replace the
+ emojis you had before.
+ - For areas that aren’t really physical spaces, switching them to labels will
+ provide you more flexibility in organizing your entities.
+- **Start using categories**:
+ If you have a favorite way of organizing a particular page, create those
+ categories and group the table by them. For example, you could create a
+ notification category for all your notification automations and put all
+ notification automations in that category.
+- **Group your areas into floors**:
+ If you live in a multi-story home, grouping areas into floors help with
+ organizing the areas as well as making them more compatible with future
+ features.
+
+Last of all, to help us to help you to perfect the design of these new features,
+we would love to hear your feedback and see how you use them! Please feel free
+to share them in the comments below and discuss them in our community.
+
+## Map dashboard
+
+Introducing a new dashboard this release: The **map**! 🗺️
+
+You might think, "Hey, we already have a map dashboard in Home Assistant!"
+and you are right! However, the map was an integration that was always there
+and didn't provide the flexibility and features that were wanted.
+
+With the map dashboard's introduction, you can now add multiple map dashboards
+with different entities and configuration settings. For example, create a
+dashboard to show the location of your family members, another to track your
+car, and another to show the location of your pets. 🐶
+
+

+
+On upgrade, Home Assistant will automatically migrate your existing map
+integration to a map dashboard.
+
+You don't like having the map in your sidebar? Well, that is no longer a
+problem. Since it is now a dashboard it means you can remove it in the dashboard
+settings.
+
+## Webpage dashboard
+
+Another new dashboard for this release is the **webpage**! 🌐
+
+The webpage dashboard allows you to add and embed a webpage to your dashboard.
+This could be a web page from the internet or a local web page from a local
+machine or device like your router or NAS.
+
+

+
+This dashboard replaces the old iFrame panel (`iframe_panel`). If you have
+existing panels configured in your YAML configuration, Home Assistant will
+automatically migrate them to the new webpage dashboard on upgrade.
+
+

+
+Note that not every webpage can be embedded due to security restrictions that
+some sites or pages have in place, enforced by your browser, that prevent
+embedding them into a Home Assistant dashboard.
+
+## Define the columns in the section view
+
+In the last release, we [introduced the section view](/blog/2024/03/06/release-20243/#a-new-experimental-sections-view)
+with drag and drop support. We are absolutely thrilled to see how many of you
+loved it! 🥰
+
+Many thanks for all the feedback and suggestions! We are prioritizing them and
+are working on making the section view even better in the upcoming releases.
+
+In this release, based on your feedback, we have added the ability for you to
+define the maximum number of columns that the section view uses. This allows you
+to limit the number of columns, regardless of the screen width on which you
+are viewing your dashboard.
+
+

+
+## Adding Matter devices from other controllers
+
+In the [February release](/blog/2024/02/07/release-20242/#matter-diagnostics-and-actions),
+we added support for sharing Matter devices tied to Home Assistant with other
+Matter controllers. This release, we are making the other way around easier.
+
+We have improved how you can add Matter devices from other controllers to
+Home Assistant. When you add a Matter device to Home Assistant, it will now
+ask you if you want to add a new Matter device or if you want to add a device
+that is already added to another controller (like Google Home or Apple Home).
+
+

+
+Suppose you choose to add a device that has already been added to another
+controller. In that case, Home Assistant will guide you through how to
+achieve this step by step.
+
+

+
+## Lock behavior improvements
+
+Some smart locks have an open (or unlatching) mechanism that can be triggered
+remotely. The door either pops out of the lock or can be opened by pushing
+against the door.
+
+We want to ensure you don't accidentally open the door when you miss-clicked
+the button (for example, while not at home 😬). Therefore, we have improved
+the behavior of locks in our user interface by requiring you to confirm the
+action.
+
+

+
+## Even more performance!
+
+Remember how we wrote last release that [Home Assistant now boots twice as fast](/blog/2024/03/06/release-20243/#home-assistant-boots-twice-as-fast)?
+Well, [@bdraco] wasn't done yet and teamed up with [@balloob]. If you thought
+the previous release was fast, you are in for a treat! 🚀 The difference is,
+yet again, very noticeable.
+
+Besides streamlining what is loaded at startup (and doing less loading), we
+have adjusted the startup time tracking. It used to be that one integration
+could push other integrations to be slow too; that should no longer be the case,
+making this a more accurate representation of the actual startup time.
+
+Want to learn about the individual startup times of your integrations? You can
+find them in the {% my repairs title="**Settings** -> **System** -> **Repairs**" %}
+page by selecting the three-dotted menu in the top right and selecting the
+**Integration startup time** item.
+
+{% my repairs badge %}
+
+[@bdraco]: https://github.com/bdraco
+[@balloob]: https://github.com/balloob
+
+## Other noteworthy changes
+
+There are many more improvements in this release; here are some of the other
+noteworthy changes this release:
+
+- [@karwosts] has improved your Home Assistant {% my profile title="user profile" %}
+ page, making navigating and finding the settings you are looking for easier.
+ Nice work!
+- If you use a [sentence trigger] in your automation to trigger it using
+ [Assist]. The trigger will now include the `device_id` in its trigger data
+ you can automate with. Thanks, [@synesthesiam]!
+- The [HomeWizard Energy] integration now supports the newest generation of
+ HomeWizard Energy Sockets! Thanks, [@DCSBL]!
+- We can now ship new releases of Home Assistant in waaay less time.
+ Building and shipping Home Assistant for you, went down from 1.5-2 hours to
+ just 20 minutes! 🚀 Thanks [@edenhaus]!
+ [Learn more about it in our developer blog](https://developers.home-assistant.io/blog/2024/04/03/build-images-with-uv/).
+- [Reolink] now supports PTZ patrol start/stop, package detection and controls
+ for playing quick reply messages. Thanks, [@starkillerOG]!
+- We have brand new template functions available to list [all the issues] in
+ your repairs dashboard. Thanks, [@RoboMagus]!
+- If you prefer your wind speed sensors to be in Beaufort, you are in luck!
+ You can now change the unit of measurement to Beaufort. Thanks, [@fwestenberg]!
+- The [Husqvarna Automower] integration development continues and has additional
+ new entities, including sensors, select entities, and a device tracker.
+ Thanks, [@Thomas55555]!
+- [@catsmanac] has added a sensor to monitor the battery storage attached
+ to your [Enphase Envoy]; it works with the energy dashboard! Nice!
+- The [Xiaomi BLE] integration now supports locks and fingerprint readers!
+ Awesome, [@Ernst79]!
+
+[@catsmanac]: https://github.com/catsmanac
+[@DCSBL]: https://github.com/DCSBL
+[@edenhaus]: https://github.com/edenhaus
+[@Ernst79]: https://github.com/Ernst79
+[@fwestenberg]: https://github.com/fwestenberg
+[@karwosts]: https://github.com/karwosts
+[@RoboMagus]: https://github.com/RoboMagus
+[@starkillerOG]: https://github.com/starkillerOG
+[@synesthesiam]: https://github.com/synesthesiam
+[@Thomas55555]: https://github.com/Thomas55555
+[all the issues]: /docs/configuration/templating/#issues
+[Assist]: /voice_control/
+[Enphase Envoy]: /integrations/enphase_envoy
+[HomeWizard Energy]: /integrations/homewizard
+[Husqvarna Automower]: /integrations/husqvarna_automower
+[Reolink]: /integrations/reolink
+[sentence trigger]: /docs/automation/trigger/#sentence-trigger
+[Xiaomi BLE]: /integrations/xiaomi_ble
+
+## New integrations
+
+We welcome the following new integrations in this release:
+
+- **[Fyta]**, added by [@dontinelli]
+ Monitor your plants with Fyta, a smart plant sensor that measures light,
+ temperature, humidity, and soil moisture.
+- **[Motionblinds Bluetooth]**, added by [@LennP]
+ Control your Bluetooth Low Energy Motionblinds motorized window coverings.
+- **[Ollama]**, added by [@synesthesiam]
+ Ollama a fully local AI conversation platform that can be used to create
+ custom voice assistants.
+
+[@dontinelli]: https://github.com/dontinelli
+[@LennP]: https://github.com/LennP
+[@synesthesiam]: https://github.com/synesthesiam
+[Fyta]: /integrations/fyta
+[Motionblinds Bluetooth]: /integrations/motionblinds_ble
+[Ollama]: /integrations/ollama
+
+This release also has new virtual integration. Virtual integrations are stubs
+that are handled by other (existing) integrations to help with findability.
+The following virtual integration have been added:
+
+- **[Sacramento Municipal Utility District (SMUD)]**, provided by [Opower]
+
+[Sacramento Municipal Utility District (SMUD)]: /integrations/smud
+[Opower]: /integrations/opower
+
+## Integrations now available to set up from the UI
+
+The following integrations are now available via the Home Assistant UI:
+
+- **[Lutron Homeworks]**, done by [@emontnemery]
+- **[17TRACK]**, done by [@shaiu]
+- **[Downloader]**, done by [@erwindouna]
+- **[ROVA]**, done by [@GidoHakvoort]
+
+[@emontnemery]: https://github.com/emontnemery
+[@erwindouna]: https://github.com/erwindouna
+[@GidoHakvoort]: https://github.com/GidoHakvoort
+[@shaiu]: https://github.com/shaiu
+[17TRACK]: /integrations/seventeentrack
+[Downloader]: /integrations/downloader
+[Lutron Homeworks]: /integrations/homeworks
+[ROVA]: /integrations/rova
+
+## Release 2024.4.1 - April 5
+
+- Update aioairzone-cloud to v0.4.7 ([@Noltari] - [#114761])
+- Bump myuplink dependency to 0.6.0 ([@astrandb] - [#114767])
+- Update romy to 0.0.9 ([@cdce8p] - [#114360])
+- Update romy to 0.0.10 ([@xeniter] - [#114785])
+- Fix unhandled `KeyError` during Notion setup ([@bachya] - [#114787])
+- Fix Lutron light brightness values ([@cdheiser] - [#114794])
+- Fix type cast in snmp ([@lextm] - [#114795])
+- Handle ambiguous script actions by using action map order ([@bdraco] - [#114825])
+- Bump opower to 0.4.3 ([@tronikos] - [#114826])
+- Refactor ConfigStore to avoid needing to pass config_dir ([@bdraco] - [#114827])
+- Avoid blocking IO in downloader initialization ([@joostlek] - [#114841])
+- Fix Downloader YAML import ([@joostlek] - [#114844])
+- Update frontend to 20240404.0 ([@bramkragten] - [#114859])
+- Fix Axis camera platform support HTTPS ([@Kane610] - [#114886])
+- Bump weatherflow4py to 0.2.20 ([@jeeftor] - [#114888])
+- Fix Axis reconfigure step not providing protocols as alternatives but as string ([@Kane610] - [#114889])
+- Update frontend to 20240404.1 ([@bramkragten] - [#114890])
+- Ensure all tables have the default table args in the db_schema ([@bdraco] - [#114895])
+- Reduce august polling frequency ([@bdraco] - [#114904])
+- Show correct model string in myuplink ([@astrandb] - [#114921])
+- Create right import issues in Downloader ([@joostlek] - [#114922])
+- Fix cast dashboard in media browser ([@joostlek] - [#114924])
+- Pin systembridgemodels to 4.0.4 ([@timmo001] - [#114842])
+- Fix ROVA validation ([@joostlek] - [#114938])
+
+[#114360]: https://github.com/home-assistant/core/pull/114360
+[#114761]: https://github.com/home-assistant/core/pull/114761
+[#114764]: https://github.com/home-assistant/core/pull/114764
+[#114767]: https://github.com/home-assistant/core/pull/114767
+[#114785]: https://github.com/home-assistant/core/pull/114785
+[#114787]: https://github.com/home-assistant/core/pull/114787
+[#114794]: https://github.com/home-assistant/core/pull/114794
+[#114795]: https://github.com/home-assistant/core/pull/114795
+[#114825]: https://github.com/home-assistant/core/pull/114825
+[#114826]: https://github.com/home-assistant/core/pull/114826
+[#114827]: https://github.com/home-assistant/core/pull/114827
+[#114841]: https://github.com/home-assistant/core/pull/114841
+[#114842]: https://github.com/home-assistant/core/pull/114842
+[#114844]: https://github.com/home-assistant/core/pull/114844
+[#114859]: https://github.com/home-assistant/core/pull/114859
+[#114886]: https://github.com/home-assistant/core/pull/114886
+[#114888]: https://github.com/home-assistant/core/pull/114888
+[#114889]: https://github.com/home-assistant/core/pull/114889
+[#114890]: https://github.com/home-assistant/core/pull/114890
+[#114895]: https://github.com/home-assistant/core/pull/114895
+[#114904]: https://github.com/home-assistant/core/pull/114904
+[#114921]: https://github.com/home-assistant/core/pull/114921
+[#114922]: https://github.com/home-assistant/core/pull/114922
+[#114924]: https://github.com/home-assistant/core/pull/114924
+[#114938]: https://github.com/home-assistant/core/pull/114938
+[@Kane610]: https://github.com/Kane610
+[@Noltari]: https://github.com/Noltari
+[@astrandb]: https://github.com/astrandb
+[@bachya]: https://github.com/bachya
+[@bdraco]: https://github.com/bdraco
+[@bramkragten]: https://github.com/bramkragten
+[@cdce8p]: https://github.com/cdce8p
+[@cdheiser]: https://github.com/cdheiser
+[@frenck]: https://github.com/frenck
+[@jeeftor]: https://github.com/jeeftor
+[@joostlek]: https://github.com/joostlek
+[@lextm]: https://github.com/lextm
+[@timmo001]: https://github.com/timmo001
+[@tronikos]: https://github.com/tronikos
+[@xeniter]: https://github.com/xeniter
+
+## Need help? Join the community!
+
+Home Assistant has a great community of users who are all more than willing
+to help each other out. So, join us!
+
+Our very active [Discord chat server](/join-chat) is an excellent place to be
+at, and don't forget to join our amazing [forums](https://community.home-assistant.io/).
+
+Found a bug or issue? Please report it in our [issue tracker](https://github.com/home-assistant/core/issues),
+to get it fixed! Or, check [our help page](/help) for guidance for more
+places you can go.
+
+Are you more into email? [Sign-up for our Building the Open Home Newsletter](/newsletter)
+to get the latest news about features, things happening in our community and
+other news about building an Open Home; straight into your inbox.
+
+## Backward-incompatible changes
+
+{% details "Python 3.11 support has been removed" %}
+
+Python 3.11 support has previously been deprecated and has now been removed.
+Home Assistant now requires Python 3.12 to run.
+
+You don’t have to do anything if you are using the Home Assistant Operating
+System, Home Assistant Container, or Home Assistant Supervised installation
+method. In those cases, we handle all of this for you. Your system has been
+using Python 3.12 for quite some time already.
+
+([@frenck] - [#114220])
+
+[@frenck]: https://github.com/frenck
+[#114220]: https://github.com/home-assistant/core/pull/114220
+
+{% enddetails %}
+
+{% details "AEMET OpenData" %}
+
+The AEMET OpenData integration previously created two entities for each
+configured location: one provided daily weather forecasts and the other hourly
+forecasts.
+
+The AEMET OpenData integration now only creates a single entity that provides
+both daily and hourly weather forecasts.
+
+([@gjohansson-ST] - [#110764]) ([documentation](/integrations/aemet))
+
+[@gjohansson-ST]: https://github.com/gjohansson-ST
+[#110764]: https://github.com/home-assistant/core/pull/110764
+
+{% enddetails %}
+
+{% details "Dexcom" %}
+
+The trend sensor now uses values that are using snake_case instead of a space
+in the middle:
+
+- `rising quickly` -> `rising_quickly`
+- `rising slightly` -> `rising_slightly`
+- `falling slightly` -> `falling_slightly`
+- `falling quickly` -> `falling_quickly`
+
+Please update your automations and scripts accordingly.
+
+([@joostlek] - [#112423]) ([documentation](/integrations/dexcom))
+
+[@joostlek]: https://github.com/joostlek
+[#112423]: https://github.com/home-assistant/core/pull/112423
+
+{% enddetails %}
+
+{% details "ecobee" %}
+
+The non-functional `away` preset mode has been replaced with the correct
+`away_indefinitely` preset mode.
+
+If any automation or script depends on the `away` preset mode,
+it needs to be updated.
+
+([@alexsydell] - [#108636]) ([documentation](/integrations/ecobee))
+
+[@alexsydell]: https://github.com/alexsydell
+[#108636]: https://github.com/home-assistant/core/pull/108636
+
+{% enddetails %}
+
+{% details "Environment Canada" %}
+
+The Environment Canada integration previously created two entities for each
+configured location: one provided daily weather forecasts and the other hourly
+forecasts.
+
+The Environment Canada integration now only creates a single entity that
+provides both daily and hourly weather forecasts.
+
+([@gjohansson-ST] - [#112447]) ([documentation](/integrations/environment_canada))
+
+[@gjohansson-ST]: https://github.com/gjohansson-ST
+[#112447]: https://github.com/home-assistant/core/pull/112447
+
+{% enddetails %}
+
+{% details "National Weather Service (NWS)" %}
+
+The National Weather Service integration previously created two entities for each
+configured location: one provided daily weather forecasts and the other hourly
+forecasts.
+
+The National Weather Service integration now only creates a single entity that
+provides both daily and hourly weather forecasts.
+
+([@gjohansson-ST] - [#112503]) ([documentation](/integrations/nws))
+
+[@gjohansson-ST]: https://github.com/gjohansson-ST
+[#112503]: https://github.com/home-assistant/core/pull/112503
+
+{% enddetails %}
+
+{% details "Met Éireann" %}
+
+The Met Éireann integration previously created two entities for each configured
+location: one provided daily weather forecasts and the other hourly forecasts.
+
+The Met Éireann integration now only creates a single entity that provides both
+daily and hourly weather forecasts.
+
+([@gjohansson-ST] - [#112449]) ([documentation](/integrations/met_eireann))
+
+[@gjohansson-ST]: https://github.com/gjohansson-ST
+[#112449]: https://github.com/home-assistant/core/pull/112449
+
+{% enddetails %}
+
+{% details "Met Office" %}
+
+The Met Office integration previously created two entities for each configured
+location: one provided daily weather forecasts and the other hourly forecasts.
+
+The Met Office integration now only creates a single entity that provides both
+daily and hourly weather forecasts.
+
+([@gjohansson-ST] - [#112452]) ([documentation](/integrations/metoffice))
+
+[@gjohansson-ST]: https://github.com/gjohansson-ST
+[#112452]: https://github.com/home-assistant/core/pull/112452
+
+{% enddetails %}
+
+{% details "Modbus" %}
+
+The Modbus integration does not allow a configuration with the device only
+(no entities); this will create an issue, and the entry will not be loaded.
+
+For the special cases (like some custom_components) where it is wanted,
+please add a dummy entity.
+
+([@janiversen] - [#113516]) ([documentation](/integrations/modbus))
+
+[@janiversen]: https://github.com/janiversen
+[#113516]: https://github.com/home-assistant/core/pull/113516
+
+{% enddetails %}
+
+{% details "MQTT" %}
+
+Support for `brightness` is now assumed for `mqtt` lights with the `json` schema
+unless only color modes `rgb`, `rgbw`, or `rgbww` are supported.
+
+For lights which only support color modes `rgb`, `rgbw`, or `rgbww`,
+the `brightness` option flag can still be set to `false` if brightness is not
+supported. In this case brightness support is emulated in Home Assistant by
+scaling the RGBx-values.
+
+For all other color modes except `ColorMode.ONOFF`, it is assumed brightness is
+supported, and the `brightness` attribute will be included in the MQTT payload
+when the `brightness` attribute is supplied to the `light.turn_on` service.
+
+([@jbouwh] - [#111676]) ([documentation](/integrations/mqtt))
+
+[@jbouwh]: https://github.com/jbouwh
+[#111676]: https://github.com/home-assistant/core/pull/111676
+
+{% enddetails %}
+
+{% details "myUplink" %}
+
+If you have a Nibe SMO 20 in your account, you will notice that some 550
+entities are no longer provided by the integration.
+
+You can safely remove these entities as the integration does not use them.
+
+([@astrandb] - [#113493]) ([documentation](/integrations/myuplink))
+
+[@astrandb]: https://github.com/astrandb
+[#113493]: https://github.com/home-assistant/core/pull/113493
+
+{% enddetails %}
+
+{% details "Waze Travel Time" %}
+
+The options `excl_filter` and `incl_filter` now filter for exact matches to
+street names in the route. Previously, they only filtered on the short
+description of the route.
+
+([@eifinger] - [#108613]) ([documentation](/integrations/waze_travel_time))
+
+[@eifinger]: https://github.com/eifinger
+[#108613]: https://github.com/home-assistant/core/pull/108613
+
+{% enddetails %}
+
+{% details "Weather" %}
+
+The previously deprecated `forecast` attribute of weather entities, has now been
+removed. Use the [`weather.get_forecasts`](/integrations/weather#service-weatherget_forecasts)
+service to get the forecast data instead.
+
+([@gjohansson-ST] - [#110761]) ([documentation](/integrations/metoffice))
+
+[@gjohansson-ST]: https://github.com/gjohansson-ST
+[#110761]: https://github.com/home-assistant/core/pull/110761
+
+{% enddetails %}
+
+If you are a custom integration developer and want to learn about breaking
+changes and new features available for your integration: Be sure to follow our
+[developer blog][devblog]. The following are the most notable for this release:
+
+- [Climate entity auxiliary heater is deprecated](https://developers.home-assistant.io/blog/2024/03/10/climate-aux-heater-deprecated)
+- [Config Entries can now provide a reconfigure step](https://developers.home-assistant.io/blog/2024/03/21/config-entry-reconfigure-step)
+- [Deprecate hass.helpers usage](https://developers.home-assistant.io/blog/2024/03/30/deprecate-hass-helpers/)
+- [Deprecating `async_run_job` and `async_add_job`](https://developers.home-assistant.io/blog/2024/03/13/deprecate_add_run_job)
+- [How uv saves Home Assistant 215 compute hours per month](https://developers.home-assistant.io/blog/2024/04/03/build-images-with-uv/)
+- [Integrations import in the executor to avoid blocking the event loop](https://developers.home-assistant.io/blog/2024/03/09/import_executor_default)
+- [New state timestamp State.last_reported](https://developers.home-assistant.io/blog/2024/03/20/state_reported_timestamp)
+- [Raising exceptions with translations](https://developers.home-assistant.io/blog/2024/03/15/exception-translations)
+
+[devblog]: https://developers.home-assistant.io/blog/
+
+## Farewell to the following
+
+The following integrations are also no longer available as of this release:
+
+- **OpenCV** has been removed. The integration has been in a broken state
+ for over a year and currently has no path forward.
+ ([@thecode] - [#113455])
+
+[@thecode]: https://github.com/thecode
+[#113455]: https://github.com/home-assistant/core/pull/113455
+
+## All changes
+
+Of course, there is a lot more in this release. You can find a list of
+all changes made here: [Full changelog for Home Assistant Core 2024.4](/changelogs/core-2024.4)
diff --git a/source/changelogs/core-2024.4.markdown b/source/changelogs/core-2024.4.markdown
new file mode 100644
index 00000000000..28da47b151b
--- /dev/null
+++ b/source/changelogs/core-2024.4.markdown
@@ -0,0 +1,3230 @@
+---
+title: Full changelog for Home Assistant Core 2024.4
+description: Detailed changelog for the Home Assistant Core 2024.4 release
+replace_regex: \s\(\[?[a-z0-9\-\s_]+\]?\)$
+---
+
+These are all the changes included in the Home Assistant Core 2024.4 release.
+
+For a summary in a more readable format:
+[Release notes blog for this release](/blog/2024/04/03/release-20244/).
+
+## All changes
+
+- Add permobil entity ([@IsakNyberg] - [#111761])
+- Bump version to 2024.4.0.dev0 ([@bramkragten] - [#111755])
+- Improve zha coordinator typing ([@cdce8p] - [#111767])
+- Add normalized name registry items base class ([@jpbede] - [#111666])
+- Remove 'values' from services validation ([@balloob] - [#111440])
+- Use proper constant in Airzone Cloud climate tests ([@Noltari] - [#111747])
+- Axis improve coverage binary tests ([@Kane610] - [#111758])
+- Add icon translations to Hue ([@joostlek] - [#111725])
+- Import enphase_envoy in the executor to avoid blocking the event loop ([@bdraco] - [#111805])
+- Add icon translations to IPP ([@joostlek] - [#111846])
+- Import discovergy in the executor to avoid blocking the event loop ([@jpbede] - [#111824])
+- Import homekit in the executor to avoid blocking the event loop ([@bdraco] - [#111809])
+- Import upnp in the executor to avoid blocking the event loop ([@bdraco] - [#111808])
+- Import logbook in the executor to avoid blocking the event loop ([@bdraco] - [#111807])
+- Import flux_led in the executor to avoid blocking the event loop ([@bdraco] - [#111806])
+- Import rest in the executor to avoid blocking the event loop ([@bdraco] - [#111804])
+- Remove areas template filter ([@emontnemery] - [#111827])
+- Add generic classes BaseFlowHandler and BaseFlowManager ([@emontnemery] - [#111814])
+- Remove unused translation key from Ecovacs mower ([@edenhaus] - [#111754])
+- Add icon translations to Laundrify ([@joostlek] - [#111856])
+- Add icon translations to Lastfm ([@joostlek] - [#111855])
+- Add icon translations to Justnimbus ([@joostlek] - [#111849])
+- Add icon translations to Kaleidescape ([@joostlek] - [#111850])
+- Add icon translations to Intellifire ([@joostlek] - [#111845])
+- Add icon translations to KNX ([@joostlek] - [#111852])
+- Migrate integrations a-d to generic flowhandler ([@emontnemery] - [#111861])
+- Migrate integrations e-h to generic flowhandler ([@emontnemery] - [#111862])
+- Migrate integrations u-z to generic flowhandler ([@emontnemery] - [#111866])
+- Migrate integrations i-m to generic flowhandler ([@emontnemery] - [#111863])
+- Migrate integrations n-r to generic flowhandler ([@emontnemery] - [#111864])
+- Migrate integrations s-t to generic flowhandler ([@emontnemery] - [#111865])
+- Switch influxdb to use a SimpleQueue ([@bdraco] - [#111798])
+- Remove unused variable in stats _sorted_statistics_to_dict ([@bdraco] - [#111912])
+- Add person tracking for UniFi Protect ([@AngellusMortis] - [#111289])
+- Add Vallox filter replacement date ([@yozik04] - [#111391])
+- Bump actions/cache from 4.0.0 to 4.0.1 (@dependabot - [#111916])
+- Bump github/codeql-action from 3.24.5 to 3.24.6 (@dependabot - [#111917])
+- Add icon translations to Kodi ([@joostlek] - [#111853])
+- Add icon translations to Enocean ([@joostlek] - [#111514])
+- Add icon translations to EZVIZ ([@joostlek] - [#111532])
+- Add icon translations to Flipr ([@joostlek] - [#111540])
+- Add icon translations to Flux LED ([@joostlek] - [#111545])
+- Add icon translations to Hydrawise ([@joostlek] - [#111810])
+- Add reconfigure step to config flow ([@gjohansson-ST] - [#108794])
+- Add icon translations to Medcom BLE ([@joostlek] - [#111904])
+- Add icon translations to Keymitt BLE ([@joostlek] - [#111851])
+- Add icon translations to IFTTT ([@joostlek] - [#111842])
+- Add icon translations to Idasen desk ([@joostlek] - [#111813])
+- Add icon translations to Lidarr ([@joostlek] - [#111896])
+- Add icon translations to LCN ([@joostlek] - [#111895])
+- Remove config flow specifics from FlowResult ([@emontnemery] - [#111932])
+- Add icon translations to LifX ([@joostlek] - [#111897])
+- Add icon translations to min max ([@joostlek] - [#111908])
+- Add icon translations to Minecraft Server ([@joostlek] - [#111928])
+- Add icon translations to Mill ([@joostlek] - [#111907])
+- Update mypy to a custom version ([@cdce8p] - [#111258])
+- Add icon translations to Litterrobot ([@joostlek] - [#111899])
+- Add icon translations to Local IP ([@joostlek] - [#111900])
+- Add icon translations to Lyric ([@joostlek] - [#111902])
+- Add icon translations to Motioneye ([@joostlek] - [#111936])
+- Add icon translations to Monoprice ([@joostlek] - [#111934])
+- Fix utility meter reset without tarrifs ([@gibwar] - [#102884])
+- Fix LingeringTask after test completion in enphase_envoy ([@catsmanac] - [#111940])
+- Fix loader test warning ([@cdce8p] - [#111965])
+- Add icon translations to MQTT ([@joostlek] - [#111945])
+- Add icon translations to Neato ([@joostlek] - [#111947])
+- Add icon translations to Nanoleaf ([@joostlek] - [#111946])
+- Add icon translations to Motion blinds ([@joostlek] - [#111935])
+- Add icon translations to Modem callerID ([@joostlek] - [#111929])
+- Use default icon for Melcloud ([@joostlek] - [#111905])
+- Fix generic HassJob typing ([@cdce8p] - [#111973])
+- Fix util create_eager_task typing ([@cdce8p] - [#111976])
+- Add icon translations to OpenUV ([@joostlek] - [#111996])
+- Add icon translations to Notion ([@joostlek] - [#111984])
+- Add icon translations to Modern Forms ([@joostlek] - [#111933])
+- Add icon translations to Nextcloud ([@joostlek] - [#111982])
+- Add icon translations to NZBGet ([@joostlek] - [#111985])
+- Add icon translations to Netgear LTE ([@joostlek] - [#111974])
+- Add icon translations to Omnilogic ([@joostlek] - [#111989])
+- Add icon translations to Ondilo ico ([@joostlek] - [#111990])
+- Add icon translations to Octoprint ([@joostlek] - [#111988])
+- Add icon translations to Opensky ([@joostlek] - [#111994])
+- Add icon translations to Openhome ([@joostlek] - [#111993])
+- Add icon translations to OpenAI Conversation ([@joostlek] - [#111992])
+- Add icon translations to ovo energy ([@joostlek] - [#111997])
+- Reduce ESPHome reconnect time ([@bdraco] - [#112001])
+- Reduce samsungtv startup time ([@bdraco] - [#112007])
+- Convert command_line to use asyncio for subprocesses ([@bdraco] - [#111927])
+- Apply better names to a couple of dicts in Axis config flow ([@Kane610] - [#111964])
+- Add icon translations to Nmap tracker ([@joostlek] - [#111983])
+- Add icon translations to Opentherm gw ([@joostlek] - [#111995])
+- Add entity and icon translations to Onvif ([@joostlek] - [#111991])
+- Add icon translations to Netgear ([@joostlek] - [#111972])
+- Remove deprecated `hass.components.hassio` usage ([@jpbede] - [#111878])
+- Streamline naming in the Axis integration ([@Kane610] - [#112044])
+- Simplify load_executor check in loader ([@bdraco] - [#112029])
+- Import co2signal in the executor to avoid blocking the event loop ([@bdraco] - [#112058])
+- Import ambient_station in the executor to avoid blocking the event loop ([@bdraco] - [#112053])
+- Refactor file_upload to avoid janus dep ([@bdraco] - [#112032])
+- Import snmp in the executor to avoid blocking the event loop ([@bdraco] - [#112065])
+- Pre-import more frontend deps to avoid importing when the event loop is running ([@bdraco] - [#112031])
+- Switch config to use async_get_component/async_get_platform ([@bdraco] - [#112071])
+- Import switchbot in the executor to avoid blocking the event loop ([@bdraco] - [#112077])
+- Import smtp in the executor to avoid blocking the loop ([@bdraco] - [#112089])
+- Import integrations using sense-energy in the executor to avoid loop blocking ([@bdraco] - [#112087])
+- Import baf in the executor to avoid blocking the event loop ([@bdraco] - [#112086])
+- Import caldav in the executor to avoid blocking the event loop ([@bdraco] - [#112081])
+- Import yeelight in the executor to avoid blocking the event loop ([@bdraco] - [#112080])
+- Import template in the executor to avoid blocking the event loop ([@bdraco] - [#112070])
+- Import stream in the executor to avoid blocking the event loop ([@bdraco] - [#112078])
+- Avoid trying to import platforms that do not exist ([@bdraco] - [#112028])
+- Preload platform integrations to better group executor usage ([@bdraco] - [#112010])
+- Move Ping binary sensor attributes to sensor entities ([@jpbede] - [#112004])
+- Add YoLInk YS7905-UC Support ([@matrixd2] - [#111709])
+- Fix flakey airzone_cloud tests by avoiding creation of the websocket ([@Noltari] - [#112102])
+- Add icon translations to Nextbus ([@joostlek] - [#111981])
+- Add icon translations to Nexia ([@joostlek] - [#111980])
+- Add tests for number of devices created in myuplink ([@astrandb] - [#111816])
+- Load wyoming in the executor to avoid blocking the event loop ([@bdraco] - [#112107])
+- Add event platform to rfxtrx ([@elupus] - [#111526])
+- Add comment to integration platform helper about blocking I/O ([@bdraco] - [#112103])
+- Address late review for Ping ([@jpbede] - [#112123])
+- Import steamist in the executor to avoid blocking the loop ([@bdraco] - [#112111])
+- Move all System Monitor updates into single Data Update Coordinator ([@gjohansson-ST] - [#112055])
+- Add the ability to resume cleaning on start button ([@Lash-L] - [#112122])
+- Clean up setup and teardown of Axis integration ([@Kane610] - [#112120])
+- Exclude tankerkoenig attributes from recording ([@jpbede] - [#112109])
+- Avoid calling async_get_component twice for each component being setup ([@bdraco] - [#112096])
+- Import screenlogic in the executor to avoid blocking the loop ([@bdraco] - [#112097])
+- Avoid compiling entity service schema when passed defaults ([@bdraco] - [#112099])
+- Add package detection to Reolink ([@starkillerOG] - [#112126])
+- Try to preload the config platform when loading a component ([@bdraco] - [#112104])
+- Fix flakey tplink test ([@bdraco] - [#112135])
+- Add icon translations to Melnor ([@joostlek] - [#111906])
+- Ensure setup loads top level component before platforms ([@bdraco] - [#112057])
+- Add Reolink PTZ patrol start/stop ([@starkillerOG] - [#112129])
+- Fix async_prepare_setup_platform test ([@bdraco] - [#112143])
+- Fix places not changed to hub in Axis tests ([@Kane610] - [#112128])
+- Split up hassio coordinator and data into new file to allow preload ([@bdraco] - [#112147])
+- Preload config flow if it exists when loading a component ([@bdraco] - [#112145])
+- Migrate condition/state/trigger helper to use async_get_platform ([@bdraco] - [#112144])
+- Use MockConfigEntry in hue tests ([@bdraco] - [#112149])
+- Fix async_get_component loading in the executor when the module is already loaded ([@bdraco] - [#112153])
+- Add types throughout the prometheus tests ([@agoode] - [#112156])
+- Run more of hassio setup in in tasks ([@bdraco] - [#112151])
+- Streamline UniFi entity descriptions ([@Kane610] - [#112136])
+- Avoid multiple executor jobs with concurrent calls to async_get_component ([@bdraco] - [#112155])
+- Ignore unsupported devices (room sensors, floor heating) in ViCare integration ([@CFenner] - [#112106])
+- Group loading of platforms in the import executor ([@bdraco] - [#112141])
+- Improve mqtt value template error logging ([@jbouwh] - [#110492])
+- Import recorder and common recorder platforms before asyncio starts ([@bdraco] - [#112131])
+- Group platform loads in homekit_controller to minimize executor use ([@bdraco] - [#112148])
+- Avoid using coordinator in config flow of APCUPSD ([@yuxincs] - [#112121])
+- Update System Bridge to support version 4.x.x and above ([@timmo001] - [#107957])
+- Add local API support to elmax ([@albertogeniola] - [#94392])
+- Bump actions/download-artifact from 4.1.3 to 4.1.4 (@dependabot - [#112159])
+- Remove unused test helper mock_area_registry ([@emontnemery] - [#112172])
+- Migrate config to use async_get_component ([@bdraco] - [#112160])
+- Migrate device_automation to use async_get_platform ([@bdraco] - [#112162])
+- Migrate rest to use eager tasks for setup ([@bdraco] - [#112166])
+- Migrate application_credentials to use async_get_platform ([@bdraco] - [#112161])
+- Import in the executor by default for core integrations ([@bdraco] - [#112127])
+- Update systembridgeconnector to 4.0.2 ([@timmo001] - [#112174])
+- Issues template function ([@RoboMagus] - [#95206])
+- Fix pylint/mypy on elmax integration ([@Noltari] - [#112211])
+- Add icon translations to Snapcast ([@joostlek] - [#112229])
+- Add icon translations to Rainbird ([@joostlek] - [#112200])
+- Add icon translations to RFXCOM RFXtrx ([@joostlek] - [#112209])
+- Add icon translations to Simplisafe ([@joostlek] - [#112224])
+- Add icon translations to Ridwell ([@joostlek] - [#112210])
+- Add icon translations to Recollect Waste ([@joostlek] - [#112204])
+- Add icon translations to Private BLE Device ([@joostlek] - [#112185])
+- Add icon translations to PurpleAir ([@joostlek] - [#112192])
+- Add icon translations to Rainmachine ([@joostlek] - [#112202])
+- Add icon translations to Renault ([@joostlek] - [#112205])
+- Add icon translations to Solarlog ([@joostlek] - [#112232])
+- Add icon translations to Songpal ([@joostlek] - [#112234])
+- Add icon translations to Philips TV ([@joostlek] - [#112179])
+- Add icon translations to Smarttub ([@joostlek] - [#112227])
+- Add icon translations to sabNZBd ([@joostlek] - [#112219])
+- Add icon translations to Slack ([@joostlek] - [#112226])
+- Add icon translations to Season ([@joostlek] - [#112221])
+- Add icon translations to Screenlogic ([@joostlek] - [#112220])
+- Change log level for System Bridge service handlers ([@timmo001] - [#112175])
+- Add icon translations to Roon ([@joostlek] - [#112218])
+- Add icon translations to Swiss public transport ([@joostlek] - [#112254])
+- Address srp_energy late review comment ([@briglx] - [#105756])
+- Add Hyperion sensor to report active priority on each instance ([@belangp] - [#102333])
+- Add icon translations to Sensibo ([@joostlek] - [#112222])
+- Fix authentication issues for asekopool ([@hopkins-tk] - [#99495])
+- Fix spaceapi attribute for closed icon ([@Xiretza] - [#108596])
+- Add sensor platform to Teslemetry ([@Bre77] - [#109088])
+- Add config flow to homeworks ([@emontnemery] - [#112042])
+- Enable strict typing of homeworks ([@emontnemery] - [#112267])
+- Add device and enable entity name for Lutron homeworks ([@emontnemery] - [#112268])
+- Add icon translations to Steamist ([@joostlek] - [#112246])
+- Add icon translations to Starlink ([@joostlek] - [#112244])
+- Add icon translations to Squeezebox ([@joostlek] - [#112240])
+- Add icon translations to Streamlabswater ([@joostlek] - [#112247])
+- Add permobil binary sensor ([@IsakNyberg] - [#112130])
+- Add icon translations to Sure Petcare ([@joostlek] - [#112253])
+- Add icon translations to Spotify ([@joostlek] - [#112239])
+- Remove callback decorator from coroutine ([@Kane610] - [#112276])
+- Update pytest to 8.1.0 ([@cdce8p] - [#112173])
+- Reduce some linear searches to cleanup the device registry ([@bdraco] - [#112277])
+- Ensure hassio diagnostics get imported with the integration ([@bdraco] - [#112286])
+- Add support for preloading platforms in the loader ([@bdraco] - [#112282])
+- Add icon translations to Elkm1 ([@joostlek] - [#111512])
+- Refactor integration platforms to import in the executor ([@bdraco] - [#112168])
+- Remove unnecessary access to UniFi hub object in tests ([@Kane610] - [#112275])
+- Add icon translations to SMS ([@joostlek] - [#112228])
+- Add icon translations to Rainforest Raven ([@joostlek] - [#112201])
+- Add icon translations to Plum lightpad ([@joostlek] - [#112183])
+- Add icon translations to Profiler ([@joostlek] - [#112186])
+- Add icon translations to Prosegur ([@joostlek] - [#112187])
+- Add icon translations to Prusalink ([@joostlek] - [#112188])
+- Add icon translations to PS4 ([@joostlek] - [#112190])
+- Add icon translations to QBittorrent ([@joostlek] - [#112193])
+- Add icon translations to QNap QSW ([@joostlek] - [#112194])
+- Add icon translations to Rachio ([@joostlek] - [#112195])
+- Add icon translations to Radarr ([@joostlek] - [#112196])
+- Add icon translations to Radiotherm ([@joostlek] - [#112197])
+- Add icon translations to RDW ([@joostlek] - [#112203])
+- Add icon translations to Renson ([@joostlek] - [#112207])
+- Add icon translations to Ring ([@joostlek] - [#112212])
+- Add icon translations to Rituals perfume genie ([@joostlek] - [#112213])
+- Add icon translations to Roomba ([@joostlek] - [#112217])
+- Add icon translations to Skybell ([@joostlek] - [#112225])
+- Add icon translations to Snooz ([@joostlek] - [#112230])
+- Add icon translations to Solaredge ([@joostlek] - [#112231])
+- Add icon translations to Soundtouch ([@joostlek] - [#112236])
+- Add icon translations to Subaru ([@joostlek] - [#112252])
+- Deprecate old config options for MQTT json light ([@jbouwh] - [#111676])
+- Add icon translations to P1 monitor ([@joostlek] - [#111998])
+- Add icon translations to Speedtestdotnet ([@joostlek] - [#112237])
+- Use default icon in Romy ([@joostlek] - [#112215])
+- Add icon translations to Shopping list ([@joostlek] - [#112223])
+- Add icon translations to Pi-hole ([@joostlek] - [#112180])
+- Add icon translations to PECO ([@joostlek] - [#112169])
+- Add icon translations to Permobil ([@joostlek] - [#112170])
+- Add icon translations to Plex ([@joostlek] - [#112182])
+- Cleanup rainbird aiohttp client cleanup on EVENT_HOMEASSISTANT_CLOSE ([@allenporter] - [#112292])
+- Add icon translations to Switcher kis ([@joostlek] - [#112296])
+- Add icon translations to Systemmonitor ([@joostlek] - [#112300])
+- Add icon translations to Tautulli ([@joostlek] - [#112305])
+- Add icon translations to Trafikverket Train ([@joostlek] - [#112322])
+- Add icon translations to Trafikverket Ferry ([@joostlek] - [#112321])
+- Add icon translations to Trafikverket Camera ([@joostlek] - [#112320])
+- Add icon translations to Trafikverket Weather station ([@joostlek] - [#112323])
+- Add icon translations to Workday ([@joostlek] - [#112359])
+- Add icon translations to Yale ([@joostlek] - [#112361])
+- Add icon translations to YouTube ([@joostlek] - [#112365])
+- Add icon translations to YoLink ([@joostlek] - [#112364])
+- Add icon translations to Yardian ([@joostlek] - [#112362])
+- Add icon translations to Xiaomi Aqara ([@joostlek] - [#112360])
+- Add icon translations to Weatherkit ([@joostlek] - [#112354])
+- Add icon translations to Synology DSM ([@joostlek] - [#112299])
+- Add icon translations to Trend ([@joostlek] - [#112325])
+- Add icon translations to TP-Link ([@joostlek] - [#112317])
+- Add icon translations to Tesla Wall Connector ([@joostlek] - [#112309])
+- Add icon translations to Tolo ([@joostlek] - [#112313])
+- Add icon translations to Tile ([@joostlek] - [#112310])
+- Add icon translations to Todoist ([@joostlek] - [#112312])
+- Add icon translations to Template ([@joostlek] - [#112308])
+- Add icon translations to Syncthing ([@joostlek] - [#112297])
+- Add icon translations to Tedee ([@joostlek] - [#112307])
+- Update aioairzone-cloud to v0.4.6 ([@Noltari] - [#112198])
+- Add support for System Bridge service responses ([@timmo001] - [#100055])
+- Remove async_entity_ids and get_entity_ids from entity registry ([@bdraco] - [#112311])
+- Add Beaufort to wind_speed ([@fwestenberg] - [#105795])
+- Add icon translations to WebOS TV ([@joostlek] - [#112355])
+- Add icon translations to Watttime ([@joostlek] - [#112351])
+- Add icon translations to Uptimerobot ([@joostlek] - [#112336])
+- Initialize triggers eagerly ([@bdraco] - [#112294])
+- Migrate remaining calls in config modules to async_get_component ([@bdraco] - [#112293])
+- Migrate system flows to use the discovery helper ([@bdraco] - [#112291])
+- Simplify loader preload logic for config_flows ([@bdraco] - [#112290])
+- Remove entity description mixin in Accuweather ([@joostlek] - [#112375])
+- Remove entity description mixin in Bravia TV ([@joostlek] - [#112395])
+- Remove entity description mixin in Brother ([@joostlek] - [#112396])
+- Add icon translations to Vizio ([@joostlek] - [#112348])
+- Remove entity description mixin in Balboa ([@joostlek] - [#112389])
+- Remove entity description mixin in BMW ([@joostlek] - [#112391])
+- Remove entity description mixin in Bond ([@joostlek] - [#112393])
+- Remove entity description mixin in Bosch SHC ([@joostlek] - [#112394])
+- Remove entity description mixin in Dovado ([@joostlek] - [#112402])
+- Remove entity description mixin in Ecobee ([@joostlek] - [#112408])
+- Add icon translations to Vodafone Station ([@joostlek] - [#112349])
+- Remove entity description mixin in AirQ ([@joostlek] - [#112377])
+- Remove entity description mixin in Aladdin Connect ([@joostlek] - [#112379])
+- Remove entity description mixin in Azure DevOps ([@joostlek] - [#112385])
+- Add comments why we use loop.create_task in core ([@MartinHjelmare] - [#112372])
+- Remove entity description mixin in Dormakaba dKey ([@joostlek] - [#112401])
+- Add button to homeworks ([@emontnemery] - [#112269])
+- Remove entity description mixin in Airzone ([@joostlek] - [#112378])
+- Remove list comprehension when adding entities in Nextcloud ([@jpbede] - [#112429])
+- Remove list comprehension when adding entities in opengarage ([@jpbede] - [#112430])
+- Remove entity description mixin in Electric Kiwi ([@joostlek] - [#112411])
+- Migrate Azure DevOps to has entity name ([@joostlek] - [#112420])
+- Remove entity description mixin in Devolo Home Network ([@joostlek] - [#112399])
+- Remove list comprehension when adding entities in Smartthings ([@jpbede] - [#112432])
+- Remove list comprehension when adding entities in Wallbox ([@jpbede] - [#112433])
+- Remove the deprecated YAML support for Aftership ([@jpbede] - [#112390])
+- Add icon translations to Azure DevOps ([@joostlek] - [#112436])
+- Small cleanup in Dexcom ([@joostlek] - [#112425])
+- Break out UniFi config handling to own class ([@Kane610] - [#111325])
+- Rename reconfigure step in apple_tv ([@gjohansson-ST] - [#112438])
+- Remove myself as a codeowner for neato ([@dshokouhi] - [#112410])
+- Remove entity description mixin in AirNow ([@joostlek] - [#112376])
+- Add icon translations to Vilfo ([@joostlek] - [#112347])
+- Add icon translations to Verisure ([@joostlek] - [#112342])
+- Add icon translations to Vallox ([@joostlek] - [#112339])
+- Remove entity description mixin in Abode ([@joostlek] - [#112374])
+- Add icon translations to Velbus ([@joostlek] - [#112340])
+- Add icon translations to Ukraine Alarm ([@joostlek] - [#112330])
+- Add icon translations to Twitch ([@joostlek] - [#112329])
+- Remove entity description mixin in Android IP Webcam ([@joostlek] - [#112380])
+- Remove entity description mixin in Aseko ([@joostlek] - [#112382])
+- Remove entity description mixin in Awair ([@joostlek] - [#112384])
+- Remove entity description mixin in Comfoconnect ([@joostlek] - [#112397])
+- Remove entity description mixin in Daikin ([@joostlek] - [#112398])
+- Remove entity description mixin in Doorbird ([@joostlek] - [#112400])
+- Remove entity description mixin in Ecoforest ([@joostlek] - [#112409])
+- Add icon translations to Tomorrowio ([@joostlek] - [#112315])
+- Add TypeVar default for FlowResult ([@emontnemery] - [#112345])
+- Bump dorny/paths-filter from 3.0.1 to 3.0.2 (@dependabot - [#112158])
+- Bump SQLAlchemy to 2.0.28 ([@bdraco] - [#112314])
+- Pre import image_upload to avoid loading it after asyncio has started ([@bdraco] - [#112444])
+- Pre import webhook before asyncio starts ([@bdraco] - [#112441])
+- Limit legacy state translations to custom components ([@bdraco] - [#112295])
+- Remove list comprehension when adding entities in Vallox ([@jpbede] - [#112446])
+- Remove entity description mixin in BAF ([@joostlek] - [#112386])
+- Fix config modules being imported in the event loop ([@bdraco] - [#112462])
+- Adjust MAX_LOAD_CONCURRENTLY constant to allow 6 storage loaders ([@bdraco] - [#112468])
+- Add system_health to the hassio pre-imports to avoid a late executor job ([@bdraco] - [#112466])
+- Start fetching the source ip sooner in http to reduce setup time ([@bdraco] - [#112461])
+- Load network storage in a task to reduce startup time ([@bdraco] - [#112460])
+- Fix incorrect scope on checking files to load in translations ([@bdraco] - [#112457])
+- Migrate remaining get_platform in config to async_get_platform ([@bdraco] - [#112469])
+- Migrate remaining get_platform in check_config to async_get_platform ([@bdraco] - [#112470])
+- Add icon translations to Zeversolar ([@joostlek] - [#112367])
+- Remove myself as maintainer of the Rejseplanen integration ([@DarkFox] - [#112426])
+- Add icon translations to Tado ([@joostlek] - [#112301])
+- Add icon translations to iCloud ([@joostlek] - [#111812])
+- Add icon translations to Weatherflow ([@joostlek] - [#112353])
+- Add icon translations to Vesync ([@joostlek] - [#112344])
+- Add icon translations to Velux ([@joostlek] - [#112341])
+- Add icon translations to Tradfri ([@joostlek] - [#112319])
+- Add icon translations to UPnP ([@joostlek] - [#112335])
+- Add icon translations to Totalconnect ([@joostlek] - [#112316])
+- Add icon translations to TechnoVE ([@joostlek] - [#112306])
+- Add icon translations to Tami4 ([@joostlek] - [#112304])
+- Use default icon for Lupusec ([@joostlek] - [#111901])
+- Add icon translations to iBeacon ([@joostlek] - [#111811])
+- Add icon translations to V2C ([@joostlek] - [#112338])
+- Add test to ensure bootstrap continues if an integraton raises CancelledError ([@bdraco] - [#112472])
+- Avoid waiting for integration platforms in the parent integration ([@bdraco] - [#112467])
+- Add Reolink play quick reply message ([@starkillerOG] - [#112134])
+- Deprecate attributes of Nuki entities ([@steffenrapp] - [#111419])
+- Remove deprecated `hass.components` usage in config entry flow ([@jpbede] - [#111880])
+- Bump tesla-fleet-api to 0.4.9 ([@Bre77] - [#112288])
+- Remove deprecated `hass.components` usage in mobile_app ([@jpbede] - [#111888])
+- Wait to start emulated_hue until the started event ([@bdraco] - [#112477])
+- Fix detection of DLI sockets in wemo ([@bdraco] - [#112485])
+- Bump Wandalen/wretry.action from 1.4.4 to 1.4.5 (@dependabot - [#111700])
+- Remove entity description mixin in Enphase Envoy ([@joostlek] - [#112486])
+- Post System Bridge 4.x.x integration improvements ([@timmo001] - [#112189])
+- Add icon translations to Reolink ([@joostlek] - [#112208])
+- Improve integration_entities template function ([@emontnemery] - [#111943])
+- Remove constructor in WLED Options flow ([@joostlek] - [#112456])
+- Add icon translations to Tailwind ([@joostlek] - [#112303])
+- Add icon translations to Elgato ([@joostlek] - [#111423])
+- Add icon translations to Twentemilieu ([@joostlek] - [#112327])
+- Fix typo in Reolink translation keys ([@joostlek] - [#112489])
+- Remove entity description mixin in EnOcean ([@joostlek] - [#112483])
+- Add icon translations to Zone ([@joostlek] - [#112370])
+- Add icon translations to Zodiac ([@joostlek] - [#112369])
+- Add icon translations to Wilight ([@joostlek] - [#112357])
+- Add icon translations to ViCare ([@joostlek] - [#112346])
+- Add icon translations to UPB ([@joostlek] - [#112333])
+- Add icon translations to Tuya ([@joostlek] - [#112326])
+- Add icon translations to Transmission ([@joostlek] - [#112324])
+- Add icon translations to TP-Link Omada ([@joostlek] - [#112318])
+- Add icon translations to Poolsense ([@joostlek] - [#112184])
+- Add icon translations to Starline ([@joostlek] - [#112241])
+- Add icon translations to iZone ([@joostlek] - [#111848])
+- Add icon translations to isy994 ([@joostlek] - [#111847])
+- Add icon translations to Insteon ([@joostlek] - [#111844])
+- Add Shelly restart required binary sensor ([@chemelli74] - [#112493])
+- Remove entity description mixin in August ([@joostlek] - [#112383])
+- Add icon translations to Zerproc ([@joostlek] - [#112366])
+- Add icon translations to Whois ([@joostlek] - [#112356])
+- Add icon translations to Tailscale ([@joostlek] - [#112302])
+- Disable Shelly diagnostic binary sensor ([@chemelli74] - [#112497])
+- Remove entity description mixin in EasyEnergy ([@joostlek] - [#112407])
+- Remove entity description mixin in EnergyZero ([@joostlek] - [#112412])
+- Remove entity description mixin in Dremel 3D Printer ([@joostlek] - [#112405])
+- Add icon translations to Sonarr ([@joostlek] - [#112233])
+- Add icon translations to Wallbox ([@joostlek] - [#112350])
+- Enable some PERF rules ([@joostlek] - [#112498])
+- Simplify color mode logic in Tuya light ([@emontnemery] - [#110327])
+- Use an eager task for Sonos async_update_device_properties ([@bdraco] - [#112488])
+- Fix sonos overloading the executor when there are many devices ([@bdraco] - [#112482])
+- Add snapshot tests to webmin ([@autinerd] - [#112518])
+- Remove hourly weather entity from Environment Canada ([@gjohansson-ST] - [#112447])
+- Reduce executor jobs needed to setup filesize ([@bdraco] - [#112490])
+- Increase bootstrap preload test timeout ([@bdraco] - [#112520])
+- Fix homekit creating executor jobs to resolve default listen ips ([@bdraco] - [#112522])
+- Avoid importing counter and proximity integrations in logbook ([@bdraco] - [#112528])
+- Add icon translations to Waze Travel Time ([@joostlek] - [#112352])
+- Log tasks that are being waited on when startup is blocked ([@bdraco] - [#112542])
+- Move analytics setup to later stage to avoid delaying frontend startup ([@bdraco] - [#112535])
+- Pre import the rest of the recorder platforms before asyncio starts ([@bdraco] - [#112289])
+- Avoid having to work out the job type for each entity service at startup ([@bdraco] - [#112557])
+- Pass job type to event listeners when creating entities ([@bdraco] - [#112551])
+- Make HassJob job_type lookup lazy ([@bdraco] - [#112563])
+- Bump aioesphomeapi to 23.1.0 ([@jesserockz] - [#112560])
+- Speed up the frame helper ([@bdraco] - [#112562])
+- Bump Wandalen/wretry.action from 1.4.5 to 1.4.7 (@dependabot - [#112575])
+- Add icon translations to Twinkly ([@joostlek] - [#112328])
+- Make FlowResult a generic type ([@emontnemery] - [#111952])
+- Change KEY_HASS to be an aiohttp AppKey ([@cdce8p] - [#111954])
+- Avoid extracting the stack twice in system_log ([@bdraco] - [#112572])
+- Use KEY_HASS [h-z] ([@cdce8p] - [#112610])
+- Use KEY_HASS [a-g] ([@cdce8p] - [#112609])
+- Fix Bang and olufsen naming ([@joostlek] - [#111344])
+- Remove local imports of hass-nabucasa ([@emontnemery] - [#112634])
+- Log waiting tasks in bootstrap that are delaying startup ([@bdraco] - [#112637])
+- Schedule polling as periodic tasks ([@bdraco] - [#112640])
+- Fix homekit_controller delaying startup and shutdown ([@bdraco] - [#112671])
+- Fix dhcp delaying shutdown ([@bdraco] - [#112670])
+- Make zeroconf lookups background tasks ([@bdraco] - [#112669])
+- Close hue api if setup fails ([@bdraco] - [#112164])
+- Avoid writing registries to disk during startup ([@bdraco] - [#112662])
+- Bump python-telegram-bot package to 21.0.1 ([@malkstar] - [#110297])
+- Speed up importing mqtt platforms ([@bdraco] - [#112682])
+- Use aiohttp.AppKey for http ban keys ([@cdce8p] - [#112657])
+- Add TypeVar defaults for DataUpdateCoordinator ([@cdce8p] - [#111949])
+- Add reauthentication for husqvarna_automower ([@Thomas55555] - [#109930])
+- Use aiohttp.AppKey for http cors keys ([@cdce8p] - [#112658])
+- Bump devcontainer to 1-3.12 ([@edenhaus] - [#108709])
+- Update systembridgeconnector to version 4.0.3 ([@timmo001] - [#112608])
+- Make Event data generic ([@cdce8p] - [#111955])
+- Add empty line after module docstring [d-f] ([@cdce8p] - [#112698])
+- Add empty line after module docstring [s] ([@cdce8p] - [#112704])
+- Add empty line after module docstring [tests t-z] ([@cdce8p] - [#112712])
+- Add empty line after module docstring [tests q-s] ([@cdce8p] - [#112711])
+- Add empty line after module docstring [tests f-k] ([@cdce8p] - [#112709])
+- Add empty line after module docstring [tests a-e] ([@cdce8p] - [#112708])
+- Add empty line after module docstring [a-d] ([@cdce8p] - [#112697])
+- Add empty line after module docstring [g-i] ([@cdce8p] - [#112699])
+- Add empty line after module docstring [tests l-p] ([@cdce8p] - [#112710])
+- Add empty line after module docstring [j-m] ([@cdce8p] - [#112700])
+- Add empty line after module docstring [n-q] ([@cdce8p] - [#112702])
+- Add empty line after module docstring [r] ([@cdce8p] - [#112703])
+- Add empty line after module docstring [t-v] ([@cdce8p] - [#112705])
+- Add empty line after module docstring [w-z] ([@cdce8p] - [#112706])
+- Add empty line after module docstring [helpers + other] ([@cdce8p] - [#112707])
+- Remove Python 3.11 from CI ([@frenck] - [#112626])
+- Remove built-in support for import_executor in manifest ([@balloob] - [#112725])
+- Use more f-strings [ruff] ([@cdce8p] - [#112695])
+- Add empty line after module docstring (2) [components] ([@cdce8p] - [#112736])
+- Add empty line after module docstring (2) [tests.components] ([@cdce8p] - [#112737])
+- Add empty line after module docstring (2) [other] ([@cdce8p] - [#112738])
+- Replace EventType with Event [a-g] ([@cdce8p] - [#112739])
+- Replace EventType with Event [h-i] ([@cdce8p] - [#112740])
+- Replace EventType with Event [l-s] ([@cdce8p] - [#112741])
+- Replace EventType with Event [t-z] ([@cdce8p] - [#112742])
+- Replace EventType with Event [helpers] ([@cdce8p] - [#112743])
+- Add diagnostics to webmin ([@autinerd] - [#112543])
+- Update byte string formatting ([@cdce8p] - [#112752])
+- Add empty line after module docstring (3) ([@cdce8p] - [#112750])
+- Replace EventType with Event [missing] ([@cdce8p] - [#112753])
+- Update EventBus listen type signatures ([@cdce8p] - [#112760])
+- Remove entity description mixin in Fully Kiosk ([@joostlek] - [#112768])
+- Remove entity description mixin in Flume ([@joostlek] - [#112765])
+- Remove entity description mixin in HomeKit Device ([@joostlek] - [#112775])
+- Remove entity description mixin in iBeacon ([@joostlek] - [#112779])
+- Avoid trying to load translations for integrations that have none ([@bdraco] - [#112683])
+- Replace periodic tasks with background tasks ([@bdraco] - [#112726])
+- Fix race reloading homekit_controller ([@bdraco] - [#112790])
+- Add Event typing to websocket_api for entity subscriptions ([@bdraco] - [#112786])
+- Improve entity translation typing ([@bdraco] - [#112788])
+- Run service call tasks eagerly ([@bdraco] - [#112791])
+- Use Mapping as default for Event data ([@cdce8p] - [#112769])
+- Use eager_start for homeassistant triggers ([@bdraco] - [#112801])
+- Use eager_start for tasks to register integration platforms ([@bdraco] - [#112800])
+- Break out UniFi platform registration to its own class ([@Kane610] - [#112514])
+- Unifi more polish on entity description ([@Kane610] - [#112281])
+- Cache the job type for entity service calls ([@bdraco] - [#112793])
+- Make SSDP tasks background HassJob to avoid delaying startup ([@bdraco] - [#112668])
+- Give the UniFi integration better control over what data to load ([@Kane610] - [#112804])
+- Move restoring inactive clients method into UniFi entity loader ([@Kane610] - [#112805])
+- Remove entity description mixin in Jellyfin ([@joostlek] - [#112782])
+- Remove entity description mixin in Goodwe ([@joostlek] - [#112773])
+- Move wireless clients into entity_loader ([@Kane610] - [#112813])
+- Cleanup mqtt discovery code ([@jbouwh] - [#112749])
+- Update modbus test to include a dummy sensor ([@janiversen] - [#112820])
+- Revert "Cleanup mqtt discovery code" ([@jbouwh] - [#112818])
+- Remove deprecated CLOSE_COMM_ON_ERROR from modbus ([@janiversen] - [#112821])
+- Remove entity description mixin in Huawei LTE ([@joostlek] - [#112777])
+- Remove outdated prettier and yamllint `azure-*.yml` ignores ([@scop] - [#112819])
+- Remove deprecated retry_on_empty from modbus ([@janiversen] - [#112822])
+- Remove entity description mixin in Glances ([@joostlek] - [#112772])
+- Remove entity description mixin in EZVIZ ([@joostlek] - [#112764])
+- Remove entity description mixin in Environment Canada ([@joostlek] - [#112763])
+- Remove entity description mixin in Google wifi ([@joostlek] - [#112774])
+- Remove entity description mixin in idasen desk ([@joostlek] - [#112780])
+- Remove entity description mixin in Honeywell ([@joostlek] - [#112776])
+- Remove entity description mixin in Geocaching ([@joostlek] - [#112770])
+- Remove entity description mixin in AVM Fritz!Tools ([@joostlek] - [#112767])
+- Use eager_start for discovery listeners ([@bdraco] - [#112803])
+- Rename get_deconz_session to get_deconz_api ([@Kane610] - [#112826])
+- Split out Axis config data ([@Kane610] - [#112825])
+- Add icon translations to Yeelight ([@joostlek] - [#112363])
+- Bump mastodon.py version to 1.8.1 ([@thejeffreystone] - [#112728])
+- Improve performance of image streams ([@bdraco] - [#112810])
+- Allow Just-in-Time platform setup for mqtt ([@jbouwh] - [#112720])
+- Enphase Envoy refactor and extend diagnostics ([@catsmanac] - [#109080])
+- Avoid saving auth right after we load it during startup ([@bdraco] - [#112008])
+- Schedule coroutines with eager_task from async_track_state_change_event ([@bdraco] - [#112807])
+- Remove entity description mixin in IPP ([@joostlek] - [#112781])
+- Cleanup mqtt PLATFORMS constant and CI-test platform filters ([@jbouwh] - [#112847])
+- Only read cpu once during systemmonitor setup ([@bdraco] - [#112863])
+- Schedule coroutine functions eagerly when async_listen uses run_immediately ([@bdraco] - [#112846])
+- Update pytest to 8.1.1 ([@cdce8p] - [#112859])
+- Refactor handling of device updates in ESPHome ([@bdraco] - [#112864])
+- Split out deCONZ hub ([@Kane610] - [#112854])
+- Bump yalexs to 2.0.0 ([@abjorck] - [#111706])
+- Add Locks to Xiaomi-BLE ([@Ernst79] - [#111156])
+- Remove entity description mixin in Freebox ([@joostlek] - [#112766])
+- Remove entity description mixin in Private BLE Device ([@joostlek] - [#112922])
+- Remove entity description mixin in Netgear ([@joostlek] - [#112911])
+- Remove entity description mixin in SFR Box ([@joostlek] - [#112937])
+- Remove entity description mixin in Renault ([@joostlek] - [#112925])
+- Remove entity description mixin in Roku ([@joostlek] - [#112931])
+- Remove entity description mixin in Overkiz ([@joostlek] - [#112914])
+- Remove entity description mixin in Trafikverket Weatherstation ([@joostlek] - [#112957])
+- Remove entity description mixin in Trafikverket Train ([@joostlek] - [#112956])
+- Remove entity description mixin in Trafikverket Ferry ([@joostlek] - [#112955])
+- Remove entity description mixin in Trafikverket Camera ([@joostlek] - [#112954])
+- Remove entity description mixin in Sensibo ([@joostlek] - [#112936])
+- Improve 17track tests ([@shaiu] - [#112734])
+- Fix mqtt platform setup race ([@jbouwh] - [#112888])
+- Run debouncer tasks eagerly to avoid scheduling on the event loop ([@bdraco] - [#112789])
+- Import custom components in the executor by default ([@bdraco] - [#112177])
+- Remove entity description mixin in Vodafone Station ([@joostlek] - [#112967])
+- Remove entity description mixin in Zeversolar ([@joostlek] - [#112977])
+- Remove entity description mixin in Youtube ([@joostlek] - [#112975])
+- Remove entity description mixin in WAQI ([@joostlek] - [#112970])
+- Remove entity description mixin in Tradfri ([@joostlek] - [#112953])
+- Use async_at_started in Speedtest.Net ([@gjohansson-ST] - [#112110])
+- Remove entity description mixin in Permobil ([@joostlek] - [#112918])
+- Remove entity description mixin in PEGELONLINE ([@joostlek] - [#112917])
+- Remove entity description mixin in Melcloud ([@joostlek] - [#112905])
+- Remove entity description mixin in Justnimbus ([@joostlek] - [#112893])
+- Remove entity description mixin in LaCrosse View ([@joostlek] - [#112900])
+- Move wsdot fixture to integration test ([@joostlek] - [#112996])
+- Move uk_transport fixture to integration test ([@joostlek] - [#112995])
+- Move OpenALPR cloud fixture to integration test ([@joostlek] - [#112994])
+- Remove not needed hass.async_block_till_done in test ([@jbouwh] - [#113002])
+- Remove entity description mixin in Switcher Kis ([@joostlek] - [#112945])
+- Remove entity description mixin in Nettigo Air Monitor ([@joostlek] - [#112909])
+- Remove entity description mixin in Tractive ([@joostlek] - [#112952])
+- Remove entity description mixin in Synology DSM ([@joostlek] - [#112946])
+- Add icon translations to Picnic ([@joostlek] - [#112181])
+- Add icon translations to Husqvarna automower ([@joostlek] - [#111727])
+- Remove entity description mixin in Shelly ([@joostlek] - [#112938])
+- Migrate APCUPSD to has entity name ([@yuxincs] - [#112997])
+- Fix race condition when ZHA group members change ([@dmulcahey] - [#113030])
+- Ignore logging events in zha websocket tests ([@bdraco] - [#113031])
+- Fix Bang & Olufsen enum naming ([@joostlek] - [#113022])
+- Bump aioesphomeapi to 23.1.1 ([@bdraco] - [#113016])
+- Enable more SIM ruff rules ([@joostlek] - [#113015])
+- Migrate duckdns to use async_run_hass_job ([@bdraco] - [#113012])
+- Avoid scheduling person updates on the event loop ([@bdraco] - [#113010])
+- Move Microsoft face fixture to integration test ([@joostlek] - [#112993])
+- Move metoffice fixture to integration test ([@joostlek] - [#112992])
+- Move london_air fixture to integration test ([@joostlek] - [#112991])
+- Move Feedreader fixture to integration test ([@joostlek] - [#112989])
+- Schedule tasks eagerly when called from hass.add_job ([@bdraco] - [#113014])
+- Move openhardwaremonitor fixture to integration tests ([@joostlek] - [#112982])
+- Remove entity description mixin in V2C ([@joostlek] - [#112960])
+- Remove a redundant check in APCUPSD's config flow ([@yuxincs] - [#113032])
+- Rename mqtt platform setup method ([@jbouwh] - [#113042])
+- Fix google assistant cloud sync test ([@bdraco] - [#113044])
+- Fix CoreState in cloud google assistant tests ([@bdraco] - [#113045])
+- Allow Shelly CoAP to honour default network adapter ([@chemelli74] - [#110997])
+- Remove entity description mixin in Vilfo ([@joostlek] - [#112966])
+- Remove entity description mixin in Tado ([@joostlek] - [#112947])
+- Add tests for Aussie Broadband diagnostics ([@Bre77] - [#113049])
+- Bump aioslimproto to 3.0.0 ([@marcelveldt] - [#113046])
+- Remove entity description mixin in Opower ([@joostlek] - [#112913])
+- Bump Wandalen/wretry.action from 1.4.7 to 1.4.8 (@dependabot - [#113038])
+- Remove entity description mixin in WeatherFlow ([@joostlek] - [#112971])
+- Remove entity description mixin in Starlink ([@joostlek] - [#112943])
+- Remove entity description mixin in Schlage ([@joostlek] - [#112934])
+- Remove entity description mixin in Kaleidescape ([@joostlek] - [#112896])
+- Remove entity description mixin in Launch Library ([@joostlek] - [#112902])
+- Remove entity description mixin in Kaiterra ([@joostlek] - [#112895])
+- Move yandex transport fixture to integration test ([@joostlek] - [#112988])
+- Remove entity description mixin in Meater ([@joostlek] - [#112904])
+- Remove entity description mixin in Minecraft Server ([@joostlek] - [#112908])
+- Remove YAML configuration from WAQI ([@joostlek] - [#113027])
+- Bump webmin-xmlrpc to 0.0.2 ([@autinerd] - [#113004])
+- Remove entity description mixin in QNAP QSW ([@joostlek] - [#112924])
+- Remove entity description mixin in Wallbox ([@joostlek] - [#112969])
+- Remove entity description mixin in SABnzbd ([@joostlek] - [#112933])
+- Remove entity description mixin in Honeywell Lyric ([@joostlek] - [#112903])
+- Remove entity description mixin in Z-Wave.js ([@joostlek] - [#112979])
+- Remove entity description mixin in Zamg ([@joostlek] - [#112976])
+- Remove entity description mixin in Yalexs BLE ([@joostlek] - [#112974])
+- Remove entity description mixin in Xiaomi Miio ([@joostlek] - [#112973])
+- Remove entity description mixin in Whirlpool ([@joostlek] - [#112972])
+- Remove entity description mixin in VeSync ([@joostlek] - [#112965])
+- Remove entity description mixin in Venstar ([@joostlek] - [#112964])
+- Remove entity description mixin in Vallox ([@joostlek] - [#112963])
+- Remove entity description mixin in Tuya ([@joostlek] - [#112959])
+- Remove entity description mixin in Transmission ([@joostlek] - [#112958])
+- Remove entity description mixin in Tolo ([@joostlek] - [#112951])
+- Remove entity description mixin in Tautulli ([@joostlek] - [#112949])
+- Remove entity description mixin in Steamist ([@joostlek] - [#112944])
+- Remove entity description mixin in Solaredge ([@joostlek] - [#112942])
+- Remove entity description mixin in Smappee ([@joostlek] - [#112941])
+- Remove entity description mixin in SleepIQ ([@joostlek] - [#112940])
+- Remove entity description mixin in Skybell ([@joostlek] - [#112939])
+- Remove entity description mixin in Roomba ([@joostlek] - [#112932])
+- Remove entity description mixin in Ring ([@joostlek] - [#112928])
+- Remove entity description mixin in Roborock ([@joostlek] - [#112930])
+- Remove entity description mixin in Meteo-France ([@joostlek] - [#112907])
+- Remove entity description mixin in Rituals Perfume Genie ([@joostlek] - [#112929])
+- Remove entity description mixin in Renson ([@joostlek] - [#112926])
+- Remove entity description mixin in Pure Energie ([@joostlek] - [#112923])
+- Remove entity description in Point ([@joostlek] - [#112921])
+- Remove entity description mixin in Picnic ([@joostlek] - [#112920])
+- Remove entity description mixin in Pi-hole ([@joostlek] - [#112919])
+- Remove entity description mixin in PECO ([@joostlek] - [#112915])
+- Remove entity description mixin in Onvif ([@joostlek] - [#112912])
+- Remove entity description mixin in Netatmo ([@joostlek] - [#112910])
+- Remove entity description mixin in Melnor ([@joostlek] - [#112906])
+- Remove entity description mixin in Landisgyr Heat Meter ([@joostlek] - [#112901])
+- Remove entity description mixin in Kraken ([@joostlek] - [#112899])
+- Remove entity description mixin in Kostal Plenticore ([@joostlek] - [#112898])
+- Remove entity description mixin in Juicenet ([@joostlek] - [#112892])
+- Use UV instead of PIP in the CI ([@edenhaus] - [#113051])
+- Fix adding Hue bridge manually by IP ([@marcelveldt] - [#113055])
+- Bump xiaomi-ble to 0.27.0 ([@Ernst79] - [#113013])
+- Add ConfigFlow for seventeentrack integration ([@shaiu] - [#111196])
+- Move HomematicIP Cloud fixture to integration test ([@joostlek] - [#112987])
+- Prepare ring update service for deprecation ([@sdb9696] - [#108781])
+- Enable even more SIM ruff rules ([@joostlek] - [#113017])
+- Fix for Hue not applying effect in scene ([@marcelveldt] - [#113057])
+- Fix here_travel_time creating many refresh requests at startup ([@bdraco] - [#113041])
+- Remove entity description mixin in Github ([@joostlek] - [#112771])
+- Ensure wemo discovery is run in a background task ([@bdraco] - [#112665])
+- Remove fixtures from global fixtures folder ([@joostlek] - [#113060])
+- Improve lists in integrations [A] ([@joostlek] - [#113006])
+- Change airthings pressure sensor device_class to atmospheric pressure ([@OndraM] - [#113005])
+- Bump `regenmaschine` to 2024.03.0 ([@bachya] - [#113074])
+- Improve lists in integrations [C-D] ([@joostlek] - [#113072])
+- Improve lists in integrations [B] ([@joostlek] - [#113069])
+- Add icon translations to Version ([@joostlek] - [#112343])
+- Only load services.yaml for integrations that have it ([@balloob] - [#112732])
+- Start tasks eagerly in for async_at_start(ed) ([@bdraco] - [#112802])
+- Migrate dispatcher to create tasks eagerly ([@bdraco] - [#112845])
+- Migrate _async_when_setup to use eager_start ([@bdraco] - [#112872])
+- Ensure that the ring integration always raises HomeAssistantError for user actions ([@sdb9696] - [#109893])
+- Fix race in script stop that could cause async_stop to hang forever ([@bdraco] - [#113089])
+- Fix location data in Teslemetry ([@Bre77] - [#112866])
+- Migrate async_run_job to use eager_start for tasks ([@bdraco] - [#113011])
+- Reduce latency to populate initial HKC bluetooth device state ([@bdraco] - [#113103])
+- Make sonos ssdp discovery callback a callback function ([@bdraco] - [#113107])
+- Make sonos household_coordinator setup a callback function ([@bdraco] - [#113108])
+- Make sonos binary sensor entity creation callback functions ([@bdraco] - [#113109])
+- Add support for run_immediately to async_listen_once ([@bdraco] - [#113020])
+- Run coroutines as eager tasks in async_run_hass_job ([@bdraco] - [#111683])
+- Make cast async_cast_discovered a callback function ([@bdraco] - [#113111])
+- Migrate homekit to use async_at_started ([@bdraco] - [#113102])
+- Make restore state started a callback function ([@bdraco] - [#113110])
+- Use run_immediately for starting discovery at the started event ([@bdraco] - [#113112])
+- Update timezone in supervisor in an eager task ([@bdraco] - [#113113])
+- Migrate scene platform to use async_add_executor_job ([@bdraco] - [#113114])
+- Attach template triggers at start eagerly ([@bdraco] - [#113120])
+- Add run_immediately to the zone core config update async_listen ([@bdraco] - [#113119])
+- Remove unnecessary use of async_run_job in script helper ([@bdraco] - [#113118])
+- Remove unnecessary use of async_add_job in openalpr_cloud ([@bdraco] - [#113116])
+- Await discovery_function in the DiscoveryFlowHandler instead of wrapping it in a task ([@bdraco] - [#113115])
+- Simplify automation startup logic ([@bdraco] - [#113122])
+- Migrate remaining call in check_config helper to use async_get_component ([@bdraco] - [#113123])
+- Import homeassistant trigger platforms in the executor ([@bdraco] - [#113124])
+- Switch the reload helper to use async_get_component ([@bdraco] - [#113126])
+- Add A6 family code for DS2438 1-Wire sensor ([@definitio] - [#112844])
+- Add missing device info to Husqvarna Automower ([@Thomas55555] - [#113090])
+- Add scheduled mode to renault charge mode ([@slyoldfox] - [#105967])
+- Add reconfigure flow to homeworks ([@emontnemery] - [#112419])
+- Validate state_class with last_reset_value_template for mqtt sensors ([@jbouwh] - [#113099])
+- Update vallox_websocket_api to 5.1.1 ([@yozik04] - [#113139])
+- Bump Wandalen/wretry.action from 1.4.8 to 1.4.9 (@dependabot - [#113132])
+- Convert sets to list before passing to the JSON serializer in the registries ([@bdraco] - [#113133])
+- Add the ability to create Debouncer tasks as background tasks ([@bdraco] - [#113128])
+- Add device_id to sentence trigger and external conversation APIs ([@synesthesiam] - [#113094])
+- Remove deprecated `hass.components` usage in device_sun_light_trigger ([@jpbede] - [#111881])
+- Add motion detection enable/disable to ring camera platform ([@sdb9696] - [#108789])
+- Remove entity description mixin in Screenlogic ([@joostlek] - [#112935])
+- Remove deprecated `hass.components` usage in service tests ([@jpbede] - [#111883])
+- Clean up Abode imports ([@joostlek] - [#113138])
+- Improve lists in integrations [E-F] ([@joostlek] - [#113075])
+- Make august activity update a background task ([@bdraco] - [#112652])
+- Make Bluetooth active coordinator debouncers run tasks in the background ([@bdraco] - [#113129])
+- Ensure HKC debounced availability poll does not block startup ([@bdraco] - [#113130])
+- Avoid multiple executor jobs to add wemo devices ([@bdraco] - [#112484])
+- Add icon translations to Lametric ([@joostlek] - [#111854])
+- Add options update listener for Speedtest.Net ([@gjohansson-ST] - [#112108])
+- Add binary_sensor to homeworks ([@emontnemery] - [#112418])
+- Fix Axis unique ID ([@Kane610] - [#112132])
+- Use enum device class in Dexcom ([@joostlek] - [#112423])
+- Add icons to Teslemetry ([@Bre77] - [#112546])
+- Sonos reduce test time ([@PeteRager] - [#111688])
+- Avoid some event loop overhead for ESPHome listeners ([@bdraco] - [#113173])
+- Add "language" to strings.json ([@autinerd] - [#112869])
+- Move Notion coordinator to its own module ([@bachya] - [#112756])
+- Add icon translations to Bond ([@joostlek] - [#111349])
+- Fix System Bridge media source data URL ([@timmo001] - [#112612])
+- Small improvement to test run time ([@bdraco] - [#113175])
+- Remove ZHA IasZone sensor migration ([@TheJulianJES] - [#111893])
+- Add a task name to the config entry retry tasks ([@bdraco] - [#113188])
+- Fix radon precision for Airthings BLE ([@LaStrada] - [#113185])
+- ESPHome: Catch and re-raise client library errors as HomeAssistantErrors ([@jesserockz] - [#113026])
+- Properly mark Plex update sensor when current ([@jjlawren] - [#113197])
+- ESPHome: Add Date Entity support ([@jesserockz] - [#112475])
+- Bump radios to 0.3.1 ([@bdraco] - [#112850])
+- Bump github/codeql-action from 3.24.6 to 3.24.7 (@dependabot - [#113207])
+- Bump Wandalen/wretry.action from 1.4.9 to 1.4.10 (@dependabot - [#113206])
+- Update pytest artifact actions to v4 ([@cdce8p] - [#110906])
+- Improve lists for MQTT integration ([@jbouwh] - [#113184])
+- Migrate one time listeners to use async_run_hass_job ([@bdraco] - [#113179])
+- Bump actions/checkout from 4.1.1 to 4.1.2 (@dependabot - [#113208])
+- Migrate torque to use async_add_hass_job ([@bdraco] - [#113218])
+- Only extract traceback once in system_log ([@bdraco] - [#113201])
+- Simplify entity _attr cached_property getter implementation ([@bdraco] - [#113195])
+- Migrate harmony to use async_run_hass_job ([@bdraco] - [#113178])
+- Ensure apple_tv connect loop is cancelled on shutdown ([@bdraco] - [#113191])
+- Simplify clearing _attr cached_property in entities ([@bdraco] - [#113136])
+- Add diagnostics platform to IPMA ([@dgomes] - [#105697])
+- Update dsmr reader codeowner ([@joostlek] - [#108152])
+- Constrain pycountry to >=23.12.11 ([@bdraco] - [#112849])
+- Remove HassJob wrapping from the DataUpdateCoordinator ([@bdraco] - [#113192])
+- Add processes services to System Bridge ([@timmo001] - [#103564])
+- Improve lists in integrations [I-K] ([@joostlek] - [#113221])
+- Deprecate `homeassistant.components.is_on` function ([@jpbede] - [#111891])
+- Improve lists in integrations [G-H] ([@joostlek] - [#113168])
+- CI: Move pytest-github-actions-annotate-failures to test deps, upgrade ([@akx] - [#104604])
+- Improve lists in integrations [P-Q] ([@joostlek] - [#113236])
+- Run coordinator shutdown eagerly ([@bdraco] - [#113174])
+- Use `single_config_entry` in Accuweather manifest ([@bieniu] - [#111548])
+- Improve lists in integrations [T-U] ([@joostlek] - [#113243])
+- Parameterize some tests in generic_thermostat ([@esciara] - [#105643])
+- Add icon translations to Roku ([@joostlek] - [#112214])
+- Remove remaining async_add_job calls in core ([@bdraco] - [#113217])
+- Improve lists in integrations [V-W] ([@joostlek] - [#113252])
+- Use async_update_reload_and_abort helper in tailwind ([@jpbede] - [#110885])
+- Rework Melissa tests ([@joostlek] - [#113241])
+- Improve lists in integrations [X-Z] ([@joostlek] - [#113253])
+- Improve lists in integrations [L-M] ([@joostlek] - [#113227])
+- Improve lists in integrations [N-O] ([@joostlek] - [#113231])
+- Improve lists in integrations [R-S] ([@joostlek] - [#113233])
+- Split out deCONZ config model ([@Kane610] - [#112851])
+- Add service icons to Bluesound ([@joostlek] - [#113281])
+- Add service icons to Browser ([@joostlek] - [#113283])
+- Add service icons to Command line ([@joostlek] - [#113285])
+- Ensure apple_tv setup retries later on timeout ([@bdraco] - [#113367])
+- Bump aiodns to 3.1.1 ([@bdraco] - [#113371])
+- Bump bluetooth-auto-recovery to 1.4.0 ([@bdraco] - [#113368])
+- Bump aiodiscover to 2.0.0 ([@bdraco] - [#113337])
+- Fix uv cache dir env [ci] ([@cdce8p] - [#113312])
+- Avoid pre-importing config_flows if the integration does not support migration ([@bdraco] - [#113369])
+- Bump ha-ffmpeg to 3.2.0 ([@bdraco] - [#113297])
+- Add default_config to the bootstrap pre-imports ([@bdraco] - [#113263])
+- Migrate solax away from using async_add_job ([@bdraco] - [#113257])
+- Remove async_add_job calls from configurator ([@bdraco] - [#113256])
+- Migrate script integration to create eager tasks ([@bdraco] - [#113189])
+- Add a helper to import modules from the event loop ([@bdraco] - [#113169])
+- Remove async_add_job calls from qwikswitch ([@bdraco] - [#113258])
+- Add service icons to REST command ([@joostlek] - [#113347])
+- Fix group loading too late resulting in incorrect state ([@bdraco] - [#113262])
+- Remove usage of async_add_job in tests ([@bdraco] - [#113259])
+- Add service icons to Unifi ([@joostlek] - [#113360])
+- Bump opower to 0.4.0 ([@tronikos] - [#113390])
+- Bump gassist-text to 0.0.11 ([@tronikos] - [#113386])
+- Bump docker/login-action from 3.0.0 to 3.1.0 (@dependabot - [#113384])
+- Add service icons to Debug py ([@joostlek] - [#113287])
+- Add virtual integration Sacramento Municipal Utility District (SMUD) ([@tronikos] - [#113389])
+- Add service icons to Filter ([@joostlek] - [#113295])
+- Improve loops and lists ([@joostlek] - [#113269])
+- Enable ISC ruff rule ([@joostlek] - [#113270])
+- Remove old migration from lovelace ([@emontnemery] - [#113388])
+- Update ring integration imports ([@sdb9696] - [#113397])
+- Migrate auth to use async_import_module to avoid blocking I/O in the event loop ([@bdraco] - [#113387])
+- Fix telegram_bot doing blocking I/O in the event loop to import platforms ([@bdraco] - [#113383])
+- Migrate sun to use single_config_entry ([@bdraco] - [#113370])
+- Add service icons to Zoneminder ([@joostlek] - [#113366])
+- Fix smartthings doing blocking I/O in the event loop to import platforms ([@bdraco] - [#113382])
+- Add service icons to Wake on LAN ([@joostlek] - [#113362])
+- Add service icons to System Log ([@joostlek] - [#113355])
+- Add service icons to Statistics ([@joostlek] - [#113353])
+- Add service icons to Universal ([@joostlek] - [#113361])
+- Add service icons to Alert ([@joostlek] - [#113274])
+- Add service icons to System Bridge ([@joostlek] - [#113354])
+- Add service icons to Timer ([@joostlek] - [#113358])
+- Add service icons to SMTP ([@joostlek] - [#113351])
+- Add service icons to Schedule ([@joostlek] - [#113350])
+- Add service icons to Recorder ([@joostlek] - [#113344])
+- Add service icons to Snips ([@joostlek] - [#113352])
+- Add service icons to Ombi ([@joostlek] - [#113339])
+- Move modbus check_config to setup, to have access to hass ([@janiversen] - [#112828])
+- Bump hass-nabucasa from 0.78.0 to 0.79.0 ([@ludeeus] - [#113405])
+- Add floor support to areas WebSocket API ([@frenck] - [#113402])
+- Add service icons to Yamaha ([@joostlek] - [#113365])
+- Add service icons to Wemo ([@joostlek] - [#113363])
+- Add service icons to Telegram bot ([@joostlek] - [#113357])
+- Add service icons to Toon ([@joostlek] - [#113359])
+- Add service icons to Telegram ([@joostlek] - [#113356])
+- Add service icons to Route53 ([@joostlek] - [#113349])
+- Add service icons to RFLink ([@joostlek] - [#113348])
+- Add service icons to Remember the milk ([@joostlek] - [#113345])
+- Add service icons to Xiaomi Miio ([@joostlek] - [#113364])
+- Add service icons to QVR Pro ([@joostlek] - [#113343])
+- Add service icons to Python Scripts ([@joostlek] - [#113342])
+- Add service icons to Pilight ([@joostlek] - [#113341])
+- Add service icons to nx584 ([@joostlek] - [#113338])
+- Add service icons to Nissan Leaf ([@joostlek] - [#113336])
+- Add service icons to Netatmo ([@joostlek] - [#113335])
+- Add service icons to Media Extractor ([@joostlek] - [#113329])
+- Add service icons to Microsoft Face ([@joostlek] - [#113330])
+- Add service icons to Minio ([@joostlek] - [#113331])
+- Add service icons to Ness alarm ([@joostlek] - [#113333])
+- Add service icons to Matrix ([@joostlek] - [#113328])
+- Add service icons to Lovelace ([@joostlek] - [#113327])
+- Add service icons to Logi circle ([@joostlek] - [#113326])
+- Add service icons to Local file ([@joostlek] - [#113323])
+- Add service icons to Keyboard ([@joostlek] - [#113322])
+- Add service icons to Kef ([@joostlek] - [#113321])
+- Add service icons to Keba ([@joostlek] - [#113320])
+- Add service icons to Iperf3 ([@joostlek] - [#113319])
+- Add service icons to Intent Script ([@joostlek] - [#113318])
+- Add service icons to Input Text ([@joostlek] - [#113317])
+- Add service icons to Input Select ([@joostlek] - [#113316])
+- Add service icons to Input button ([@joostlek] - [#113313])
+- Add service icons to Input Number ([@joostlek] - [#113315])
+- Add service icons to IHC ([@joostlek] - [#113311])
+- Add service icons to HTML5 ([@joostlek] - [#113309])
+- Add service icons to Homematic ([@joostlek] - [#113308])
+- Add service icons to Home Assistant ([@joostlek] - [#113307])
+- Add service icons to Habitica ([@joostlek] - [#113303])
+- Add service icons to Geniushub ([@joostlek] - [#113301])
+- Add service icons to Generic Thermostat ([@joostlek] - [#113300])
+- Add service icons to Frontend ([@joostlek] - [#113299])
+- Add service icons to Freebox ([@joostlek] - [#113298])
+- Add service icons to Ffmpeg ([@joostlek] - [#113294])
+- Add service icons to Evohome ([@joostlek] - [#113293])
+- Add service icons to Foursquare ([@joostlek] - [#113296])
+- Add service icons to Envisalink ([@joostlek] - [#113292])
+- Add service icons to HDMI CEC ([@joostlek] - [#113304])
+- Add service icons to Ebusd ([@joostlek] - [#113291])
+- Add service icons to Downloader ([@joostlek] - [#113289])
+- Add service icons to Dominos ([@joostlek] - [#113288])
+- Add service icons to Logbook ([@joostlek] - [#113324])
+- Add service icons to Logger ([@joostlek] - [#113325])
+- Add service icons to Input Datetime ([@joostlek] - [#113314])
+- Add service icons to Conversation ([@joostlek] - [#113286])
+- Add service icons to DuckDNS ([@joostlek] - [#113290])
+- Add service icons to Agent DVR ([@joostlek] - [#113273])
+- Bump tololib to 1.1.0 ([@MatthiasLohr] - [#113268])
+- Add service icons to Advantage air ([@joostlek] - [#113272])
+- Add service icons to Channels ([@joostlek] - [#113284])
+- Add service icons to Modbus ([@joostlek] - [#113332])
+- Add service icons to Backup ([@joostlek] - [#113277])
+- Add service icons to Bayesian ([@joostlek] - [#113278])
+- Add service icons to Bluetooth Tracker ([@joostlek] - [#113282])
+- Add service icons to History Stats ([@joostlek] - [#113306])
+- Add service icons to Group ([@joostlek] - [#113302])
+- Add service icons to REST ([@joostlek] - [#113346])
+- Add service icons to Amcrest ([@joostlek] - [#113276])
+- Add service icons to Blackbird ([@joostlek] - [#113280])
+- Add service icons to Persistent Notification ([@joostlek] - [#113340])
+- Deprecate the map integration ([@emontnemery] - [#113215])
+- Enable PERF ruff rules ([@joostlek] - [#113408])
+- Fix icon mistakes ([@joostlek] - [#113420])
+- Add service icons to Utility meter ([@joostlek] - [#113419])
+- Add service icons to Demo ([@joostlek] - [#113414])
+- Bump weatherflow_cloud backing lib v0.2.13 ([@jeeftor] - [#113181])
+- Add service icons to Scene ([@joostlek] - [#113418])
+- Add service icons to ADS ([@joostlek] - [#113412])
+- Add UniFi Protect service to remove privacy zones ([@AngellusMortis] - [#111292])
+- Add icon translations to Unifi protect ([@joostlek] - [#112332])
+- Add floors to service target ([@frenck] - [#110850])
+- add switch platform for tolo ([@MatthiasLohr] - [#113440])
+- Allow entity platforms without entity_component in icon validation ([@joostlek] - [#113422])
+- Add service icons to Fan ([@joostlek] - [#113415])
+- Fix alarm control panel icons ([@joostlek] - [#113413])
+- Add service icons to Abode ([@joostlek] - [#113411])
+- Add icon translations to ZHA ([@joostlek] - [#112368])
+- Fix calling sync api in counter/ffmpeg/device_tracker tests ([@bdraco] - [#113441])
+- Deprecate async_run_job and async_add_job ([@bdraco] - [#113260])
+- Add service icons to Climate ([@joostlek] - [#113409])
+- Add aroma therapy select entity for tolo integration ([@MatthiasLohr] - [#113442])
+- Revert "Remove unused test helper mock_area_registry" ([@jbouwh] - [#113453])
+- Fix hassfest icons check for notify and image_processing ([@jbouwh] - [#113446])
+- Add aliases support to floor registry WebSocket API ([@frenck] - [#113401])
+- Support lutron transition time and flash for lights ([@wilburCforce] - [#109185])
+- Change modbus integration to use async library calls ([@janiversen] - [#113450])
+- Add service icons to Notify ([@joostlek] - [#113417])
+- Add service icons to Image processing ([@joostlek] - [#113416])
+- Bump aiooncue to 0.3.7 ([@PeteRager] - [#113451])
+- Add icon translations to myuplink ([@astrandb] - [#111466])
+- Construct storage data in the executor to avoid blocking the event loop ([@bdraco] - [#113465])
+- Reduce overhead to save the larger registries ([@bdraco] - [#113462])
+- Avoid creating another ssl context in cert_expiry ([@bdraco] - [#113467])
+- Bump aiodhcpwatcher to 1.0.0 ([@bdraco] - [#113469])
+- Reduce script overhead by avoiding creation of many tasks ([@bdraco] - [#113183])
+- Fix scene integration doing blocking I/O in the event loop to import platforms ([@bdraco] - [#113391])
+- Fix delayed registry check to only using the short delay at running ([@bdraco] - [#113471])
+- Start script runs eagerly ([@bdraco] - [#113190])
+- Remove unused tts fixture ([@emontnemery] - [#113480])
+- Move loading of ha-av to the executor ([@bdraco] - [#113485])
+- Remove supports_encryption check from mobile_app ([@bdraco] - [#113490])
+- Improve State docstring ([@emontnemery] - [#113501])
+- Avoid multiple context switches to setup a sonos speaker ([@bdraco] - [#113378])
+- Address late review on adding an error sensor to Husqvarna Automower ([@Thomas55555] - [#113242])
+- Add missing mystrom sensor ([@slyoldfox] - [#113225])
+- Remove old update unique id function from deCONZ binary sensor ([@Kane610] - [#112536])
+- Create more relevant names for myuplink DeviceInfo ([@astrandb] - [#111502])
+- Add icon translations to Moon ([@dougiteixeira] - [#111386])
+- Use `single_config_entry` in KNX manifest ([@farmio] - [#112526])
+- Remove OpenCV integration ([@thecode] - [#113455])
+- Ensure TurboJPEG is imported in the executor ([@bdraco] - [#113504])
+- Use on state icons by default in Balboa spa integration ([@snoack] - [#111911])
+- Add Ring Intercom support ([@cosimomeli] - [#109819])
+- Add theme color support to labels ([@frenck] - [#113404])
+- Add category registry ([@frenck] - [#110897])
+- create issues for modbus config errors ([@janiversen] - [#113431])
+- Speed up ffmpeg setup ([@bdraco] - [#113496])
+- Filter out irrelevant entities on SMO20 devices in myuplink ([@astrandb] - [#113493])
+- Remove Sonos migrations ([@joostlek] - [#113506])
+- Add diagnostics platform to Fastdotcom ([@erwindouna] - [#111525])
+- Remove modbus create_issue from init ([@janiversen] - [#113510])
+- Add Ring Intercom open door button ([@cosimomeli] - [#113514])
+- Add icon translations to Sonos ([@joostlek] - [#112235])
+- Add missing icon for Unifi protect service ([@joostlek] - [#113508])
+- Protect SupervisorIssues.update method ([@mdegat01] - [#113425])
+- Bump opower to 0.4.1 ([@drewclauson] - [#113509])
+- Remove repetitive words in comments and docstrings ([@soonsouth] - [#113529])
+- Add Fyta integration ([@dontinelli] - [#110816])
+- Use Volume Flow Rate device class in BTHome ([@joostlek] - [#113530])
+- Freeze timezone in bmw_connected_drive tests ([@Thomas55555] - [#113533])
+- Fix MyUplink tests ([@joostlek] - [#113534])
+- Support configuring Axis to use HTTPS ([@Kane610] - [#113271])
+- Use Volume Flow Rate device class in DROP connect ([@joostlek] - [#113528])
+- Use Volume Flow Rate device class in Opentherm gw ([@joostlek] - [#113531])
+- Do not allow modbus config without entities ([@janiversen] - [#113516])
+- Use single_config_entry in jellyfin manifest ([@ctalkington] - [#113202])
+- Import and create pyudev for usb in the executor ([@bdraco] - [#113478])
+- Remove old update of sensor unique id in deCONZ ([@Kane610] - [#113527])
+- Remove old update of number unique id in deCONZ ([@Kane610] - [#113524])
+- Remove old update of group unique id in deCONZ ([@Kane610] - [#112533])
+- Add missing continue in legacy recorder history function ([@emontnemery] - [#113535])
+- fix mqtt siren test asserts ([@autinerd] - [#113550])
+- fix homekit test asserts ([@autinerd] - [#113549])
+- Speed up loading sun ([@bdraco] - [#113544])
+- Revert "Avoid pre-importing config_flows if the integration does not … ([@gjohansson-ST] - [#113553])
+- Add missing async_block_till_done to jellyfin test_invalid_auth test ([@bdraco] - [#113556])
+- Avoid calling entry.async_migrate in sonarr tests ([@bdraco] - [#113557])
+- Remove danielperna84 as codeowner ([@danielperna84] - [#109662])
+- Add translations for devolo Home Network exceptions ([@Shutgun] - [#105755])
+- Restore group config_flow pre-import ([@bdraco] - [#113558])
+- Send keep-alive frames in image proxy stream ([@OnFreund] - [#113542])
+- Add profiler set_asyncio_debug service ([@bdraco] - [#113447])
+- Remove group integration platforms that use the default states ([@bdraco] - [#113562])
+- Fix lingering hassio issues test ([@jbouwh] - [#113569])
+- Cleanup some circular imports in group ([@bdraco] - [#113554])
+- Add ruff B005, B015, B032 and fix occurrences ([@autinerd] - [#113543])
+- Improve typing of State.as_compressed_state ([@emontnemery] - [#113540])
+- Move group config flow pre-import to its init ([@bdraco] - [#113564])
+- Reduce bottlenecks in bootstrap by ordering the setup of integrations ([@bdraco] - [#113570])
+- Fix unifiprotect tests for ruff B018 ([@autinerd] - [#113584])
+- Fix freedompro tests for ruff B018 ([@autinerd] - [#113583])
+- Add additional sensors to Teslemetry ([@Bre77] - [#112555])
+- Add battery discharge sensor to ViCare integration ([@CFenner] - [#113502])
+- Shelly config flow test wait for tasks to finish ([@thecode] - [#113588])
+- Use async_create_task in recorder init tests ([@bdraco] - [#113586])
+- Add JVC Projector Sensors ([@msavazzi] - [#108949])
+- Enable ruff RUF005 and fix occurrences ([@autinerd] - [#113589])
+- Remove unnecessary method in UniFi entity loader ([@Kane610] - [#113597])
+- Axis use entity description in switch platform ([@Kane610] - [#113595])
+- Clean up unneeded ruff noqa directives ([@autinerd] - [#113616])
+- Remove deprecated `hass.components` from mysensors ([@jpbede] - [#113611])
+- Freeze time on profile test ([@jbouwh] - [#113618])
+- Add a guard to handle unhashable platforms in config ([@bdraco] - [#113607])
+- Avoid creating tasks in homeassistant_alerts when the debouncer will not fire ([@bdraco] - [#113580])
+- Gather loading platforms in async_process_component_config ([@bdraco] - [#113573])
+- Fix vulcan calendar offset ([@Antoni-Czaplicki] - [#113604])
+- Add ruff rules PIE790, PIE794, PIE807, PIE810 ([@autinerd] - [#113617])
+- Remove deprecated `hass.components` from legacy device tracker platform ([@jpbede] - [#113612])
+- Fix race in removing modified devices from the entity registry ([@bdraco] - [#113623])
+- snmp: Better sensor support to resolve previous issues ([@lextm] - [#113624])
+- Generate HomeAssistantError message from English translations ([@jbouwh] - [#113305])
+- Add ruff rule PIE804 ([@autinerd] - [#113620])
+- Remove ignore for ruff PLC0208 ([@autinerd] - [#113537])
+- Use `mock_platform` for button entity component tests instead of `hass.components` ([@jpbede] - [#113627])
+- Add new fields from UniFi Protect v3 ([@AngellusMortis] - [#113631])
+- Run apple_tv shutdown eagerly at the stop event ([@bdraco] - [#113637])
+- Run shelly coordinator shutdown immediately at the stop event ([@bdraco] - [#113633])
+- Shutdown config entry manager immediately at the stop event ([@bdraco] - [#113632])
+- Shutdown homekit eagerly at the stop event ([@bdraco] - [#113639])
+- Consolidate ruff PL and Q rules ([@autinerd] - [#113555])
+- Run functions from ssdp listeners immediately ([@bdraco] - [#113634])
+- Fix zeroconf shutting down too early ([@bdraco] - [#113638])
+- Run entity component shutdown immediately ([@bdraco] - [#113635])
+- Create config entry async_on_unload tasks eagerly ([@bdraco] - [#113626])
+- Bump snapcast to 2.3.6 ([@luar123] - [#113606])
+- Cleanup sonos shutdown process ([@bdraco] - [#113654])
+- Deprecate UniFi Protect HDR switch and package sensor ([@AngellusMortis] - [#113636])
+- Add ruff rule PIE800 ([@autinerd] - [#113619])
+- Eagerly shutdown unifiprotect at the stop event ([@bdraco] - [#113655])
+- Run yalexs_ble shutdown with run_immediately ([@bdraco] - [#113653])
+- Eagerly shutdown homekit_controller at the stop event ([@bdraco] - [#113650])
+- Run bond shutdown listener with run_immediately ([@bdraco] - [#113657])
+- Save bluetooth passive data eagerly at the stop event ([@bdraco] - [#113648])
+- Add run_immediately to bluetooth listeners ([@bdraco] - [#113659])
+- Add tests of homeworks binary sensor ([@emontnemery] - [#113577])
+- Add tests of homeworks light ([@emontnemery] - [#113579])
+- Add ruff rule PIE808 ([@autinerd] - [#113621])
+- Add tests of homeworks button ([@emontnemery] - [#113578])
+- Add tests of homeworks __init__ ([@emontnemery] - [#113581])
+- Replace pylint pointless-statement with ruff B018 ([@autinerd] - [#113582])
+- Improve debug logging in Tankerkoenig ([@mib1185] - [#113674])
+- Remove deprecated `hass.components` from image_processing platform ([@jpbede] - [#113613])
+- Add Ruff LOG rules ([@autinerd] - [#113677])
+- Freeze time on zwave_js update test ([@jbouwh] - [#113625])
+- Re-ignore Ruff rule PLC1901 ([@autinerd] - [#113675])
+- Add WAN port connection control to TP-Link Omada gateways ([@MarkGodwin] - [#111431])
+- Use `mock_platform` for event entity component tests instead of `hass.components` ([@jpbede] - [#113667])
+- Migrate stream listeners to use run_immediately and eager tasks ([@bdraco] - [#113660])
+- Remove deprecated `hass.components` from network helper function ([@jpbede] - [#113615])
+- Remove deprecated `hass.components` from withings webhook tests ([@jpbede] - [#113687])
+- Add run_immediately to usb start/stop listeners ([@bdraco] - [#113658])
+- Move ESPHome disconnects to the close event ([@bdraco] - [#113652])
+- Run entity registry write_unavailable_states immediately at start ([@bdraco] - [#113647])
+- Run registry cleanup listeners immediately ([@bdraco] - [#113646])
+- Migrate registry for labels and categories to run_immediately ([@bdraco] - [#113645])
+- Start and stop template cache watcher to run_immediately ([@bdraco] - [#113644])
+- Cache late imported async_get_exception_message for HomeAssistantError ([@jbouwh] - [#113683])
+- Enable Ruff RSE ([@autinerd] - [#113695])
+- Improve scaffold test_config_flow ([@jwillemsen] - [#113229])
+- Adjust config flow pre-import comment in group ([@bdraco] - [#113702])
+- Migrate isy994 listeners to use run_immediately ([@bdraco] - [#113661])
+- Bump xiaomi-ble to 0.27.1 ([@Ernst79] - [#113686])
+- Bump dawidd6/action-download-artifact from 3.1.2 to 3.1.3 (@dependabot - [#113720])
+- Move legacy device_tracker setup to a tracked task ([@bdraco] - [#113715])
+- Run august stop listener with run_immediately ([@bdraco] - [#113729])
+- Move legacy notify setup to use tracked tasks ([@bdraco] - [#113716])
+- Move legacy stt setup to use tracked tasks ([@bdraco] - [#113718])
+- Move legacy tts setup to use tracked tasks ([@bdraco] - [#113717])
+- Add first batch of Ruff PT rules ([@autinerd] - [#113665])
+- Get HomeAssistantError message from translation cache only ([@jbouwh] - [#113688])
+- Get ServiceValidationError message from translation cache only ([@jbouwh] - [#113704])
+- Run dhcp listeners with run_immediately ([@bdraco] - [#113726])
+- Bump apprise to 1.7.4 ([@caronc] - [#113629])
+- Add Downloader config flow, including tests ([@erwindouna] - [#98722])
+- Allow configuring Starlink sleep schedule ([@boswelja] - [#103057])
+- Add additional buttons to OctoPrint ([@Xitee1] - [#103139])
+- Add camera in use and pending reboot binary sensors to System Bridge ([@timmo001] - [#104095])
+- Log cannot connect exception in Tedee config flow ([@zweckj] - [#113740])
+- Patch Discovery timeout in govee light local ([@joostlek] - [#113692])
+- Add support for Tuya dimmer module ([@mjh1] - [#113741])
+- Add config flow to Rova ([@GidoHakvoort] - [#113596])
+- Axis use entity description light platform ([@Kane610] - [#113602])
+- Remove deprecated `hass.components` from netatmo webhook tests ([@jpbede] - [#113691])
+- Add WebSocket support for handling labels on device registry ([@frenck] - [#113758])
+- Add WebSocket support for assigning labels to entities ([@frenck] - [#113757])
+- Streamline naming in deCONZ integration ([@Kane610] - [#111977])
+- Add WebSocket support for handling labels on areas registry ([@frenck] - [#113755])
+- Add labels to service target ([@frenck] - [#113753])
+- Run websocket shutdown listener with run_immediately ([@bdraco] - [#113727])
+- Refactor integration startup time to show wall clock time ([@bdraco] - [#113707])
+- Bump PyMetno to 0.12.0 ([@bdraco] - [#113777])
+- Start live history/logbook with eager tasks ([@bdraco] - [#113779])
+- Bump dawidd6/action-download-artifact from 3.1.3 to 3.1.4 (@dependabot - [#113788])
+- Bump github/codeql-action from 3.24.7 to 3.24.8 (@dependabot - [#113789])
+- Require an icon for a service ([@joostlek] - [#112373])
+- Create tasks eagerly with core create_task ([@bdraco] - [#113781])
+- Align Comelit climate code to humidifier ([@chemelli74] - [#113747])
+- Migrate restore_state shutdown to use run_immediately ([@bdraco] - [#113786])
+- Use async api in template weather to create tasks ([@bdraco] - [#113784])
+- Use async api in yamaha_musiccast to create tasks ([@bdraco] - [#113785])
+- Use async api in generic_thermostat to create tasks ([@bdraco] - [#113783])
+- Call async task creation api in apple_tv ([@bdraco] - [#113782])
+- Start energy load platform task eagerly ([@bdraco] - [#113778])
+- Bump sunweg to 2.1.1 ([@rokam] - [#113767])
+- Enable Ruff rule PT007 ([@autinerd] - [#113764])
+- Update Home Assistant base image to 2024.03.0 ([@frenck] - [#113797])
+- Add WS command cloud/remove_data ([@emontnemery] - [#109821])
+- Add Room Audio Control to Control4 Integration ([@nalin29] - [#87821])
+- Simplify UV install in CI ([@edenhaus] - [#113803])
+- Allow retries on communication exceptions for Aurora ABB Powerone solar inverter ([@davet2001] - [#104492])
+- Bump bthome-ble to 3.8.1 ([@Ernst79] - [#113800])
+- Migrate Harmony to has entity name ([@joostlek] - [#104737])
+- Find referenced floors in automations & scripts ([@frenck] - [#113802])
+- Add binary sensor platform for Husqvarna Automower ([@Thomas55555] - [#113248])
+- Add device_tracker platform for husqvarna_automower ([@Thomas55555] - [#111403])
+- Find referenced labels in automations & scripts ([@frenck] - [#113812])
+- Revert get_model from myuplink lib ([@astrandb] - [#113811])
+- Do not patch `asyncio.timeout` in govee light local test ([@jpbede] - [#113819])
+- Fix flakey profiler object growth tests ([@bdraco] - [#113825])
+- Fix duplicate events in live logbook ([@bdraco] - [#113828])
+- Remove deprecated `hass.components` from http test ([@jpbede] - [#113823])
+- Remove deprecated `hass.components` from cloud client test ([@jpbede] - [#113820])
+- Remove deprecated `hass.components` from person test ([@jpbede] - [#113822])
+- Only wait for import flows in setup of there is a config flow ([@bdraco] - [#113780])
+- Fix template sensor test relying on event bus debug logging ([@bdraco] - [#113842])
+- Migrate samsungtv stop to use run_immediately ([@bdraco] - [#113834])
+- Migrate camera listeners to use run_immediately ([@bdraco] - [#113840])
+- Only create one executor job to shutdown wemo ([@bdraco] - [#113836])
+- Migrate legacy device_tracker shutdown to use run_immediately ([@bdraco] - [#113835])
+- Use `mock_platform` for light entity component tests instead of `hass.components` ([@jpbede] - [#113845])
+- Remove deprecated `hass.components` from vilfo config flow tests ([@jpbede] - [#113821])
+- Update actions/cache to 4.0.2 ([@cdce8p] - [#113817])
+- Upgrade whirlpool integration to add shared appliances and allow brand selection ([@NodeJSmith] - [#111687])
+- Reduce overhead to write dlna_dmr state ([@bdraco] - [#113776])
+- Avoid expensive db queries at startup to check if data is migrated ([@bdraco] - [#113773])
+- Bump aioesphomeapi to 23.2.0 ([@jesserockz] - [#113854])
+- Add icon translations to Github ([@joostlek] - [#111614])
+- Fix flapping device tracker test ([@bdraco] - [#113859])
+- Fix flapping stream hls test ([@bdraco] - [#113858])
+- Remove deprecated `hass.components` from group light tests and use fixture ([@jpbede] - [#113862])
+- Avoid creating unneeded Context and Event objects when firing events ([@emontnemery] - [#113798])
+- Deprecate cloud tts gender ([@MartinHjelmare] - [#112256])
+- Remove Amcrest camera unique id migration ([@joostlek] - [#113870])
+- Bump bluecurrent-api to 1.2.2 ([@Floris272] - [#110483])
+- Bump numato-gpio to v0.13.0 ([@clssn] - [#113182])
+- Add floor template functions ([@frenck] - [#110847])
+- Make temperature a required parameter for tado climate service ([@alinbalutoiu] - [#113872])
+- Update Amcrest services.yaml ([@tuday2] - [#111161])
+- Change quotes in cloud translations ([@piitaya] - [#113871])
+- Add matter device serial number ([@MartinHjelmare] - [#113878])
+- Provide better debug capabilities for the Traccar Server integration ([@ludeeus] - [#113868])
+- Remove obsolete issue strings in WAQI ([@joostlek] - [#113884])
+- YoLink fix cover incorrect state ([@matrixd2] - [#104975])
+- Bump aioshelly to 8.2.0 ([@chemelli74] - [#113886])
+- Bump islamic_prayer_times to 0.0.12 ([@uchagani] - [#113744])
+- Fix duplicate events in live history ([@bdraco] - [#113896])
+- Add State.last_reported ([@emontnemery] - [#113511])
+- Small cleanup to unifiprotect subscriptions ([@bdraco] - [#113901])
+- Fix flakey test_reading_yaml_config test ([@bdraco] - [#113902])
+- Fix system_info importing hassio in the event loop ([@bdraco] - [#113903])
+- Cache parsing the url for the device registry ([@bdraco] - [#113910])
+- Use faster time compare in history and live logbook ([@bdraco] - [#113897])
+- Reduce overhead to clear cache in button state ([@bdraco] - [#113895])
+- Refactor rate limit helper to track time in seconds ([@bdraco] - [#113898])
+- Use intersection for determine_script_action ([@bdraco] - [#113915])
+- Reduce overhead to construct and validate entity service schema ([@bdraco] - [#113920])
+- ESPHome: Add Time Entity support ([@jesserockz] - [#113852])
+- Fetch MaxLengthExceeded exception mesage from the translation cache ([@jbouwh] - [#113904])
+- Fetch ServiceNotFound message from translation cache ([@jbouwh] - [#113893])
+- Load system info with base functionality ([@bdraco] - [#113923])
+- Add run_immediately to the trace stop listener ([@bdraco] - [#113922])
+- Only calculate native value once per update in systemmonitor ([@bdraco] - [#113921])
+- Add a fast path for async_get_platform ([@bdraco] - [#113917])
+- Enable Ruff PT023, disable PT011, PT012, PT018 ([@autinerd] - [#113900])
+- Upgrade Modbus quality scale to platinum ([@janiversen] - [#113482])
+- Add diagnostics to Husqvarna Automower ([@Thomas55555] - [#111857])
+- modbus: Remove PARALLEL_UPDATES from base_platform ([@janiversen] - [#113928])
+- Split light fixture from implementation to only import when fixture is actually used ([@jpbede] - [#113892])
+- Add transmission-integration path and protocol ([@idelsink] - [#104334])
+- Remove AUX heating from demo climate ([@emontnemery] - [#113929])
+- Add Reolink hdd/sd card storage sensor ([@starkillerOG] - [#110961])
+- Bump Wandalen/wretry.action from 1.4.10 to 2.0.0 (@dependabot - [#113888])
+- Remove deprecated `hass.components` from flux switch tests and use fixture ([@jpbede] - [#113875])
+- Add Bluetooth support to La Marzocco integration ([@zweckj] - [#108287])
+- Add availability to Scrape config flow ([@gjohansson-ST] - [#105516])
+- Add select platform to Husqvarna Automower ([@Thomas55555] - [#113816])
+- Remove unrelated patching from scrape test ([@bdraco] - [#113951])
+- Add support for Shelly RPC devices custom TCP port ([@chemelli74] - [#110860])
+- Add Shelly RGB/RGBW profiles support ([@thecode] - [#113808])
+- Fix grammar in async_get_platform comment ([@bdraco] - [#113948])
+- Avoid writing HomeKit state to disk unless its missing ([@bdraco] - [#111970])
+- Improve user error messages for generic camera ([@davet2001] - [#112814])
+- Add guard to HomeAssistantError `__str__` method to prevent a recursive loop ([@jbouwh] - [#113913])
+- Bump pyenphase to 1.20.0 ([@catsmanac] - [#113963])
+- Fix argument name in async_update_ha_state warning message ([@MrXANA91] - [#113969])
+- Pre import mobile app platforms to avoid having to wait on them ([@bdraco] - [#113966])
+- Deprecate the panel_iframe integration ([@emontnemery] - [#113410])
+- Group wemo platform forwards to reduce overhead ([@bdraco] - [#113972])
+- Return default repairs flow for cloud TTS issues ([@ludeeus] - [#113981])
+- Correct HomeAssistantError __str__ implementation and test ([@jbouwh] - [#113991])
+- Update JVC Projector polling time to be more responsive for automations ([@msavazzi] - [#113765])
+- Add binary sensor platform to microBees ([@FedDam] - [#111190])
+- Add icon translations to Wiz ([@joostlek] - [#112358])
+- Add reformatting commits to .git-blame-ignore-revs ([@akx] - [#110481])
+- Add cover platform to microBees ([@FedDam] - [#111135])
+- Axis use entity descripton binary sensor platform ([@Kane610] - [#113705])
+- Remember entered IP when error happend while setting up HomeWizard ([@DCSBL] - [#113815])
+- Remove hourly weather entity from Aemet ([@gjohansson-ST] - [#110764])
+- Remove hourly weather entity from NWS ([@gjohansson-ST] - [#112503])
+- Add new HomeWizard Energy Socket to tests ([@DCSBL] - [#113406])
+- Use uv instead of pip on production images ([@edenhaus] - [#112496])
+- Remove deprecated `hass.components` from frontend tests ([@jpbede] - [#114011])
+- Remove deprecated `hass.components` from scene tests ([@jpbede] - [#114014])
+- Remove deprecated `hass.components` from zeroconf tests ([@jpbede] - [#114013])
+- Remove deprecated `hass.components` from conversation tests and use light setup fixture ([@jpbede] - [#114012])
+- Rename device to api in Axis integration ([@Kane610] - [#113965])
+- Tweak marking private methods in UniFi, no need to mark inner functio… ([@Kane610] - [#113964])
+- Speed up recorder startup by making schema query read only ([@bdraco] - [#113987])
+- Define and use entity description in Axis entity base class ([@Kane610] - [#114007])
+- Add home battery storage entities for enphase_envoy ([@catsmanac] - [#114015])
+- Add missing is_closed property to powerview tilt only entities ([@kingy444] - [#113792])
+- Improve deCONZ test_non_color_light_reports_color ([@Kane610] - [#114021])
+- Add ecobee indefinite away preset, remove unusable/broken presets ([@alexsydell] - [#108636])
+- Update pytest warnings filter ([@cdce8p] - [#114036])
+- Update byte string formatting (2) ([@cdce8p] - [#114039])
+- Update empty line formatting after module docstring ([@cdce8p] - [#114040])
+- Move powerview timeout logic to the upstream api ([@kingy444] - [#113984])
+- Improve axis tests ([@Kane610] - [#114035])
+- Combine recorder and frontend bootstrap step ([@bdraco] - [#113985])
+- Add Powerview Type 11 ([@kingy444] - [#114047])
+- Move setup of legacy device_tracker see service to legacy setup task ([@bdraco] - [#114043])
+- Fix missing linked device on Overkiz integration ([@Tronix117] - [#114006])
+- Load light profiles in a task to avoid delaying platform setup ([@bdraco] - [#114038])
+- Smhi add reconfigure step to config flow ([@gjohansson-ST] - [#114044])
+- Fix flakey stream hls test ([@bdraco] - [#114046])
+- Fix after deps not being considered for integrations before stage 1 ([@bdraco] - [#114045])
+- Fix building images for nightlies ([@edenhaus] - [#114054])
+- Show correct ipv6 address in System Monitor ([@gjohansson-ST] - [#114024])
+- Reduce sqlalchemy reflection overhead at recorder setup time ([@bdraco] - [#113989])
+- Migrate UpdateCoordinator to its own file in aurora_abb_powerone ([@davet2001] - [#114053])
+- Create registry matrix to run publishing for images in parallel ([@edenhaus] - [#114060])
+- Enable turn_on / turn_off features for HitachiAirToAirHeatPump in Overkiz ([@iMicknl] - [#112990])
+- Bump pyrisco to 0.6.0 ([@OnFreund] - [#114063])
+- Fix bug in roon media player to use correct 'seek position' while playing a track. ([@pavoni] - [#113999])
+- Bump holidays to 0.45 ([@gjohansson-ST] - [#114069])
+- Add Rachio smart hose timer support ([@brg468] - [#107901])
+- Add Lutron Serena tilt only wood blinds ([@wujiaqi] - [#113791])
+- Add Risco system binary sensors ([@OnFreund] - [#114062])
+- Use a constant to reference `homeassistant` domain ([@jbouwh] - [#113889])
+- Fix setup timings when config entry platform loads are not awaited ([@bdraco] - [#113959])
+- Refactor recorder states tests ([@bdraco] - [#114073])
+- Catch Mill timeout error ([@joostlek] - [#114068])
+- Fix Shelly WallDisplay device power ([@thecode] - [#114071])
+- Centralize loading Axis entities ([@Kane610] - [#114018])
+- Avoid creating inner function in EntityComponent setup ([@bdraco] - [#114050])
+- Add more sensors to aurora_abb_powerone ([@davet2001] - [#114074])
+- Add reconfigure step to holiday ([@gjohansson-ST] - [#114057])
+- Migrate nut to use aionut ([@bdraco] - [#114078])
+- Allow retry during Config Flow in Advantage Air ([@Bre77] - [#114083])
+- Small performance improvement to template expand ([@bdraco] - [#114086])
+- Optimize loading of translations ([@bdraco] - [#114089])
+- Bump gcal-sync to 6.0.4 ([@allenporter] - [#114085])
+- Bump tplink_omada to 1.3.12 for ER7212PC support ([@MarkGodwin] - [#114077])
+- Add vehicle config to coordinator to fix bug in Teslemetry ([@Bre77] - [#113850])
+- Improve blue current integration code ([@Floris272] - [#114004])
+- Add more sensors to aurora_abb_powerone (part 2) ([@davet2001] - [#114097])
+- Add reconfigure flow to Axis integration ([@Kane610] - [#114067])
+- Fix flapping device_tracker test_bad_platform test ([@bdraco] - [#114102])
+- Tado: fix 113982 ([@niro1987] - [#114109])
+- Fix launch library translation keys ([@LarsStegman] - [#114093])
+- Replace if in range check ([@cdce8p] - [#114107])
+- Bump xiaomi-ble to 0.28.0 ([@Ernst79] - [#114120])
+- Ensure discovery can setup legacy device tracker platforms ([@bdraco] - [#114101])
+- Fetch ServiceNotFound message from translation cache and fix super ([@jbouwh] - [#114084])
+- Use TypeVarTuple for add_job and run_job methods ([@cdce8p] - [#114122])
+- Fix google assistant diagnostics test ([@jbouwh] - [#114111])
+- Cancel config entry setup retry at shutdown ([@bdraco] - [#114124])
+- Bump aionut to 4.1.0 ([@bdraco] - [#114125])
+- Implement diagnostics platform for APCUPSD ([@yuxincs] - [#112284])
+- Bump aionut to 4.2.1 ([@bdraco] - [#114132])
+- Bump yolink-api to 0.4.1 fix water depth sensor error when device is not initialize ([@matrixd2] - [#113994])
+- Bump aionut to 4.3.2 ([@bdraco] - [#114142])
+- Covert system_log services to be callbacks ([@bdraco] - [#114143])
+- Add repair for UniFi Protect if RTSP is disabled on camera ([@AngellusMortis] - [#114088])
+- Bump github/codeql-action from 3.24.8 to 3.24.9 (@dependabot - [#114151])
+- Bump Wandalen/wretry.action from 2.0.0 to 2.1.0 (@dependabot - [#114150])
+- Bump vilfo-api-client to 0.5.0 ([@ManneW] - [#114082])
+- Update pre-commit to 3.7.0 ([@cdce8p] - [#114154])
+- Use uv and sort jobs in builder.yml ([@edenhaus] - [#114153])
+- Update pytest-asyncio to 0.23.6 ([@cdce8p] - [#114155])
+- Generate ConfigValidationError message from English translations ([@jbouwh] - [#113844])
+- Add climate fan modes for Airzone Cloud Aidoo devices ([@Noltari] - [#103574])
+- Update coverage to 7.4.4 ([@cdce8p] - [#114158])
+- Update pytest-timeout to 2.3.1 ([@cdce8p] - [#114161])
+- Update respx to 0.21.0 ([@cdce8p] - [#114163])
+- Update pipdeptree to 2.16.1 ([@cdce8p] - [#114159])
+- Bump plugwise to v0.37.1 ([@bouwew] - [#113245])
+- Update pyOpenSSL to 24.1.0 ([@cdce8p] - [#114165])
+- Update yamllint to 1.35.1 ([@cdce8p] - [#114166])
+- Update pytest-cov to 5.0.0 ([@cdce8p] - [#114160])
+- Allow debugging tests by default in vscode ([@jbouwh] - [#114065])
+- Update typing-extensions to 4.11.0rc1 ([@cdce8p] - [#114116])
+- Avoid homekit random id generation for existing entries ([@bdraco] - [#114144])
+- Remove hourly weather entity from met_eireann ([@gjohansson-ST] - [#112449])
+- Update types packages ([@cdce8p] - [#114164])
+- Fix spelling [runtime] ([@cdce8p] - [#114169])
+- Fix spelling [docstrings + comments] ([@cdce8p] - [#114168])
+- Update pytest-unordered to 0.6.0 ([@cdce8p] - [#114162])
+- Update codespell to 2.2.6 ([@cdce8p] - [#114167])
+- Use enums to define choices in tolo ([@MatthiasLohr] - [#113992])
+- Refactor homekit device linking to use the device index ([@bdraco] - [#114145])
+- Add Withings webhook manager ([@joostlek] - [#106311])
+- Add base entity to romy integration ([@xeniter] - [#113750])
+- Updated temp offset logging in tado component ([@343max] - [#106308])
+- Bump pywaze to 1.0.0 ([@eifinger] - [#108613])
+- Bump aioautomower to 2024.3.4 ([@Thomas55555] - [#114127])
+- Adapt to Axis library file structure changes ([@Kane610] - [#114181])
+- Fix Axis not generate unique IDs ([@Kane610] - [#114115])
+- Refactor options flow in dnsip ([@gjohansson-ST] - [#114058])
+- Add Ecovacs last job event entity ([@edenhaus] - [#113826])
+- Add reauth support to NUT ([@bdraco] - [#114131])
+- Add restrictions for listening to event_reported events ([@emontnemery] - [#114183])
+- Telegram bot proxy params deprecation ([@malkstar] - [#112778])
+- Add generic test component platform setup function ([@jpbede] - [#114016])
+- Fix Shelly reauth flow ([@thecode] - [#114180])
+- Improve test coverage mqtt discovery test ([@jbouwh] - [#114188])
+- Remove deprecated `hass.components` from system_health tests ([@jpbede] - [#114207])
+- Bump anyio to 4.3.0 ([@bdraco] - [#114198])
+- Bump ruff to 0.3.4 ([@joostlek] - [#112690])
+- Use new `setup_test_component_platform` helper instead of test fixture for light platform ([@jpbede] - [#114200])
+- Bump SQLAlchemy to 2.0.29 ([@bdraco] - [#114208])
+- Preload storage for integrations we know we are going to setup ([@bdraco] - [#114192])
+- Revert "Update typing-extensions to 4.11.0rc1 (#114116)" ([@cdce8p] - [#114216])
+- Rework Axis entity loader to have a better internal storage structure ([@Kane610] - [#114114])
+- Remove async_get_device_class_lookup from entity_registry ([@bdraco] - [#114212])
+- Add YoLink Water Meter Support ([@matrixd2] - [#114148])
+- Bump pyenphase to 1.20.1 ([@catsmanac] - [#114218])
+- Add Motionblinds BLE integration ([@LennP] - [#109497])
+- Fix motion blinds formatting ([@joostlek] - [#114222])
+- Allow pre-releases for "Adjust nightly version" only ([@edenhaus] - [#114219])
+- Add more timestamp sensors to swiss_public_transport ([@miaucl] - [#107916])
+- Add label template functions ([@frenck] - [#111024])
+- Implement Identify button and Cloud connection toggle for HomeWizard Watermeter ([@DCSBL] - [#113814])
+- Don't allow listening to state_reported in event triggers ([@emontnemery] - [#114191])
+- Add test to ensure non callback event filter is rejected ([@emontnemery] - [#114182])
+- Allow string formatting for dispatcher SignalType ([@cdce8p] - [#114174])
+- Add ruff commit to git-blame-ignore-revs ([@cdce8p] - [#114229])
+- Drop Python 3.11 support ([@frenck] - [#114220])
+- Bump motionblindsble to 0.0.9 ([@LennP] - [#114232])
+- Remove test cases for task eager_start <3.12 ([@cdce8p] - [#114243])
+- Default floor level to None (and allow unsetting it) ([@frenck] - [#114249])
+- Refactor Riemann sum integral sensor to prepare for time based trigger ([@ronweikamp] - [#113932])
+- Allow numeric state trigger/condition against zone entities ([@frenck] - [#114221])
+- Use `setup_test_component_platform` helper for update entity component tests instead of `hass.components` ([@jpbede] - [#114203])
+- Add label selector ([@frenck] - [#111029])
+- Small performance improvements to energy sensors ([@bdraco] - [#114149])
+- Bump bring-api to 0.5.7 ([@tr4nt0r] - [#114252])
+- Fix ruff-format on energy sensor ([@bdraco] - [#114261])
+- Restore scapy pin to >=2.5.0 ([@bdraco] - [#114253])
+- Remove unused code in ESPHome entry_data ([@bdraco] - [#114263])
+- Do not late import config_entry in `setup_test_component_platform` test helper ([@jpbede] - [#114260])
+- Use `setup_test_component_platform` func for number entity component tests instead of `hass.components` ([@jpbede] - [#114017])
+- Add Ollama conversation agent ([@synesthesiam] - [#113962])
+- Fix Opower accounts that report cost less regularly than usage ([@tronikos] - [#114034])
+- Combine tts cache init executor jobs ([@bdraco] - [#114271])
+- Add Motionblinds brand ([@LennP] - [#114235])
+- Bump actions/setup-python from 5.0.0 to 5.1.0 (@dependabot - [#114276])
+- Bump ondilo_ico to 0.4.0 ([@JeromeHXP] - [#114022])
+- Move SignalTypes to util ([@cdce8p] - [#114236])
+- Run recorder shutdown tasks eagerly ([@bdraco] - [#113018])
+- Refactor/fix search component, including labels & floors support ([@frenck] - [#114206])
+- Bump aiounifi to v73 ([@Kane610] - [#114278])
+- Avoid delaying automation/script startup for sample blueprints ([@bdraco] - [#114277])
+- Refactor yeelight scanner to avoid creating tasks to wait for scanner start ([@bdraco] - [#113919])
+- Add select to Motionblinds BLE integration ([@LennP] - [#114228])
+- Add buttons to Motionblinds BLE integration ([@LennP] - [#114227])
+- Address late review of 17track config flow ([@shaiu] - [#114283])
+- Remove hourly weather entity from metoffice ([@gjohansson-ST] - [#112452])
+- Allow Humidifier.current_humidity to be a float ([@cdce8p] - [#111297])
+- Do not override state property in `MockEntity` ([@jpbede] - [#114231])
+- Allow float for int argument type [pylint plugin] ([@cdce8p] - [#114105])
+- Use `setup_test_component_platform` func for cover entity component tests instead of `hass.components` ([@jpbede] - [#114010])
+- Update mypy-dev to 1.10.0a3 ([@cdce8p] - [#114289])
+- Record state.last_reported ([@emontnemery] - [#114201])
+- Add tests to Rova ([@joostlek] - [#114285])
+- Use SignalType to improve typing [esphome] ([@cdce8p] - [#114296])
+- Use SignalType to improve typing [bthome] ([@cdce8p] - [#114295])
+- Update bump_version.py to append also the time to nightlies and add possibility to set manual a nightly version ([@edenhaus] - [#114300])
+- Add coordinator to Rova ([@joostlek] - [#114288])
+- Use `setup_test_component_platform` helper for binary_sensor entity component tests instead of `hass.components` ([@jpbede] - [#114293])
+- Use SignalType to improve typing [core] ([@cdce8p] - [#114298])
+- Use `setup_test_component_platform` helper for alarm_control_panel entity component tests instead of `hass.components` ([@jpbede] - [#114301])
+- Fix missing powerview shade data when initial refresh fails ([@bdraco] - [#113033])
+- Fix version_bump --set-nightly-version ([@edenhaus] - [#114304])
+- Bump pyprusalink to 2.1.1 and support Prusa MK3 ([@the-ress] - [#114210])
+- Raise issue if not Rova area anymore ([@joostlek] - [#114309])
+- Fix exception when logging out from cloud ([@emontnemery] - [#114306])
+- Add support for PoE control of TP-Link Omada Gateways ([@MarkGodwin] - [#114138])
+- Start deprecation of auxiliary heater in ClimateEntity ([@gjohansson-ST] - [#112532])
+- Refactor switcher kis ([@YogevBokobza] - [#114281])
+- Migrate Rova to has entity name ([@joostlek] - [#114303])
+- Version Bump for WeatherFlow Cloud Backing Lib ([@jeeftor] - [#114302])
+- Finish ROVA init tests ([@joostlek] - [#114315])
+- Bump intents to 2024.3.27 ([@synesthesiam] - [#114312])
+- Change min and max humidity for MQTT climate and humidifier ([@jbouwh] - [#114292])
+- Remove deprecated forecast attribute from WeatherEntity ([@gjohansson-ST] - [#110761])
+- Defensively validate ZHA quirks v2 supplied entity metadata ([@dmulcahey] - [#112643])
+- Handle TypeError in Spotify ([@joostlek] - [#114317])
+- Fix icons for Motionblinds BLE integration ([@LennP] - [#114321])
+- Fix feedback in ROVA ([@joostlek] - [#114308])
+- Use SignalType to improve typing [homekit] ([@cdce8p] - [#114297])
+- Support the Home Assistant Connect ZBT-1 ([@puddly] - [#114213])
+- Update frontend to 20240327.0 ([@bramkragten] - [#114322])
+- Use fallback voice for selected language in cloud ([@MartinHjelmare] - [#114246])
+- Bump zha-quirks to 0.0.113 ([@TheJulianJES] - [#114311])
+- Bump pyduotecno to 2024.3.2 ([@Cereal2nd] - [#114320])
+- Fix Matter airconditioner discovery of climate platform ([@marcelveldt] - [#114326])
+- Avoid changing local time on Nobø Ecohub ([@oyvindwe] - [#114332])
+- Don't access States.last_reported_ts before it's added ([@emontnemery] - [#114333])
+- Download translations only once in the build pipeline ([@edenhaus] - [#114335])
+- Remove checked in translations ([@edenhaus] - [#114336])
+- Revert velocity change in powerview ([@bdraco] - [#114337])
+- Add more Ollama models ([@synesthesiam] - [#114339])
+- Bump fjaraskupan to 2.3.0 ([@elupus] - [#114344])
+- Fix empty delays in script helper ([@bdraco] - [#114346])
+- Bump pyunifiprotect to 5.1.2 ([@AngellusMortis] - [#114348])
+- Fix script for checking on existing translations ([@edenhaus] - [#114354])
+- Improve utility meter restore state tests ([@emontnemery] - [#114356])
+- Improve device class of utility meter ([@emontnemery] - [#114368])
+- Update pytile to 2023.12.0 ([@cdce8p] - [#114370])
+- Fix streamlabswater feedback ([@joostlek] - [#114371])
+- Fix Suez water feedback ([@joostlek] - [#114372])
+- Fix Swiss public transport feedback ([@joostlek] - [#114373])
+- Fix Lupusec feedback ([@joostlek] - [#114374])
+- Adapt Tractive integration the latest API changes ([@bieniu] - [#114380])
+- Fix hassfest service icons check for custom integrations ([@frenck] - [#114389])
+- Filter preferred TTS format options if not supported ([@synesthesiam] - [#114392])
+- Fix area search for entities of devices ([@frenck] - [#114394])
+- Update frontend to 20240328.0 ([@piitaya] - [#114396])
+- Bump aioraven to 0.5.3 ([@cottsay] - [#114397])
+- Follow real AtlanticPassAPCZoneControlZone physical mode on Overkiz (HEAT, COOL or HEAT_COOL) ([@Tronix117] - [#111830])
+- Add overkiz heating status, absence mode, and boost mode binary sensors for Atlantic Water Heater ([@ALERTua] - [#114184])
+- Add overkiz water targets temperature numbers for Atlantic water heater ([@ALERTua] - [#114185])
+- Add overkiz bottom tank water temperature and core control water temperature for Atlantic Water Heater ([@ALERTua] - [#114186])
+- Avoid concurrent radio operations with powerview hubs ([@bdraco] - [#114399])
+- Cleanup some plex tasks that delayed startup ([@bdraco] - [#114418])
+- Bump python-ring-doorbell to 0.8.8 ([@sdb9696] - [#114431])
+- Bump pyoverkiz to 1.13.9 ([@iMicknl] - [#114442])
+- Log warnings in Renault initialisation ([@epenet] - [#114445])
+- Bump async-upnp-client to 0.38.3 ([@StevenLooman] - [#114447])
+- Update frontend to 20240329.0 ([@piitaya] - [#114452])
+- Avoid tracking import executor jobs ([@bdraco] - [#114453])
+- Update frontend to 20240329.1 ([@piitaya] - [#114459])
+- Cleanup Shelly RGBW light entities ([@thecode] - [#114410])
+- Mark executor jobs as background unless created from a tracked task ([@bdraco] - [#114450])
+- Add initial support for floors to intents ([@synesthesiam] - [#114456])
+- Improve sonos test synchronization ([@bdraco] - [#114468])
+- Fix Overkiz Hitachi OVP air-to-air heat pump ([@dotvav] - [#114487])
+- Fix late load of anyio doing blocking I/O in the event loop ([@bdraco] - [#114491])
+- Fix workday doing blocking I/O in the event loop ([@bdraco] - [#114492])
+- Fix server update from breaking setup in Speedtest.NET ([@gjohansson-ST] - [#114524])
+- Bump axis to v60 ([@Kane610] - [#114544])
+- Fix wrong icons ([@joostlek] - [#114567])
+- Bump velbusaio to 2024.4.0 ([@Cereal2nd] - [#114569])
+- Reduce usage of executer threads in AVM Fritz!Tools ([@mib1185] - [#114570])
+- Filter out ignored entries in ssdp step of AVM Fritz!SmartHome ([@mib1185] - [#114574])
+- Bump plexapi to 4.15.11 ([@jjlawren] - [#114581])
+- Fix reolink media source data access ([@MartinHjelmare] - [#114593])
+- Bump zeroconf to 0.132.0 ([@bdraco] - [#114596])
+- Add missing platforms_exist guard to check_config ([@bdraco] - [#114600])
+- Fix memory leak when importing a platform fails ([@bdraco] - [#114602])
+- Avoid storing raw extracted traceback in system_log ([@bdraco] - [#114603])
+- Bump whirlpool-sixth-sense to 0.18.7 ([@mkmer] - [#114606])
+- Display sonos album title with URL encoding ([@PeteRager] - [#113693])
+- Bump roombapy to 1.8.1 ([@joostlek] - [#114478])
+- Improve Shelly RPC device update progress ([@bieniu] - [#114566])
+- Fix battery heater in Tessie ([@Bre77] - [#114568])
+- Add diagnostic platform to Whirlpool ([@mkmer] - [#114578])
+- Catch potential ValueError when getting or setting Starlink sleep values ([@boswelja] - [#114607])
+- Bump opower to 0.4.2 ([@max2697] - [#114608])
+- Add floor selector ([@frenck] - [#114614])
+- Fix Starlink integration startup issue ([@Fexiven] - [#114615])
+- Update frontend to 20240402.0 ([@bramkragten] - [#114627])
+- Reduce ZHA OTA logbook entries and extraneous updates ([@puddly] - [#114591])
+- Fix Overkiz Hitachi OVP air-to-air heat pump ([@dotvav] - [#114611])
+- Bump ring_doorbell integration to 0.8.9 ([@sdb9696] - [#114631])
+- Update frontend to 20240402.1 ([@bramkragten] - [#114646])
+- Fix Sonos play imported playlists ([@PeteRager] - [#113934])
+- Bump aiounifi to v74 ([@Kane610] - [#114649])
+- Add missing state to the Tractive tracker state sensor ([@bieniu] - [#114654])
+- Bump holidays to 0.46 ([@gjohansson-ST] - [#114657])
+- Avoid trying to load platform that are known to not exist in async_prepare_setup_platform ([@bdraco] - [#114659])
+- Update frontend to 20240402.2 ([@bramkragten] - [#114683])
+- Rename Motionblinds BLE integration to Motionblinds Bluetooth ([@LennP] - [#114584])
+- Bump flexit_bacnet to 2.2.1 ([@lellky] - [#114641])
+- Import zha quirks in the executor ([@dmulcahey] - [#114685])
+- Fix Downloader config flow ([@joostlek] - [#114718])
+- Avoid blocking IO in downloader config flow ([@joostlek] - [#114741])
+- Update frontend to 20240403.0 ([@bramkragten] - [#114747])
+- Allow passing area/device/entity IDs to floor_id and floor_name ([@edenhaus] - [#114748])
+- Bump intents ([@synesthesiam] - [#114755])
+- Update frontend to 20240403.1 ([@bramkragten] - [#114756])
+- Fix Synology DSM setup in case no Surveillance Station permission ([@mib1185] - [#114757])
+- Fix for Sonos URL encoding problem #102557 ([@IngoK1] - [#109518])
+- Use `setup_test_component_platform` helper for sensor entity component tests instead of `hass.components` ([@jpbede] - [#114316])
+
+
+## Release 2024.4.1 - April 5
+
+- Update aioairzone-cloud to v0.4.7 ([@Noltari] - [#114761])
+- Bump myuplink dependency to 0.6.0 ([@astrandb] - [#114767])
+- Update romy to 0.0.9 ([@cdce8p] - [#114360])
+- Update romy to 0.0.10 ([@xeniter] - [#114785])
+- Fix unhandled `KeyError` during Notion setup ([@bachya] - [#114787])
+- Fix Lutron light brightness values ([@cdheiser] - [#114794])
+- Fix type cast in snmp ([@lextm] - [#114795])
+- Handle ambiguous script actions by using action map order ([@bdraco] - [#114825])
+- Bump opower to 0.4.3 ([@tronikos] - [#114826])
+- Refactor ConfigStore to avoid needing to pass config_dir ([@bdraco] - [#114827])
+- Avoid blocking IO in downloader initialization ([@joostlek] - [#114841])
+- Fix Downloader YAML import ([@joostlek] - [#114844])
+- Update frontend to 20240404.0 ([@bramkragten] - [#114859])
+- Fix Axis camera platform support HTTPS ([@Kane610] - [#114886])
+- Bump weatherflow4py to 0.2.20 ([@jeeftor] - [#114888])
+- Fix Axis reconfigure step not providing protocols as alternatives but as string ([@Kane610] - [#114889])
+- Update frontend to 20240404.1 ([@bramkragten] - [#114890])
+- Ensure all tables have the default table args in the db_schema ([@bdraco] - [#114895])
+- Reduce august polling frequency ([@bdraco] - [#114904])
+- Show correct model string in myuplink ([@astrandb] - [#114921])
+- Create right import issues in Downloader ([@joostlek] - [#114922])
+- Fix cast dashboard in media browser ([@joostlek] - [#114924])
+- Pin systembridgemodels to 4.0.4 ([@timmo001] - [#114842])
+- Fix ROVA validation ([@joostlek] - [#114938])
+
+[#114360]: https://github.com/home-assistant/core/pull/114360
+[#114761]: https://github.com/home-assistant/core/pull/114761
+[#114764]: https://github.com/home-assistant/core/pull/114764
+[#114767]: https://github.com/home-assistant/core/pull/114767
+[#114785]: https://github.com/home-assistant/core/pull/114785
+[#114787]: https://github.com/home-assistant/core/pull/114787
+[#114794]: https://github.com/home-assistant/core/pull/114794
+[#114795]: https://github.com/home-assistant/core/pull/114795
+[#114825]: https://github.com/home-assistant/core/pull/114825
+[#114826]: https://github.com/home-assistant/core/pull/114826
+[#114827]: https://github.com/home-assistant/core/pull/114827
+[#114841]: https://github.com/home-assistant/core/pull/114841
+[#114842]: https://github.com/home-assistant/core/pull/114842
+[#114844]: https://github.com/home-assistant/core/pull/114844
+[#114859]: https://github.com/home-assistant/core/pull/114859
+[#114886]: https://github.com/home-assistant/core/pull/114886
+[#114888]: https://github.com/home-assistant/core/pull/114888
+[#114889]: https://github.com/home-assistant/core/pull/114889
+[#114890]: https://github.com/home-assistant/core/pull/114890
+[#114895]: https://github.com/home-assistant/core/pull/114895
+[#114904]: https://github.com/home-assistant/core/pull/114904
+[#114921]: https://github.com/home-assistant/core/pull/114921
+[#114922]: https://github.com/home-assistant/core/pull/114922
+[#114924]: https://github.com/home-assistant/core/pull/114924
+[#114938]: https://github.com/home-assistant/core/pull/114938
+[@Kane610]: https://github.com/Kane610
+[@Noltari]: https://github.com/Noltari
+[@astrandb]: https://github.com/astrandb
+[@bachya]: https://github.com/bachya
+[@bdraco]: https://github.com/bdraco
+[@bramkragten]: https://github.com/bramkragten
+[@cdce8p]: https://github.com/cdce8p
+[@cdheiser]: https://github.com/cdheiser
+[@frenck]: https://github.com/frenck
+[@jeeftor]: https://github.com/jeeftor
+[@joostlek]: https://github.com/joostlek
+[@lextm]: https://github.com/lextm
+[@timmo001]: https://github.com/timmo001
+[@tronikos]: https://github.com/tronikos
+[@xeniter]: https://github.com/xeniter
+
+[#100055]: https://github.com/home-assistant/core/pull/100055
+[#102333]: https://github.com/home-assistant/core/pull/102333
+[#102884]: https://github.com/home-assistant/core/pull/102884
+[#103057]: https://github.com/home-assistant/core/pull/103057
+[#103139]: https://github.com/home-assistant/core/pull/103139
+[#103564]: https://github.com/home-assistant/core/pull/103564
+[#103574]: https://github.com/home-assistant/core/pull/103574
+[#104095]: https://github.com/home-assistant/core/pull/104095
+[#104334]: https://github.com/home-assistant/core/pull/104334
+[#104492]: https://github.com/home-assistant/core/pull/104492
+[#104604]: https://github.com/home-assistant/core/pull/104604
+[#104737]: https://github.com/home-assistant/core/pull/104737
+[#104975]: https://github.com/home-assistant/core/pull/104975
+[#105516]: https://github.com/home-assistant/core/pull/105516
+[#105643]: https://github.com/home-assistant/core/pull/105643
+[#105697]: https://github.com/home-assistant/core/pull/105697
+[#105755]: https://github.com/home-assistant/core/pull/105755
+[#105756]: https://github.com/home-assistant/core/pull/105756
+[#105795]: https://github.com/home-assistant/core/pull/105795
+[#105967]: https://github.com/home-assistant/core/pull/105967
+[#106308]: https://github.com/home-assistant/core/pull/106308
+[#106311]: https://github.com/home-assistant/core/pull/106311
+[#107901]: https://github.com/home-assistant/core/pull/107901
+[#107916]: https://github.com/home-assistant/core/pull/107916
+[#107957]: https://github.com/home-assistant/core/pull/107957
+[#108152]: https://github.com/home-assistant/core/pull/108152
+[#108287]: https://github.com/home-assistant/core/pull/108287
+[#108596]: https://github.com/home-assistant/core/pull/108596
+[#108613]: https://github.com/home-assistant/core/pull/108613
+[#108636]: https://github.com/home-assistant/core/pull/108636
+[#108709]: https://github.com/home-assistant/core/pull/108709
+[#108781]: https://github.com/home-assistant/core/pull/108781
+[#108789]: https://github.com/home-assistant/core/pull/108789
+[#108794]: https://github.com/home-assistant/core/pull/108794
+[#108949]: https://github.com/home-assistant/core/pull/108949
+[#109080]: https://github.com/home-assistant/core/pull/109080
+[#109088]: https://github.com/home-assistant/core/pull/109088
+[#109185]: https://github.com/home-assistant/core/pull/109185
+[#109497]: https://github.com/home-assistant/core/pull/109497
+[#109518]: https://github.com/home-assistant/core/pull/109518
+[#109662]: https://github.com/home-assistant/core/pull/109662
+[#109819]: https://github.com/home-assistant/core/pull/109819
+[#109821]: https://github.com/home-assistant/core/pull/109821
+[#109893]: https://github.com/home-assistant/core/pull/109893
+[#109930]: https://github.com/home-assistant/core/pull/109930
+[#110297]: https://github.com/home-assistant/core/pull/110297
+[#110327]: https://github.com/home-assistant/core/pull/110327
+[#110481]: https://github.com/home-assistant/core/pull/110481
+[#110483]: https://github.com/home-assistant/core/pull/110483
+[#110492]: https://github.com/home-assistant/core/pull/110492
+[#110761]: https://github.com/home-assistant/core/pull/110761
+[#110764]: https://github.com/home-assistant/core/pull/110764
+[#110816]: https://github.com/home-assistant/core/pull/110816
+[#110847]: https://github.com/home-assistant/core/pull/110847
+[#110850]: https://github.com/home-assistant/core/pull/110850
+[#110860]: https://github.com/home-assistant/core/pull/110860
+[#110885]: https://github.com/home-assistant/core/pull/110885
+[#110897]: https://github.com/home-assistant/core/pull/110897
+[#110906]: https://github.com/home-assistant/core/pull/110906
+[#110961]: https://github.com/home-assistant/core/pull/110961
+[#110997]: https://github.com/home-assistant/core/pull/110997
+[#111024]: https://github.com/home-assistant/core/pull/111024
+[#111029]: https://github.com/home-assistant/core/pull/111029
+[#111135]: https://github.com/home-assistant/core/pull/111135
+[#111156]: https://github.com/home-assistant/core/pull/111156
+[#111161]: https://github.com/home-assistant/core/pull/111161
+[#111190]: https://github.com/home-assistant/core/pull/111190
+[#111196]: https://github.com/home-assistant/core/pull/111196
+[#111258]: https://github.com/home-assistant/core/pull/111258
+[#111289]: https://github.com/home-assistant/core/pull/111289
+[#111292]: https://github.com/home-assistant/core/pull/111292
+[#111297]: https://github.com/home-assistant/core/pull/111297
+[#111325]: https://github.com/home-assistant/core/pull/111325
+[#111344]: https://github.com/home-assistant/core/pull/111344
+[#111349]: https://github.com/home-assistant/core/pull/111349
+[#111386]: https://github.com/home-assistant/core/pull/111386
+[#111391]: https://github.com/home-assistant/core/pull/111391
+[#111403]: https://github.com/home-assistant/core/pull/111403
+[#111419]: https://github.com/home-assistant/core/pull/111419
+[#111423]: https://github.com/home-assistant/core/pull/111423
+[#111431]: https://github.com/home-assistant/core/pull/111431
+[#111440]: https://github.com/home-assistant/core/pull/111440
+[#111466]: https://github.com/home-assistant/core/pull/111466
+[#111502]: https://github.com/home-assistant/core/pull/111502
+[#111512]: https://github.com/home-assistant/core/pull/111512
+[#111514]: https://github.com/home-assistant/core/pull/111514
+[#111525]: https://github.com/home-assistant/core/pull/111525
+[#111526]: https://github.com/home-assistant/core/pull/111526
+[#111532]: https://github.com/home-assistant/core/pull/111532
+[#111540]: https://github.com/home-assistant/core/pull/111540
+[#111545]: https://github.com/home-assistant/core/pull/111545
+[#111548]: https://github.com/home-assistant/core/pull/111548
+[#111614]: https://github.com/home-assistant/core/pull/111614
+[#111666]: https://github.com/home-assistant/core/pull/111666
+[#111676]: https://github.com/home-assistant/core/pull/111676
+[#111683]: https://github.com/home-assistant/core/pull/111683
+[#111687]: https://github.com/home-assistant/core/pull/111687
+[#111688]: https://github.com/home-assistant/core/pull/111688
+[#111700]: https://github.com/home-assistant/core/pull/111700
+[#111706]: https://github.com/home-assistant/core/pull/111706
+[#111709]: https://github.com/home-assistant/core/pull/111709
+[#111725]: https://github.com/home-assistant/core/pull/111725
+[#111727]: https://github.com/home-assistant/core/pull/111727
+[#111747]: https://github.com/home-assistant/core/pull/111747
+[#111754]: https://github.com/home-assistant/core/pull/111754
+[#111755]: https://github.com/home-assistant/core/pull/111755
+[#111758]: https://github.com/home-assistant/core/pull/111758
+[#111761]: https://github.com/home-assistant/core/pull/111761
+[#111767]: https://github.com/home-assistant/core/pull/111767
+[#111798]: https://github.com/home-assistant/core/pull/111798
+[#111804]: https://github.com/home-assistant/core/pull/111804
+[#111805]: https://github.com/home-assistant/core/pull/111805
+[#111806]: https://github.com/home-assistant/core/pull/111806
+[#111807]: https://github.com/home-assistant/core/pull/111807
+[#111808]: https://github.com/home-assistant/core/pull/111808
+[#111809]: https://github.com/home-assistant/core/pull/111809
+[#111810]: https://github.com/home-assistant/core/pull/111810
+[#111811]: https://github.com/home-assistant/core/pull/111811
+[#111812]: https://github.com/home-assistant/core/pull/111812
+[#111813]: https://github.com/home-assistant/core/pull/111813
+[#111814]: https://github.com/home-assistant/core/pull/111814
+[#111816]: https://github.com/home-assistant/core/pull/111816
+[#111824]: https://github.com/home-assistant/core/pull/111824
+[#111827]: https://github.com/home-assistant/core/pull/111827
+[#111830]: https://github.com/home-assistant/core/pull/111830
+[#111842]: https://github.com/home-assistant/core/pull/111842
+[#111844]: https://github.com/home-assistant/core/pull/111844
+[#111845]: https://github.com/home-assistant/core/pull/111845
+[#111846]: https://github.com/home-assistant/core/pull/111846
+[#111847]: https://github.com/home-assistant/core/pull/111847
+[#111848]: https://github.com/home-assistant/core/pull/111848
+[#111849]: https://github.com/home-assistant/core/pull/111849
+[#111850]: https://github.com/home-assistant/core/pull/111850
+[#111851]: https://github.com/home-assistant/core/pull/111851
+[#111852]: https://github.com/home-assistant/core/pull/111852
+[#111853]: https://github.com/home-assistant/core/pull/111853
+[#111854]: https://github.com/home-assistant/core/pull/111854
+[#111855]: https://github.com/home-assistant/core/pull/111855
+[#111856]: https://github.com/home-assistant/core/pull/111856
+[#111857]: https://github.com/home-assistant/core/pull/111857
+[#111861]: https://github.com/home-assistant/core/pull/111861
+[#111862]: https://github.com/home-assistant/core/pull/111862
+[#111863]: https://github.com/home-assistant/core/pull/111863
+[#111864]: https://github.com/home-assistant/core/pull/111864
+[#111865]: https://github.com/home-assistant/core/pull/111865
+[#111866]: https://github.com/home-assistant/core/pull/111866
+[#111878]: https://github.com/home-assistant/core/pull/111878
+[#111880]: https://github.com/home-assistant/core/pull/111880
+[#111881]: https://github.com/home-assistant/core/pull/111881
+[#111883]: https://github.com/home-assistant/core/pull/111883
+[#111888]: https://github.com/home-assistant/core/pull/111888
+[#111891]: https://github.com/home-assistant/core/pull/111891
+[#111893]: https://github.com/home-assistant/core/pull/111893
+[#111895]: https://github.com/home-assistant/core/pull/111895
+[#111896]: https://github.com/home-assistant/core/pull/111896
+[#111897]: https://github.com/home-assistant/core/pull/111897
+[#111899]: https://github.com/home-assistant/core/pull/111899
+[#111900]: https://github.com/home-assistant/core/pull/111900
+[#111901]: https://github.com/home-assistant/core/pull/111901
+[#111902]: https://github.com/home-assistant/core/pull/111902
+[#111904]: https://github.com/home-assistant/core/pull/111904
+[#111905]: https://github.com/home-assistant/core/pull/111905
+[#111906]: https://github.com/home-assistant/core/pull/111906
+[#111907]: https://github.com/home-assistant/core/pull/111907
+[#111908]: https://github.com/home-assistant/core/pull/111908
+[#111911]: https://github.com/home-assistant/core/pull/111911
+[#111912]: https://github.com/home-assistant/core/pull/111912
+[#111916]: https://github.com/home-assistant/core/pull/111916
+[#111917]: https://github.com/home-assistant/core/pull/111917
+[#111927]: https://github.com/home-assistant/core/pull/111927
+[#111928]: https://github.com/home-assistant/core/pull/111928
+[#111929]: https://github.com/home-assistant/core/pull/111929
+[#111932]: https://github.com/home-assistant/core/pull/111932
+[#111933]: https://github.com/home-assistant/core/pull/111933
+[#111934]: https://github.com/home-assistant/core/pull/111934
+[#111935]: https://github.com/home-assistant/core/pull/111935
+[#111936]: https://github.com/home-assistant/core/pull/111936
+[#111940]: https://github.com/home-assistant/core/pull/111940
+[#111943]: https://github.com/home-assistant/core/pull/111943
+[#111945]: https://github.com/home-assistant/core/pull/111945
+[#111946]: https://github.com/home-assistant/core/pull/111946
+[#111947]: https://github.com/home-assistant/core/pull/111947
+[#111949]: https://github.com/home-assistant/core/pull/111949
+[#111952]: https://github.com/home-assistant/core/pull/111952
+[#111954]: https://github.com/home-assistant/core/pull/111954
+[#111955]: https://github.com/home-assistant/core/pull/111955
+[#111964]: https://github.com/home-assistant/core/pull/111964
+[#111965]: https://github.com/home-assistant/core/pull/111965
+[#111970]: https://github.com/home-assistant/core/pull/111970
+[#111972]: https://github.com/home-assistant/core/pull/111972
+[#111973]: https://github.com/home-assistant/core/pull/111973
+[#111974]: https://github.com/home-assistant/core/pull/111974
+[#111976]: https://github.com/home-assistant/core/pull/111976
+[#111977]: https://github.com/home-assistant/core/pull/111977
+[#111980]: https://github.com/home-assistant/core/pull/111980
+[#111981]: https://github.com/home-assistant/core/pull/111981
+[#111982]: https://github.com/home-assistant/core/pull/111982
+[#111983]: https://github.com/home-assistant/core/pull/111983
+[#111984]: https://github.com/home-assistant/core/pull/111984
+[#111985]: https://github.com/home-assistant/core/pull/111985
+[#111988]: https://github.com/home-assistant/core/pull/111988
+[#111989]: https://github.com/home-assistant/core/pull/111989
+[#111990]: https://github.com/home-assistant/core/pull/111990
+[#111991]: https://github.com/home-assistant/core/pull/111991
+[#111992]: https://github.com/home-assistant/core/pull/111992
+[#111993]: https://github.com/home-assistant/core/pull/111993
+[#111994]: https://github.com/home-assistant/core/pull/111994
+[#111995]: https://github.com/home-assistant/core/pull/111995
+[#111996]: https://github.com/home-assistant/core/pull/111996
+[#111997]: https://github.com/home-assistant/core/pull/111997
+[#111998]: https://github.com/home-assistant/core/pull/111998
+[#112001]: https://github.com/home-assistant/core/pull/112001
+[#112004]: https://github.com/home-assistant/core/pull/112004
+[#112007]: https://github.com/home-assistant/core/pull/112007
+[#112008]: https://github.com/home-assistant/core/pull/112008
+[#112010]: https://github.com/home-assistant/core/pull/112010
+[#112028]: https://github.com/home-assistant/core/pull/112028
+[#112029]: https://github.com/home-assistant/core/pull/112029
+[#112031]: https://github.com/home-assistant/core/pull/112031
+[#112032]: https://github.com/home-assistant/core/pull/112032
+[#112042]: https://github.com/home-assistant/core/pull/112042
+[#112044]: https://github.com/home-assistant/core/pull/112044
+[#112053]: https://github.com/home-assistant/core/pull/112053
+[#112055]: https://github.com/home-assistant/core/pull/112055
+[#112057]: https://github.com/home-assistant/core/pull/112057
+[#112058]: https://github.com/home-assistant/core/pull/112058
+[#112065]: https://github.com/home-assistant/core/pull/112065
+[#112070]: https://github.com/home-assistant/core/pull/112070
+[#112071]: https://github.com/home-assistant/core/pull/112071
+[#112077]: https://github.com/home-assistant/core/pull/112077
+[#112078]: https://github.com/home-assistant/core/pull/112078
+[#112080]: https://github.com/home-assistant/core/pull/112080
+[#112081]: https://github.com/home-assistant/core/pull/112081
+[#112086]: https://github.com/home-assistant/core/pull/112086
+[#112087]: https://github.com/home-assistant/core/pull/112087
+[#112089]: https://github.com/home-assistant/core/pull/112089
+[#112096]: https://github.com/home-assistant/core/pull/112096
+[#112097]: https://github.com/home-assistant/core/pull/112097
+[#112099]: https://github.com/home-assistant/core/pull/112099
+[#112102]: https://github.com/home-assistant/core/pull/112102
+[#112103]: https://github.com/home-assistant/core/pull/112103
+[#112104]: https://github.com/home-assistant/core/pull/112104
+[#112106]: https://github.com/home-assistant/core/pull/112106
+[#112107]: https://github.com/home-assistant/core/pull/112107
+[#112108]: https://github.com/home-assistant/core/pull/112108
+[#112109]: https://github.com/home-assistant/core/pull/112109
+[#112110]: https://github.com/home-assistant/core/pull/112110
+[#112111]: https://github.com/home-assistant/core/pull/112111
+[#112120]: https://github.com/home-assistant/core/pull/112120
+[#112121]: https://github.com/home-assistant/core/pull/112121
+[#112122]: https://github.com/home-assistant/core/pull/112122
+[#112123]: https://github.com/home-assistant/core/pull/112123
+[#112126]: https://github.com/home-assistant/core/pull/112126
+[#112127]: https://github.com/home-assistant/core/pull/112127
+[#112128]: https://github.com/home-assistant/core/pull/112128
+[#112129]: https://github.com/home-assistant/core/pull/112129
+[#112130]: https://github.com/home-assistant/core/pull/112130
+[#112131]: https://github.com/home-assistant/core/pull/112131
+[#112132]: https://github.com/home-assistant/core/pull/112132
+[#112134]: https://github.com/home-assistant/core/pull/112134
+[#112135]: https://github.com/home-assistant/core/pull/112135
+[#112136]: https://github.com/home-assistant/core/pull/112136
+[#112141]: https://github.com/home-assistant/core/pull/112141
+[#112143]: https://github.com/home-assistant/core/pull/112143
+[#112144]: https://github.com/home-assistant/core/pull/112144
+[#112145]: https://github.com/home-assistant/core/pull/112145
+[#112147]: https://github.com/home-assistant/core/pull/112147
+[#112148]: https://github.com/home-assistant/core/pull/112148
+[#112149]: https://github.com/home-assistant/core/pull/112149
+[#112151]: https://github.com/home-assistant/core/pull/112151
+[#112153]: https://github.com/home-assistant/core/pull/112153
+[#112155]: https://github.com/home-assistant/core/pull/112155
+[#112156]: https://github.com/home-assistant/core/pull/112156
+[#112158]: https://github.com/home-assistant/core/pull/112158
+[#112159]: https://github.com/home-assistant/core/pull/112159
+[#112160]: https://github.com/home-assistant/core/pull/112160
+[#112161]: https://github.com/home-assistant/core/pull/112161
+[#112162]: https://github.com/home-assistant/core/pull/112162
+[#112164]: https://github.com/home-assistant/core/pull/112164
+[#112166]: https://github.com/home-assistant/core/pull/112166
+[#112168]: https://github.com/home-assistant/core/pull/112168
+[#112169]: https://github.com/home-assistant/core/pull/112169
+[#112170]: https://github.com/home-assistant/core/pull/112170
+[#112172]: https://github.com/home-assistant/core/pull/112172
+[#112173]: https://github.com/home-assistant/core/pull/112173
+[#112174]: https://github.com/home-assistant/core/pull/112174
+[#112175]: https://github.com/home-assistant/core/pull/112175
+[#112177]: https://github.com/home-assistant/core/pull/112177
+[#112179]: https://github.com/home-assistant/core/pull/112179
+[#112180]: https://github.com/home-assistant/core/pull/112180
+[#112181]: https://github.com/home-assistant/core/pull/112181
+[#112182]: https://github.com/home-assistant/core/pull/112182
+[#112183]: https://github.com/home-assistant/core/pull/112183
+[#112184]: https://github.com/home-assistant/core/pull/112184
+[#112185]: https://github.com/home-assistant/core/pull/112185
+[#112186]: https://github.com/home-assistant/core/pull/112186
+[#112187]: https://github.com/home-assistant/core/pull/112187
+[#112188]: https://github.com/home-assistant/core/pull/112188
+[#112189]: https://github.com/home-assistant/core/pull/112189
+[#112190]: https://github.com/home-assistant/core/pull/112190
+[#112192]: https://github.com/home-assistant/core/pull/112192
+[#112193]: https://github.com/home-assistant/core/pull/112193
+[#112194]: https://github.com/home-assistant/core/pull/112194
+[#112195]: https://github.com/home-assistant/core/pull/112195
+[#112196]: https://github.com/home-assistant/core/pull/112196
+[#112197]: https://github.com/home-assistant/core/pull/112197
+[#112198]: https://github.com/home-assistant/core/pull/112198
+[#112200]: https://github.com/home-assistant/core/pull/112200
+[#112201]: https://github.com/home-assistant/core/pull/112201
+[#112202]: https://github.com/home-assistant/core/pull/112202
+[#112203]: https://github.com/home-assistant/core/pull/112203
+[#112204]: https://github.com/home-assistant/core/pull/112204
+[#112205]: https://github.com/home-assistant/core/pull/112205
+[#112207]: https://github.com/home-assistant/core/pull/112207
+[#112208]: https://github.com/home-assistant/core/pull/112208
+[#112209]: https://github.com/home-assistant/core/pull/112209
+[#112210]: https://github.com/home-assistant/core/pull/112210
+[#112211]: https://github.com/home-assistant/core/pull/112211
+[#112212]: https://github.com/home-assistant/core/pull/112212
+[#112213]: https://github.com/home-assistant/core/pull/112213
+[#112214]: https://github.com/home-assistant/core/pull/112214
+[#112215]: https://github.com/home-assistant/core/pull/112215
+[#112217]: https://github.com/home-assistant/core/pull/112217
+[#112218]: https://github.com/home-assistant/core/pull/112218
+[#112219]: https://github.com/home-assistant/core/pull/112219
+[#112220]: https://github.com/home-assistant/core/pull/112220
+[#112221]: https://github.com/home-assistant/core/pull/112221
+[#112222]: https://github.com/home-assistant/core/pull/112222
+[#112223]: https://github.com/home-assistant/core/pull/112223
+[#112224]: https://github.com/home-assistant/core/pull/112224
+[#112225]: https://github.com/home-assistant/core/pull/112225
+[#112226]: https://github.com/home-assistant/core/pull/112226
+[#112227]: https://github.com/home-assistant/core/pull/112227
+[#112228]: https://github.com/home-assistant/core/pull/112228
+[#112229]: https://github.com/home-assistant/core/pull/112229
+[#112230]: https://github.com/home-assistant/core/pull/112230
+[#112231]: https://github.com/home-assistant/core/pull/112231
+[#112232]: https://github.com/home-assistant/core/pull/112232
+[#112233]: https://github.com/home-assistant/core/pull/112233
+[#112234]: https://github.com/home-assistant/core/pull/112234
+[#112235]: https://github.com/home-assistant/core/pull/112235
+[#112236]: https://github.com/home-assistant/core/pull/112236
+[#112237]: https://github.com/home-assistant/core/pull/112237
+[#112239]: https://github.com/home-assistant/core/pull/112239
+[#112240]: https://github.com/home-assistant/core/pull/112240
+[#112241]: https://github.com/home-assistant/core/pull/112241
+[#112244]: https://github.com/home-assistant/core/pull/112244
+[#112246]: https://github.com/home-assistant/core/pull/112246
+[#112247]: https://github.com/home-assistant/core/pull/112247
+[#112252]: https://github.com/home-assistant/core/pull/112252
+[#112253]: https://github.com/home-assistant/core/pull/112253
+[#112254]: https://github.com/home-assistant/core/pull/112254
+[#112256]: https://github.com/home-assistant/core/pull/112256
+[#112267]: https://github.com/home-assistant/core/pull/112267
+[#112268]: https://github.com/home-assistant/core/pull/112268
+[#112269]: https://github.com/home-assistant/core/pull/112269
+[#112275]: https://github.com/home-assistant/core/pull/112275
+[#112276]: https://github.com/home-assistant/core/pull/112276
+[#112277]: https://github.com/home-assistant/core/pull/112277
+[#112281]: https://github.com/home-assistant/core/pull/112281
+[#112282]: https://github.com/home-assistant/core/pull/112282
+[#112284]: https://github.com/home-assistant/core/pull/112284
+[#112286]: https://github.com/home-assistant/core/pull/112286
+[#112288]: https://github.com/home-assistant/core/pull/112288
+[#112289]: https://github.com/home-assistant/core/pull/112289
+[#112290]: https://github.com/home-assistant/core/pull/112290
+[#112291]: https://github.com/home-assistant/core/pull/112291
+[#112292]: https://github.com/home-assistant/core/pull/112292
+[#112293]: https://github.com/home-assistant/core/pull/112293
+[#112294]: https://github.com/home-assistant/core/pull/112294
+[#112295]: https://github.com/home-assistant/core/pull/112295
+[#112296]: https://github.com/home-assistant/core/pull/112296
+[#112297]: https://github.com/home-assistant/core/pull/112297
+[#112299]: https://github.com/home-assistant/core/pull/112299
+[#112300]: https://github.com/home-assistant/core/pull/112300
+[#112301]: https://github.com/home-assistant/core/pull/112301
+[#112302]: https://github.com/home-assistant/core/pull/112302
+[#112303]: https://github.com/home-assistant/core/pull/112303
+[#112304]: https://github.com/home-assistant/core/pull/112304
+[#112305]: https://github.com/home-assistant/core/pull/112305
+[#112306]: https://github.com/home-assistant/core/pull/112306
+[#112307]: https://github.com/home-assistant/core/pull/112307
+[#112308]: https://github.com/home-assistant/core/pull/112308
+[#112309]: https://github.com/home-assistant/core/pull/112309
+[#112310]: https://github.com/home-assistant/core/pull/112310
+[#112311]: https://github.com/home-assistant/core/pull/112311
+[#112312]: https://github.com/home-assistant/core/pull/112312
+[#112313]: https://github.com/home-assistant/core/pull/112313
+[#112314]: https://github.com/home-assistant/core/pull/112314
+[#112315]: https://github.com/home-assistant/core/pull/112315
+[#112316]: https://github.com/home-assistant/core/pull/112316
+[#112317]: https://github.com/home-assistant/core/pull/112317
+[#112318]: https://github.com/home-assistant/core/pull/112318
+[#112319]: https://github.com/home-assistant/core/pull/112319
+[#112320]: https://github.com/home-assistant/core/pull/112320
+[#112321]: https://github.com/home-assistant/core/pull/112321
+[#112322]: https://github.com/home-assistant/core/pull/112322
+[#112323]: https://github.com/home-assistant/core/pull/112323
+[#112324]: https://github.com/home-assistant/core/pull/112324
+[#112325]: https://github.com/home-assistant/core/pull/112325
+[#112326]: https://github.com/home-assistant/core/pull/112326
+[#112327]: https://github.com/home-assistant/core/pull/112327
+[#112328]: https://github.com/home-assistant/core/pull/112328
+[#112329]: https://github.com/home-assistant/core/pull/112329
+[#112330]: https://github.com/home-assistant/core/pull/112330
+[#112332]: https://github.com/home-assistant/core/pull/112332
+[#112333]: https://github.com/home-assistant/core/pull/112333
+[#112335]: https://github.com/home-assistant/core/pull/112335
+[#112336]: https://github.com/home-assistant/core/pull/112336
+[#112338]: https://github.com/home-assistant/core/pull/112338
+[#112339]: https://github.com/home-assistant/core/pull/112339
+[#112340]: https://github.com/home-assistant/core/pull/112340
+[#112341]: https://github.com/home-assistant/core/pull/112341
+[#112342]: https://github.com/home-assistant/core/pull/112342
+[#112343]: https://github.com/home-assistant/core/pull/112343
+[#112344]: https://github.com/home-assistant/core/pull/112344
+[#112345]: https://github.com/home-assistant/core/pull/112345
+[#112346]: https://github.com/home-assistant/core/pull/112346
+[#112347]: https://github.com/home-assistant/core/pull/112347
+[#112348]: https://github.com/home-assistant/core/pull/112348
+[#112349]: https://github.com/home-assistant/core/pull/112349
+[#112350]: https://github.com/home-assistant/core/pull/112350
+[#112351]: https://github.com/home-assistant/core/pull/112351
+[#112352]: https://github.com/home-assistant/core/pull/112352
+[#112353]: https://github.com/home-assistant/core/pull/112353
+[#112354]: https://github.com/home-assistant/core/pull/112354
+[#112355]: https://github.com/home-assistant/core/pull/112355
+[#112356]: https://github.com/home-assistant/core/pull/112356
+[#112357]: https://github.com/home-assistant/core/pull/112357
+[#112358]: https://github.com/home-assistant/core/pull/112358
+[#112359]: https://github.com/home-assistant/core/pull/112359
+[#112360]: https://github.com/home-assistant/core/pull/112360
+[#112361]: https://github.com/home-assistant/core/pull/112361
+[#112362]: https://github.com/home-assistant/core/pull/112362
+[#112363]: https://github.com/home-assistant/core/pull/112363
+[#112364]: https://github.com/home-assistant/core/pull/112364
+[#112365]: https://github.com/home-assistant/core/pull/112365
+[#112366]: https://github.com/home-assistant/core/pull/112366
+[#112367]: https://github.com/home-assistant/core/pull/112367
+[#112368]: https://github.com/home-assistant/core/pull/112368
+[#112369]: https://github.com/home-assistant/core/pull/112369
+[#112370]: https://github.com/home-assistant/core/pull/112370
+[#112372]: https://github.com/home-assistant/core/pull/112372
+[#112373]: https://github.com/home-assistant/core/pull/112373
+[#112374]: https://github.com/home-assistant/core/pull/112374
+[#112375]: https://github.com/home-assistant/core/pull/112375
+[#112376]: https://github.com/home-assistant/core/pull/112376
+[#112377]: https://github.com/home-assistant/core/pull/112377
+[#112378]: https://github.com/home-assistant/core/pull/112378
+[#112379]: https://github.com/home-assistant/core/pull/112379
+[#112380]: https://github.com/home-assistant/core/pull/112380
+[#112382]: https://github.com/home-assistant/core/pull/112382
+[#112383]: https://github.com/home-assistant/core/pull/112383
+[#112384]: https://github.com/home-assistant/core/pull/112384
+[#112385]: https://github.com/home-assistant/core/pull/112385
+[#112386]: https://github.com/home-assistant/core/pull/112386
+[#112389]: https://github.com/home-assistant/core/pull/112389
+[#112390]: https://github.com/home-assistant/core/pull/112390
+[#112391]: https://github.com/home-assistant/core/pull/112391
+[#112393]: https://github.com/home-assistant/core/pull/112393
+[#112394]: https://github.com/home-assistant/core/pull/112394
+[#112395]: https://github.com/home-assistant/core/pull/112395
+[#112396]: https://github.com/home-assistant/core/pull/112396
+[#112397]: https://github.com/home-assistant/core/pull/112397
+[#112398]: https://github.com/home-assistant/core/pull/112398
+[#112399]: https://github.com/home-assistant/core/pull/112399
+[#112400]: https://github.com/home-assistant/core/pull/112400
+[#112401]: https://github.com/home-assistant/core/pull/112401
+[#112402]: https://github.com/home-assistant/core/pull/112402
+[#112405]: https://github.com/home-assistant/core/pull/112405
+[#112407]: https://github.com/home-assistant/core/pull/112407
+[#112408]: https://github.com/home-assistant/core/pull/112408
+[#112409]: https://github.com/home-assistant/core/pull/112409
+[#112410]: https://github.com/home-assistant/core/pull/112410
+[#112411]: https://github.com/home-assistant/core/pull/112411
+[#112412]: https://github.com/home-assistant/core/pull/112412
+[#112418]: https://github.com/home-assistant/core/pull/112418
+[#112419]: https://github.com/home-assistant/core/pull/112419
+[#112420]: https://github.com/home-assistant/core/pull/112420
+[#112423]: https://github.com/home-assistant/core/pull/112423
+[#112425]: https://github.com/home-assistant/core/pull/112425
+[#112426]: https://github.com/home-assistant/core/pull/112426
+[#112429]: https://github.com/home-assistant/core/pull/112429
+[#112430]: https://github.com/home-assistant/core/pull/112430
+[#112432]: https://github.com/home-assistant/core/pull/112432
+[#112433]: https://github.com/home-assistant/core/pull/112433
+[#112436]: https://github.com/home-assistant/core/pull/112436
+[#112438]: https://github.com/home-assistant/core/pull/112438
+[#112441]: https://github.com/home-assistant/core/pull/112441
+[#112444]: https://github.com/home-assistant/core/pull/112444
+[#112446]: https://github.com/home-assistant/core/pull/112446
+[#112447]: https://github.com/home-assistant/core/pull/112447
+[#112449]: https://github.com/home-assistant/core/pull/112449
+[#112452]: https://github.com/home-assistant/core/pull/112452
+[#112456]: https://github.com/home-assistant/core/pull/112456
+[#112457]: https://github.com/home-assistant/core/pull/112457
+[#112460]: https://github.com/home-assistant/core/pull/112460
+[#112461]: https://github.com/home-assistant/core/pull/112461
+[#112462]: https://github.com/home-assistant/core/pull/112462
+[#112466]: https://github.com/home-assistant/core/pull/112466
+[#112467]: https://github.com/home-assistant/core/pull/112467
+[#112468]: https://github.com/home-assistant/core/pull/112468
+[#112469]: https://github.com/home-assistant/core/pull/112469
+[#112470]: https://github.com/home-assistant/core/pull/112470
+[#112472]: https://github.com/home-assistant/core/pull/112472
+[#112475]: https://github.com/home-assistant/core/pull/112475
+[#112477]: https://github.com/home-assistant/core/pull/112477
+[#112482]: https://github.com/home-assistant/core/pull/112482
+[#112483]: https://github.com/home-assistant/core/pull/112483
+[#112484]: https://github.com/home-assistant/core/pull/112484
+[#112485]: https://github.com/home-assistant/core/pull/112485
+[#112486]: https://github.com/home-assistant/core/pull/112486
+[#112488]: https://github.com/home-assistant/core/pull/112488
+[#112489]: https://github.com/home-assistant/core/pull/112489
+[#112490]: https://github.com/home-assistant/core/pull/112490
+[#112493]: https://github.com/home-assistant/core/pull/112493
+[#112496]: https://github.com/home-assistant/core/pull/112496
+[#112497]: https://github.com/home-assistant/core/pull/112497
+[#112498]: https://github.com/home-assistant/core/pull/112498
+[#112503]: https://github.com/home-assistant/core/pull/112503
+[#112514]: https://github.com/home-assistant/core/pull/112514
+[#112518]: https://github.com/home-assistant/core/pull/112518
+[#112520]: https://github.com/home-assistant/core/pull/112520
+[#112522]: https://github.com/home-assistant/core/pull/112522
+[#112526]: https://github.com/home-assistant/core/pull/112526
+[#112528]: https://github.com/home-assistant/core/pull/112528
+[#112532]: https://github.com/home-assistant/core/pull/112532
+[#112533]: https://github.com/home-assistant/core/pull/112533
+[#112535]: https://github.com/home-assistant/core/pull/112535
+[#112536]: https://github.com/home-assistant/core/pull/112536
+[#112542]: https://github.com/home-assistant/core/pull/112542
+[#112543]: https://github.com/home-assistant/core/pull/112543
+[#112546]: https://github.com/home-assistant/core/pull/112546
+[#112551]: https://github.com/home-assistant/core/pull/112551
+[#112555]: https://github.com/home-assistant/core/pull/112555
+[#112557]: https://github.com/home-assistant/core/pull/112557
+[#112560]: https://github.com/home-assistant/core/pull/112560
+[#112562]: https://github.com/home-assistant/core/pull/112562
+[#112563]: https://github.com/home-assistant/core/pull/112563
+[#112572]: https://github.com/home-assistant/core/pull/112572
+[#112575]: https://github.com/home-assistant/core/pull/112575
+[#112608]: https://github.com/home-assistant/core/pull/112608
+[#112609]: https://github.com/home-assistant/core/pull/112609
+[#112610]: https://github.com/home-assistant/core/pull/112610
+[#112612]: https://github.com/home-assistant/core/pull/112612
+[#112626]: https://github.com/home-assistant/core/pull/112626
+[#112634]: https://github.com/home-assistant/core/pull/112634
+[#112637]: https://github.com/home-assistant/core/pull/112637
+[#112640]: https://github.com/home-assistant/core/pull/112640
+[#112643]: https://github.com/home-assistant/core/pull/112643
+[#112652]: https://github.com/home-assistant/core/pull/112652
+[#112657]: https://github.com/home-assistant/core/pull/112657
+[#112658]: https://github.com/home-assistant/core/pull/112658
+[#112662]: https://github.com/home-assistant/core/pull/112662
+[#112665]: https://github.com/home-assistant/core/pull/112665
+[#112668]: https://github.com/home-assistant/core/pull/112668
+[#112669]: https://github.com/home-assistant/core/pull/112669
+[#112670]: https://github.com/home-assistant/core/pull/112670
+[#112671]: https://github.com/home-assistant/core/pull/112671
+[#112682]: https://github.com/home-assistant/core/pull/112682
+[#112683]: https://github.com/home-assistant/core/pull/112683
+[#112690]: https://github.com/home-assistant/core/pull/112690
+[#112695]: https://github.com/home-assistant/core/pull/112695
+[#112697]: https://github.com/home-assistant/core/pull/112697
+[#112698]: https://github.com/home-assistant/core/pull/112698
+[#112699]: https://github.com/home-assistant/core/pull/112699
+[#112700]: https://github.com/home-assistant/core/pull/112700
+[#112702]: https://github.com/home-assistant/core/pull/112702
+[#112703]: https://github.com/home-assistant/core/pull/112703
+[#112704]: https://github.com/home-assistant/core/pull/112704
+[#112705]: https://github.com/home-assistant/core/pull/112705
+[#112706]: https://github.com/home-assistant/core/pull/112706
+[#112707]: https://github.com/home-assistant/core/pull/112707
+[#112708]: https://github.com/home-assistant/core/pull/112708
+[#112709]: https://github.com/home-assistant/core/pull/112709
+[#112710]: https://github.com/home-assistant/core/pull/112710
+[#112711]: https://github.com/home-assistant/core/pull/112711
+[#112712]: https://github.com/home-assistant/core/pull/112712
+[#112720]: https://github.com/home-assistant/core/pull/112720
+[#112725]: https://github.com/home-assistant/core/pull/112725
+[#112726]: https://github.com/home-assistant/core/pull/112726
+[#112728]: https://github.com/home-assistant/core/pull/112728
+[#112732]: https://github.com/home-assistant/core/pull/112732
+[#112734]: https://github.com/home-assistant/core/pull/112734
+[#112736]: https://github.com/home-assistant/core/pull/112736
+[#112737]: https://github.com/home-assistant/core/pull/112737
+[#112738]: https://github.com/home-assistant/core/pull/112738
+[#112739]: https://github.com/home-assistant/core/pull/112739
+[#112740]: https://github.com/home-assistant/core/pull/112740
+[#112741]: https://github.com/home-assistant/core/pull/112741
+[#112742]: https://github.com/home-assistant/core/pull/112742
+[#112743]: https://github.com/home-assistant/core/pull/112743
+[#112749]: https://github.com/home-assistant/core/pull/112749
+[#112750]: https://github.com/home-assistant/core/pull/112750
+[#112752]: https://github.com/home-assistant/core/pull/112752
+[#112753]: https://github.com/home-assistant/core/pull/112753
+[#112756]: https://github.com/home-assistant/core/pull/112756
+[#112760]: https://github.com/home-assistant/core/pull/112760
+[#112763]: https://github.com/home-assistant/core/pull/112763
+[#112764]: https://github.com/home-assistant/core/pull/112764
+[#112765]: https://github.com/home-assistant/core/pull/112765
+[#112766]: https://github.com/home-assistant/core/pull/112766
+[#112767]: https://github.com/home-assistant/core/pull/112767
+[#112768]: https://github.com/home-assistant/core/pull/112768
+[#112769]: https://github.com/home-assistant/core/pull/112769
+[#112770]: https://github.com/home-assistant/core/pull/112770
+[#112771]: https://github.com/home-assistant/core/pull/112771
+[#112772]: https://github.com/home-assistant/core/pull/112772
+[#112773]: https://github.com/home-assistant/core/pull/112773
+[#112774]: https://github.com/home-assistant/core/pull/112774
+[#112775]: https://github.com/home-assistant/core/pull/112775
+[#112776]: https://github.com/home-assistant/core/pull/112776
+[#112777]: https://github.com/home-assistant/core/pull/112777
+[#112778]: https://github.com/home-assistant/core/pull/112778
+[#112779]: https://github.com/home-assistant/core/pull/112779
+[#112780]: https://github.com/home-assistant/core/pull/112780
+[#112781]: https://github.com/home-assistant/core/pull/112781
+[#112782]: https://github.com/home-assistant/core/pull/112782
+[#112786]: https://github.com/home-assistant/core/pull/112786
+[#112788]: https://github.com/home-assistant/core/pull/112788
+[#112789]: https://github.com/home-assistant/core/pull/112789
+[#112790]: https://github.com/home-assistant/core/pull/112790
+[#112791]: https://github.com/home-assistant/core/pull/112791
+[#112793]: https://github.com/home-assistant/core/pull/112793
+[#112800]: https://github.com/home-assistant/core/pull/112800
+[#112801]: https://github.com/home-assistant/core/pull/112801
+[#112802]: https://github.com/home-assistant/core/pull/112802
+[#112803]: https://github.com/home-assistant/core/pull/112803
+[#112804]: https://github.com/home-assistant/core/pull/112804
+[#112805]: https://github.com/home-assistant/core/pull/112805
+[#112807]: https://github.com/home-assistant/core/pull/112807
+[#112810]: https://github.com/home-assistant/core/pull/112810
+[#112813]: https://github.com/home-assistant/core/pull/112813
+[#112814]: https://github.com/home-assistant/core/pull/112814
+[#112818]: https://github.com/home-assistant/core/pull/112818
+[#112819]: https://github.com/home-assistant/core/pull/112819
+[#112820]: https://github.com/home-assistant/core/pull/112820
+[#112821]: https://github.com/home-assistant/core/pull/112821
+[#112822]: https://github.com/home-assistant/core/pull/112822
+[#112825]: https://github.com/home-assistant/core/pull/112825
+[#112826]: https://github.com/home-assistant/core/pull/112826
+[#112828]: https://github.com/home-assistant/core/pull/112828
+[#112844]: https://github.com/home-assistant/core/pull/112844
+[#112845]: https://github.com/home-assistant/core/pull/112845
+[#112846]: https://github.com/home-assistant/core/pull/112846
+[#112847]: https://github.com/home-assistant/core/pull/112847
+[#112849]: https://github.com/home-assistant/core/pull/112849
+[#112850]: https://github.com/home-assistant/core/pull/112850
+[#112851]: https://github.com/home-assistant/core/pull/112851
+[#112854]: https://github.com/home-assistant/core/pull/112854
+[#112859]: https://github.com/home-assistant/core/pull/112859
+[#112863]: https://github.com/home-assistant/core/pull/112863
+[#112864]: https://github.com/home-assistant/core/pull/112864
+[#112866]: https://github.com/home-assistant/core/pull/112866
+[#112869]: https://github.com/home-assistant/core/pull/112869
+[#112872]: https://github.com/home-assistant/core/pull/112872
+[#112888]: https://github.com/home-assistant/core/pull/112888
+[#112892]: https://github.com/home-assistant/core/pull/112892
+[#112893]: https://github.com/home-assistant/core/pull/112893
+[#112895]: https://github.com/home-assistant/core/pull/112895
+[#112896]: https://github.com/home-assistant/core/pull/112896
+[#112898]: https://github.com/home-assistant/core/pull/112898
+[#112899]: https://github.com/home-assistant/core/pull/112899
+[#112900]: https://github.com/home-assistant/core/pull/112900
+[#112901]: https://github.com/home-assistant/core/pull/112901
+[#112902]: https://github.com/home-assistant/core/pull/112902
+[#112903]: https://github.com/home-assistant/core/pull/112903
+[#112904]: https://github.com/home-assistant/core/pull/112904
+[#112905]: https://github.com/home-assistant/core/pull/112905
+[#112906]: https://github.com/home-assistant/core/pull/112906
+[#112907]: https://github.com/home-assistant/core/pull/112907
+[#112908]: https://github.com/home-assistant/core/pull/112908
+[#112909]: https://github.com/home-assistant/core/pull/112909
+[#112910]: https://github.com/home-assistant/core/pull/112910
+[#112911]: https://github.com/home-assistant/core/pull/112911
+[#112912]: https://github.com/home-assistant/core/pull/112912
+[#112913]: https://github.com/home-assistant/core/pull/112913
+[#112914]: https://github.com/home-assistant/core/pull/112914
+[#112915]: https://github.com/home-assistant/core/pull/112915
+[#112917]: https://github.com/home-assistant/core/pull/112917
+[#112918]: https://github.com/home-assistant/core/pull/112918
+[#112919]: https://github.com/home-assistant/core/pull/112919
+[#112920]: https://github.com/home-assistant/core/pull/112920
+[#112921]: https://github.com/home-assistant/core/pull/112921
+[#112922]: https://github.com/home-assistant/core/pull/112922
+[#112923]: https://github.com/home-assistant/core/pull/112923
+[#112924]: https://github.com/home-assistant/core/pull/112924
+[#112925]: https://github.com/home-assistant/core/pull/112925
+[#112926]: https://github.com/home-assistant/core/pull/112926
+[#112928]: https://github.com/home-assistant/core/pull/112928
+[#112929]: https://github.com/home-assistant/core/pull/112929
+[#112930]: https://github.com/home-assistant/core/pull/112930
+[#112931]: https://github.com/home-assistant/core/pull/112931
+[#112932]: https://github.com/home-assistant/core/pull/112932
+[#112933]: https://github.com/home-assistant/core/pull/112933
+[#112934]: https://github.com/home-assistant/core/pull/112934
+[#112935]: https://github.com/home-assistant/core/pull/112935
+[#112936]: https://github.com/home-assistant/core/pull/112936
+[#112937]: https://github.com/home-assistant/core/pull/112937
+[#112938]: https://github.com/home-assistant/core/pull/112938
+[#112939]: https://github.com/home-assistant/core/pull/112939
+[#112940]: https://github.com/home-assistant/core/pull/112940
+[#112941]: https://github.com/home-assistant/core/pull/112941
+[#112942]: https://github.com/home-assistant/core/pull/112942
+[#112943]: https://github.com/home-assistant/core/pull/112943
+[#112944]: https://github.com/home-assistant/core/pull/112944
+[#112945]: https://github.com/home-assistant/core/pull/112945
+[#112946]: https://github.com/home-assistant/core/pull/112946
+[#112947]: https://github.com/home-assistant/core/pull/112947
+[#112949]: https://github.com/home-assistant/core/pull/112949
+[#112951]: https://github.com/home-assistant/core/pull/112951
+[#112952]: https://github.com/home-assistant/core/pull/112952
+[#112953]: https://github.com/home-assistant/core/pull/112953
+[#112954]: https://github.com/home-assistant/core/pull/112954
+[#112955]: https://github.com/home-assistant/core/pull/112955
+[#112956]: https://github.com/home-assistant/core/pull/112956
+[#112957]: https://github.com/home-assistant/core/pull/112957
+[#112958]: https://github.com/home-assistant/core/pull/112958
+[#112959]: https://github.com/home-assistant/core/pull/112959
+[#112960]: https://github.com/home-assistant/core/pull/112960
+[#112963]: https://github.com/home-assistant/core/pull/112963
+[#112964]: https://github.com/home-assistant/core/pull/112964
+[#112965]: https://github.com/home-assistant/core/pull/112965
+[#112966]: https://github.com/home-assistant/core/pull/112966
+[#112967]: https://github.com/home-assistant/core/pull/112967
+[#112969]: https://github.com/home-assistant/core/pull/112969
+[#112970]: https://github.com/home-assistant/core/pull/112970
+[#112971]: https://github.com/home-assistant/core/pull/112971
+[#112972]: https://github.com/home-assistant/core/pull/112972
+[#112973]: https://github.com/home-assistant/core/pull/112973
+[#112974]: https://github.com/home-assistant/core/pull/112974
+[#112975]: https://github.com/home-assistant/core/pull/112975
+[#112976]: https://github.com/home-assistant/core/pull/112976
+[#112977]: https://github.com/home-assistant/core/pull/112977
+[#112979]: https://github.com/home-assistant/core/pull/112979
+[#112982]: https://github.com/home-assistant/core/pull/112982
+[#112987]: https://github.com/home-assistant/core/pull/112987
+[#112988]: https://github.com/home-assistant/core/pull/112988
+[#112989]: https://github.com/home-assistant/core/pull/112989
+[#112990]: https://github.com/home-assistant/core/pull/112990
+[#112991]: https://github.com/home-assistant/core/pull/112991
+[#112992]: https://github.com/home-assistant/core/pull/112992
+[#112993]: https://github.com/home-assistant/core/pull/112993
+[#112994]: https://github.com/home-assistant/core/pull/112994
+[#112995]: https://github.com/home-assistant/core/pull/112995
+[#112996]: https://github.com/home-assistant/core/pull/112996
+[#112997]: https://github.com/home-assistant/core/pull/112997
+[#113002]: https://github.com/home-assistant/core/pull/113002
+[#113004]: https://github.com/home-assistant/core/pull/113004
+[#113005]: https://github.com/home-assistant/core/pull/113005
+[#113006]: https://github.com/home-assistant/core/pull/113006
+[#113010]: https://github.com/home-assistant/core/pull/113010
+[#113011]: https://github.com/home-assistant/core/pull/113011
+[#113012]: https://github.com/home-assistant/core/pull/113012
+[#113013]: https://github.com/home-assistant/core/pull/113013
+[#113014]: https://github.com/home-assistant/core/pull/113014
+[#113015]: https://github.com/home-assistant/core/pull/113015
+[#113016]: https://github.com/home-assistant/core/pull/113016
+[#113017]: https://github.com/home-assistant/core/pull/113017
+[#113018]: https://github.com/home-assistant/core/pull/113018
+[#113020]: https://github.com/home-assistant/core/pull/113020
+[#113022]: https://github.com/home-assistant/core/pull/113022
+[#113026]: https://github.com/home-assistant/core/pull/113026
+[#113027]: https://github.com/home-assistant/core/pull/113027
+[#113030]: https://github.com/home-assistant/core/pull/113030
+[#113031]: https://github.com/home-assistant/core/pull/113031
+[#113032]: https://github.com/home-assistant/core/pull/113032
+[#113033]: https://github.com/home-assistant/core/pull/113033
+[#113038]: https://github.com/home-assistant/core/pull/113038
+[#113041]: https://github.com/home-assistant/core/pull/113041
+[#113042]: https://github.com/home-assistant/core/pull/113042
+[#113044]: https://github.com/home-assistant/core/pull/113044
+[#113045]: https://github.com/home-assistant/core/pull/113045
+[#113046]: https://github.com/home-assistant/core/pull/113046
+[#113049]: https://github.com/home-assistant/core/pull/113049
+[#113051]: https://github.com/home-assistant/core/pull/113051
+[#113055]: https://github.com/home-assistant/core/pull/113055
+[#113057]: https://github.com/home-assistant/core/pull/113057
+[#113060]: https://github.com/home-assistant/core/pull/113060
+[#113069]: https://github.com/home-assistant/core/pull/113069
+[#113072]: https://github.com/home-assistant/core/pull/113072
+[#113074]: https://github.com/home-assistant/core/pull/113074
+[#113075]: https://github.com/home-assistant/core/pull/113075
+[#113089]: https://github.com/home-assistant/core/pull/113089
+[#113090]: https://github.com/home-assistant/core/pull/113090
+[#113094]: https://github.com/home-assistant/core/pull/113094
+[#113099]: https://github.com/home-assistant/core/pull/113099
+[#113102]: https://github.com/home-assistant/core/pull/113102
+[#113103]: https://github.com/home-assistant/core/pull/113103
+[#113107]: https://github.com/home-assistant/core/pull/113107
+[#113108]: https://github.com/home-assistant/core/pull/113108
+[#113109]: https://github.com/home-assistant/core/pull/113109
+[#113110]: https://github.com/home-assistant/core/pull/113110
+[#113111]: https://github.com/home-assistant/core/pull/113111
+[#113112]: https://github.com/home-assistant/core/pull/113112
+[#113113]: https://github.com/home-assistant/core/pull/113113
+[#113114]: https://github.com/home-assistant/core/pull/113114
+[#113115]: https://github.com/home-assistant/core/pull/113115
+[#113116]: https://github.com/home-assistant/core/pull/113116
+[#113118]: https://github.com/home-assistant/core/pull/113118
+[#113119]: https://github.com/home-assistant/core/pull/113119
+[#113120]: https://github.com/home-assistant/core/pull/113120
+[#113122]: https://github.com/home-assistant/core/pull/113122
+[#113123]: https://github.com/home-assistant/core/pull/113123
+[#113124]: https://github.com/home-assistant/core/pull/113124
+[#113126]: https://github.com/home-assistant/core/pull/113126
+[#113128]: https://github.com/home-assistant/core/pull/113128
+[#113129]: https://github.com/home-assistant/core/pull/113129
+[#113130]: https://github.com/home-assistant/core/pull/113130
+[#113132]: https://github.com/home-assistant/core/pull/113132
+[#113133]: https://github.com/home-assistant/core/pull/113133
+[#113136]: https://github.com/home-assistant/core/pull/113136
+[#113138]: https://github.com/home-assistant/core/pull/113138
+[#113139]: https://github.com/home-assistant/core/pull/113139
+[#113168]: https://github.com/home-assistant/core/pull/113168
+[#113169]: https://github.com/home-assistant/core/pull/113169
+[#113173]: https://github.com/home-assistant/core/pull/113173
+[#113174]: https://github.com/home-assistant/core/pull/113174
+[#113175]: https://github.com/home-assistant/core/pull/113175
+[#113178]: https://github.com/home-assistant/core/pull/113178
+[#113179]: https://github.com/home-assistant/core/pull/113179
+[#113181]: https://github.com/home-assistant/core/pull/113181
+[#113182]: https://github.com/home-assistant/core/pull/113182
+[#113183]: https://github.com/home-assistant/core/pull/113183
+[#113184]: https://github.com/home-assistant/core/pull/113184
+[#113185]: https://github.com/home-assistant/core/pull/113185
+[#113188]: https://github.com/home-assistant/core/pull/113188
+[#113189]: https://github.com/home-assistant/core/pull/113189
+[#113190]: https://github.com/home-assistant/core/pull/113190
+[#113191]: https://github.com/home-assistant/core/pull/113191
+[#113192]: https://github.com/home-assistant/core/pull/113192
+[#113195]: https://github.com/home-assistant/core/pull/113195
+[#113197]: https://github.com/home-assistant/core/pull/113197
+[#113201]: https://github.com/home-assistant/core/pull/113201
+[#113202]: https://github.com/home-assistant/core/pull/113202
+[#113206]: https://github.com/home-assistant/core/pull/113206
+[#113207]: https://github.com/home-assistant/core/pull/113207
+[#113208]: https://github.com/home-assistant/core/pull/113208
+[#113215]: https://github.com/home-assistant/core/pull/113215
+[#113217]: https://github.com/home-assistant/core/pull/113217
+[#113218]: https://github.com/home-assistant/core/pull/113218
+[#113221]: https://github.com/home-assistant/core/pull/113221
+[#113225]: https://github.com/home-assistant/core/pull/113225
+[#113227]: https://github.com/home-assistant/core/pull/113227
+[#113229]: https://github.com/home-assistant/core/pull/113229
+[#113231]: https://github.com/home-assistant/core/pull/113231
+[#113233]: https://github.com/home-assistant/core/pull/113233
+[#113236]: https://github.com/home-assistant/core/pull/113236
+[#113241]: https://github.com/home-assistant/core/pull/113241
+[#113242]: https://github.com/home-assistant/core/pull/113242
+[#113243]: https://github.com/home-assistant/core/pull/113243
+[#113245]: https://github.com/home-assistant/core/pull/113245
+[#113248]: https://github.com/home-assistant/core/pull/113248
+[#113252]: https://github.com/home-assistant/core/pull/113252
+[#113253]: https://github.com/home-assistant/core/pull/113253
+[#113256]: https://github.com/home-assistant/core/pull/113256
+[#113257]: https://github.com/home-assistant/core/pull/113257
+[#113258]: https://github.com/home-assistant/core/pull/113258
+[#113259]: https://github.com/home-assistant/core/pull/113259
+[#113260]: https://github.com/home-assistant/core/pull/113260
+[#113262]: https://github.com/home-assistant/core/pull/113262
+[#113263]: https://github.com/home-assistant/core/pull/113263
+[#113268]: https://github.com/home-assistant/core/pull/113268
+[#113269]: https://github.com/home-assistant/core/pull/113269
+[#113270]: https://github.com/home-assistant/core/pull/113270
+[#113271]: https://github.com/home-assistant/core/pull/113271
+[#113272]: https://github.com/home-assistant/core/pull/113272
+[#113273]: https://github.com/home-assistant/core/pull/113273
+[#113274]: https://github.com/home-assistant/core/pull/113274
+[#113276]: https://github.com/home-assistant/core/pull/113276
+[#113277]: https://github.com/home-assistant/core/pull/113277
+[#113278]: https://github.com/home-assistant/core/pull/113278
+[#113280]: https://github.com/home-assistant/core/pull/113280
+[#113281]: https://github.com/home-assistant/core/pull/113281
+[#113282]: https://github.com/home-assistant/core/pull/113282
+[#113283]: https://github.com/home-assistant/core/pull/113283
+[#113284]: https://github.com/home-assistant/core/pull/113284
+[#113285]: https://github.com/home-assistant/core/pull/113285
+[#113286]: https://github.com/home-assistant/core/pull/113286
+[#113287]: https://github.com/home-assistant/core/pull/113287
+[#113288]: https://github.com/home-assistant/core/pull/113288
+[#113289]: https://github.com/home-assistant/core/pull/113289
+[#113290]: https://github.com/home-assistant/core/pull/113290
+[#113291]: https://github.com/home-assistant/core/pull/113291
+[#113292]: https://github.com/home-assistant/core/pull/113292
+[#113293]: https://github.com/home-assistant/core/pull/113293
+[#113294]: https://github.com/home-assistant/core/pull/113294
+[#113295]: https://github.com/home-assistant/core/pull/113295
+[#113296]: https://github.com/home-assistant/core/pull/113296
+[#113297]: https://github.com/home-assistant/core/pull/113297
+[#113298]: https://github.com/home-assistant/core/pull/113298
+[#113299]: https://github.com/home-assistant/core/pull/113299
+[#113300]: https://github.com/home-assistant/core/pull/113300
+[#113301]: https://github.com/home-assistant/core/pull/113301
+[#113302]: https://github.com/home-assistant/core/pull/113302
+[#113303]: https://github.com/home-assistant/core/pull/113303
+[#113304]: https://github.com/home-assistant/core/pull/113304
+[#113305]: https://github.com/home-assistant/core/pull/113305
+[#113306]: https://github.com/home-assistant/core/pull/113306
+[#113307]: https://github.com/home-assistant/core/pull/113307
+[#113308]: https://github.com/home-assistant/core/pull/113308
+[#113309]: https://github.com/home-assistant/core/pull/113309
+[#113311]: https://github.com/home-assistant/core/pull/113311
+[#113312]: https://github.com/home-assistant/core/pull/113312
+[#113313]: https://github.com/home-assistant/core/pull/113313
+[#113314]: https://github.com/home-assistant/core/pull/113314
+[#113315]: https://github.com/home-assistant/core/pull/113315
+[#113316]: https://github.com/home-assistant/core/pull/113316
+[#113317]: https://github.com/home-assistant/core/pull/113317
+[#113318]: https://github.com/home-assistant/core/pull/113318
+[#113319]: https://github.com/home-assistant/core/pull/113319
+[#113320]: https://github.com/home-assistant/core/pull/113320
+[#113321]: https://github.com/home-assistant/core/pull/113321
+[#113322]: https://github.com/home-assistant/core/pull/113322
+[#113323]: https://github.com/home-assistant/core/pull/113323
+[#113324]: https://github.com/home-assistant/core/pull/113324
+[#113325]: https://github.com/home-assistant/core/pull/113325
+[#113326]: https://github.com/home-assistant/core/pull/113326
+[#113327]: https://github.com/home-assistant/core/pull/113327
+[#113328]: https://github.com/home-assistant/core/pull/113328
+[#113329]: https://github.com/home-assistant/core/pull/113329
+[#113330]: https://github.com/home-assistant/core/pull/113330
+[#113331]: https://github.com/home-assistant/core/pull/113331
+[#113332]: https://github.com/home-assistant/core/pull/113332
+[#113333]: https://github.com/home-assistant/core/pull/113333
+[#113335]: https://github.com/home-assistant/core/pull/113335
+[#113336]: https://github.com/home-assistant/core/pull/113336
+[#113337]: https://github.com/home-assistant/core/pull/113337
+[#113338]: https://github.com/home-assistant/core/pull/113338
+[#113339]: https://github.com/home-assistant/core/pull/113339
+[#113340]: https://github.com/home-assistant/core/pull/113340
+[#113341]: https://github.com/home-assistant/core/pull/113341
+[#113342]: https://github.com/home-assistant/core/pull/113342
+[#113343]: https://github.com/home-assistant/core/pull/113343
+[#113344]: https://github.com/home-assistant/core/pull/113344
+[#113345]: https://github.com/home-assistant/core/pull/113345
+[#113346]: https://github.com/home-assistant/core/pull/113346
+[#113347]: https://github.com/home-assistant/core/pull/113347
+[#113348]: https://github.com/home-assistant/core/pull/113348
+[#113349]: https://github.com/home-assistant/core/pull/113349
+[#113350]: https://github.com/home-assistant/core/pull/113350
+[#113351]: https://github.com/home-assistant/core/pull/113351
+[#113352]: https://github.com/home-assistant/core/pull/113352
+[#113353]: https://github.com/home-assistant/core/pull/113353
+[#113354]: https://github.com/home-assistant/core/pull/113354
+[#113355]: https://github.com/home-assistant/core/pull/113355
+[#113356]: https://github.com/home-assistant/core/pull/113356
+[#113357]: https://github.com/home-assistant/core/pull/113357
+[#113358]: https://github.com/home-assistant/core/pull/113358
+[#113359]: https://github.com/home-assistant/core/pull/113359
+[#113360]: https://github.com/home-assistant/core/pull/113360
+[#113361]: https://github.com/home-assistant/core/pull/113361
+[#113362]: https://github.com/home-assistant/core/pull/113362
+[#113363]: https://github.com/home-assistant/core/pull/113363
+[#113364]: https://github.com/home-assistant/core/pull/113364
+[#113365]: https://github.com/home-assistant/core/pull/113365
+[#113366]: https://github.com/home-assistant/core/pull/113366
+[#113367]: https://github.com/home-assistant/core/pull/113367
+[#113368]: https://github.com/home-assistant/core/pull/113368
+[#113369]: https://github.com/home-assistant/core/pull/113369
+[#113370]: https://github.com/home-assistant/core/pull/113370
+[#113371]: https://github.com/home-assistant/core/pull/113371
+[#113378]: https://github.com/home-assistant/core/pull/113378
+[#113382]: https://github.com/home-assistant/core/pull/113382
+[#113383]: https://github.com/home-assistant/core/pull/113383
+[#113384]: https://github.com/home-assistant/core/pull/113384
+[#113386]: https://github.com/home-assistant/core/pull/113386
+[#113387]: https://github.com/home-assistant/core/pull/113387
+[#113388]: https://github.com/home-assistant/core/pull/113388
+[#113389]: https://github.com/home-assistant/core/pull/113389
+[#113390]: https://github.com/home-assistant/core/pull/113390
+[#113391]: https://github.com/home-assistant/core/pull/113391
+[#113397]: https://github.com/home-assistant/core/pull/113397
+[#113401]: https://github.com/home-assistant/core/pull/113401
+[#113402]: https://github.com/home-assistant/core/pull/113402
+[#113404]: https://github.com/home-assistant/core/pull/113404
+[#113405]: https://github.com/home-assistant/core/pull/113405
+[#113406]: https://github.com/home-assistant/core/pull/113406
+[#113408]: https://github.com/home-assistant/core/pull/113408
+[#113409]: https://github.com/home-assistant/core/pull/113409
+[#113410]: https://github.com/home-assistant/core/pull/113410
+[#113411]: https://github.com/home-assistant/core/pull/113411
+[#113412]: https://github.com/home-assistant/core/pull/113412
+[#113413]: https://github.com/home-assistant/core/pull/113413
+[#113414]: https://github.com/home-assistant/core/pull/113414
+[#113415]: https://github.com/home-assistant/core/pull/113415
+[#113416]: https://github.com/home-assistant/core/pull/113416
+[#113417]: https://github.com/home-assistant/core/pull/113417
+[#113418]: https://github.com/home-assistant/core/pull/113418
+[#113419]: https://github.com/home-assistant/core/pull/113419
+[#113420]: https://github.com/home-assistant/core/pull/113420
+[#113422]: https://github.com/home-assistant/core/pull/113422
+[#113425]: https://github.com/home-assistant/core/pull/113425
+[#113431]: https://github.com/home-assistant/core/pull/113431
+[#113440]: https://github.com/home-assistant/core/pull/113440
+[#113441]: https://github.com/home-assistant/core/pull/113441
+[#113442]: https://github.com/home-assistant/core/pull/113442
+[#113446]: https://github.com/home-assistant/core/pull/113446
+[#113447]: https://github.com/home-assistant/core/pull/113447
+[#113450]: https://github.com/home-assistant/core/pull/113450
+[#113451]: https://github.com/home-assistant/core/pull/113451
+[#113453]: https://github.com/home-assistant/core/pull/113453
+[#113455]: https://github.com/home-assistant/core/pull/113455
+[#113462]: https://github.com/home-assistant/core/pull/113462
+[#113465]: https://github.com/home-assistant/core/pull/113465
+[#113467]: https://github.com/home-assistant/core/pull/113467
+[#113469]: https://github.com/home-assistant/core/pull/113469
+[#113471]: https://github.com/home-assistant/core/pull/113471
+[#113478]: https://github.com/home-assistant/core/pull/113478
+[#113480]: https://github.com/home-assistant/core/pull/113480
+[#113482]: https://github.com/home-assistant/core/pull/113482
+[#113485]: https://github.com/home-assistant/core/pull/113485
+[#113490]: https://github.com/home-assistant/core/pull/113490
+[#113493]: https://github.com/home-assistant/core/pull/113493
+[#113496]: https://github.com/home-assistant/core/pull/113496
+[#113501]: https://github.com/home-assistant/core/pull/113501
+[#113502]: https://github.com/home-assistant/core/pull/113502
+[#113504]: https://github.com/home-assistant/core/pull/113504
+[#113506]: https://github.com/home-assistant/core/pull/113506
+[#113508]: https://github.com/home-assistant/core/pull/113508
+[#113509]: https://github.com/home-assistant/core/pull/113509
+[#113510]: https://github.com/home-assistant/core/pull/113510
+[#113511]: https://github.com/home-assistant/core/pull/113511
+[#113514]: https://github.com/home-assistant/core/pull/113514
+[#113516]: https://github.com/home-assistant/core/pull/113516
+[#113524]: https://github.com/home-assistant/core/pull/113524
+[#113527]: https://github.com/home-assistant/core/pull/113527
+[#113528]: https://github.com/home-assistant/core/pull/113528
+[#113529]: https://github.com/home-assistant/core/pull/113529
+[#113530]: https://github.com/home-assistant/core/pull/113530
+[#113531]: https://github.com/home-assistant/core/pull/113531
+[#113533]: https://github.com/home-assistant/core/pull/113533
+[#113534]: https://github.com/home-assistant/core/pull/113534
+[#113535]: https://github.com/home-assistant/core/pull/113535
+[#113537]: https://github.com/home-assistant/core/pull/113537
+[#113540]: https://github.com/home-assistant/core/pull/113540
+[#113542]: https://github.com/home-assistant/core/pull/113542
+[#113543]: https://github.com/home-assistant/core/pull/113543
+[#113544]: https://github.com/home-assistant/core/pull/113544
+[#113549]: https://github.com/home-assistant/core/pull/113549
+[#113550]: https://github.com/home-assistant/core/pull/113550
+[#113553]: https://github.com/home-assistant/core/pull/113553
+[#113554]: https://github.com/home-assistant/core/pull/113554
+[#113555]: https://github.com/home-assistant/core/pull/113555
+[#113556]: https://github.com/home-assistant/core/pull/113556
+[#113557]: https://github.com/home-assistant/core/pull/113557
+[#113558]: https://github.com/home-assistant/core/pull/113558
+[#113562]: https://github.com/home-assistant/core/pull/113562
+[#113564]: https://github.com/home-assistant/core/pull/113564
+[#113569]: https://github.com/home-assistant/core/pull/113569
+[#113570]: https://github.com/home-assistant/core/pull/113570
+[#113573]: https://github.com/home-assistant/core/pull/113573
+[#113577]: https://github.com/home-assistant/core/pull/113577
+[#113578]: https://github.com/home-assistant/core/pull/113578
+[#113579]: https://github.com/home-assistant/core/pull/113579
+[#113580]: https://github.com/home-assistant/core/pull/113580
+[#113581]: https://github.com/home-assistant/core/pull/113581
+[#113582]: https://github.com/home-assistant/core/pull/113582
+[#113583]: https://github.com/home-assistant/core/pull/113583
+[#113584]: https://github.com/home-assistant/core/pull/113584
+[#113586]: https://github.com/home-assistant/core/pull/113586
+[#113588]: https://github.com/home-assistant/core/pull/113588
+[#113589]: https://github.com/home-assistant/core/pull/113589
+[#113595]: https://github.com/home-assistant/core/pull/113595
+[#113596]: https://github.com/home-assistant/core/pull/113596
+[#113597]: https://github.com/home-assistant/core/pull/113597
+[#113602]: https://github.com/home-assistant/core/pull/113602
+[#113604]: https://github.com/home-assistant/core/pull/113604
+[#113606]: https://github.com/home-assistant/core/pull/113606
+[#113607]: https://github.com/home-assistant/core/pull/113607
+[#113611]: https://github.com/home-assistant/core/pull/113611
+[#113612]: https://github.com/home-assistant/core/pull/113612
+[#113613]: https://github.com/home-assistant/core/pull/113613
+[#113615]: https://github.com/home-assistant/core/pull/113615
+[#113616]: https://github.com/home-assistant/core/pull/113616
+[#113617]: https://github.com/home-assistant/core/pull/113617
+[#113618]: https://github.com/home-assistant/core/pull/113618
+[#113619]: https://github.com/home-assistant/core/pull/113619
+[#113620]: https://github.com/home-assistant/core/pull/113620
+[#113621]: https://github.com/home-assistant/core/pull/113621
+[#113623]: https://github.com/home-assistant/core/pull/113623
+[#113624]: https://github.com/home-assistant/core/pull/113624
+[#113625]: https://github.com/home-assistant/core/pull/113625
+[#113626]: https://github.com/home-assistant/core/pull/113626
+[#113627]: https://github.com/home-assistant/core/pull/113627
+[#113629]: https://github.com/home-assistant/core/pull/113629
+[#113631]: https://github.com/home-assistant/core/pull/113631
+[#113632]: https://github.com/home-assistant/core/pull/113632
+[#113633]: https://github.com/home-assistant/core/pull/113633
+[#113634]: https://github.com/home-assistant/core/pull/113634
+[#113635]: https://github.com/home-assistant/core/pull/113635
+[#113636]: https://github.com/home-assistant/core/pull/113636
+[#113637]: https://github.com/home-assistant/core/pull/113637
+[#113638]: https://github.com/home-assistant/core/pull/113638
+[#113639]: https://github.com/home-assistant/core/pull/113639
+[#113644]: https://github.com/home-assistant/core/pull/113644
+[#113645]: https://github.com/home-assistant/core/pull/113645
+[#113646]: https://github.com/home-assistant/core/pull/113646
+[#113647]: https://github.com/home-assistant/core/pull/113647
+[#113648]: https://github.com/home-assistant/core/pull/113648
+[#113650]: https://github.com/home-assistant/core/pull/113650
+[#113652]: https://github.com/home-assistant/core/pull/113652
+[#113653]: https://github.com/home-assistant/core/pull/113653
+[#113654]: https://github.com/home-assistant/core/pull/113654
+[#113655]: https://github.com/home-assistant/core/pull/113655
+[#113657]: https://github.com/home-assistant/core/pull/113657
+[#113658]: https://github.com/home-assistant/core/pull/113658
+[#113659]: https://github.com/home-assistant/core/pull/113659
+[#113660]: https://github.com/home-assistant/core/pull/113660
+[#113661]: https://github.com/home-assistant/core/pull/113661
+[#113665]: https://github.com/home-assistant/core/pull/113665
+[#113667]: https://github.com/home-assistant/core/pull/113667
+[#113674]: https://github.com/home-assistant/core/pull/113674
+[#113675]: https://github.com/home-assistant/core/pull/113675
+[#113677]: https://github.com/home-assistant/core/pull/113677
+[#113683]: https://github.com/home-assistant/core/pull/113683
+[#113686]: https://github.com/home-assistant/core/pull/113686
+[#113687]: https://github.com/home-assistant/core/pull/113687
+[#113688]: https://github.com/home-assistant/core/pull/113688
+[#113691]: https://github.com/home-assistant/core/pull/113691
+[#113692]: https://github.com/home-assistant/core/pull/113692
+[#113693]: https://github.com/home-assistant/core/pull/113693
+[#113695]: https://github.com/home-assistant/core/pull/113695
+[#113702]: https://github.com/home-assistant/core/pull/113702
+[#113704]: https://github.com/home-assistant/core/pull/113704
+[#113705]: https://github.com/home-assistant/core/pull/113705
+[#113707]: https://github.com/home-assistant/core/pull/113707
+[#113715]: https://github.com/home-assistant/core/pull/113715
+[#113716]: https://github.com/home-assistant/core/pull/113716
+[#113717]: https://github.com/home-assistant/core/pull/113717
+[#113718]: https://github.com/home-assistant/core/pull/113718
+[#113720]: https://github.com/home-assistant/core/pull/113720
+[#113726]: https://github.com/home-assistant/core/pull/113726
+[#113727]: https://github.com/home-assistant/core/pull/113727
+[#113729]: https://github.com/home-assistant/core/pull/113729
+[#113740]: https://github.com/home-assistant/core/pull/113740
+[#113741]: https://github.com/home-assistant/core/pull/113741
+[#113744]: https://github.com/home-assistant/core/pull/113744
+[#113747]: https://github.com/home-assistant/core/pull/113747
+[#113750]: https://github.com/home-assistant/core/pull/113750
+[#113753]: https://github.com/home-assistant/core/pull/113753
+[#113755]: https://github.com/home-assistant/core/pull/113755
+[#113757]: https://github.com/home-assistant/core/pull/113757
+[#113758]: https://github.com/home-assistant/core/pull/113758
+[#113764]: https://github.com/home-assistant/core/pull/113764
+[#113765]: https://github.com/home-assistant/core/pull/113765
+[#113767]: https://github.com/home-assistant/core/pull/113767
+[#113773]: https://github.com/home-assistant/core/pull/113773
+[#113776]: https://github.com/home-assistant/core/pull/113776
+[#113777]: https://github.com/home-assistant/core/pull/113777
+[#113778]: https://github.com/home-assistant/core/pull/113778
+[#113779]: https://github.com/home-assistant/core/pull/113779
+[#113780]: https://github.com/home-assistant/core/pull/113780
+[#113781]: https://github.com/home-assistant/core/pull/113781
+[#113782]: https://github.com/home-assistant/core/pull/113782
+[#113783]: https://github.com/home-assistant/core/pull/113783
+[#113784]: https://github.com/home-assistant/core/pull/113784
+[#113785]: https://github.com/home-assistant/core/pull/113785
+[#113786]: https://github.com/home-assistant/core/pull/113786
+[#113788]: https://github.com/home-assistant/core/pull/113788
+[#113789]: https://github.com/home-assistant/core/pull/113789
+[#113791]: https://github.com/home-assistant/core/pull/113791
+[#113792]: https://github.com/home-assistant/core/pull/113792
+[#113797]: https://github.com/home-assistant/core/pull/113797
+[#113798]: https://github.com/home-assistant/core/pull/113798
+[#113800]: https://github.com/home-assistant/core/pull/113800
+[#113802]: https://github.com/home-assistant/core/pull/113802
+[#113803]: https://github.com/home-assistant/core/pull/113803
+[#113808]: https://github.com/home-assistant/core/pull/113808
+[#113811]: https://github.com/home-assistant/core/pull/113811
+[#113812]: https://github.com/home-assistant/core/pull/113812
+[#113814]: https://github.com/home-assistant/core/pull/113814
+[#113815]: https://github.com/home-assistant/core/pull/113815
+[#113816]: https://github.com/home-assistant/core/pull/113816
+[#113817]: https://github.com/home-assistant/core/pull/113817
+[#113819]: https://github.com/home-assistant/core/pull/113819
+[#113820]: https://github.com/home-assistant/core/pull/113820
+[#113821]: https://github.com/home-assistant/core/pull/113821
+[#113822]: https://github.com/home-assistant/core/pull/113822
+[#113823]: https://github.com/home-assistant/core/pull/113823
+[#113825]: https://github.com/home-assistant/core/pull/113825
+[#113826]: https://github.com/home-assistant/core/pull/113826
+[#113828]: https://github.com/home-assistant/core/pull/113828
+[#113834]: https://github.com/home-assistant/core/pull/113834
+[#113835]: https://github.com/home-assistant/core/pull/113835
+[#113836]: https://github.com/home-assistant/core/pull/113836
+[#113840]: https://github.com/home-assistant/core/pull/113840
+[#113842]: https://github.com/home-assistant/core/pull/113842
+[#113844]: https://github.com/home-assistant/core/pull/113844
+[#113845]: https://github.com/home-assistant/core/pull/113845
+[#113850]: https://github.com/home-assistant/core/pull/113850
+[#113852]: https://github.com/home-assistant/core/pull/113852
+[#113854]: https://github.com/home-assistant/core/pull/113854
+[#113858]: https://github.com/home-assistant/core/pull/113858
+[#113859]: https://github.com/home-assistant/core/pull/113859
+[#113862]: https://github.com/home-assistant/core/pull/113862
+[#113868]: https://github.com/home-assistant/core/pull/113868
+[#113870]: https://github.com/home-assistant/core/pull/113870
+[#113871]: https://github.com/home-assistant/core/pull/113871
+[#113872]: https://github.com/home-assistant/core/pull/113872
+[#113875]: https://github.com/home-assistant/core/pull/113875
+[#113878]: https://github.com/home-assistant/core/pull/113878
+[#113884]: https://github.com/home-assistant/core/pull/113884
+[#113886]: https://github.com/home-assistant/core/pull/113886
+[#113888]: https://github.com/home-assistant/core/pull/113888
+[#113889]: https://github.com/home-assistant/core/pull/113889
+[#113892]: https://github.com/home-assistant/core/pull/113892
+[#113893]: https://github.com/home-assistant/core/pull/113893
+[#113895]: https://github.com/home-assistant/core/pull/113895
+[#113896]: https://github.com/home-assistant/core/pull/113896
+[#113897]: https://github.com/home-assistant/core/pull/113897
+[#113898]: https://github.com/home-assistant/core/pull/113898
+[#113900]: https://github.com/home-assistant/core/pull/113900
+[#113901]: https://github.com/home-assistant/core/pull/113901
+[#113902]: https://github.com/home-assistant/core/pull/113902
+[#113903]: https://github.com/home-assistant/core/pull/113903
+[#113904]: https://github.com/home-assistant/core/pull/113904
+[#113910]: https://github.com/home-assistant/core/pull/113910
+[#113913]: https://github.com/home-assistant/core/pull/113913
+[#113915]: https://github.com/home-assistant/core/pull/113915
+[#113917]: https://github.com/home-assistant/core/pull/113917
+[#113919]: https://github.com/home-assistant/core/pull/113919
+[#113920]: https://github.com/home-assistant/core/pull/113920
+[#113921]: https://github.com/home-assistant/core/pull/113921
+[#113922]: https://github.com/home-assistant/core/pull/113922
+[#113923]: https://github.com/home-assistant/core/pull/113923
+[#113928]: https://github.com/home-assistant/core/pull/113928
+[#113929]: https://github.com/home-assistant/core/pull/113929
+[#113932]: https://github.com/home-assistant/core/pull/113932
+[#113934]: https://github.com/home-assistant/core/pull/113934
+[#113948]: https://github.com/home-assistant/core/pull/113948
+[#113951]: https://github.com/home-assistant/core/pull/113951
+[#113959]: https://github.com/home-assistant/core/pull/113959
+[#113962]: https://github.com/home-assistant/core/pull/113962
+[#113963]: https://github.com/home-assistant/core/pull/113963
+[#113964]: https://github.com/home-assistant/core/pull/113964
+[#113965]: https://github.com/home-assistant/core/pull/113965
+[#113966]: https://github.com/home-assistant/core/pull/113966
+[#113969]: https://github.com/home-assistant/core/pull/113969
+[#113972]: https://github.com/home-assistant/core/pull/113972
+[#113981]: https://github.com/home-assistant/core/pull/113981
+[#113984]: https://github.com/home-assistant/core/pull/113984
+[#113985]: https://github.com/home-assistant/core/pull/113985
+[#113987]: https://github.com/home-assistant/core/pull/113987
+[#113989]: https://github.com/home-assistant/core/pull/113989
+[#113991]: https://github.com/home-assistant/core/pull/113991
+[#113992]: https://github.com/home-assistant/core/pull/113992
+[#113994]: https://github.com/home-assistant/core/pull/113994
+[#113999]: https://github.com/home-assistant/core/pull/113999
+[#114004]: https://github.com/home-assistant/core/pull/114004
+[#114006]: https://github.com/home-assistant/core/pull/114006
+[#114007]: https://github.com/home-assistant/core/pull/114007
+[#114010]: https://github.com/home-assistant/core/pull/114010
+[#114011]: https://github.com/home-assistant/core/pull/114011
+[#114012]: https://github.com/home-assistant/core/pull/114012
+[#114013]: https://github.com/home-assistant/core/pull/114013
+[#114014]: https://github.com/home-assistant/core/pull/114014
+[#114015]: https://github.com/home-assistant/core/pull/114015
+[#114016]: https://github.com/home-assistant/core/pull/114016
+[#114017]: https://github.com/home-assistant/core/pull/114017
+[#114018]: https://github.com/home-assistant/core/pull/114018
+[#114021]: https://github.com/home-assistant/core/pull/114021
+[#114022]: https://github.com/home-assistant/core/pull/114022
+[#114024]: https://github.com/home-assistant/core/pull/114024
+[#114034]: https://github.com/home-assistant/core/pull/114034
+[#114035]: https://github.com/home-assistant/core/pull/114035
+[#114036]: https://github.com/home-assistant/core/pull/114036
+[#114038]: https://github.com/home-assistant/core/pull/114038
+[#114039]: https://github.com/home-assistant/core/pull/114039
+[#114040]: https://github.com/home-assistant/core/pull/114040
+[#114043]: https://github.com/home-assistant/core/pull/114043
+[#114044]: https://github.com/home-assistant/core/pull/114044
+[#114045]: https://github.com/home-assistant/core/pull/114045
+[#114046]: https://github.com/home-assistant/core/pull/114046
+[#114047]: https://github.com/home-assistant/core/pull/114047
+[#114050]: https://github.com/home-assistant/core/pull/114050
+[#114053]: https://github.com/home-assistant/core/pull/114053
+[#114054]: https://github.com/home-assistant/core/pull/114054
+[#114057]: https://github.com/home-assistant/core/pull/114057
+[#114058]: https://github.com/home-assistant/core/pull/114058
+[#114060]: https://github.com/home-assistant/core/pull/114060
+[#114062]: https://github.com/home-assistant/core/pull/114062
+[#114063]: https://github.com/home-assistant/core/pull/114063
+[#114065]: https://github.com/home-assistant/core/pull/114065
+[#114067]: https://github.com/home-assistant/core/pull/114067
+[#114068]: https://github.com/home-assistant/core/pull/114068
+[#114069]: https://github.com/home-assistant/core/pull/114069
+[#114071]: https://github.com/home-assistant/core/pull/114071
+[#114073]: https://github.com/home-assistant/core/pull/114073
+[#114074]: https://github.com/home-assistant/core/pull/114074
+[#114077]: https://github.com/home-assistant/core/pull/114077
+[#114078]: https://github.com/home-assistant/core/pull/114078
+[#114082]: https://github.com/home-assistant/core/pull/114082
+[#114083]: https://github.com/home-assistant/core/pull/114083
+[#114084]: https://github.com/home-assistant/core/pull/114084
+[#114085]: https://github.com/home-assistant/core/pull/114085
+[#114086]: https://github.com/home-assistant/core/pull/114086
+[#114088]: https://github.com/home-assistant/core/pull/114088
+[#114089]: https://github.com/home-assistant/core/pull/114089
+[#114093]: https://github.com/home-assistant/core/pull/114093
+[#114097]: https://github.com/home-assistant/core/pull/114097
+[#114101]: https://github.com/home-assistant/core/pull/114101
+[#114102]: https://github.com/home-assistant/core/pull/114102
+[#114105]: https://github.com/home-assistant/core/pull/114105
+[#114107]: https://github.com/home-assistant/core/pull/114107
+[#114109]: https://github.com/home-assistant/core/pull/114109
+[#114111]: https://github.com/home-assistant/core/pull/114111
+[#114114]: https://github.com/home-assistant/core/pull/114114
+[#114115]: https://github.com/home-assistant/core/pull/114115
+[#114116]: https://github.com/home-assistant/core/pull/114116
+[#114120]: https://github.com/home-assistant/core/pull/114120
+[#114122]: https://github.com/home-assistant/core/pull/114122
+[#114124]: https://github.com/home-assistant/core/pull/114124
+[#114125]: https://github.com/home-assistant/core/pull/114125
+[#114127]: https://github.com/home-assistant/core/pull/114127
+[#114131]: https://github.com/home-assistant/core/pull/114131
+[#114132]: https://github.com/home-assistant/core/pull/114132
+[#114138]: https://github.com/home-assistant/core/pull/114138
+[#114142]: https://github.com/home-assistant/core/pull/114142
+[#114143]: https://github.com/home-assistant/core/pull/114143
+[#114144]: https://github.com/home-assistant/core/pull/114144
+[#114145]: https://github.com/home-assistant/core/pull/114145
+[#114148]: https://github.com/home-assistant/core/pull/114148
+[#114149]: https://github.com/home-assistant/core/pull/114149
+[#114150]: https://github.com/home-assistant/core/pull/114150
+[#114151]: https://github.com/home-assistant/core/pull/114151
+[#114153]: https://github.com/home-assistant/core/pull/114153
+[#114154]: https://github.com/home-assistant/core/pull/114154
+[#114155]: https://github.com/home-assistant/core/pull/114155
+[#114158]: https://github.com/home-assistant/core/pull/114158
+[#114159]: https://github.com/home-assistant/core/pull/114159
+[#114160]: https://github.com/home-assistant/core/pull/114160
+[#114161]: https://github.com/home-assistant/core/pull/114161
+[#114162]: https://github.com/home-assistant/core/pull/114162
+[#114163]: https://github.com/home-assistant/core/pull/114163
+[#114164]: https://github.com/home-assistant/core/pull/114164
+[#114165]: https://github.com/home-assistant/core/pull/114165
+[#114166]: https://github.com/home-assistant/core/pull/114166
+[#114167]: https://github.com/home-assistant/core/pull/114167
+[#114168]: https://github.com/home-assistant/core/pull/114168
+[#114169]: https://github.com/home-assistant/core/pull/114169
+[#114174]: https://github.com/home-assistant/core/pull/114174
+[#114180]: https://github.com/home-assistant/core/pull/114180
+[#114181]: https://github.com/home-assistant/core/pull/114181
+[#114182]: https://github.com/home-assistant/core/pull/114182
+[#114183]: https://github.com/home-assistant/core/pull/114183
+[#114184]: https://github.com/home-assistant/core/pull/114184
+[#114185]: https://github.com/home-assistant/core/pull/114185
+[#114186]: https://github.com/home-assistant/core/pull/114186
+[#114188]: https://github.com/home-assistant/core/pull/114188
+[#114191]: https://github.com/home-assistant/core/pull/114191
+[#114192]: https://github.com/home-assistant/core/pull/114192
+[#114198]: https://github.com/home-assistant/core/pull/114198
+[#114200]: https://github.com/home-assistant/core/pull/114200
+[#114201]: https://github.com/home-assistant/core/pull/114201
+[#114203]: https://github.com/home-assistant/core/pull/114203
+[#114206]: https://github.com/home-assistant/core/pull/114206
+[#114207]: https://github.com/home-assistant/core/pull/114207
+[#114208]: https://github.com/home-assistant/core/pull/114208
+[#114210]: https://github.com/home-assistant/core/pull/114210
+[#114212]: https://github.com/home-assistant/core/pull/114212
+[#114213]: https://github.com/home-assistant/core/pull/114213
+[#114216]: https://github.com/home-assistant/core/pull/114216
+[#114218]: https://github.com/home-assistant/core/pull/114218
+[#114219]: https://github.com/home-assistant/core/pull/114219
+[#114220]: https://github.com/home-assistant/core/pull/114220
+[#114221]: https://github.com/home-assistant/core/pull/114221
+[#114222]: https://github.com/home-assistant/core/pull/114222
+[#114227]: https://github.com/home-assistant/core/pull/114227
+[#114228]: https://github.com/home-assistant/core/pull/114228
+[#114229]: https://github.com/home-assistant/core/pull/114229
+[#114231]: https://github.com/home-assistant/core/pull/114231
+[#114232]: https://github.com/home-assistant/core/pull/114232
+[#114235]: https://github.com/home-assistant/core/pull/114235
+[#114236]: https://github.com/home-assistant/core/pull/114236
+[#114243]: https://github.com/home-assistant/core/pull/114243
+[#114246]: https://github.com/home-assistant/core/pull/114246
+[#114249]: https://github.com/home-assistant/core/pull/114249
+[#114252]: https://github.com/home-assistant/core/pull/114252
+[#114253]: https://github.com/home-assistant/core/pull/114253
+[#114260]: https://github.com/home-assistant/core/pull/114260
+[#114261]: https://github.com/home-assistant/core/pull/114261
+[#114263]: https://github.com/home-assistant/core/pull/114263
+[#114271]: https://github.com/home-assistant/core/pull/114271
+[#114276]: https://github.com/home-assistant/core/pull/114276
+[#114277]: https://github.com/home-assistant/core/pull/114277
+[#114278]: https://github.com/home-assistant/core/pull/114278
+[#114281]: https://github.com/home-assistant/core/pull/114281
+[#114283]: https://github.com/home-assistant/core/pull/114283
+[#114285]: https://github.com/home-assistant/core/pull/114285
+[#114288]: https://github.com/home-assistant/core/pull/114288
+[#114289]: https://github.com/home-assistant/core/pull/114289
+[#114292]: https://github.com/home-assistant/core/pull/114292
+[#114293]: https://github.com/home-assistant/core/pull/114293
+[#114295]: https://github.com/home-assistant/core/pull/114295
+[#114296]: https://github.com/home-assistant/core/pull/114296
+[#114297]: https://github.com/home-assistant/core/pull/114297
+[#114298]: https://github.com/home-assistant/core/pull/114298
+[#114300]: https://github.com/home-assistant/core/pull/114300
+[#114301]: https://github.com/home-assistant/core/pull/114301
+[#114302]: https://github.com/home-assistant/core/pull/114302
+[#114303]: https://github.com/home-assistant/core/pull/114303
+[#114304]: https://github.com/home-assistant/core/pull/114304
+[#114306]: https://github.com/home-assistant/core/pull/114306
+[#114308]: https://github.com/home-assistant/core/pull/114308
+[#114309]: https://github.com/home-assistant/core/pull/114309
+[#114311]: https://github.com/home-assistant/core/pull/114311
+[#114312]: https://github.com/home-assistant/core/pull/114312
+[#114315]: https://github.com/home-assistant/core/pull/114315
+[#114316]: https://github.com/home-assistant/core/pull/114316
+[#114317]: https://github.com/home-assistant/core/pull/114317
+[#114320]: https://github.com/home-assistant/core/pull/114320
+[#114321]: https://github.com/home-assistant/core/pull/114321
+[#114322]: https://github.com/home-assistant/core/pull/114322
+[#114326]: https://github.com/home-assistant/core/pull/114326
+[#114332]: https://github.com/home-assistant/core/pull/114332
+[#114333]: https://github.com/home-assistant/core/pull/114333
+[#114335]: https://github.com/home-assistant/core/pull/114335
+[#114336]: https://github.com/home-assistant/core/pull/114336
+[#114337]: https://github.com/home-assistant/core/pull/114337
+[#114339]: https://github.com/home-assistant/core/pull/114339
+[#114344]: https://github.com/home-assistant/core/pull/114344
+[#114346]: https://github.com/home-assistant/core/pull/114346
+[#114348]: https://github.com/home-assistant/core/pull/114348
+[#114354]: https://github.com/home-assistant/core/pull/114354
+[#114356]: https://github.com/home-assistant/core/pull/114356
+[#114368]: https://github.com/home-assistant/core/pull/114368
+[#114370]: https://github.com/home-assistant/core/pull/114370
+[#114371]: https://github.com/home-assistant/core/pull/114371
+[#114372]: https://github.com/home-assistant/core/pull/114372
+[#114373]: https://github.com/home-assistant/core/pull/114373
+[#114374]: https://github.com/home-assistant/core/pull/114374
+[#114380]: https://github.com/home-assistant/core/pull/114380
+[#114389]: https://github.com/home-assistant/core/pull/114389
+[#114392]: https://github.com/home-assistant/core/pull/114392
+[#114394]: https://github.com/home-assistant/core/pull/114394
+[#114396]: https://github.com/home-assistant/core/pull/114396
+[#114397]: https://github.com/home-assistant/core/pull/114397
+[#114399]: https://github.com/home-assistant/core/pull/114399
+[#114410]: https://github.com/home-assistant/core/pull/114410
+[#114418]: https://github.com/home-assistant/core/pull/114418
+[#114431]: https://github.com/home-assistant/core/pull/114431
+[#114442]: https://github.com/home-assistant/core/pull/114442
+[#114445]: https://github.com/home-assistant/core/pull/114445
+[#114447]: https://github.com/home-assistant/core/pull/114447
+[#114450]: https://github.com/home-assistant/core/pull/114450
+[#114452]: https://github.com/home-assistant/core/pull/114452
+[#114453]: https://github.com/home-assistant/core/pull/114453
+[#114456]: https://github.com/home-assistant/core/pull/114456
+[#114459]: https://github.com/home-assistant/core/pull/114459
+[#114468]: https://github.com/home-assistant/core/pull/114468
+[#114478]: https://github.com/home-assistant/core/pull/114478
+[#114487]: https://github.com/home-assistant/core/pull/114487
+[#114491]: https://github.com/home-assistant/core/pull/114491
+[#114492]: https://github.com/home-assistant/core/pull/114492
+[#114524]: https://github.com/home-assistant/core/pull/114524
+[#114544]: https://github.com/home-assistant/core/pull/114544
+[#114566]: https://github.com/home-assistant/core/pull/114566
+[#114567]: https://github.com/home-assistant/core/pull/114567
+[#114568]: https://github.com/home-assistant/core/pull/114568
+[#114569]: https://github.com/home-assistant/core/pull/114569
+[#114570]: https://github.com/home-assistant/core/pull/114570
+[#114574]: https://github.com/home-assistant/core/pull/114574
+[#114578]: https://github.com/home-assistant/core/pull/114578
+[#114581]: https://github.com/home-assistant/core/pull/114581
+[#114584]: https://github.com/home-assistant/core/pull/114584
+[#114591]: https://github.com/home-assistant/core/pull/114591
+[#114593]: https://github.com/home-assistant/core/pull/114593
+[#114596]: https://github.com/home-assistant/core/pull/114596
+[#114600]: https://github.com/home-assistant/core/pull/114600
+[#114602]: https://github.com/home-assistant/core/pull/114602
+[#114603]: https://github.com/home-assistant/core/pull/114603
+[#114606]: https://github.com/home-assistant/core/pull/114606
+[#114607]: https://github.com/home-assistant/core/pull/114607
+[#114608]: https://github.com/home-assistant/core/pull/114608
+[#114611]: https://github.com/home-assistant/core/pull/114611
+[#114614]: https://github.com/home-assistant/core/pull/114614
+[#114615]: https://github.com/home-assistant/core/pull/114615
+[#114627]: https://github.com/home-assistant/core/pull/114627
+[#114631]: https://github.com/home-assistant/core/pull/114631
+[#114641]: https://github.com/home-assistant/core/pull/114641
+[#114646]: https://github.com/home-assistant/core/pull/114646
+[#114649]: https://github.com/home-assistant/core/pull/114649
+[#114654]: https://github.com/home-assistant/core/pull/114654
+[#114657]: https://github.com/home-assistant/core/pull/114657
+[#114659]: https://github.com/home-assistant/core/pull/114659
+[#114683]: https://github.com/home-assistant/core/pull/114683
+[#114685]: https://github.com/home-assistant/core/pull/114685
+[#114718]: https://github.com/home-assistant/core/pull/114718
+[#114741]: https://github.com/home-assistant/core/pull/114741
+[#114747]: https://github.com/home-assistant/core/pull/114747
+[#114748]: https://github.com/home-assistant/core/pull/114748
+[#114755]: https://github.com/home-assistant/core/pull/114755
+[#114756]: https://github.com/home-assistant/core/pull/114756
+[#114757]: https://github.com/home-assistant/core/pull/114757
+[#87821]: https://github.com/home-assistant/core/pull/87821
+[#94392]: https://github.com/home-assistant/core/pull/94392
+[#95206]: https://github.com/home-assistant/core/pull/95206
+[#98722]: https://github.com/home-assistant/core/pull/98722
+[#99495]: https://github.com/home-assistant/core/pull/99495
+[@343max]: https://github.com/343max
+[@ALERTua]: https://github.com/ALERTua
+[@AngellusMortis]: https://github.com/AngellusMortis
+[@Antoni-Czaplicki]: https://github.com/Antoni-Czaplicki
+[@Bre77]: https://github.com/Bre77
+[@CFenner]: https://github.com/CFenner
+[@Cereal2nd]: https://github.com/Cereal2nd
+[@DCSBL]: https://github.com/DCSBL
+[@DarkFox]: https://github.com/DarkFox
+[@Ernst79]: https://github.com/Ernst79
+[@FedDam]: https://github.com/FedDam
+[@Fexiven]: https://github.com/Fexiven
+[@Floris272]: https://github.com/Floris272
+[@GidoHakvoort]: https://github.com/GidoHakvoort
+[@IngoK1]: https://github.com/IngoK1
+[@IsakNyberg]: https://github.com/IsakNyberg
+[@JeromeHXP]: https://github.com/JeromeHXP
+[@Kane610]: https://github.com/Kane610
+[@LaStrada]: https://github.com/LaStrada
+[@LarsStegman]: https://github.com/LarsStegman
+[@Lash-L]: https://github.com/Lash-L
+[@LennP]: https://github.com/LennP
+[@ManneW]: https://github.com/ManneW
+[@MarkGodwin]: https://github.com/MarkGodwin
+[@MartinHjelmare]: https://github.com/MartinHjelmare
+[@MatthiasLohr]: https://github.com/MatthiasLohr
+[@MrXANA91]: https://github.com/MrXANA91
+[@NodeJSmith]: https://github.com/NodeJSmith
+[@Noltari]: https://github.com/Noltari
+[@OnFreund]: https://github.com/OnFreund
+[@OndraM]: https://github.com/OndraM
+[@PeteRager]: https://github.com/PeteRager
+[@RoboMagus]: https://github.com/RoboMagus
+[@Shutgun]: https://github.com/Shutgun
+[@StevenLooman]: https://github.com/StevenLooman
+[@TheJulianJES]: https://github.com/TheJulianJES
+[@Thomas55555]: https://github.com/Thomas55555
+[@Tronix117]: https://github.com/Tronix117
+[@Xiretza]: https://github.com/Xiretza
+[@Xitee1]: https://github.com/Xitee1
+[@YogevBokobza]: https://github.com/YogevBokobza
+[@abjorck]: https://github.com/abjorck
+[@agoode]: https://github.com/agoode
+[@akx]: https://github.com/akx
+[@albertogeniola]: https://github.com/albertogeniola
+[@alexsydell]: https://github.com/alexsydell
+[@alinbalutoiu]: https://github.com/alinbalutoiu
+[@allenporter]: https://github.com/allenporter
+[@astrandb]: https://github.com/astrandb
+[@autinerd]: https://github.com/autinerd
+[@bachya]: https://github.com/bachya
+[@balloob]: https://github.com/balloob
+[@bdraco]: https://github.com/bdraco
+[@belangp]: https://github.com/belangp
+[@bieniu]: https://github.com/bieniu
+[@boswelja]: https://github.com/boswelja
+[@bouwew]: https://github.com/bouwew
+[@bramkragten]: https://github.com/bramkragten
+[@brg468]: https://github.com/brg468
+[@briglx]: https://github.com/briglx
+[@caronc]: https://github.com/caronc
+[@catsmanac]: https://github.com/catsmanac
+[@cdce8p]: https://github.com/cdce8p
+[@chemelli74]: https://github.com/chemelli74
+[@clssn]: https://github.com/clssn
+[@cosimomeli]: https://github.com/cosimomeli
+[@cottsay]: https://github.com/cottsay
+[@ctalkington]: https://github.com/ctalkington
+[@danielperna84]: https://github.com/danielperna84
+[@davet2001]: https://github.com/davet2001
+[@definitio]: https://github.com/definitio
+[@dgomes]: https://github.com/dgomes
+[@dmulcahey]: https://github.com/dmulcahey
+[@dontinelli]: https://github.com/dontinelli
+[@dotvav]: https://github.com/dotvav
+[@dougiteixeira]: https://github.com/dougiteixeira
+[@drewclauson]: https://github.com/drewclauson
+[@dshokouhi]: https://github.com/dshokouhi
+[@edenhaus]: https://github.com/edenhaus
+[@eifinger]: https://github.com/eifinger
+[@elupus]: https://github.com/elupus
+[@emontnemery]: https://github.com/emontnemery
+[@epenet]: https://github.com/epenet
+[@erwindouna]: https://github.com/erwindouna
+[@esciara]: https://github.com/esciara
+[@farmio]: https://github.com/farmio
+[@frenck]: https://github.com/frenck
+[@fwestenberg]: https://github.com/fwestenberg
+[@gibwar]: https://github.com/gibwar
+[@gjohansson-ST]: https://github.com/gjohansson-ST
+[@hopkins-tk]: https://github.com/hopkins-tk
+[@iMicknl]: https://github.com/iMicknl
+[@idelsink]: https://github.com/idelsink
+[@janiversen]: https://github.com/janiversen
+[@jbouwh]: https://github.com/jbouwh
+[@jeeftor]: https://github.com/jeeftor
+[@jesserockz]: https://github.com/jesserockz
+[@jjlawren]: https://github.com/jjlawren
+[@joostlek]: https://github.com/joostlek
+[@jpbede]: https://github.com/jpbede
+[@jwillemsen]: https://github.com/jwillemsen
+[@kingy444]: https://github.com/kingy444
+[@lellky]: https://github.com/lellky
+[@lextm]: https://github.com/lextm
+[@luar123]: https://github.com/luar123
+[@ludeeus]: https://github.com/ludeeus
+[@malkstar]: https://github.com/malkstar
+[@marcelveldt]: https://github.com/marcelveldt
+[@matrixd2]: https://github.com/matrixd2
+[@max2697]: https://github.com/max2697
+[@mdegat01]: https://github.com/mdegat01
+[@miaucl]: https://github.com/miaucl
+[@mib1185]: https://github.com/mib1185
+[@mjh1]: https://github.com/mjh1
+[@mkmer]: https://github.com/mkmer
+[@msavazzi]: https://github.com/msavazzi
+[@nalin29]: https://github.com/nalin29
+[@niro1987]: https://github.com/niro1987
+[@oyvindwe]: https://github.com/oyvindwe
+[@pavoni]: https://github.com/pavoni
+[@piitaya]: https://github.com/piitaya
+[@puddly]: https://github.com/puddly
+[@rokam]: https://github.com/rokam
+[@ronweikamp]: https://github.com/ronweikamp
+[@scop]: https://github.com/scop
+[@sdb9696]: https://github.com/sdb9696
+[@shaiu]: https://github.com/shaiu
+[@slyoldfox]: https://github.com/slyoldfox
+[@snoack]: https://github.com/snoack
+[@soonsouth]: https://github.com/soonsouth
+[@starkillerOG]: https://github.com/starkillerOG
+[@steffenrapp]: https://github.com/steffenrapp
+[@synesthesiam]: https://github.com/synesthesiam
+[@the-ress]: https://github.com/the-ress
+[@thecode]: https://github.com/thecode
+[@thejeffreystone]: https://github.com/thejeffreystone
+[@timmo001]: https://github.com/timmo001
+[@tr4nt0r]: https://github.com/tr4nt0r
+[@tronikos]: https://github.com/tronikos
+[@tuday2]: https://github.com/tuday2
+[@uchagani]: https://github.com/uchagani
+[@wilburCforce]: https://github.com/wilburCforce
+[@wujiaqi]: https://github.com/wujiaqi
+[@xeniter]: https://github.com/xeniter
+[@yozik04]: https://github.com/yozik04
+[@yuxincs]: https://github.com/yuxincs
+[@zweckj]: https://github.com/zweckj
diff --git a/source/dashboards/cards.markdown b/source/dashboards/cards.markdown
index ae3936ff1f3..ac5e78b7dc5 100644
--- a/source/dashboards/cards.markdown
+++ b/source/dashboards/cards.markdown
@@ -25,7 +25,7 @@ There are several different card types, each with their own configuration option
Some cards have support for [tap actions](/dashboards/actions/). These actions define what will happen when you tap or hold on an object within a card.
-Some cards have support for [features](/dashboards/actions/). These widgets add quick controls to the card. Supported features depend on the card and entity capabilities. Multiple features can be added to a single card.
+Some cards have support for [features](/dashboards/features/). These widgets add quick controls to the card. Supported features depend on the card and entity capabilities. Multiple features can be added to a single card.
Screenshot of tile cards with features.
@@ -87,4 +87,4 @@ Another way to add entities to a dashboard is to use the **Device** page.
- For a list of available card types and more detailed documentation, refer to the **Card types** section in the side navigation.
- [Card tap actions](/dashboards/actions/)
- [Card features](/dashboards/actions/)
-- [Card header and footer widgets](/dashboards/header-footer/)
\ No newline at end of file
+- [Card header and footer widgets](/dashboards/header-footer/)
diff --git a/source/dashboards/header-footer.markdown b/source/dashboards/header-footer.markdown
index b48a122e903..10e7f607d7e 100644
--- a/source/dashboards/header-footer.markdown
+++ b/source/dashboards/header-footer.markdown
@@ -13,7 +13,7 @@ Header and footer can be used on the following cards:
- [Entity](/dashboards/entity/)
- [Entities](/dashboards/entities/)
-- [Statictis](/dashboards/statistics/)
+- [Statistics](/dashboards/statistics/)
## Picture header & footer
@@ -151,5 +151,5 @@ hours_to_show:
- [Entity](/dashboards/entity/)
- [Entities](/dashboards/entities/)
-- [Statictis](/dashboards/statistics/)
-- [Card actions](/dashboards/actions/)
\ No newline at end of file
+- [statistics](/dashboards/statistics/)
+- [Card actions](/dashboards/actions/)
diff --git a/source/images/blog/2024-04/add-matter-device-from-another-controller.png b/source/images/blog/2024-04/add-matter-device-from-another-controller.png
new file mode 100644
index 00000000000..3e7714d9050
Binary files /dev/null and b/source/images/blog/2024-04/add-matter-device-from-another-controller.png differ
diff --git a/source/images/blog/2024-04/add-matter-device.png b/source/images/blog/2024-04/add-matter-device.png
new file mode 100644
index 00000000000..bfa816101b9
Binary files /dev/null and b/source/images/blog/2024-04/add-matter-device.png differ
diff --git a/source/images/blog/2024-04/bulk-actions.png b/source/images/blog/2024-04/bulk-actions.png
new file mode 100644
index 00000000000..db5dc131710
Binary files /dev/null and b/source/images/blog/2024-04/bulk-actions.png differ
diff --git a/source/images/blog/2024-04/categories.png b/source/images/blog/2024-04/categories.png
new file mode 100644
index 00000000000..aab4aa74bf5
Binary files /dev/null and b/source/images/blog/2024-04/categories.png differ
diff --git a/source/images/blog/2024-04/dashboard-map.png b/source/images/blog/2024-04/dashboard-map.png
new file mode 100644
index 00000000000..1de5d9c8322
Binary files /dev/null and b/source/images/blog/2024-04/dashboard-map.png differ
diff --git a/source/images/blog/2024-04/dashboard-webpage.png b/source/images/blog/2024-04/dashboard-webpage.png
new file mode 100644
index 00000000000..3aa75c5f225
Binary files /dev/null and b/source/images/blog/2024-04/dashboard-webpage.png differ
diff --git a/source/images/blog/2024-04/embedded-home-assistant-website.png b/source/images/blog/2024-04/embedded-home-assistant-website.png
new file mode 100644
index 00000000000..02fb5eae2db
Binary files /dev/null and b/source/images/blog/2024-04/embedded-home-assistant-website.png differ
diff --git a/source/images/blog/2024-04/enable-selection-mode.png b/source/images/blog/2024-04/enable-selection-mode.png
new file mode 100644
index 00000000000..2665d48a744
Binary files /dev/null and b/source/images/blog/2024-04/enable-selection-mode.png differ
diff --git a/source/images/blog/2024-04/filter-panel.png b/source/images/blog/2024-04/filter-panel.png
new file mode 100644
index 00000000000..849df41edbf
Binary files /dev/null and b/source/images/blog/2024-04/filter-panel.png differ
diff --git a/source/images/blog/2024-04/floors.png b/source/images/blog/2024-04/floors.png
new file mode 100644
index 00000000000..749ceb77a66
Binary files /dev/null and b/source/images/blog/2024-04/floors.png differ
diff --git a/source/images/blog/2024-04/group-items-by-manufacturer.png b/source/images/blog/2024-04/group-items-by-manufacturer.png
new file mode 100644
index 00000000000..e161047d213
Binary files /dev/null and b/source/images/blog/2024-04/group-items-by-manufacturer.png differ
diff --git a/source/images/blog/2024-04/item-grouping.png b/source/images/blog/2024-04/item-grouping.png
new file mode 100644
index 00000000000..9d30d4ef3db
Binary files /dev/null and b/source/images/blog/2024-04/item-grouping.png differ
diff --git a/source/images/blog/2024-04/labels.png b/source/images/blog/2024-04/labels.png
new file mode 100644
index 00000000000..e6dd867ec0e
Binary files /dev/null and b/source/images/blog/2024-04/labels.png differ
diff --git a/source/images/blog/2024-04/lock-unlatch-confirmation.gif b/source/images/blog/2024-04/lock-unlatch-confirmation.gif
new file mode 100644
index 00000000000..93fdb225298
Binary files /dev/null and b/source/images/blog/2024-04/lock-unlatch-confirmation.gif differ
diff --git a/source/images/blog/2024-04/new-toolbar.png b/source/images/blog/2024-04/new-toolbar.png
new file mode 100644
index 00000000000..9b3992d606c
Binary files /dev/null and b/source/images/blog/2024-04/new-toolbar.png differ
diff --git a/source/images/blog/2024-04/sections-dashboard-limit-columns.png b/source/images/blog/2024-04/sections-dashboard-limit-columns.png
new file mode 100644
index 00000000000..5a1f5567bd3
Binary files /dev/null and b/source/images/blog/2024-04/sections-dashboard-limit-columns.png differ
diff --git a/source/images/blog/2024-04/social.png b/source/images/blog/2024-04/social.png
new file mode 100644
index 00000000000..ddd0a5cbc46
Binary files /dev/null and b/source/images/blog/2024-04/social.png differ
diff --git a/source/voice_control/aliases.markdown b/source/voice_control/aliases.markdown
index 5ae4b656832..d564bf23869 100644
--- a/source/voice_control/aliases.markdown
+++ b/source/voice_control/aliases.markdown
@@ -1,8 +1,8 @@
---
-title: "Assist - entity and area aliases"
+title: "Assist - entity, area, and floor aliases"
---
-Assist will use the names of your entities and areas, as well as any aliases you've configured. The configured aliases are not only used by Assist, but can also be used by Google Assistant, if you have set that up.
+Assist will use the names of your entities, areas and floors, as well as any aliases you've configured. The configured aliases are not only used by Assist, but can also be used by Google Assistant, if you have set that up.
These aliases are helpful in case you call the same device by multiple names
or when using a voice assistant in multiple languages at the same time.
@@ -18,7 +18,20 @@ There are multliple ways to add an alias of an entity:
## Adding an alias of an area
-1. To add an alias for an area, go to {% my zones title="**Settings** > **Areas, labels & zones**" %}.
-2. Select the area of interest.
-3. In the three-dot menu, select **Area settings**.
-4. Select **Add alias** and enter the alias you want to use for that area.
+1. To add an alias for an area, go to **Settings** > **Areas, labels & zones**.
+2. On the area card of interest, select the pencil button.
+3. Select **Add alias** and enter the alias you want to use for that area.
+4. **Save** your changes.
+
+## Adding an alias of a floor
+
+1. To add an alias for a floor, go to **Settings** > **Areas, labels & zones**.
+2. Next to the floor of interest, select the three-dot menu, then select **Edit floor**.
+3. Select **Add alias** and enter the alias you want to use for that floor.
+4. **Save** your changes.
+
+## Related topics
+
+- [Areas](/docs/organizing/areas/)
+- [Floors](/docs/organizing/floors/)
+- [Assist - custom sentences](/voice_control/custom_sentences/)