diff --git a/CODEOWNERS b/CODEOWNERS index 709df8de59f..fa4fb686b0d 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -72,7 +72,7 @@ source/_integrations/azure_event_hub.markdown @eavanvalkenburg source/_integrations/azure_service_bus.markdown @hfurubotten source/_integrations/backup.markdown @home-assistant/core source/_integrations/baf.markdown @bdraco @jfroy -source/_integrations/balboa.markdown @garbled1 +source/_integrations/balboa.markdown @garbled1 @natekspencer source/_integrations/bayesian.markdown @HarvsG source/_integrations/beewi_smartclim.markdown @alemuro source/_integrations/binary_sensor.markdown @home-assistant/core @@ -121,7 +121,7 @@ source/_integrations/compensation.markdown @Petro31 source/_integrations/config.markdown @home-assistant/core source/_integrations/configurator.markdown @home-assistant/core source/_integrations/control4.markdown @lawtancool -source/_integrations/conversation.markdown @home-assistant/core +source/_integrations/conversation.markdown @home-assistant/core @synesthesiam source/_integrations/coolmaster.markdown @OnFreund source/_integrations/coronavirus.markdown @home-assistant/core source/_integrations/counter.markdown @fabaff @@ -160,12 +160,14 @@ source/_integrations/dlna_dms.markdown @chishm source/_integrations/dnsip.markdown @gjohansson-ST source/_integrations/doorbird.markdown @oblogic7 @bdraco @flacjacket source/_integrations/dooya.markdown @starkillerOG +source/_integrations/dormakaba_dkey.markdown @emontnemery source/_integrations/dsmr.markdown @Robbie1221 @frenck source/_integrations/dsmr_reader.markdown @depl0y @glodenox source/_integrations/dunehd.markdown @bieniu source/_integrations/dwd_weather_warnings.markdown @runningman84 @stephan192 @Hummel95 source/_integrations/dynalite.markdown @ziv1234 -source/_integrations/ecobee.markdown @marthoc +source/_integrations/easyenergy.markdown @klaasnicolaas +source/_integrations/ecobee.markdown @marthoc @marcolivierarsenault source/_integrations/econet.markdown @vangorra @w1ll1am23 source/_integrations/ecovacs.markdown @OverloadUT @mib1185 source/_integrations/ecowitt.markdown @pvizeli @@ -179,7 +181,7 @@ source/_integrations/elv.markdown @majuss source/_integrations/emby.markdown @mezz64 source/_integrations/emoncms.markdown @borpin source/_integrations/emonitor.markdown @bdraco -source/_integrations/emulated_hue.markdown @bdraco +source/_integrations/emulated_hue.markdown @bdraco @Tho85 source/_integrations/emulated_kasa.markdown @kbickar source/_integrations/energie_vanons.markdown @klaasnicolaas source/_integrations/energy.markdown @home-assistant/core @@ -237,7 +239,7 @@ source/_integrations/gaviota.markdown @starkillerOG source/_integrations/gdacs.markdown @exxamalte source/_integrations/generic.markdown @davet2001 source/_integrations/generic_hygrostat.markdown @Shulyaka -source/_integrations/geniushub.markdown @zxdavb +source/_integrations/geniushub.markdown @manzanotti source/_integrations/geo_json_events.markdown @exxamalte source/_integrations/geo_location.markdown @home-assistant/core source/_integrations/geo_rss_events.markdown @exxamalte @@ -262,7 +264,7 @@ source/_integrations/gpsd.markdown @fabaff source/_integrations/gree.markdown @cmroche source/_integrations/greeneye_monitor.markdown @jkeljo source/_integrations/group.markdown @home-assistant/core -source/_integrations/growatt_server.markdown @indykoning @muppet3000 @JasperPlant +source/_integrations/growatt_server.markdown @muppet3000 source/_integrations/guardian.markdown @bachya source/_integrations/habitica.markdown @ASMfreaK @leikoilja source/_integrations/hardware.markdown @home-assistant/core @@ -392,6 +394,7 @@ source/_integrations/lyric.markdown @timmo001 source/_integrations/marantz.markdown @ol-iver @starkillerOG source/_integrations/martec.markdown @starkillerOG source/_integrations/mastodon.markdown @fabaff +source/_integrations/matter.markdown @home-assistant/matter source/_integrations/mazda.markdown @bdr99 source/_integrations/meater.markdown @Sotolotl @emontnemery source/_integrations/media_player.markdown @home-assistant/core @@ -568,7 +571,7 @@ source/_integrations/rtsp_to_webrtc.markdown @allenporter source/_integrations/ruckus_unleashed.markdown @gabe565 source/_integrations/ruuvi_gateway.markdown @akx source/_integrations/ruuvitag_ble.markdown @akx -source/_integrations/rympro.markdown @OnFreund +source/_integrations/rympro.markdown @OnFreund @elad-bar @maorcc source/_integrations/sabnzbd.markdown @shaiu source/_integrations/safe_mode.markdown @home-assistant/core source/_integrations/saj.markdown @fredericvl @@ -703,6 +706,7 @@ source/_integrations/tolo.markdown @MatthiasLohr source/_integrations/tomorrowio.markdown @raman325 @lymanepp source/_integrations/totalconnect.markdown @austinmroczek source/_integrations/tplink.markdown @rytilahti @thegardenmonkey +source/_integrations/tplink_omada.markdown @MarkGodwin source/_integrations/traccar.markdown @ludeeus source/_integrations/tractive.markdown @Danielhiversen @zhulik @bieniu source/_integrations/trafikverket_ferry.markdown @gjohansson-ST diff --git a/_config.yml b/_config.yml index be5f8daca0f..092cfdb4e7f 100644 --- a/_config.yml +++ b/_config.yml @@ -109,9 +109,9 @@ social: # Home Assistant release details current_major_version: 2023 -current_minor_version: 2 -current_patch_version: 5 -date_released: 2023-02-15 +current_minor_version: 3 +current_patch_version: 0 +date_released: 2023-03-01 # Either # or the anchor link to latest release notes in the blog post. # Must be prefixed with a # and have double quotes around it. diff --git a/source/_integrations/balboa.markdown b/source/_integrations/balboa.markdown index 79e7e488f36..a933376bce3 100644 --- a/source/_integrations/balboa.markdown +++ b/source/_integrations/balboa.markdown @@ -12,6 +12,7 @@ ha_platforms: - climate ha_codeowners: - '@garbled1' + - '@natekspencer' ha_config_flow: true ha_integration_type: integration --- diff --git a/source/_integrations/conversation.markdown b/source/_integrations/conversation.markdown index 111a0cb45cb..0e8e6b1f80f 100644 --- a/source/_integrations/conversation.markdown +++ b/source/_integrations/conversation.markdown @@ -8,6 +8,7 @@ ha_quality_scale: internal ha_iot_class: Local Push ha_codeowners: - '@home-assistant/core' + - '@synesthesiam' ha_domain: conversation ha_integration_type: system --- diff --git a/source/_integrations/denonavr.markdown b/source/_integrations/denonavr.markdown index ea60ab4ff32..d494ef765bc 100644 --- a/source/_integrations/denonavr.markdown +++ b/source/_integrations/denonavr.markdown @@ -3,7 +3,7 @@ title: Denon AVR Network Receivers description: Instructions on how to integrate Denon AVR Network Receivers into Home Assistant. ha_category: - Media Player -ha_iot_class: Local Polling +ha_iot_class: Local Push ha_release: 0.7.2 ha_domain: denonavr ha_codeowners: diff --git a/source/_integrations/easyenergy.markdown b/source/_integrations/easyenergy.markdown index cd71cee2981..f01451832b3 100644 --- a/source/_integrations/easyenergy.markdown +++ b/source/_integrations/easyenergy.markdown @@ -11,6 +11,7 @@ ha_codeowners: - '@klaasnicolaas' ha_domain: easyenergy ha_platforms: + - diagnostics - sensor ha_quality_scale: platinum ha_integration_type: integration @@ -51,4 +52,4 @@ prices for electricity that you use (buy) or return (sell). Every day around For the dynamic gas prices, only entities are created that display the `current` and `next hour` price because the price is always fixed for -24 hours; new prices are published every morning at **05:00 UTC time**. \ No newline at end of file +24 hours; new prices are published every morning at **05:00 UTC time**. diff --git a/source/_integrations/ecobee.markdown b/source/_integrations/ecobee.markdown index f43d351fefd..fcb013d0822 100644 --- a/source/_integrations/ecobee.markdown +++ b/source/_integrations/ecobee.markdown @@ -15,6 +15,7 @@ ha_iot_class: Cloud Polling ha_config_flow: true ha_codeowners: - '@marthoc' + - '@marcolivierarsenault' ha_domain: ecobee ha_platforms: - binary_sensor @@ -227,4 +228,4 @@ Enable/disable Smart Home/Away and Follow Me modes. | ---------------------- | -------- | ------------------------------------------------- | | `entity_id` | yes | ecobee thermostat on which to set occupancy modes | | `auto_away` | yes | true or false | -| `follow_me` | yes | true or false | \ No newline at end of file +| `follow_me` | yes | true or false | diff --git a/source/_integrations/emulated_hue.markdown b/source/_integrations/emulated_hue.markdown index bc3c4cf042c..8eba0b47a87 100644 --- a/source/_integrations/emulated_hue.markdown +++ b/source/_integrations/emulated_hue.markdown @@ -10,6 +10,7 @@ ha_domain: emulated_hue ha_integration_type: integration ha_codeowners: - '@bdraco' + - '@Tho85' ---
diff --git a/source/_integrations/geniushub.markdown b/source/_integrations/geniushub.markdown index c1f61815c6e..adb1779bfc5 100644 --- a/source/_integrations/geniushub.markdown +++ b/source/_integrations/geniushub.markdown @@ -10,7 +10,7 @@ ha_category: ha_release: 0.92 ha_iot_class: Local Polling ha_codeowners: - - '@zxdavb' + - '@manzanotti' ha_domain: geniushub ha_platforms: - binary_sensor diff --git a/source/_integrations/geo_json_events.markdown b/source/_integrations/geo_json_events.markdown index 58e138689a9..5632cfefd0a 100644 --- a/source/_integrations/geo_json_events.markdown +++ b/source/_integrations/geo_json_events.markdown @@ -10,7 +10,7 @@ ha_codeowners: - '@exxamalte' ha_platforms: - geo_location -ha_integration_type: integration +ha_integration_type: service --- The `geo_json_events` platform lets you integrate GeoJSON feeds. It retrieves events from a feed and shows information of those events filtered by distance to Home Assistant's location. diff --git a/source/_integrations/google_assistant_sdk.markdown b/source/_integrations/google_assistant_sdk.markdown index 96dfa3ac802..787097796cb 100644 --- a/source/_integrations/google_assistant_sdk.markdown +++ b/source/_integrations/google_assistant_sdk.markdown @@ -12,6 +12,7 @@ ha_codeowners: ha_integration_type: service ha_platforms: - notify +ha_quality_scale: platinum --- The Google Assistant SDK integration allows Home Assistant to interact with Google Assistant. If you want to use Google Assistant (for example, from your phone or Google Home device) to interact with your Home Assistant managed devices, then you want the [Google Assistant](/integrations/google_assistant) integration. diff --git a/source/_integrations/growatt_server.markdown b/source/_integrations/growatt_server.markdown index 858b7f47a85..2b829ad7b0a 100644 --- a/source/_integrations/growatt_server.markdown +++ b/source/_integrations/growatt_server.markdown @@ -7,9 +7,7 @@ ha_category: ha_release: 0.99 ha_iot_class: Cloud Polling ha_codeowners: - - '@indykoning' - '@muppet3000' - - '@JasperPlant' ha_domain: growatt_server ha_platforms: - sensor diff --git a/source/_integrations/marantz.markdown b/source/_integrations/marantz.markdown index 23f1eed96d2..473504e74b4 100644 --- a/source/_integrations/marantz.markdown +++ b/source/_integrations/marantz.markdown @@ -14,7 +14,7 @@ ha_codeowners: ha_config_flow: true ha_platforms: - media_player -ha_iot_class: Local Polling +ha_iot_class: Local Push ha_ssdp: true --- diff --git a/source/_integrations/matter.markdown b/source/_integrations/matter.markdown index 154fb765ff6..ea68e26abc4 100644 --- a/source/_integrations/matter.markdown +++ b/source/_integrations/matter.markdown @@ -1,5 +1,5 @@ --- -title: Matter +title: Matter (BETA) description: Instructions on how to integrate Matter with Home Assistant. ha_category: - Binary Sensor @@ -10,11 +10,11 @@ ha_release: '2022.12' ha_iot_class: Local Push ha_config_flow: true ha_codeowners: - - '@marcelveldt' - - '@MartinHjelmare' + - '@home-assistant/matter' ha_domain: matter ha_platforms: - binary_sensor + - diagnostics - light - sensor - switch @@ -200,4 +200,3 @@ _This option is only available for Home Assistant OS (the recommended installati This option is considered a very advanced setup and only for experienced users. You can find instructions on how to run the Matter Server in the [project repository](https://github.com/home-assistant-libs/python-matter-server). _Disclaimer: Some links on this page are affiliate links._ - diff --git a/source/_integrations/reolink.markdown b/source/_integrations/reolink.markdown index f2c02915aeb..a9fa8edc5c6 100644 --- a/source/_integrations/reolink.markdown +++ b/source/_integrations/reolink.markdown @@ -3,6 +3,7 @@ title: Reolink IP NVR/camera description: Instructions on how to integrate Reolink devices (NVR/cameras) into Home Assistant. ha_category: - Camera + - Update ha_iot_class: Local Push ha_release: 2023.1 ha_domain: reolink @@ -12,6 +13,8 @@ ha_config_flow: true ha_platforms: - binary_sensor - camera + - number + - update ha_integration_type: integration ha_dhcp: true --- diff --git a/source/_integrations/rympro.markdown b/source/_integrations/rympro.markdown index 3e53b11ca29..8f2fe200bd8 100644 --- a/source/_integrations/rympro.markdown +++ b/source/_integrations/rympro.markdown @@ -8,6 +8,8 @@ ha_iot_class: Cloud Polling ha_config_flow: true ha_codeowners: - '@OnFreund' + - '@elad-bar' + - '@maorcc' ha_domain: rympro ha_platforms: - sensor diff --git a/source/_integrations/screenlogic.markdown b/source/_integrations/screenlogic.markdown index b204a24a2d2..809cbb10e26 100644 --- a/source/_integrations/screenlogic.markdown +++ b/source/_integrations/screenlogic.markdown @@ -8,7 +8,7 @@ ha_category: - Hub - Sensor - Switch -ha_iot_class: Local Polling +ha_iot_class: Local Push ha_config_flow: true ha_dhcp: true ha_codeowners: diff --git a/source/_integrations/thread.markdown b/source/_integrations/thread.markdown index 118d689e06b..b6f5ce454c9 100644 --- a/source/_integrations/thread.markdown +++ b/source/_integrations/thread.markdown @@ -9,6 +9,9 @@ ha_domain: thread ha_iot_class: Local Polling ha_integration_type: service ha_config_flow: true +ha_platforms: + - diagnostics +ha_zeroconf: true --- The Thread integration helps you track the different Thread networks in your home and helps you manage their credentials. It is currently a work in progress. diff --git a/source/_integrations/tplink_omada.markdown b/source/_integrations/tplink_omada.markdown index 54303db13ce..51ab344e5c9 100644 --- a/source/_integrations/tplink_omada.markdown +++ b/source/_integrations/tplink_omada.markdown @@ -1,5 +1,5 @@ --- -title: TP-Link Omada SDN Controller +title: TP-Link Omada description: Instructions on integrating TP-Link Omada SDN networking devices to Home Assistant. ha_category: - Hub @@ -11,7 +11,7 @@ ha_codeowners: ha_domain: tplink_omada ha_platforms: - switch -ha_integration_type: integration +ha_integration_type: hub --- The TP-Link Omada SDN Controller integration allows you to control your [TP-Link Omada SDN Devices](https://www.tp-link.com/us/omada-sdn/) such as network switches, access points, and internet gateways. It requires a local Omada controller (software or hardware controllers) and does not currently support the paid-for TP-Link Omada Cloud Management SAAS Platform. diff --git a/source/_posts/2023-03-01-release-20233.markdown b/source/_posts/2023-03-01-release-20233.markdown new file mode 100644 index 00000000000..875945ba6c3 --- /dev/null +++ b/source/_posts/2023-03-01-release-20233.markdown @@ -0,0 +1,618 @@ +--- +layout: post +title: "2023.3: Beta release notes" +description: "Beta release notes for Home Assistant Core 2023.3." +date: 2023-02-22 00:00:00 +date_formatted: "March 1, 2023" +author: Franck Nijhof +author_twitter: frenck +comments: true +categories: + - Release-Notes + - Core +og_image: /images/blog/2023-03/social.png +--- + + + + + +These are the beta release notes for Home Assistant Core 2023.3 (and is thus a +work in progress). + +If you encounter any issues with the beta release, please report them on GitHub: + +- Issues with integrations, automations and such (Core related):
+ +- Issues with the frontend/dashboards:
+ +- Issues with the Supervisor:
+ +- Issues with the documentation:
+ + +Please be sure to include the beta version you are running in the issue +version field (not title), so we can classify your issue correctly. + +Issues introduced in the beta are processed with priority. + +--- + + + +Home Assistant Core 2023.3! 🎉 + +February was a short month, resulting in a short release cycle. Yet, +this release brings in a lot of great improvements. + +Thanks for helping out testing the beta! ❤️ + +Enjoy the (beta) release! + +../Frenck + + + +- [Restarting Home Assistant](#restarting-home-assistant) +- [Asking Assist for the current state of things](#asking-assist-for-the-current-state-of-things) +- [Cleaner entity information dialogs](#cleaner-entity-information-dialogs) +- [New dialogs for lights, switches and siren entities](#new-dialogs-for-lights-switches-and-siren-entities) +- [Sensor precision](#sensor-precision) +- [New create automation dialog](#new-create-automation-dialog) +- [Thread \& Matter](#thread--matter) +- [Python 3.11 support](#python-311-support) +- [Other noteworthy changes](#other-noteworthy-changes) +- [New Integrations](#new-integrations) +- [Need help? Join the community!](#need-help-join-the-community) +- [Breaking Changes](#breaking-changes) +- [All changes](#all-changes) + +Don't forget to [join our release party live stream on YouTube](https://www.youtube.com/watch?v=3UaLAhG9Brc) 1 February 2023, at 12:00 PST / 21:00 CET! + + + +## Restarting Home Assistant + +Since we started redesigning our menu structure (a little over a year +ago), "Restarting" Home Assistant has been a source of discussion in our +community. Home Assistant can be restarted, reloaded, rebooted, +and powered off; it quickly became unclear what to use and when. + +We've come up with a solution inspired by the good old Windows XP computer +turn-off screen. [@matthiasdebaat] made a UX that has been implemented +by [@piitaya] that will hopefully make this all better, more clear. + +Screenshot showing the new restart dialog of Home Assistant that provides a guidance on what action to take. + +Nice, right? 🤩 What is entrily new is the first item shown: "Quick reload". +Quick reload calls all active integrations in your system that support +reloading YAML configuration on the fly 🚀. Also, [@frenck] made quick reload +available as a {% my developer_call_service service="homeassistant.reload_all" title="service" %} +too, so that you can automate with it. + +Lastly, the option to restart has also been added to the three-dotted overflow +menu in the top right of the settings screen, to add another place for finding +it more easily. + +[@frenck]: https://github.com/frenck +[@matthiasdebaat]: https://github.com/matthiasdebaat +[@piitaya]: https://github.com/piitaya + +## Asking Assist for the current state of things + +This release updates Assist with the capability to ask for the state of things +around your home. For example: + +Screenshot showing the assist conversation dialog demonstrating new new intents to get the state of things in your home. + +Intents for three types of questions have been added: + +- Ask for the state of a single entity: + - _"What is the outside temperature?"_ + - _"Is the front door locked?"_ + - _"What is the power consumption in the office?"_ +- Any or all questions: + - _"Are any lights on in the bedroom?"_ + - _"Are all windows closed in the kitchen?"_ +- How many or which questions: + - _"How many lights on are in the office?"_ + - _"Which doors are open?"_ + +Thanks, [@synesthesiam] for implementing this, and thanks to language leaders +and contributors for helping out providing translations for all these [intents]! ❤️ + +Want to help with adding support for these intents in your language? Please do! +Read more about [contributing sentences in our documentation](https://developers.home-assistant.io/docs/voice/intent-recognition/contributing). + +[@synesthesiam]: https://github.com/synesthesiam +[intents]: https://github.com/home-assistant/intents + +## Cleaner entity information dialogs + +The entity information dialog (also known as the more-info dialogs), got some +nice improvements in this release. + +Screenshot showing the new entity information dialogs, highlighting the top bar changes. + +The "Info", "History", "Settings", and "Related" tabs have been removed, which +gives the dialog a much cleaner look. Icons for settings and history have been +added in the top right to replace these tabs. The new three-dotted overflow menu +can bring up related entity information and provides a direct link to the device +dashboard of the device that provided this entity. + +Nice job [@matthiasdebaat] and [@piitaya]! + +[@matthiasdebaat]: https://github.com/matthiasdebaat +[@piitaya]: https://github.com/piitaya + +## New dialogs for lights, switches and siren entities + +{% details "TODO" %} + +- Extend story +- Spelling/grammar +- Replace screenshot / screenrecording + Maybe combine a couple in a single screenshot? + ref: https://github.com/home-assistant/frontend/pull/15482 + +{% enddetails %} + +There is more to tell about the more-info dialogs this release, +as [@matthiasdebaat] and [@piitaya] have been working on the designs shared +[during the State of the Open Home 2022](https://www.youtube.com/live/D936T1Ze8-4?feature=share&t=5193). +This release brings in the first overhauls to the entity dialogs of light, +switch and siren entities. + +

+Temporary placeholder screenshot. Needs replacement. +Note: This is a temporary placeholder screenshot. Needs replacement. +

+ + + +[@matthiasdebaat]: https://github.com/matthiasdebaat +[@piitaya]: https://github.com/piitaya + +## Sensor precision + +Got a sensor that has too many decimals in its numeric value? You'd like it to +round it to a single, or maybe even no decimals at all? + +Just ~~create a template sensor~~ change it directly from the UI! + +Screenshot showing you can now set the numerical
+precision of an sensor entity value from the entity settings dialog. + +Thanks [@emontnemery] for building out this feature! + +This has also been extended into integrations, which now can provide +a more precise value while suggesting to, show it with less precision +by default. This allows you to change it if you don't like the defaults. + +When writing templates, you can also take advantage of the configured precision, +as the `states()` function has been extended to help with that. +You can find more information on +[formatting sensor states in the templating documentation](/docs/configuration/templating/#formatting-sensor-states). + +[@emontnemery]: https://github.com/emontnemery + +## New create automation dialog + +{% details "TODO" %} + +- Eextend story +- Add some recent screenshots +- Spelling/grammar + +{% enddetails %} + +The dialog you see when you create a new automation, was given a facelift by +[@piitaya]. + +

+Temporary placeholder screenshot. Needs replacement. +Note: This is a temporary placeholder screenshot. Needs replacement. +

+ +You may notice it now show author information in this dialog. If you create +Blueprints, you can add [author information] to your Blueprint, +which will be shown in this dialog. + +[@piitaya]: https://github.com/piitaya +[author information]: /docs/blueprint/schema/#author + +## Thread & Matter + +{% details "TODO" %} + +- Add/extend story, sum up what has become available this release. +- Add some recent screenshots +- Spelling/grammar +- Add "add matter device" link to add integration dialog (#15365) @bramkragten +- Add color support to matter lights ([@ArturoGuerra] - [#87366]) ([matter docs]) (noteworthy) + +{% enddetails %} + +Behind the scenes, a lot is happening adding, extending and improving +Thread & Matter support for Home Assistant. + +A couple of weeks ago, we've published [an extensive blog article on where we're at](/blog/2023/02/08/state-of-matter-and-thread/) +right now. Some of the features mentioned in that blog post, will become +available today in this release. + +

+Temporary placeholder screenshot. Needs replacement. +Note: This is a temporary placeholder screenshot. Needs replacement. +

+ +Matter now has support for connecting to Matter brides, and [@ArturoGuerra] +add support light colors! + +[@ArturoGuerra]: https://github.com/ArturoGuerra + +## Python 3.11 support + +Support for Python 3.11 is here! 🐍 + +This change is only interesting if you manually run Home Assistant +directly in Python (aka the Home Assistant Core installation method). If that +is the case, you can now start using Home Assistant using Python 3.11, which +should dramatically improve performance over previous Python versions. + +We are working on upgrading to Python 3.11 for our Home Assistant OS, +Supervised, and Container installation methods as well so we can provide +the same performance improvements. We'll keep you posted. + +## Other noteworthy changes + +{% details "TODO" %} + +- Proof read/spelling/grammar +- Last minute ones added? +- Go over list again, might have missed something +- Ability to hide the legend of history graphs + +To consider: +- The speedup on setting up MQTT are pretty massive + - Make mqtt discovery use callback functions ([@bdraco] - [#87883]) ([mqtt docs]) (noteworthy) + - Optimize mqtt matchers ([@bdraco] - [#87853]) ([mqtt docs]) (noteworthy) + - Avoid creating a task when waiting for the MQTT mid ([@bdraco] - [#87887]) ([mqtt docs]) (noteworthy) +- Optimize fetching weekly/monthly/yearly statistics ([@bdraco] - [#87747]) ([recorder docs]) (noteworthy) +- Optionally update sensor units when unit system is changed ([@emontnemery] - [#83851]) ([config docs]) ([sensor docs]) (noteworthy) + +**Note**: Changes processed up to PR 88451 + +{% enddetails %} + +There is much more juice in this release; here are some of the other +noteworthy changes this release: + +- You can now change the unit of measurement for sensor that provide power readings. + So, if you like your kW sensor to be displayed as W, that is now possible. Thanks, [@emontnemery]! +- All [contributed translations] are now automatically updated to the latest each release! + This includes patch releases. Thanks, [@frenck]. +- You can now use templates in the `for` parameter of [state conditions]. Thanks, [@emontnemery]! +- Our (opt-in only) {% my analytics %} will now include the database engine and version + you use with your recorder. This helps us making database related decisions and improvements. + Thanks, [@ludeeus]! +- [@marcelveldt] added support for Smart Scenes (Natural Light) to the [Philips Hue] integrations, nice! +- If your [ONVIF] camera supports it, it will now provide switch entities + for auto-focus, wiper, and IR lights. Thanks, [@partofthething]! +- It looks like [@jesserockz] took a small break from [ESPHome] to implement support + for the SwitchBot Blind Tilt to the [SwitchBot] integrations. Thank you! +- The [OpenAI Conversation] integration now has options to customize it to your liking, thanks [@bendews]! +- [@marcolivierarsenault] added support for [ecobee] ventilator, awesome! +- The [Reolink] integration now provides entities to update the firmware of your camera, control zoom, + and control auto-focus. Thanks [@starkillerOG]! +- Adding your [KNX] Keyfile is now super easy, just upload it from your browser + when configuring it in Home Assistant. Awesome [@farmio]! +- [@thecode] added support for [Shelly] Pro 3EM energy sensors, nice! +- [ScreenLogic] now supports local push updates for almost all entities. Thanks [@dieselrabbit]! + +[@bendews]: https://github.com/bendews +[@dieselrabbit]: https://github.com/dieselrabbit +[@emontnemery]: https://github.com/emontnemery +[@farmio]: https://github.com/farmio +[@frenck]: https://github.com/frenck +[@jesserockz]: https://github.com/jesserockz +[@ludeeus]: https://github.com/ludeeus +[@marcelveldt]: https://github.com/marcelveldt +[@marcolivierarsenault]: https://github.com/marcolivierarsenault +[@partofthething]: https://github.com/partofthething +[@starkillerOG]: https://github.com/starkillerOG +[@thecode]: https://github.com/thecode +[contributed translations]: https://developers.home-assistant.io/docs/translations +[ecobee]: /integrations/ecobee +[ESPHome]: https://esphome.io +[KNX]: /integrations/knx +[ONVIF]: /integrations/onvif +[OpenAI Conversation]: /integrations/openai_conversation +[Philips Hue]: /integrations/hue +[Reolink]: /integrations/reolink +[ScreenLogic]: /integrations/screenlogic +[Shelly]: /integrations/shelly +[state conditions]: /docs/scripts/conditions/#state-condition +[SwitchBot]: /integrations/switchbot + +## New Integrations + +We welcome the following new integrations in this release: + +- **[Dormakaba dKey]**, added by [@emontnemery]
+ Connect and control your Dormakaba dKey Bluetooth Low Energy locks. +- **[easyEnergy]**, added by [@klaasnicolaas]
+ Retrieves dynamic (hourly) energy & gas prices from the Dutch utility company + easyEnergy. +- **[TP-Link Omada SDN Controller]**, added by [@MarkGodwin]
+ Control your TP-Link Omada SDN Devices such as network switches, + access points, and internet gateways. + +[@emontnemery]: https://github.com/emontnemery +[@klaasnicolaas]: https://github.com/klaasnicolaas +[@MarkGodwin]: https://github.com/MarkGodwin +[Dormakaba dKey]: /integrations/dormakaba_dkey +[easyEnergy]: /integrations/easyenergy +[TP-Link Omada SDN Controller]: /integrations/tplink_omada + +## 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. + +## Breaking Changes + +{% details "TODO" %} + +- Proof read/spelling/grammar + +**Note**: Breaking changes processed up to PR 86100 + +{% enddetails %} + +{% details "Assist / Conversation" %} + +Previously, all entities and areas were exposed to Assist's default agent. This +is now restricted to entities of the following domains: + +- `climate` +- `cover` +- `fan` +- `humidifier` +- `light` +- `lock` +- `scene` +- `script` +- `sensor` +- `switch` +- `vacuum` +- `water_heater` + +Only areas with exposed entities will be exposed themselves. In the future, +this will be customizable through the frontend. + +([@synesthesiam] - [#88274]) ([documentation](/integrations/conversation)) + +[@synesthesiam]: https://github.com/synesthesiam +[#88274]: https://github.com/home-assistant/core/pull/88274 + +{% enddetails %} + +{% details "Atmospheric pressure device triggers" %} + +A bug with the atmospheric pressure sensor device triggers has been corrected, +automations using such device triggers will need to be adjusted/reconfigured. + +([@epenet] - [#88320]) ([documentation](/integrations/sensor)) + +[@epenet]: https://github.com/epenet +[#87377]: https://github.com/home-assistant/core/pull/88320 + +{% enddetails %} + +{% details "ecobee" %} + +The aux heat toggle will now show as enabled when the device is in +"aux heat only" mode instead of only when it is running. + +([@Lash-L] - [#86100]) ([documentation](/integrations/ecobee)) + +[@Lash-L]: https://github.com/Lash-L +[#86100]: https://github.com/home-assistant/core/pull/86100 + +{% enddetails %} + +{% details "Fibaro" %} + +The previously deprecated YAML configuration of the Fibaro integration +has been removed. + +Fibaro is now configured via the UI, any existing YAML configuration has +been imported in previous releases and can now be safely removed from +your YAML configuration files. + +([@rappenze] - [#87939]) ([documentation](/integrations/fibaro)) + +[@rappenze]: https://github.com/rappenze +[#87939]: https://github.com/home-assistant/core/pull/87939 + +{% enddetails %} + +{% details "GoodWe Inverter" %} + +Inverter "Operation Mode" select values were changed to snake_case and localized. + +- "General mode" -> `general` +- "Off grid mode" -> `off_grid` +- "Backup mode" -> `backup` +- "Eco mode" -> `eco` +- "Peak shaving" -> `peak_shaving` +- "Eco charge mode" -> `eco_charge` +- "Eco discharge mode" -> `eco_discharge` + +If you used these select values in your automations or scripts, you will need +to adjust those to match this change. + +([@mletenay] - [#86901]) ([documentation](/integrations/goodwe)) + +[@mletenay]: https://github.com/mletenay +[#86901]: https://github.com/home-assistant/core/pull/86901 + +{% enddetails %} + +{% details "HomeKit" %} + +VOC mappings in the HomeKit integration have been improved to use the IAQ +guidelines for Europe released by the WHO (World Health Organization). + +HomeKit | Previous VOC µg/m3 | New VOC µg/m3 +-- | -- | -- +Excellent | <= 24 | <= 250 +Good | <= 48 | <= 500 +Fair | <= 64 | <= 1000 +Inferior | <= 96 | <= 3000 +Poor | > 96 | > 3000 + +Reference: [Sensirion_Gas_Sensors_SGP3x_TVOC_Concept.pdf](https://github.com/paulvha/svm30/blob/master/extras/Sensirion_Gas_Sensors_SGP3x_TVOC_Concept.pdf) + +([@emanuelst] - [#87663]) ([documentation](/integrations/homekit)) + +[@emanuelst]: https://github.com/emanuelst +[#87663]: https://github.com/home-assistant/core/pull/87663 + +{% enddetails %} + +{% details "MQTT" %} + +The behavior for receiving values on sensors that expect numeric* values +has changed. + +- From now on a `'None'` value or a value rendered to `'None'` will + set such a sensor to an `unknown` state. +- Empty values on such sensors (`''`) are ignored and will not affect the state + of the sensor. + +Integrations need to be corrected to send the correct values if an update is +published and no valid update value is available for the sensor. + +- Other sensors that do not expect a numeric value will still accept + an empty string as a value. + +\* Sensors expect numeric values if at least one of the following applies: +- A `device_class` is set but is not a `date`, `timestamp`, `enum`, or any custom device class. +- A `state_class` is set. +- A `unit_of_measurement` is set. +- A `suggested_display_precision` is set. + +([@jbouwh] - [#87004]) ([documentation](/integrations/mqtt)) + +[@jbouwh]: https://github.com/jbouwh +[#87004]: https://github.com/home-assistant/core/pull/87004 + +{% enddetails %} + +{% details "Profiler" %} + +The `profiler.memory` service is not available when using Python 3.11, due to +an incompatibility with a needed dependency for this service. It will return if +and when the used `guppy3` package becomes available with Python 3.11 compatibility. + +([@bdraco] - [#88136]) ([documentation](/integrations/profiler)) + +[@bdraco]: https://github.com/bdraco +[#88136]: https://github.com/home-assistant/core/pull/88136 + +{% enddetails %} + +{% details "Template: Covers" %} + +Template covers using `optimistic: false` without `value_template` nor +`position_template` was having a managed state. If you want to keep the +previous behavior, you must set `optimistic` value to `true`, +or remove the optimistic declaration. + +([@ylemoigne] - [#87925]) ([documentation](/integrations/wiffi)) + +[@ylemoigne]: https://github.com/ylemoigne +[#87925]: https://github.com/home-assistant/core/pull/87925 + +{% enddetails %} + +{% details "Trafikverket Weather" %} + +The unit of measurement and device class has been incorrectly set to `mm` while the +API is returning `mm/h`. This has now been corrected. + +([@gjohansson-ST] - [#87308]) ([documentation](/integrations/trafikverket_weatherstation)) + +[@gjohansson-ST]: https://github.com/gjohansson-ST +[#87308]: https://github.com/home-assistant/core/pull/87308 + +{% enddetails %} + +{% details "UniFi Protect" %} + +The `event_id` and `event_score` state attributes are now excluded from being +recorded in the database. They remain available for use in automations +and scripts. + +([@bdraco] - [#88387]) ([documentation](/integrations/unifiprotect)) + +[@bdraco]: https://github.com/bdraco +[#88387]: https://github.com/home-assistant/core/pull/88387 + +--- + +The previously deprecated "Detected Object" sensor has been removed. + +The sensor was removed because if multiple objects are detected at once +(very common for package detection) Home Assistant could not be automated +using the second detected object. The sensor has been split out the single +Detected Object sensor into multiple binary issues for each detection type. + +([@bdraco] - [#85656]) ([documentation](/integrations/unifiprotect)) + +[@bdraco]: https://github.com/bdraco +[#85656]: https://github.com/home-assistant/core/pull/85656 + +{% enddetails %} + +{% details "Wiffi" %} + +The Wiffi unit of illuminance `lux` has been adjusted to the standard unit +Home Assistant uses `lx`. + +([@mampfes] - [#87377]) ([documentation](/integrations/wiffi)) + +[@mampfes]: https://github.com/mampfes +[#87377]: https://github.com/home-assistant/core/pull/87377 + +{% 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: + +[devblog]: https://developers.home-assistant.io/blog/ + +- [Intent Responses and Whitespace](https://developers.home-assistant.io/blog/2023/02/03/responses) +- [Introducing drafting of PRs in our review process](https://developers.home-assistant.io/blog/2023/02/07/introducing-PR-drafting-in-reviews) +- [The HassGetState intent](https://developers.home-assistant.io/blog/2023/02/09/hassgetstate) +- [The number of decimals used when displaying a sensor state is now configurable](https://developers.home-assistant.io/blog/2023/02/08/sensor_presentation_rounding) +- [Translation files removed from Core repository](https://developers.home-assistant.io/blog/2023/02/06/translations-files-removed-from-core) +- [Added support for snapshot testing](https://developers.home-assistant.io/blog/2023/02/20/snapshot-testing/) + +## 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 2023.3](/changelogs/core-2023.3) \ No newline at end of file diff --git a/source/changelogs/core-2023.3.markdown b/source/changelogs/core-2023.3.markdown new file mode 100644 index 00000000000..63334056563 --- /dev/null +++ b/source/changelogs/core-2023.3.markdown @@ -0,0 +1,1845 @@ +--- +title: Full Changelog for Home Assistant Core 2023.3 +description: Detailed changelog for the Home Assistant Core 2023.3 release +--- + +These are all the changes included in the Home Assistant Core 2023.3 release. + +For a summary in a more readable format: +[Release notes blog for this release](/blog/2023/02/22/release-20233/). + +## Full Changelog + +- Bump version to 2023.3.0dev0 ([@frenck] - [#86632]) +- Assert Axis config entry state not hass.data ([@Kane610] - [#86648]) +- Update scaffold scripts to use async_forward_entry_setups ([@bdraco] - [#86647]) +- Code styling tweaks to Nexia tests ([@frenck] - [#86660]) +- Code styling tweaks to the tests - Part 2 ([@frenck] - [#86662]) +- Remove unneeded use of keys() in ZHA ([@frenck] - [#86668]) +- Add recorder platform to required test category ([@frenck] - [#86704]) +- Add hints to get_service in rest ([@epenet] - [#86703]) +- Add hints to get_service in syslog ([@epenet] - [#86701]) +- Add hints to get_service in joaoapps join ([@epenet] - [#86699]) +- Add hints to get_service in kodi ([@epenet] - [#86698]) +- Add DeviceInfo to Honeywell ([@mkmer] - [#86179]) +- Improve Axis config flow tests ([@Kane610] - [#86644]) +- Use mypy caching [ci] ([@cdce8p] - [#86715]) +- Improve notify type hints ([@epenet] - [#86685]) +- Bump aiolivisi to 0.0.15 ([@StefanIacobLivisi] - [#86721]) +- Remove `pragma: no cover` when not raising ([@epenet] - [#86706]) +- Replace assert False by raising an error ([@frenck] - [#86686]) +- Add hints to get_service in tplink-lte ([@epenet] - [#86702]) +- Add hints to get_service in netgear-lte ([@epenet] - [#86700]) +- Add hints to get_service in integrations (2/2) ([@epenet] - [#86693]) +- Add hints to get_service in integrations (1/2) ([@epenet] - [#86692]) +- Update ruff to v0.0.235 ([@frenck] - [#86719]) +- Add hints to get_service in azure service bus ([@epenet] - [#86694]) +- Enable Ruff PT001 ([@frenck] - [#86730]) +- Improve nuki typing ([@cdce8p] - [#86736]) +- Google Assistant SDK: Test unload when enable_conversation_agent ([@tronikos] - [#86707]) +- Improve `bosch_shc` config_flow typing ([@cdce8p] - [#86739]) +- Enable Ruff SIM105 ([@frenck] - [#86759]) +- Bump aio_georss_gdacs to 0.8 ([@exxamalte] - [#86761]) +- Enable Ruff PT013 ([@frenck] - [#86757]) +- Shelly code quality ([@thecode] - [#86733]) +- Add ability for pytest to run only on changed tests in codebase ([@frenck] - [#86776]) +- Migrates tests to use MediaPlayerEntityFeature enum ([@frenck] - [#86779]) +- Migrates tests to use UnitOfSpeed enum ([@frenck] - [#86777]) +- Enable Ruff PT015 ([@frenck] - [#86775]) +- Enable Ruff SIM117 ([@frenck] - [#86783]) +- Re-enable Ruff UP024 ([@frenck] - [#86784]) +- Remove deprecated unit system properties ([@epenet] - [#86643]) +- Migrates tests to use UnitOfPressure enum ([@frenck] - [#86785]) +- Adjusts imports in tests to match our relative import rules ([@frenck] - [#86788]) +- Enable Ruff SIM401 ([@frenck] - [#86790]) +- Enable Ruff PT022 ([@frenck] - [#86792]) +- Separate Shelly tests parameters in parametrize ([@thecode] - [#86778]) +- Enable Ruff PLC0414 ([@frenck] - [#86799]) +- Enable Ruff PT021 ([@frenck] - [#86801]) +- Bump tibdex/github-app-token from 1.7.0 to 1.8.0 (@dependabot - [#86767]) +- Drop py39 from black target-version ([@scop] - [#86814]) +- Handle state unknown if last state is missing in Shelly ([@thecode] - [#86813]) +- Add D-link tests ([@tkdrob] - [#86825]) +- Add state class to nest legacy sensors ([@luca-angemi] - [#86810]) +- Bump ismartgate to 5.0.0 ([@bdraco] - [#86830]) +- Fix nest climate set temperature error message string ([@allenporter] - [#86852]) +- Nest improve error message on climate actions ([@PeteRager] - [#86853]) +- Correct stale doc string for MQTT tag platform ([@jbouwh] - [#86862]) +- Support `native_precision` in Airly integration ([@bieniu] - [#86843]) +- Add integration_type to geo_json_events ([@exxamalte] - [#86878]) +- Bump pytautulli from 21.11.0 to 23.1.1 ([@ludeeus] - [#86891]) +- Revert "Mark repo as safe directory to git config (#83755)" ([@ludeeus] - [#86888]) +- Use python defaults for comparing State, LazyState, and Event objects ([@bdraco] - [#86856]) +- Improve logging and handling when websocket gets behind ([@bdraco] - [#86854]) +- Bump aio_geojson_generic_client to 0.3 ([@exxamalte] - [#86918]) +- Update ruff to v0.0.237 ([@frenck] - [#86932]) +- Adjust D-Link entity naming ([@tkdrob] - [#86906]) +- Revert "Adjust D-Link entity naming" ([@frenck] - [#86936]) +- Enable Ruff SIM300 ([@frenck] - [#86793]) +- Small improvement to Withings tests ([@frenck] - [#86937]) +- Use device class ENUM for Accuweather pressure tendency sensor ([@bieniu] - [#86887]) +- Add Autofocus, IR lamp, and Wiper switches in ONVIF ([@partofthething] - [#84317]) +- Use `native_precision` instead of `round` in Accuweather ([@bieniu] - [#86869]) +- Add type hints to http client fixtures ([@epenet] - [#86795]) +- Enable Ruff TRY004 ([@frenck] - [#86811]) +- Add configuration options to OpenAI integration ([@bendews] - [#86768]) +- Use more human-readable sensor names in Airly ([@bieniu] - [#86893]) +- Update actions/cache to v3.2.4 ([@cdce8p] - [#86943]) +- Avoid Nest climate set_temperature eating error ([@PeteRager] - [#86920]) +- Add Shelly Gen2 update entity for sleeping devices ([@thecode] - [#86837]) +- Remove some dead code from recorder ([@emontnemery] - [#86697]) +- Bump zwave-js-server-python to 0.45.0 ([@raman325] - [#86771]) +- Set synesthesiam as codeowner of conversation ([@synesthesiam] - [#86958]) +- Nest - Climate shorten line to be less than 88 chars ([@PeteRager] - [#86989]) +- Add support for Hue Smart Scenes (Natural Lights) ([@marcelveldt] - [#85517]) +- Add synesthesiam as a codeowner on intent ([@synesthesiam] - [#86998]) +- Cleanup code for parsing yaml MQTT config ([@jbouwh] - [#86944]) +- Fix tests typing helper ([@epenet] - [#86956]) +- Don't run tests if ruff fails ([@epenet] - [#87003]) +- Fix typo in EnOcean ([@nightscape] - [#86868]) +- Rympro integration code fixes ([@OnFreund] - [#86734]) +- Separate the yolink garage door device from the door sensor ([@matrixd2] - [#84561]) +- Update AEMET-OpenData to v0.2.2 ([@Noltari] - [#87017]) +- Fix assert order in intent tests ([@synesthesiam] - [#87036]) +- Google Assistant SDK: platinum quality scale ([@tronikos] - [#86876]) +- Improve typing in unifi services ([@epenet] - [#87072]) +- Improve typing in philips_js coordinator ([@epenet] - [#87075]) +- Improve typing in plex services ([@epenet] - [#87078]) +- Type fixes for alexa entities ([@epenet] - [#87077]) +- Add enum util ([@epenet] - [#87082]) +- Improve typing in nest legacy platforms ([@epenet] - [#87071]) +- Proper handling of authentication errors in AVM Fritz!Tools ([@mib1185] - [#79434]) +- Improve Z-Wave.Me integration description ([@PoltoS] - [#87088]) +- Add numeric_state_expected property to Sensor class ([@jbouwh] - [#87013]) +- Fix a few cartesian products in recorder tests ([@bdraco] - [#87106]) +- Add unit conversion to Power sensors ([@epenet] - [#87136]) +- Ensure sensor and recorder converters align ([@epenet] - [#87138]) +- Update zwave-me-ws version to 0.3.1 ([@lawfulchaos] - [#87145]) +- Use try_parse_enum in integrations ([@epenet] - [#87085]) +- Update pylint to 2.16.0 ([@cdce8p] - [#87083]) +- Add author metadata for blueprints ([@piitaya] - [#87070]) +- Update black to 23.1.0 ([@frenck] - [#87188]) (beta fix) +- Prevent overly large attributes from being stored in the database ([@bdraco] - [#87105]) +- Cleanup coordinator in motion blinds ([@epenet] - [#87185]) +- Address late review on readability sensor code ([@jbouwh] - [#87111]) +- Adjust IoT Class of Reolink to local push ([@frenck] - [#87206]) +- Use template selector for prompt template in OpenAI ([@frenck] - [#87205]) +- Improve type hints in onvif ([@epenet] - [#87184]) +- Improve type hints in template ([@epenet] - [#87172]) +- Add ability to generate development translations for all integrations ([@frenck] - [#87197]) +- Add modbus min/max values ([@GrahamJB1] - [#86131]) +- Adjust hass_client type hint in integration tests ([@epenet] - [#86954]) +- Improve typing in ihc util ([@epenet] - [#87069]) +- Improve typing in ping binary sensor ([@epenet] - [#87073]) +- Improve typing in plaato ([@epenet] - [#87074]) +- Improve typing in script integration ([@epenet] - [#87076]) +- Improve type hints in Xiaomi Miio ([@epenet] - [#87167]) +- Improve type hints in whirlpool ([@epenet] - [#87169]) +- Improve type hints in transmission ([@epenet] - [#87171]) +- Improve type hints in saj ([@epenet] - [#87183]) +- Reolink simplify ([@starkillerOG] - [#87224]) +- Fix an extra quote typo in the percentage util ([@Crisicus] - [#87161]) +- Reduce required permissions for fritzbox_callmonitor ([@cdce8p] - [#87089]) +- Add Bosch SHC sensor state class ([@tuct] - [#86823]) +- Use SensorStateClass enum in sensor ([@emontnemery] - [#87066]) +- Fix schema typing on async_register_entity_service ([@frenck] - [#87250]) +- Fix `can not` typo ([@epenet] - [#87254]) +- Add type hints to configurator request_config ([@epenet] - [#87287]) +- Fix monetary state class in tibber ([@basbruss] - [#87274]) +- Ignore TAI8570 errors in onewire ([@epenet] - [#87154]) +- Sync input_select & select ([@frenck] - [#87255]) +- Add thread dataset store ([@emontnemery] - [#87187]) +- Improve type hints in homematicip_cloud ([@epenet] - [#87269]) +- Improve type hints in duckdns ([@epenet] - [#87270]) +- Add configurator to strict typing ([@epenet] - [#87279]) +- Add icons for prusalink sensors and buttons ([@piitaya] - [#87256]) +- Improve type hints in evohome ([@epenet] - [#87266]) +- Re-enabled Ruff E713 ([@frenck] - [#87301]) +- Optionally update sensor units when unit system is changed ([@emontnemery] - [#83851]) +- Re-enable Ruff D418 ([@epenet] - [#87302]) +- Improve type hints in google assistant ([@epenet] - [#87273]) +- Fix UoM and device_class in Trafikverket Weather ([@gjohansson-ST] - [#87308]) +- Improve type hints in edl21 ([@epenet] - [#87267]) +- Improve type hints in melcloud ([@epenet] - [#87264]) +- Fix geniushub type hint ([@epenet] - [#87258]) +- Improve type hints in cloud ([@epenet] - [#87263]) +- Add thread WS API ([@emontnemery] - [#87307]) +- Fix missing property in bosch_shc ([@epenet] - [#87260]) +- Bump UPB integration library to 0.5.3 ([@gwww] - [#86740]) +- Add type hints for MQTT common helper and fixtures ([@jbouwh] - [#87065]) +- Reolink add number platform ([@starkillerOG] - [#87217]) +- Add easyEnergy integration ([@klaasnicolaas] - [#86266]) +- Download/Update translations on build ([@frenck] - [#87289]) +- Bump azure-eventhub to 5.11.1 ([@eavanvalkenburg] - [#87175]) +- Update pip constraint to 23.1 ([@cdce8p] - [#87331]) +- Add WS commands thread/list_datasets, thread/get_dataset_tlv ([@emontnemery] - [#87333]) +- Rename zwave_js ws API command ([@raman325] - [#87336]) +- Update coverage to 7.1.0 ([@frenck] - [#87328]) +- Update whois to 0.9.27 ([@frenck] - [#87305]) +- Add Shelly Pro 3EM energy sensors ([@thecode] - [#86476]) +- Late review on added type hint MQTT fixture ([@jbouwh] - [#87342]) +- Enable Ruff D212 ([@frenck] - [#87347]) +- Collection of code styling tweaks ([@frenck] - [#87344]) +- Remove use of Number DEVICE_CLASSES_SCHEMA from MQTT ([@frenck] - [#87345]) +- Add support for multiple conversation agents ([@balloob] - [#87337]) +- Tiny cleanup in Number base entity ([@frenck] - [#87339]) +- Bump zwave-js-server-python to 0.45.1 ([@raman325] - [#87309]) +- Store preferred dataset separately in thread dataset store ([@emontnemery] - [#87378]) +- Fix typing issue in easyEnergy ([@frenck] - [#87371]) +- Fix accidentally introduced breaking change in number entity ([@frenck] - [#87383]) +- Collection of code styling tweaks ([@frenck] - [#87381]) +- Ensure hass is typed ([@epenet] - [#87068]) +- Update Ruff to 0.0.241 ([@akx] - [#87386]) +- Move sensor rounding to frontend ([@emontnemery] - [#87330]) +- Ensure recorder api aligns with sensor converters ([@epenet] - [#87257]) +- Add repeat options to tplink sequence effect service ([@wparker42] - [#86040]) +- Refactor onewire options flow ([@epenet] - [#87162]) +- Simplify zwave_js code ([@raman325] - [#87235]) +- Add Z-Wave.Me cover stop command ([@PoltoS] - [#87428]) +- Use official unit of measure for Lux in wiffi component ([@mampfes] - [#87377]) +- Add log for successful update in no ip ([@camsaway] - [#87441]) +- Refactor async_call_later to improve performance and reduce conversion loss ([@krahabb] - [#87117]) +- Use pybalboa 1.0.0 ([@natekspencer] - [#87214]) +- Update elgato to 4.0.1 ([@frenck] - [#87479]) +- Add RF region property to zwave_js/network_status cmd ([@raman325] - [#87236]) +- Refactor tradfri switch tests ([@MartinHjelmare] - [#86816]) +- Coordinator refactor in Elgato ([@frenck] - [#87490]) +- Fix emulated hue SO_REUSEPORT when creating the upnp socket for proper sharing ([@spatula75] - [#86916]) +- Update xknx to 2.4.0 - Support KNX Data Secure ([@farmio] - [#87502]) +- Adjust matter test exception argument ([@MartinHjelmare] - [#87282]) +- Use suggested_display_precision for AsusWrt sensors ([@ollo69] - [#87396]) +- Add init return type to integrations ([@epenet] - [#87523]) +- Cleanup not used schema validator for MQTT vacuum ([@jbouwh] - [#87462]) +- Correct type hints mqtt_client_mock and move new generator type ([@jbouwh] - [#87527]) +- Remove translations from Core ([@frenck] - [#87543]) +- Ensure __init__ return type is None ([@epenet] - [#87521]) +- Xiaomi 2S air purifier mode selection support ([@kirill578] - [#86649]) +- TP-Link Omada integration ([@MarkGodwin] - [#81223]) +- Bump greeclimate to 1.4.1 ([@cmroche] - [#87513]) +- Fix notify targets for bmw_connected_drive ([@rikroe] - [#87503]) +- Remove use of HomeAssistantType ([@epenet] - [#87525]) +- Velbus raise PlatformNotReady exception ([@Cereal2nd] - [#87526]) +- Fix pypi package translations + add translation build artifacts ([@frenck] - [#87548]) +- Bump velbus-aio to 2023.2.0 ([@Cereal2nd] - [#87562]) +- Use correct state in Entity repr and output similar value to State class ([@balloob] - [#87519]) +- Comment lack of rounding in AlexaTemperatureSensor ([@emontnemery] - [#87561]) +- Update example data to define `in` as a dictionary ([@mehuman] - [#87557]) +- Remove default:0 from duration for timer.start service ([@karwosts] - [#87553]) +- Pin platformdirs to resolve dependency conflict ([@cdce8p] - [#87589]) +- Add Matter to supported standards for brands ([@balloob] - [#87564]) +- Update mypy to 1.0.0 ([@cdce8p] - [#87586]) +- Support local push updates for most ScreenLogic entities ([@dieselrabbit] - [#87438]) +- Enable `local_partial_types` for strict typing [mypy] ([@cdce8p] - [#86409]) +- Add Self typing (2) [mypy 1.0] ([@cdce8p] - [#87599]) +- Add Self typing (1) [mypy 1.0] ([@cdce8p] - [#87598]) +- Add Self typing (3) [mypy 1.0] ([@cdce8p] - [#87600]) +- Add Self typing (4) [mypy 1.0] ([@cdce8p] - [#87601]) +- Add `suggested_display_precision` config option for MQTT sensor ([@jbouwh] - [#87129]) +- Refactor NAM sensor platform ([@bieniu] - [#87048]) +- Check return and mqtt fixtures typing in tests ([@epenet] - [#87607]) +- Add return type to async tests without arguments ([@epenet] - [#87612]) +- Enable error-code `truthy-iterable` [mypy 1.0] ([@cdce8p] - [#87596]) +- Fix handling `None` or empty value for numeric MQTT sensor ([@jbouwh] - [#87004]) +- Add caplog to known fixtures in pylint plugin ([@epenet] - [#87617]) +- Cleanup `value_template` config parameter from MQTT basic light ([@jbouwh] - [#87466]) +- Fix namespace issue in pylint plugin ([@epenet] - [#87627]) +- Update unit system unit conversions ([@emontnemery] - [#87621]) +- Enable error-code `redundant-self` [mypy 1.0] ([@cdce8p] - [#87602]) +- Add return type to tests without arguments ([@epenet] - [#87613]) +- Remove unused function in slack tests ([@epenet] - [#87618]) +- Cleanup remains of legacy validation MQTT light ([@jbouwh] - [#87467]) +- Add ecobee ventilator ([@marcolivierarsenault] - [#83645]) +- Add typing to tests with single hass argument ([@epenet] - [#87631]) +- Add rest to strict-typing ([@epenet] - [#86149]) +- Show diff on ruff failure [ci] ([@cdce8p] - [#87635]) +- Add __init__ return type to integrations ([@epenet] - [#87637]) +- Add ParamSpec TypeAliases [mypy 1.0] ([@cdce8p] - [#87597]) +- Rename fixture function in stt tests ([@epenet] - [#87630]) +- Add CI job which runs recorder tests on PostgreSQL ([@emontnemery] - [#80614]) +- Add lru cache to loading fixtures in tests ([@frenck] - [#87634]) +- Add return type to json_loads ([@epenet] - [#85672]) +- Align postgresql with mariadb in CI ([@epenet] - [#87646]) +- Tweak Elgato tests ([@frenck] - [#87629]) +- Add color support to matter lights ([@ArturoGuerra] - [#87366]) +- Use library data to map state class for ScreenLogic ([@dieselrabbit] - [#87649]) +- Mark ESPHome update entity unavailable when device is offline ([@frenck] - [#87576]) +- Add myself as codeowner for emulated_hue ([@Tho85] - [#87659]) +- Fix incorrect unique_id for BLE HomeKit devices ([@Jc2k] - [#87550]) +- Add typing to tests with single hass argument (2) ([@epenet] - [#87675]) +- Replace global test markers with fixtures in Synology DSM tests ([@frenck] - [#87678]) +- Add battery sensor to Elgato ([@frenck] - [#87680]) +- Enable Ruff PT002, PT003 ([@frenck] - [#87686]) +- Add more fixtures to pylint plugin ([@epenet] - [#87685]) +- Replace global test markers with fixtures in Devolo home control tests ([@frenck] - [#87676]) +- Update unit system unit conversions ([@emontnemery] - [#87632]) +- Add entity descriptions in Elgato buttons ([@frenck] - [#87656]) +- Add type hints on common MQTT tests ([@jbouwh] - [#87299]) +- Add studio mode switch to Elgato ([@frenck] - [#87691]) +- Remove sneaked in translation from TP-Link Omada ([@frenck] - [#87695]) +- Add type hints to integration tests (a) ([@epenet] - [#87684]) +- Add type hints to integration tests (d-e) ([@epenet] - [#87699]) +- Add type hints to integration tests (f-g) ([@epenet] - [#87700]) +- Include entity options in RegistryEntry.as_partial_dict ([@emontnemery] - [#87539]) +- Upgrade SQLAlchemy to 2.0.2 ([@emontnemery] - [#86436]) +- Add common area, device, entity and issue registry test fixtures ([@frenck] - [#87694]) +- Add type hints to integration tests (m-p) ([@epenet] - [#87705]) +- Add type hints to integration tests (q-s) ([@epenet] - [#87706]) +- Add hass and `None` return type on MQTT platform tests ([@jbouwh] - [#87713]) +- Add type hints to integration tests (b-c) ([@epenet] - [#87698]) +- Add type hints to integration tests (h-i) ([@epenet] - [#87703]) +- Refactor tradfri cover tests ([@MartinHjelmare] - [#87710]) +- Add type hints to integration tests (j-m) ([@epenet] - [#87704]) +- Add type hints to integration tests (t-z) ([@epenet] - [#87707]) +- Create or import thread active dataset when setting up OTBR ([@emontnemery] - [#87186]) +- Sort manifests 11 ([@emontnemery] - [#87032]) +- Sort manifests 8 ([@emontnemery] - [#87029]) +- Sort manifests 2 ([@emontnemery] - [#87023]) +- Sort manifests 3 ([@emontnemery] - [#87024]) +- Sort manifests 9 ([@emontnemery] - [#87030]) +- Sort manifests 4 ([@emontnemery] - [#87025]) +- Clean up unnecessary registry mocks from Core tests ([@frenck] - [#87726]) +- Sort manifests 1 ([@emontnemery] - [#87022]) +- Sort manifests 7 ([@emontnemery] - [#87028]) +- Sort manifests 5 ([@emontnemery] - [#87026]) +- Sort manifests 6 ([@emontnemery] - [#87027]) +- Sort manifests 10 ([@emontnemery] - [#87031]) +- Add type hints for MQTT discovery tests ([@jbouwh] - [#87425]) +- Enforce sorting of manifests ([@emontnemery] - [#87020]) +- Use matrix for db recorder tests ([@epenet] - [#87640]) +- Remove platformdirs constraint ([@cdce8p] - [#87735]) +- Bump aiolifx to 0.8.8 ([@Djelibeybi] - [#87729]) +- Add more type hints to conftest ([@epenet] - [#87737]) +- Revert "Bump aiolifx to 0.8.8" ([@bdraco] - [#87740]) +- Fix matter color temperature light ([@ArturoGuerra] - [#87677]) +- Clean up unnecessary registry mocks from helpers ([@frenck] - [#87734]) +- Clean up unnecessary registry mocks from mqtt tests ([@frenck] - [#87728]) +- Clean up unnecessary registry mocks from scaffolding templates ([@frenck] - [#87732]) +- Stub I/O when loading registries in tests ([@balloob] - [#87744]) +- Improve migration tests to use MariaDB / PostgreSQL database ([@emontnemery] - [#87753]) +- Improve recorder tests to use MariaDB / PostgreSQL ([@emontnemery] - [#87756]) +- Add more type hints to conftest ([@epenet] - [#87755]) +- Add reolink https webhook warning ([@starkillerOG] - [#87332]) +- Apply MQTT fixture types on platform tests ([@jbouwh] - [#87722]) +- Turn back off test_shutdown_before_startup_finishes test on MySQL ([@bdraco] - [#87761]) +- Trigger full CI on recorder test changes ([@frenck] - [#87764]) +- Clean up unnecessary registry mocks from integration tests ([@frenck] - [#87763]) +- Refactor onewire options flow tests ([@epenet] - [#87711]) +- Apply registry type hints on mqtt platform tests ([@epenet] - [#87758]) +- Allow pytest to start before black finishes ([@epenet] - [#87770]) +- Add type hints to diagnostics test helper ([@epenet] - [#85494]) +- Bump lupupy to 0.2.8 ([@majuss] - [#87754]) +- Round value in state_with_unit template function ([@emontnemery] - [#87619]) +- Enable pydantic mypy plugin ([@cdce8p] - [#87415]) +- Enable Ruff ICN001 ([@frenck] - [#87775]) +- Skip db locking test with postgresql/MySQL ([@bdraco] - [#87760]) +- Add missed type hints on MQTT platform tests ([@jbouwh] - [#87781]) +- Disable test_migration_in_progress on MySQL ([@bdraco] - [#87765]) +- Disable test_entity_ids on MariaDB ([@bdraco] - [#87766]) +- Change name to entity_id for lock validation error message ([@gjohansson-ST] - [#87574]) +- Add type hints to integration tests (part 1) ([@epenet] - [#87777]) +- Add type hints tests MQTT config_flow ([@jbouwh] - [#87783]) +- Bump renault-api to 0.1.12 ([@epenet] - [#87773]) +- Improve coverage MQTT device_trigger ([@jbouwh] - [#87408]) +- Terminate stale MySQL connections at the end of test runs ([@bdraco] - [#87794]) +- Always use UTC time for the MariaDB/MySQL session ([@bdraco] - [#87583]) +- Really ensure recorder test fixture is setup before hass fixture ([@emontnemery] - [#87796]) +- Fix circular import loop in homeassistant/helpers/entity.py ([@emontnemery] - [#87780]) +- Migrate statistics to use timestamp columns ([@bdraco] - [#87321]) +- Move EntityCategory to homeassistant.const ([@emontnemery] - [#87792]) +- Bump motionblinds to 0.6.16 ([@starkillerOG] - [#87782]) +- Add reauthentication support to Yale Access Bluetooth ([@bdraco] - [#87719]) +- Ensure MySQL tests cleanup connections and raise an exception if they do not ([@bdraco] - [#87767]) +- Give users a hint that their bluetooth adapter has been ignored ([@bdraco] - [#87727]) +- Optimize fetching weekly/monthly/yearly statistics ([@bdraco] - [#87747]) +- Add HassGetState intent for queries ([@synesthesiam] - [#87808]) +- Add `has_firmware_update_cc` bool to zwave_js/node_status cmd ([@raman325] - [#87310]) +- Reorganize manifest scaffold ([@Lash-L] - [#87819]) +- Bump actions/cache from 3.2.4 to 3.2.5 (@dependabot - [#87825]) +- Fix Fully Kiosk Browser merging entities when MAC empty ([@mheath] - [#87743]) +- Improve recorder type hints in tests ([@epenet] - [#87826]) +- Add type hints to requests_mock ([@epenet] - [#87757]) +- Add type hints to integration tests (part 3) ([@epenet] - [#87844]) +- Add type hints to integration tests (part 2) ([@epenet] - [#87789]) +- Add MockHAClientWebSocket test helper ([@epenet] - [#87832]) +- Optimize fetching statistics by avoiding timestamp conversions ([@bdraco] - [#87845]) +- Add type hints to MQTT init tests ([@jbouwh] - [#87402]) +- Add missed type hint on MQTT device tracker test ([@jbouwh] - [#87847]) +- Add support for Govee H5198 ([@Ernst79] - [#87864]) +- Add type hints to integration tests (part 4) ([@epenet] - [#87848]) +- Delete empty typescript file in repository root ([@ludeeus] - [#87873]) +- Add more type hints to conftest.py ([@epenet] - [#87842]) +- Optimize fetching statistics by avoiding recalculating time boundaries ([@bdraco] - [#87859]) +- Replace fiblary3 with pyfibaro library ([@rappenze] - [#83500]) +- Bump sqlalchemy to 2.0.3 ([@bdraco] - [#87913]) +- Reduce overhead to see if an entity is recorded ([@bdraco] - [#87912]) +- Optimize _sorted_statistics_to_dict to avoid checking which types each loop ([@bdraco] - [#87901]) +- Cache try_parse_enum ([@bdraco] - [#87911]) +- Add support for dormakaba dKey locks ([@emontnemery] - [#87501]) +- Fix typo in requires-python hassfest error message ([@dtrodrigues] - [#87896]) +- Bump reolink-aio to 0.4.1 ([@starkillerOG] - [#87933]) +- Bump py-dormakaba-dkey to 1.0.2 ([@emontnemery] - [#87935]) +- Speed up selecting which statistics to compile ([@bdraco] - [#87938]) +- Bump incomfort client library to 0.5.0 ([@zxdavb] - [#87877]) +- Improve Google Calendar config flow error message when API disabled ([@allenporter] - [#87889]) +- Speed up loops with jinja templates ([@bdraco] - [#87945]) +- Bump gridnet to v4.2.0 ([@klaasnicolaas] - [#87903]) +- Enable strict typing for the dormakaba_dkey integration ([@emontnemery] - [#87934]) +- Add type hints to integration tests (part 5) ([@epenet] - [#87850]) +- Small code improvements fibaro integration ([@rappenze] - [#87949]) +- Small cleanups to template helper ([@bdraco] - [#87944]) +- Update growatt_server owners ([@muppet3000] - [#87804]) +- Speed up template lru_caches ([@bdraco] - [#87942]) +- Bump pymodbus to v3.1.3 ([@janiversen] - [#87841]) +- Bump wiffi to 1.1.2 ([@mampfes] - [#87798]) +- Make mqtt discovery use callback functions ([@bdraco] - [#87883]) +- Make mqtt websocket subscribe use callback functions ([@bdraco] - [#87885]) +- Fix kegtron state class for volume sensors ([@Ernst79] - [#87950]) +- Optimize mqtt matchers ([@bdraco] - [#87853]) +- Avoid creating a task when waiting for the MQTT mid ([@bdraco] - [#87887]) +- Improve MQTT `Callable` type hints ([@jbouwh] - [#87838]) +- Use PidfdChildWatcher by default when available ([@bdraco] - [#87951]) +- Bump bthome-ble to 2.5.2 ([@Ernst79] - [#87862]) +- Netgear allow to remove old devices ([@starkillerOG] - [#87849]) +- Complete partly implemented type hints for `dict` on MQTT platforms ([@jbouwh] - [#87839]) +- Remove deprecated fibaro yaml config ([@rappenze] - [#87939]) +- The recorder/statistic(s)_during_period websocket API now require the statistic_id(s) field ([@bdraco] - [#87937]) +- Bump zwave-js-server-python to 0.45.2 ([@raman325] - [#87822]) +- Rework user_input check in config flow scaffold ([@Lash-L] - [#87820]) +- Change name to entity_id update platform error messages ([@gjohansson-ST] - [#87960]) +- Bump pydaikin 2.9.0 ([@racsa1] - [#87067]) +- Change name to entity_id Number platform error messages ([@gjohansson-ST] - [#87961]) +- Change name to entity_id Select platform error messages ([@gjohansson-ST] - [#87962]) +- Add recorder engine name and version to analytics ([@ludeeus] - [#87784]) +- Add type hints to integration tests (part 6) ([@epenet] - [#87979]) +- Add type hints to integration tests (part 7) ([@epenet] - [#87980]) +- Fix sensor unit conversion ([@emontnemery] - [#87978]) +- Add type hints to integration tests (part 10) ([@epenet] - [#87985]) +- Add dormakaba_dkey battery sensor ([@emontnemery] - [#87975]) +- Add type hints to integration tests (part 8) ([@epenet] - [#87982]) +- Reolink late review comments ([@starkillerOG] - [#87991]) +- Add more entities for Elgato Key Light Mini ([@frenck] - [#87793]) +- Add type hints to integration tests (part 9) ([@epenet] - [#87983]) +- Add homeassistant.reload_all service ([@frenck] - [#87769]) +- Change geniushub codeowner ([@zxdavb] - [#87918]) +- Correct typing on hass_storage fixure ([@jbouwh] - [#87986]) +- Update pytest-asyncio to 0.20.3 ([@frenck] - [#87995]) +- Add support for 4 MPTT inverter ([@mletenay] - [#86901]) +- Change name to entity_id Text platform error messages ([@gjohansson-ST] - [#87963]) +- Add type hints to integration tests (part 12) ([@epenet] - [#87997]) +- Adjust suggested_display_precision according to unit conversion ([@emontnemery] - [#87614]) +- Add type hints to integration tests (part 11) ([@epenet] - [#87996]) +- Make all history stats tests async ([@balloob] - [#87973]) +- Add type hints to integration tests (part 13) ([@epenet] - [#87998]) +- Add mariadb 10.6.10 to database tests ([@epenet] - [#87989]) +- Avoid subprocess memory copy when c library supports posix_spawn ([@bdraco] - [#87958]) +- Refactor tradfri fan tests ([@MartinHjelmare] - [#87999]) +- Refactor tradfri diagnostics tests ([@MartinHjelmare] - [#88017]) +- Bump aiohttp to 3.8.4 ([@bdraco] - [#88032]) +- Increase test scope of MariaDB + PostgreSQL tests ([@emontnemery] - [#87019]) +- Add mjpeg camera stream_source ([@shmuelzon] - [#86908]) +- Add mariadb 10.3.32 to database tests ([@epenet] - [#87741]) +- Add support for telnet connections for Denonavr integration ([@dcmeglio] - [#85980]) +- Fix new stats rows creating data in the old created column ([@bdraco] - [#88013]) +- Restore original aiohttp cancelation behavior ([@bdraco] - [#88046]) +- Keep task references while running ([@balloob] - [#87970]) +- Bump zeroconf to 0.47.3 ([@bdraco] - [#88045]) +- Bump dbus-fast to 1.84.1 ([@bdraco] - [#88042]) +- Bump home-assistant-bluetooth to 1.9.3 ([@bdraco] - [#88051]) +- Add dormakaba_dkey door and dead bolt binary sensors ([@emontnemery] - [#87990]) +- Cleanup renault services ([@epenet] - [#88064]) +- Update xknx to 2.5.0 ([@farmio] - [#88069]) +- Refactor tradfri sensor tests ([@MartinHjelmare] - [#88026]) +- Add a calendar entity to Ridwell ([@bachya] - [#86117]) +- Fix Tibber stats ([@Danielhiversen] - [#88025]) +- Change DeviceAutomationDetails to use a dataclass for py3.11 ([@bdraco] - [#88087]) +- Fix group integration with py3.11 ([@bdraco] - [#88089]) +- Fix apple tv untracked task ([@MartinHjelmare] - [#88102]) +- Shorten tplink update cycle ([@rytilahti] - [#87399]) +- Fix unifiprotect with python 3.11 ([@bdraco] - [#88101]) +- Fix sleepiq with python 3.11 ([@bdraco] - [#88098]) +- Fix invalid spec in mqtt tests for py3.11 ([@bdraco] - [#88092]) +- Prefer effect over other light settings for tplink ([@rytilahti] - [#85642]) +- Fix forked_daapd integration with py3.11 ([@bdraco] - [#88091]) +- Fix hassio integration with py3.11 ([@bdraco] - [#88090]) +- Fix cloud integration with py3.11 ([@bdraco] - [#88088]) +- Fix rmvtransport integration with py3.11 ([@bdraco] - [#88094]) +- Add strict typing to yalexs_ble ([@bdraco] - [#88086]) +- Revert "Add a calendar entity to Ridwell (#86117)" ([@bachya] - [#88106]) +- Bump pydeconz to v107 ([@Kane610] - [#88114]) +- Fix august untracked task ([@MartinHjelmare] - [#88107]) +- Fix zwave_me tests with python 3.11 ([@bdraco] - [#88122]) +- Fix vera tests with python3.11 ([@bdraco] - [#88124]) +- Fix wemo tests with py3.11 ([@bdraco] - [#88123]) +- Graphite flaky test fix ([@balloob] - [#88115]) +- Fix apprise tests for python 3.11 ([@bdraco] - [#88126]) +- Fix twentemilieu diagnostics with python 3.11 ([@bdraco] - [#88121]) +- Bump arcam dependency to 1.2.1 ([@elupus] - [#88125]) +- Fix race on check MQTT subscriptions ([@jbouwh] - [#88117]) +- Replace Fitbit weight SensorStateClass measurement with total ([@sw-carlos-cristobal] - [#88118]) +- Fix exception ordering in yeelight for python 3.11 ([@bdraco] - [#88134]) +- Bump pyunifiprotect to 4.7.0 for python 3.11 ([@bdraco] - [#88130]) +- Fix enum try_parse test for python3.11 ([@bdraco] - [#88131]) +- Move denonavr state update callbacks to async_added_to_hass ([@dcmeglio] - [#88147]) +- Fix typo in OpenAI prompt ([@bdr99] - [#88137]) +- Bump docker base to 2023.02.0 ([@bdraco] - [#88084]) +- Fix doc string in mqtt test ([@jbouwh] - [#88138]) +- Add type hints to integration tests (part 15) ([@epenet] - [#88006]) +- Add support for `triple_push` event for Shelly gen2 devices ([@bieniu] - [#88081]) +- Do not reload Shelly TRV entry when not needed ([@bieniu] - [#88037]) +- Add type hints to integration tests (part 14) ([@epenet] - [#88005]) +- Fix incorrect reference to json WriteError ([@epenet] - [#88161]) +- Add note on always subscribing to the MQTT broker when topics are shared ([@jbouwh] - [#88159]) +- Add type hints to integration tests (part 16) ([@epenet] - [#88008]) +- Support Fully Kiosk Browser device discovery via MQTT ([@mheath] - [#88109]) +- Add type hints to integration tests (part 17) ([@epenet] - [#88163]) +- Enable Ruff SIM118 ([@frenck] - [#87772]) +- Fix mobile app regression accepting sensor states ([@epenet] - [#88164]) +- Fix netatmo with python 3.11 ([@bdraco] - [#88093]) +- Enable Ruff PT006 ([@frenck] - [#88165]) +- Remove invalid pragma: no cover ([@epenet] - [#88173]) +- Enable Ruff SIM201 ([@frenck] - [#88171]) +- Expose DEVICE_CLASS_STATE_CLASSES sensor constant ([@epenet] - [#88172]) +- Adjust imports in rflink test_init ([@epenet] - [#88177]) +- Add WS command for discovering Thread routers ([@emontnemery] - [#88021]) +- Enable Ruff SIM212 ([@frenck] - [#88181]) +- Add type hints to integration tests (part 20) ([@epenet] - [#88179]) +- Remove uamqp version constrain ([@frenck] - [#88176]) +- Do not round Huawei LTE LTE frequency values ([@scop] - [#88127]) +- Add postgresql 12.14 to database tests ([@epenet] - [#88071]) +- Fix otbr tests ([@emontnemery] - [#88184]) +- Disable profiler.memory service with python 3.11 ([@bdraco] - [#88136]) +- Allow resetting MQTT climate attributes and ignore empty values ([@jbouwh] - [#87936]) +- Increase database test timeout ([@bdraco] - [#88187]) +- Support HomeKit Controller Thread Provisioning ([@Jc2k] - [#87809]) +- Add type hints to integration tests (part 19) ([@epenet] - [#88178]) +- Account for changed python3.11 enum.IntFlag 0 behavior in zha ([@bdraco] - [#88144]) +- Add WS command thread/delete_dataset ([@emontnemery] - [#88077]) +- Fix aprs tests with python 3.11 ([@bdraco] - [#88189]) +- Let black infer target-version ([@scop] - [#88199]) +- Constrain uamqp for Python 3.10 only ([@frenck] - [#88198]) +- Update Ruff to v0.0.247 ([@frenck] - [#88210]) +- Bump voluptuous-serialize to 2.6.0 ([@eifinger] - [#88211]) +- Update pyfibaro to version 0.6.8 ([@rappenze] - [#88203]) +- Fix allowing identical flows to be created before startup ([@bdraco] - [#88213]) +- Refactor zeroconf task handling ([@bdraco] - [#88204]) +- Fix capitalization of OwnTone integration ([@bdr99] - [#88219]) +- Add type hints to integration tests (part 21) ([@epenet] - [#88233]) +- Update typing-extensions to 4.5.0 ([@frenck] - [#88236]) +- Inverse json import logic ([@epenet] - [#88099]) (deprecation) +- Drop unnecessary copy from entitydescription.name to _attr_name ([@emontnemery] - [#88251]) +- Update pydantic to 1.10.5 ([@cdce8p] - [#88250]) +- Add type hints to integration tests (part 22) ([@epenet] - [#88234]) +- Bump vulcan-api to 2.3.0 for python 3.11 ([@bdraco] - [#88254]) +- Bump python-matter-server to 2.1.1 ([@marcelveldt] - [#88258]) +- Fix restore of MQTT subscriptions from reload ([@bdraco] - [#88220]) +- Fix default value for departure time in google_travel_time ([@eifinger] - [#88255]) +- Speed up formatting statistics data ([@bdraco] - [#88228]) +- Add python 3.11 to the CI ([@bdraco] - [#88038]) +- Replace deprecated SSLContext constant PROTOCOL_TLS in mqtt ([@jbouwh] - [#88214]) +- Stop processing when we hit bad encryption in mobile app ([@balloob] - [#88150]) +- Add JSON support to load_fixture ([@epenet] - [#88076]) +- Bump aiosomecomfort to 0.0.8 ([@mkmer] - [#88195]) +- Speed up compiling hourly statistics ([@bdraco] - [#88225]) +- Use blocking in intent service calls and verify results ([@synesthesiam] - [#88035]) +- Refactor json tests to align with new code ([@epenet] - [#88247]) +- Switch yalexs_ble to use no_devices_found ([@bdraco] - [#88267]) +- Switch switchbot to use no_devices_found ([@bdraco] - [#88268]) +- Switch led_ble to use no_devices_found ([@bdraco] - [#88269]) +- Switch keymitt_ble to use no_devices_found ([@bdraco] - [#88271]) +- Switch ld2410_ble to use no_devices_found ([@bdraco] - [#88270]) +- Add support for background tasks in HA ([@balloob] - [#88265]) +- Implement Switchbot Blind Tilt ([@jesserockz] - [#86591]) +- Fix dangling task for unifiprotect ([@balloob] - [#88300]) +- Fix dangling task for zha ([@balloob] - [#88302]) +- Fix dangling task for sonos ([@balloob] - [#88298]) +- Fix dangling task for homekit ([@balloob] - [#88289]) +- Cleanup stale recorder code ([@bdraco] - [#88275]) +- Fix handling of dns resolution failure during sense setup ([@bdraco] - [#88279]) +- Fix dangling task for elkm1 ([@balloob] - [#88286]) +- Fix dangling task for homeassistant integration ([@balloob] - [#88288]) +- Fix dangling task for google ([@balloob] - [#88287]) +- Bump ha-ffmpeg to 3.1.0 ([@bdraco] - [#88304]) +- Fix sleepiq test to not contact the API ([@emontnemery] - [#88315]) +- Adjust async_setup_entry in config_flow scaffold ([@epenet] - [#88319]) +- Fix incorrect condition for atmospheric_pressure ([@epenet] - [#88320]) +- Fix recorder platform tests ([@emontnemery] - [#88330]) +- Fix dangling task for wiz ([@balloob] - [#88301]) +- Add type hints to integration tests (part 24) ([@epenet] - [#88307]) +- Add type hints to integration tests (part 23) ([@epenet] - [#88235]) +- Fix dangling task for roon ([@balloob] - [#88291]) +- Bump xiaomi-ble to 0.16.4 ([@Ernst79] - [#88333]) +- Add type hints to integration tests (part 25) ([@epenet] - [#88308]) +- Add additional characteristics for Airversa Homekit Air Purifiers ([@dcmeglio] - [#85660]) +- Fix dangling task for cast ([@balloob] - [#88285]) +- Add type hints to integration tests (part 18) ([@epenet] - [#88174]) +- Add type hints to integration tests (recorder) ([@epenet] - [#88313]) +- Add type hints to integration tests (zha) ([@epenet] - [#88309]) +- Detect when battery-powered Sonos devices are turned off ([@jjlawren] - [#87606]) +- Adjust json imports in tests ([@epenet] - [#88248]) +- Cleanup august binary sensors ([@bdraco] - [#88332]) +- Remove conditional test of self.hass from tplink_omada switch ([@emontnemery] - [#88325]) +- Fail tests which cause an SQLAlchemy warning ([@emontnemery] - [#88327]) +- Add background tasks to config entries ([@balloob] - [#88335]) +- Update pyfido to 2.1.2 ([@frenck] - [#88343]) +- Fix dangling task for crownstone ([@balloob] - [#88292]) +- Fix dangling task for mysensors ([@balloob] - [#88290]) +- Fix dangling task for insteon ([@balloob] - [#88293]) +- Fix dangling task for smart_meter_texas ([@balloob] - [#88297]) +- Fix dangling task for sense ([@balloob] - [#88296]) +- Fix dangling task for plum_lightpad ([@balloob] - [#88295]) +- Fix dangling task for squeezebox ([@balloob] - [#88299]) +- Fix dangling task for livisi ([@balloob] - [#88294]) +- Fix dangling task for bluetooth_le_tracker ([@balloob] - [#88284]) +- Dismiss discoveries when the underlying device disappears ([@bdraco] - [#88340]) +- Only expose default cloud domains in Assist default agent ([@synesthesiam] - [#88274]) +- Add support for snapshot testing ([@frenck] - [#88323]) +- Do not try to run DB jobs if there are no target groups ([@ludeeus] - [#88352]) +- Use ubuntu-20.04 for Ruff lint job ([@ludeeus] - [#88355]) +- Hold strong references to tasks in WLED ([@frenck] - [#88257]) +- Change core return code processing ([@modrisb] - [#88326]) +- Enable Ruff B007 ([@frenck] - [#88356]) +- Fix danglin task for util.timeout ([@balloob] - [#88366]) +- Sync pytest job needs [ci] ([@cdce8p] - [#88363]) +- Ensure doorbird always prefers internal url ([@bdraco] - [#88369]) +- Update mypy to 1.0.1 ([@cdce8p] - [#88361]) +- Make recorder platform attribute exclude integration aware ([@bdraco] - [#88357]) +- Make use of new background task in arcam_fmj ([@elupus] - [#88351]) +- Speed up formatting history data ([@bdraco] - [#88230]) +- Allow user FKB config flow to take precendence ([@mheath] - [#88281]) +- Handle key change in Yale Access Bluetooth after first connect ([@bdraco] - [#88282]) +- Code quality/test improvement to available attributes of LiteJet ([@joncar] - [#86683]) +- Change state class of weight sensors from total to measurement ([@emontnemery] - [#88314]) +- Bump devolo_plc_api to 1.2.0 ([@Shutgun] - [#88348]) +- Fix goodwe text(enum) sensors device class ([@mletenay] - [#87914]) +- Use entity_sources to determine integration in recorder platforms ([@emontnemery] - [#88382]) +- Enable Ruff B014 ([@frenck] - [#88377]) +- Fix snapshots testing repr 0 value IntFlags ([@frenck] - [#88379]) +- Add type hints to integration tests (zwave_js) ([@epenet] - [#88311]) +- Insteon scenes ([@teharris1] - [#87803]) +- Update use of sqlalchemy with_variant ([@emontnemery] - [#88395]) +- Drop sqlachemy_utils workaround ([@emontnemery] - [#88393]) +- Only build the recorder SupportedDialect enum once ([@bdraco] - [#88402]) +- Use a single session to compile statistics ([@bdraco] - [#88405]) +- Enable Ruff RUF006; Hard reference to asyncio.create_task return value ([@frenck] - [#88216]) +- Update python-kasa to 0.5.1 ([@rytilahti] - [#88416]) +- Update rokuecp to 0.17.1 ([@ctalkington] - [#88425]) +- Update keymitt dependency ([@spycle] - [#88430]) +- Adjust recorder LRU cache to align with the number of entities ([@bdraco] - [#88350]) +- Add uchardet-dev to Wheels build deps ([@frenck] - [#88449]) +- Update pipdeptree to 2.5.0 ([@frenck] - [#88390]) +- Bump motionblinds to 0.6.17 ([@starkillerOG] - [#88450]) +- Cleanup mypy ignore list feature ([@KapJI] - [#88451]) +- Make the recorder LRU adjustment threadsafe ([@bdraco] - [#88443]) +- Refactor Elgato tests ([@frenck] - [#88376]) +- Fix incorrect created and created_ts columns in statistics database schema ([@bdraco] - [#88462]) +- Fix most recent states query not using the index for group by ([@bdraco] - [#88461]) +- Fix statistics_at_time query not using index ([@bdraco] - [#88460]) +- Fix using MariaDB slow range select workaround with Postgresql ([@bdraco] - [#88459]) +- Refactor EnergyZero tests ([@frenck] - [#88458]) +- Refactor Whois tests ([@frenck] - [#88456]) +- Cleanup use of test fixtures in LaMetric tests ([@frenck] - [#88453]) +- Load pending state attributes and event data ids at startup ([@bdraco] - [#88444]) +- Improve conversation typing ([@cdce8p] - [#88440]) +- Disable vulcan ([@balloob] - [#88466]) +- Fix Vulcan break CI ([@balloob] - [#88469]) +- Add missing device class triggers ([@epenet] - [#88316]) +- Move connect method into a task ([@janiversen] - [#88452]) +- Remove Audio Content Restrictions From vlc_telnet ([@alanedwardes] - [#86821]) +- Add more tests for APC UPS Daemon integration ([@yuxincs] - [#85967]) +- ESPHome: Add additional field for current temperature precision ([@jesserockz] - [#88464]) +- Bump lupupy to 0.3.0 ([@majuss] - [#88473]) +- Add type hints to core tests ([@epenet] - [#88478]) +- Add type hints to integration tests ([@epenet] - [#88476]) +- Bump zeversolar to 0.3.1 ([@kvanzuijlen] - [#88386]) +- Cleanups in WLED tests ([@frenck] - [#88480]) +- Update CI runner to ubuntu-22.04 ([@cdce8p] - [#88420]) +- Exclude event_id and event_score from being recorded in unifiprotect ([@bdraco] - [#88387]) +- Upload KNX Keyfile from Config/Options Flow directly ([@farmio] - [#88097]) +- Ensure new MariaDB/MySQL tables are created using the InnoDB engine ([@bdraco] - [#88468]) +- Allow parameterizing YAML config in tests ([@jbouwh] - [#87981]) +- Use `suggested_display_precision` instead of rounding in Shelly sensor platform ([@bieniu] - [#87084]) +- Load custom sentences for language variations (en-us, etc.) ([@synesthesiam] - [#88498]) +- Avoid asking recorder platforms for list_statistic_ids when already complete ([@bdraco] - [#88495]) +- Update HomeKit VOC mappings ([@emanuelst] - [#87663]) +- Support templating for in state conditions ([@emontnemery] - [#88411]) +- Improve performance of websocket_api dispatch ([@bdraco] - [#88496]) +- Allow translation for data entry submit button ([@bramkragten] - [#88499]) +- Add `state_class = MEASUREMENT` to Derivative sensor ([@carlos-sarmiento] - [#88408]) +- Remove previously deprecated Detected Object from unifiprotect ([@bdraco] - [#85656]) (deprecation) +- Invert trigger._PLATFORM_ALIASES ([@emontnemery] - [#88503]) +- Only do unit conversion of `met` elevation when set in config entry ([@chrisx8] - [#88491]) +- Increase the maximum value for the transition parameter in the service hue.activate_scene ([@vedard] - [#88414]) +- Bump Axis to v47 (catch lingering tasks) ([@Kane610] - [#88508]) +- Bump pySwitchbot to 0.37.3 ([@bdraco] - [#88512]) +- Bump yalexs-ble to 2.0.2 ([@bdraco] - [#88513]) +- Disable circuits set as 'Don't Show' in ScreenLogic by default ([@dieselrabbit] - [#88518]) +- Bump pydeconz to v108 (catch lingering tasks) ([@Kane610] - [#88510]) +- Support Ecobee climate Aux Heat on/off ([@Lash-L] - [#86100]) +- Bump zwave-js-server-python to 0.46.0 ([@raman325] - [#88520]) +- Extract goodwe data update coordinator to a separate module ([@mletenay] - [#88396]) +- Default `hass_config` to contain an empty config ([@jbouwh] - [#88515]) +- Add type hints to integration tests (part 2) ([@epenet] - [#88493]) +- Add type hints to core tests (part 2) ([@epenet] - [#88492]) +- Bump pyairnow to 1.2.1 ([@asymworks] - [#88516]) +- Remove tibber monthly cost state class ([@MartinHjelmare] - [#88542]) +- Improve pjlink reliability ([@JorgenEvens] - [#80745]) +- Activate thread integration if thread border routers are present ([@Jc2k] - [#88551]) +- Update actions/cache to 3.2.6 ([@cdce8p] - [#88537]) +- Add esphome climate quiet fan mode ([@MichaelMure] - [#74303]) +- Bump nextdns to version 1.3.0 ([@bieniu] - [#88555]) +- Use device-native kelvins for tplink color temperature ([@rytilahti] - [#85646]) +- Add WS command config/entity_registry/list_for_display ([@emontnemery] - [#87787]) +- Only build the field_map once in recorder history ([@bdraco] - [#88529]) +- Restore vulcan integration ([@bdraco] - [#88556]) +- Add missing kelvin attributes to light recorder platform ([@bdraco] - [#88561]) +- Bump pyRFXtrx to 0.30.1 ([@rhpijnacker] - [#88538]) +- Remove deprecated callback support for MQTT subscribe ([@jbouwh] - [#88543]) +- Update entity registry snapshot serializer ([@frenck] - [#88566]) +- Fix logbook test that failed to exclude EVENT_HOMEASSISTANT_FINAL_WRITE ([@bdraco] - [#88568]) +- Constrain faust-cchardet to first version that builds wheels successfully ([@bdraco] - [#88563]) +- Bump hatasmota to 0.6.4 ([@emontnemery] - [#88565]) +- Fix stray prints seen inbetween tests ([@emontnemery] - [#88570]) +- Bump `nettigo-air-monitor` to version 2.1.0 ([@bieniu] - [#88569]) +- Bump sqlalchemy to 2.0.4 ([@bdraco] - [#88574]) +- Switch shell_command to use async_timeout instead of asyncio.wait_for ([@bdraco] - [#88573]) +- Replace fire_coroutine_threadsafe with asyncio.run_coroutine_threadsafe ([@bdraco] - [#88572]) +- Update async_matching_config_entries to use async_get_integrations ([@bdraco] - [#88527]) +- Speed up loading non-english language translations ([@bdraco] - [#88553]) +- Update homekit to use async_get_integrations ([@bdraco] - [#88550]) +- Add typed helpers and improve type hints in util/json ([@epenet] - [#88534]) +- Add options flow for met ([@chrisx8] - [#88525]) +- Clean up tradfri import flow ([@MartinHjelmare] - [#88588]) +- Improve trigger platform typing ([@emontnemery] - [#88511]) +- Improve type hint in zwave_js trigger ([@epenet] - [#88597]) +- Use load_json_object in tellduslive ([@epenet] - [#88591]) +- Use load_json_object in nanoleaf ([@epenet] - [#88592]) +- Use load_json_object in ps4 ([@epenet] - [#88590]) +- Use load_json_object in matrix ([@epenet] - [#88587]) +- Improve type hint in homeassistant trigger ([@epenet] - [#88596]) +- Use load_json_object in html5 ([@epenet] - [#88586]) +- Use load_json_object in ecobee ([@epenet] - [#88584]) +- Bump Insteon dependencies ([@teharris1] - [#88514]) +- Add ZHA "consumer connected" binary sensor for Xiaomi EU plugs ([@TheJulianJES] - [#88194]) +- Add clarifying comment about unit of elevation ([@emontnemery] - [#88489]) +- Fix 500 error when getting calendar events ([@albinmedoc] - [#88276]) +- Fix cover template: optimistic mode is ignored ([@ylemoigne] - [#87925]) +- Add Reolink update entity ([@starkillerOG] - [#87865]) +- Bump intents package version; hassil==1.0.5; home-assistant-intents==2023.2.22 ([@synesthesiam] - [#88605]) +- Bump reolink-aio to 0.5.0 ([@starkillerOG] - [#88594]) +- Set default for `hass_config_yaml` fixture to "" ([@jbouwh] - [#88608]) +- Diagnostics report for Thread networks ([@Jc2k] - [#88541]) +- Add new zwave_js WS command to parse DSK from QR code ([@raman325] - [#87237]) +- Update zwave_js FirmwareUploadView to support controller updates ([@raman325] - [#87239]) +- Add dsk option to zwave_js/add_node WS command ([@raman325] - [#87823]) +- Always include platform in `config/entity_registry/list_for_display` ([@emontnemery] - [#88601]) +- Bump Freebox to 1.1.0 ([@Quentame] - [#88609]) +- Add controller support to `zwave_js/subscribe_firmware_update_status` ([@raman325] - [#87348]) +- Update frontend to 20230222.0 ([@bramkragten] - [#88615]) +- Add devices to LiteJet ([@joncar] - [#88406]) +- Bump Météo-France to 1.2.0 ([@Quentame] - [#88617]) +- Bump python-matter-server to 3.0.0 ([@marcelveldt] - [#88607]) +- Bump ZHA quirks to 0.0.93 ([@dmulcahey] - [#88621]) +- Bump brother to 2.2.0 ([@bieniu] - [#88618]) +- Fix handling of HomeKit sources with unsafe characters ([@bdraco] - [#88280]) + +[#74303]: https://github.com/home-assistant/core/pull/74303 +[#79434]: https://github.com/home-assistant/core/pull/79434 +[#80614]: https://github.com/home-assistant/core/pull/80614 +[#80745]: https://github.com/home-assistant/core/pull/80745 +[#81223]: https://github.com/home-assistant/core/pull/81223 +[#83500]: https://github.com/home-assistant/core/pull/83500 +[#83645]: https://github.com/home-assistant/core/pull/83645 +[#83851]: https://github.com/home-assistant/core/pull/83851 +[#84317]: https://github.com/home-assistant/core/pull/84317 +[#84561]: https://github.com/home-assistant/core/pull/84561 +[#85494]: https://github.com/home-assistant/core/pull/85494 +[#85517]: https://github.com/home-assistant/core/pull/85517 +[#85642]: https://github.com/home-assistant/core/pull/85642 +[#85646]: https://github.com/home-assistant/core/pull/85646 +[#85656]: https://github.com/home-assistant/core/pull/85656 +[#85660]: https://github.com/home-assistant/core/pull/85660 +[#85672]: https://github.com/home-assistant/core/pull/85672 +[#85967]: https://github.com/home-assistant/core/pull/85967 +[#85980]: https://github.com/home-assistant/core/pull/85980 +[#86040]: https://github.com/home-assistant/core/pull/86040 +[#86100]: https://github.com/home-assistant/core/pull/86100 +[#86117]: https://github.com/home-assistant/core/pull/86117 +[#86131]: https://github.com/home-assistant/core/pull/86131 +[#86149]: https://github.com/home-assistant/core/pull/86149 +[#86179]: https://github.com/home-assistant/core/pull/86179 +[#86266]: https://github.com/home-assistant/core/pull/86266 +[#86409]: https://github.com/home-assistant/core/pull/86409 +[#86436]: https://github.com/home-assistant/core/pull/86436 +[#86476]: https://github.com/home-assistant/core/pull/86476 +[#86591]: https://github.com/home-assistant/core/pull/86591 +[#86632]: https://github.com/home-assistant/core/pull/86632 +[#86643]: https://github.com/home-assistant/core/pull/86643 +[#86644]: https://github.com/home-assistant/core/pull/86644 +[#86647]: https://github.com/home-assistant/core/pull/86647 +[#86648]: https://github.com/home-assistant/core/pull/86648 +[#86649]: https://github.com/home-assistant/core/pull/86649 +[#86660]: https://github.com/home-assistant/core/pull/86660 +[#86662]: https://github.com/home-assistant/core/pull/86662 +[#86668]: https://github.com/home-assistant/core/pull/86668 +[#86683]: https://github.com/home-assistant/core/pull/86683 +[#86685]: https://github.com/home-assistant/core/pull/86685 +[#86686]: https://github.com/home-assistant/core/pull/86686 +[#86692]: https://github.com/home-assistant/core/pull/86692 +[#86693]: https://github.com/home-assistant/core/pull/86693 +[#86694]: https://github.com/home-assistant/core/pull/86694 +[#86697]: https://github.com/home-assistant/core/pull/86697 +[#86698]: https://github.com/home-assistant/core/pull/86698 +[#86699]: https://github.com/home-assistant/core/pull/86699 +[#86700]: https://github.com/home-assistant/core/pull/86700 +[#86701]: https://github.com/home-assistant/core/pull/86701 +[#86702]: https://github.com/home-assistant/core/pull/86702 +[#86703]: https://github.com/home-assistant/core/pull/86703 +[#86704]: https://github.com/home-assistant/core/pull/86704 +[#86706]: https://github.com/home-assistant/core/pull/86706 +[#86707]: https://github.com/home-assistant/core/pull/86707 +[#86715]: https://github.com/home-assistant/core/pull/86715 +[#86719]: https://github.com/home-assistant/core/pull/86719 +[#86721]: https://github.com/home-assistant/core/pull/86721 +[#86730]: https://github.com/home-assistant/core/pull/86730 +[#86733]: https://github.com/home-assistant/core/pull/86733 +[#86734]: https://github.com/home-assistant/core/pull/86734 +[#86736]: https://github.com/home-assistant/core/pull/86736 +[#86739]: https://github.com/home-assistant/core/pull/86739 +[#86740]: https://github.com/home-assistant/core/pull/86740 +[#86757]: https://github.com/home-assistant/core/pull/86757 +[#86759]: https://github.com/home-assistant/core/pull/86759 +[#86761]: https://github.com/home-assistant/core/pull/86761 +[#86767]: https://github.com/home-assistant/core/pull/86767 +[#86768]: https://github.com/home-assistant/core/pull/86768 +[#86771]: https://github.com/home-assistant/core/pull/86771 +[#86775]: https://github.com/home-assistant/core/pull/86775 +[#86776]: https://github.com/home-assistant/core/pull/86776 +[#86777]: https://github.com/home-assistant/core/pull/86777 +[#86778]: https://github.com/home-assistant/core/pull/86778 +[#86779]: https://github.com/home-assistant/core/pull/86779 +[#86783]: https://github.com/home-assistant/core/pull/86783 +[#86784]: https://github.com/home-assistant/core/pull/86784 +[#86785]: https://github.com/home-assistant/core/pull/86785 +[#86788]: https://github.com/home-assistant/core/pull/86788 +[#86790]: https://github.com/home-assistant/core/pull/86790 +[#86792]: https://github.com/home-assistant/core/pull/86792 +[#86793]: https://github.com/home-assistant/core/pull/86793 +[#86795]: https://github.com/home-assistant/core/pull/86795 +[#86799]: https://github.com/home-assistant/core/pull/86799 +[#86801]: https://github.com/home-assistant/core/pull/86801 +[#86810]: https://github.com/home-assistant/core/pull/86810 +[#86811]: https://github.com/home-assistant/core/pull/86811 +[#86813]: https://github.com/home-assistant/core/pull/86813 +[#86814]: https://github.com/home-assistant/core/pull/86814 +[#86816]: https://github.com/home-assistant/core/pull/86816 +[#86821]: https://github.com/home-assistant/core/pull/86821 +[#86823]: https://github.com/home-assistant/core/pull/86823 +[#86825]: https://github.com/home-assistant/core/pull/86825 +[#86830]: https://github.com/home-assistant/core/pull/86830 +[#86837]: https://github.com/home-assistant/core/pull/86837 +[#86843]: https://github.com/home-assistant/core/pull/86843 +[#86852]: https://github.com/home-assistant/core/pull/86852 +[#86853]: https://github.com/home-assistant/core/pull/86853 +[#86854]: https://github.com/home-assistant/core/pull/86854 +[#86856]: https://github.com/home-assistant/core/pull/86856 +[#86862]: https://github.com/home-assistant/core/pull/86862 +[#86868]: https://github.com/home-assistant/core/pull/86868 +[#86869]: https://github.com/home-assistant/core/pull/86869 +[#86876]: https://github.com/home-assistant/core/pull/86876 +[#86878]: https://github.com/home-assistant/core/pull/86878 +[#86887]: https://github.com/home-assistant/core/pull/86887 +[#86888]: https://github.com/home-assistant/core/pull/86888 +[#86891]: https://github.com/home-assistant/core/pull/86891 +[#86893]: https://github.com/home-assistant/core/pull/86893 +[#86901]: https://github.com/home-assistant/core/pull/86901 +[#86906]: https://github.com/home-assistant/core/pull/86906 +[#86908]: https://github.com/home-assistant/core/pull/86908 +[#86916]: https://github.com/home-assistant/core/pull/86916 +[#86918]: https://github.com/home-assistant/core/pull/86918 +[#86920]: https://github.com/home-assistant/core/pull/86920 +[#86932]: https://github.com/home-assistant/core/pull/86932 +[#86936]: https://github.com/home-assistant/core/pull/86936 +[#86937]: https://github.com/home-assistant/core/pull/86937 +[#86943]: https://github.com/home-assistant/core/pull/86943 +[#86944]: https://github.com/home-assistant/core/pull/86944 +[#86954]: https://github.com/home-assistant/core/pull/86954 +[#86956]: https://github.com/home-assistant/core/pull/86956 +[#86958]: https://github.com/home-assistant/core/pull/86958 +[#86989]: https://github.com/home-assistant/core/pull/86989 +[#86998]: https://github.com/home-assistant/core/pull/86998 +[#87003]: https://github.com/home-assistant/core/pull/87003 +[#87004]: https://github.com/home-assistant/core/pull/87004 +[#87013]: https://github.com/home-assistant/core/pull/87013 +[#87017]: https://github.com/home-assistant/core/pull/87017 +[#87019]: https://github.com/home-assistant/core/pull/87019 +[#87020]: https://github.com/home-assistant/core/pull/87020 +[#87022]: https://github.com/home-assistant/core/pull/87022 +[#87023]: https://github.com/home-assistant/core/pull/87023 +[#87024]: https://github.com/home-assistant/core/pull/87024 +[#87025]: https://github.com/home-assistant/core/pull/87025 +[#87026]: https://github.com/home-assistant/core/pull/87026 +[#87027]: https://github.com/home-assistant/core/pull/87027 +[#87028]: https://github.com/home-assistant/core/pull/87028 +[#87029]: https://github.com/home-assistant/core/pull/87029 +[#87030]: https://github.com/home-assistant/core/pull/87030 +[#87031]: https://github.com/home-assistant/core/pull/87031 +[#87032]: https://github.com/home-assistant/core/pull/87032 +[#87036]: https://github.com/home-assistant/core/pull/87036 +[#87048]: https://github.com/home-assistant/core/pull/87048 +[#87065]: https://github.com/home-assistant/core/pull/87065 +[#87066]: https://github.com/home-assistant/core/pull/87066 +[#87067]: https://github.com/home-assistant/core/pull/87067 +[#87068]: https://github.com/home-assistant/core/pull/87068 +[#87069]: https://github.com/home-assistant/core/pull/87069 +[#87070]: https://github.com/home-assistant/core/pull/87070 +[#87071]: https://github.com/home-assistant/core/pull/87071 +[#87072]: https://github.com/home-assistant/core/pull/87072 +[#87073]: https://github.com/home-assistant/core/pull/87073 +[#87074]: https://github.com/home-assistant/core/pull/87074 +[#87075]: https://github.com/home-assistant/core/pull/87075 +[#87076]: https://github.com/home-assistant/core/pull/87076 +[#87077]: https://github.com/home-assistant/core/pull/87077 +[#87078]: https://github.com/home-assistant/core/pull/87078 +[#87082]: https://github.com/home-assistant/core/pull/87082 +[#87083]: https://github.com/home-assistant/core/pull/87083 +[#87084]: https://github.com/home-assistant/core/pull/87084 +[#87085]: https://github.com/home-assistant/core/pull/87085 +[#87088]: https://github.com/home-assistant/core/pull/87088 +[#87089]: https://github.com/home-assistant/core/pull/87089 +[#87105]: https://github.com/home-assistant/core/pull/87105 +[#87106]: https://github.com/home-assistant/core/pull/87106 +[#87111]: https://github.com/home-assistant/core/pull/87111 +[#87117]: https://github.com/home-assistant/core/pull/87117 +[#87129]: https://github.com/home-assistant/core/pull/87129 +[#87136]: https://github.com/home-assistant/core/pull/87136 +[#87138]: https://github.com/home-assistant/core/pull/87138 +[#87145]: https://github.com/home-assistant/core/pull/87145 +[#87154]: https://github.com/home-assistant/core/pull/87154 +[#87161]: https://github.com/home-assistant/core/pull/87161 +[#87162]: https://github.com/home-assistant/core/pull/87162 +[#87167]: https://github.com/home-assistant/core/pull/87167 +[#87169]: https://github.com/home-assistant/core/pull/87169 +[#87171]: https://github.com/home-assistant/core/pull/87171 +[#87172]: https://github.com/home-assistant/core/pull/87172 +[#87175]: https://github.com/home-assistant/core/pull/87175 +[#87183]: https://github.com/home-assistant/core/pull/87183 +[#87184]: https://github.com/home-assistant/core/pull/87184 +[#87185]: https://github.com/home-assistant/core/pull/87185 +[#87186]: https://github.com/home-assistant/core/pull/87186 +[#87187]: https://github.com/home-assistant/core/pull/87187 +[#87188]: https://github.com/home-assistant/core/pull/87188 +[#87197]: https://github.com/home-assistant/core/pull/87197 +[#87205]: https://github.com/home-assistant/core/pull/87205 +[#87206]: https://github.com/home-assistant/core/pull/87206 +[#87214]: https://github.com/home-assistant/core/pull/87214 +[#87217]: https://github.com/home-assistant/core/pull/87217 +[#87224]: https://github.com/home-assistant/core/pull/87224 +[#87235]: https://github.com/home-assistant/core/pull/87235 +[#87236]: https://github.com/home-assistant/core/pull/87236 +[#87237]: https://github.com/home-assistant/core/pull/87237 +[#87239]: https://github.com/home-assistant/core/pull/87239 +[#87250]: https://github.com/home-assistant/core/pull/87250 +[#87254]: https://github.com/home-assistant/core/pull/87254 +[#87255]: https://github.com/home-assistant/core/pull/87255 +[#87256]: https://github.com/home-assistant/core/pull/87256 +[#87257]: https://github.com/home-assistant/core/pull/87257 +[#87258]: https://github.com/home-assistant/core/pull/87258 +[#87260]: https://github.com/home-assistant/core/pull/87260 +[#87263]: https://github.com/home-assistant/core/pull/87263 +[#87264]: https://github.com/home-assistant/core/pull/87264 +[#87266]: https://github.com/home-assistant/core/pull/87266 +[#87267]: https://github.com/home-assistant/core/pull/87267 +[#87269]: https://github.com/home-assistant/core/pull/87269 +[#87270]: https://github.com/home-assistant/core/pull/87270 +[#87273]: https://github.com/home-assistant/core/pull/87273 +[#87274]: https://github.com/home-assistant/core/pull/87274 +[#87279]: https://github.com/home-assistant/core/pull/87279 +[#87282]: https://github.com/home-assistant/core/pull/87282 +[#87287]: https://github.com/home-assistant/core/pull/87287 +[#87289]: https://github.com/home-assistant/core/pull/87289 +[#87299]: https://github.com/home-assistant/core/pull/87299 +[#87301]: https://github.com/home-assistant/core/pull/87301 +[#87302]: https://github.com/home-assistant/core/pull/87302 +[#87305]: https://github.com/home-assistant/core/pull/87305 +[#87307]: https://github.com/home-assistant/core/pull/87307 +[#87308]: https://github.com/home-assistant/core/pull/87308 +[#87309]: https://github.com/home-assistant/core/pull/87309 +[#87310]: https://github.com/home-assistant/core/pull/87310 +[#87321]: https://github.com/home-assistant/core/pull/87321 +[#87328]: https://github.com/home-assistant/core/pull/87328 +[#87330]: https://github.com/home-assistant/core/pull/87330 +[#87331]: https://github.com/home-assistant/core/pull/87331 +[#87332]: https://github.com/home-assistant/core/pull/87332 +[#87333]: https://github.com/home-assistant/core/pull/87333 +[#87336]: https://github.com/home-assistant/core/pull/87336 +[#87337]: https://github.com/home-assistant/core/pull/87337 +[#87339]: https://github.com/home-assistant/core/pull/87339 +[#87342]: https://github.com/home-assistant/core/pull/87342 +[#87344]: https://github.com/home-assistant/core/pull/87344 +[#87345]: https://github.com/home-assistant/core/pull/87345 +[#87347]: https://github.com/home-assistant/core/pull/87347 +[#87348]: https://github.com/home-assistant/core/pull/87348 +[#87366]: https://github.com/home-assistant/core/pull/87366 +[#87371]: https://github.com/home-assistant/core/pull/87371 +[#87377]: https://github.com/home-assistant/core/pull/87377 +[#87378]: https://github.com/home-assistant/core/pull/87378 +[#87381]: https://github.com/home-assistant/core/pull/87381 +[#87383]: https://github.com/home-assistant/core/pull/87383 +[#87386]: https://github.com/home-assistant/core/pull/87386 +[#87396]: https://github.com/home-assistant/core/pull/87396 +[#87399]: https://github.com/home-assistant/core/pull/87399 +[#87402]: https://github.com/home-assistant/core/pull/87402 +[#87408]: https://github.com/home-assistant/core/pull/87408 +[#87415]: https://github.com/home-assistant/core/pull/87415 +[#87425]: https://github.com/home-assistant/core/pull/87425 +[#87428]: https://github.com/home-assistant/core/pull/87428 +[#87438]: https://github.com/home-assistant/core/pull/87438 +[#87441]: https://github.com/home-assistant/core/pull/87441 +[#87462]: https://github.com/home-assistant/core/pull/87462 +[#87466]: https://github.com/home-assistant/core/pull/87466 +[#87467]: https://github.com/home-assistant/core/pull/87467 +[#87479]: https://github.com/home-assistant/core/pull/87479 +[#87490]: https://github.com/home-assistant/core/pull/87490 +[#87501]: https://github.com/home-assistant/core/pull/87501 +[#87502]: https://github.com/home-assistant/core/pull/87502 +[#87503]: https://github.com/home-assistant/core/pull/87503 +[#87513]: https://github.com/home-assistant/core/pull/87513 +[#87519]: https://github.com/home-assistant/core/pull/87519 +[#87521]: https://github.com/home-assistant/core/pull/87521 +[#87523]: https://github.com/home-assistant/core/pull/87523 +[#87525]: https://github.com/home-assistant/core/pull/87525 +[#87526]: https://github.com/home-assistant/core/pull/87526 +[#87527]: https://github.com/home-assistant/core/pull/87527 +[#87539]: https://github.com/home-assistant/core/pull/87539 +[#87543]: https://github.com/home-assistant/core/pull/87543 +[#87548]: https://github.com/home-assistant/core/pull/87548 +[#87550]: https://github.com/home-assistant/core/pull/87550 +[#87553]: https://github.com/home-assistant/core/pull/87553 +[#87557]: https://github.com/home-assistant/core/pull/87557 +[#87561]: https://github.com/home-assistant/core/pull/87561 +[#87562]: https://github.com/home-assistant/core/pull/87562 +[#87564]: https://github.com/home-assistant/core/pull/87564 +[#87574]: https://github.com/home-assistant/core/pull/87574 +[#87576]: https://github.com/home-assistant/core/pull/87576 +[#87583]: https://github.com/home-assistant/core/pull/87583 +[#87586]: https://github.com/home-assistant/core/pull/87586 +[#87589]: https://github.com/home-assistant/core/pull/87589 +[#87596]: https://github.com/home-assistant/core/pull/87596 +[#87597]: https://github.com/home-assistant/core/pull/87597 +[#87598]: https://github.com/home-assistant/core/pull/87598 +[#87599]: https://github.com/home-assistant/core/pull/87599 +[#87600]: https://github.com/home-assistant/core/pull/87600 +[#87601]: https://github.com/home-assistant/core/pull/87601 +[#87602]: https://github.com/home-assistant/core/pull/87602 +[#87606]: https://github.com/home-assistant/core/pull/87606 +[#87607]: https://github.com/home-assistant/core/pull/87607 +[#87612]: https://github.com/home-assistant/core/pull/87612 +[#87613]: https://github.com/home-assistant/core/pull/87613 +[#87614]: https://github.com/home-assistant/core/pull/87614 +[#87617]: https://github.com/home-assistant/core/pull/87617 +[#87618]: https://github.com/home-assistant/core/pull/87618 +[#87619]: https://github.com/home-assistant/core/pull/87619 +[#87621]: https://github.com/home-assistant/core/pull/87621 +[#87627]: https://github.com/home-assistant/core/pull/87627 +[#87629]: https://github.com/home-assistant/core/pull/87629 +[#87630]: https://github.com/home-assistant/core/pull/87630 +[#87631]: https://github.com/home-assistant/core/pull/87631 +[#87632]: https://github.com/home-assistant/core/pull/87632 +[#87634]: https://github.com/home-assistant/core/pull/87634 +[#87635]: https://github.com/home-assistant/core/pull/87635 +[#87637]: https://github.com/home-assistant/core/pull/87637 +[#87640]: https://github.com/home-assistant/core/pull/87640 +[#87646]: https://github.com/home-assistant/core/pull/87646 +[#87649]: https://github.com/home-assistant/core/pull/87649 +[#87656]: https://github.com/home-assistant/core/pull/87656 +[#87659]: https://github.com/home-assistant/core/pull/87659 +[#87663]: https://github.com/home-assistant/core/pull/87663 +[#87675]: https://github.com/home-assistant/core/pull/87675 +[#87676]: https://github.com/home-assistant/core/pull/87676 +[#87677]: https://github.com/home-assistant/core/pull/87677 +[#87678]: https://github.com/home-assistant/core/pull/87678 +[#87680]: https://github.com/home-assistant/core/pull/87680 +[#87684]: https://github.com/home-assistant/core/pull/87684 +[#87685]: https://github.com/home-assistant/core/pull/87685 +[#87686]: https://github.com/home-assistant/core/pull/87686 +[#87691]: https://github.com/home-assistant/core/pull/87691 +[#87694]: https://github.com/home-assistant/core/pull/87694 +[#87695]: https://github.com/home-assistant/core/pull/87695 +[#87698]: https://github.com/home-assistant/core/pull/87698 +[#87699]: https://github.com/home-assistant/core/pull/87699 +[#87700]: https://github.com/home-assistant/core/pull/87700 +[#87703]: https://github.com/home-assistant/core/pull/87703 +[#87704]: https://github.com/home-assistant/core/pull/87704 +[#87705]: https://github.com/home-assistant/core/pull/87705 +[#87706]: https://github.com/home-assistant/core/pull/87706 +[#87707]: https://github.com/home-assistant/core/pull/87707 +[#87710]: https://github.com/home-assistant/core/pull/87710 +[#87711]: https://github.com/home-assistant/core/pull/87711 +[#87713]: https://github.com/home-assistant/core/pull/87713 +[#87719]: https://github.com/home-assistant/core/pull/87719 +[#87722]: https://github.com/home-assistant/core/pull/87722 +[#87726]: https://github.com/home-assistant/core/pull/87726 +[#87727]: https://github.com/home-assistant/core/pull/87727 +[#87728]: https://github.com/home-assistant/core/pull/87728 +[#87729]: https://github.com/home-assistant/core/pull/87729 +[#87732]: https://github.com/home-assistant/core/pull/87732 +[#87734]: https://github.com/home-assistant/core/pull/87734 +[#87735]: https://github.com/home-assistant/core/pull/87735 +[#87737]: https://github.com/home-assistant/core/pull/87737 +[#87740]: https://github.com/home-assistant/core/pull/87740 +[#87741]: https://github.com/home-assistant/core/pull/87741 +[#87743]: https://github.com/home-assistant/core/pull/87743 +[#87744]: https://github.com/home-assistant/core/pull/87744 +[#87747]: https://github.com/home-assistant/core/pull/87747 +[#87753]: https://github.com/home-assistant/core/pull/87753 +[#87754]: https://github.com/home-assistant/core/pull/87754 +[#87755]: https://github.com/home-assistant/core/pull/87755 +[#87756]: https://github.com/home-assistant/core/pull/87756 +[#87757]: https://github.com/home-assistant/core/pull/87757 +[#87758]: https://github.com/home-assistant/core/pull/87758 +[#87760]: https://github.com/home-assistant/core/pull/87760 +[#87761]: https://github.com/home-assistant/core/pull/87761 +[#87763]: https://github.com/home-assistant/core/pull/87763 +[#87764]: https://github.com/home-assistant/core/pull/87764 +[#87765]: https://github.com/home-assistant/core/pull/87765 +[#87766]: https://github.com/home-assistant/core/pull/87766 +[#87767]: https://github.com/home-assistant/core/pull/87767 +[#87769]: https://github.com/home-assistant/core/pull/87769 +[#87770]: https://github.com/home-assistant/core/pull/87770 +[#87772]: https://github.com/home-assistant/core/pull/87772 +[#87773]: https://github.com/home-assistant/core/pull/87773 +[#87775]: https://github.com/home-assistant/core/pull/87775 +[#87777]: https://github.com/home-assistant/core/pull/87777 +[#87780]: https://github.com/home-assistant/core/pull/87780 +[#87781]: https://github.com/home-assistant/core/pull/87781 +[#87782]: https://github.com/home-assistant/core/pull/87782 +[#87783]: https://github.com/home-assistant/core/pull/87783 +[#87784]: https://github.com/home-assistant/core/pull/87784 +[#87787]: https://github.com/home-assistant/core/pull/87787 +[#87789]: https://github.com/home-assistant/core/pull/87789 +[#87792]: https://github.com/home-assistant/core/pull/87792 +[#87793]: https://github.com/home-assistant/core/pull/87793 +[#87794]: https://github.com/home-assistant/core/pull/87794 +[#87796]: https://github.com/home-assistant/core/pull/87796 +[#87798]: https://github.com/home-assistant/core/pull/87798 +[#87803]: https://github.com/home-assistant/core/pull/87803 +[#87804]: https://github.com/home-assistant/core/pull/87804 +[#87808]: https://github.com/home-assistant/core/pull/87808 +[#87809]: https://github.com/home-assistant/core/pull/87809 +[#87819]: https://github.com/home-assistant/core/pull/87819 +[#87820]: https://github.com/home-assistant/core/pull/87820 +[#87822]: https://github.com/home-assistant/core/pull/87822 +[#87823]: https://github.com/home-assistant/core/pull/87823 +[#87825]: https://github.com/home-assistant/core/pull/87825 +[#87826]: https://github.com/home-assistant/core/pull/87826 +[#87832]: https://github.com/home-assistant/core/pull/87832 +[#87838]: https://github.com/home-assistant/core/pull/87838 +[#87839]: https://github.com/home-assistant/core/pull/87839 +[#87841]: https://github.com/home-assistant/core/pull/87841 +[#87842]: https://github.com/home-assistant/core/pull/87842 +[#87844]: https://github.com/home-assistant/core/pull/87844 +[#87845]: https://github.com/home-assistant/core/pull/87845 +[#87847]: https://github.com/home-assistant/core/pull/87847 +[#87848]: https://github.com/home-assistant/core/pull/87848 +[#87849]: https://github.com/home-assistant/core/pull/87849 +[#87850]: https://github.com/home-assistant/core/pull/87850 +[#87853]: https://github.com/home-assistant/core/pull/87853 +[#87859]: https://github.com/home-assistant/core/pull/87859 +[#87862]: https://github.com/home-assistant/core/pull/87862 +[#87864]: https://github.com/home-assistant/core/pull/87864 +[#87865]: https://github.com/home-assistant/core/pull/87865 +[#87873]: https://github.com/home-assistant/core/pull/87873 +[#87877]: https://github.com/home-assistant/core/pull/87877 +[#87883]: https://github.com/home-assistant/core/pull/87883 +[#87885]: https://github.com/home-assistant/core/pull/87885 +[#87887]: https://github.com/home-assistant/core/pull/87887 +[#87889]: https://github.com/home-assistant/core/pull/87889 +[#87896]: https://github.com/home-assistant/core/pull/87896 +[#87901]: https://github.com/home-assistant/core/pull/87901 +[#87903]: https://github.com/home-assistant/core/pull/87903 +[#87911]: https://github.com/home-assistant/core/pull/87911 +[#87912]: https://github.com/home-assistant/core/pull/87912 +[#87913]: https://github.com/home-assistant/core/pull/87913 +[#87914]: https://github.com/home-assistant/core/pull/87914 +[#87918]: https://github.com/home-assistant/core/pull/87918 +[#87925]: https://github.com/home-assistant/core/pull/87925 +[#87933]: https://github.com/home-assistant/core/pull/87933 +[#87934]: https://github.com/home-assistant/core/pull/87934 +[#87935]: https://github.com/home-assistant/core/pull/87935 +[#87936]: https://github.com/home-assistant/core/pull/87936 +[#87937]: https://github.com/home-assistant/core/pull/87937 +[#87938]: https://github.com/home-assistant/core/pull/87938 +[#87939]: https://github.com/home-assistant/core/pull/87939 +[#87942]: https://github.com/home-assistant/core/pull/87942 +[#87944]: https://github.com/home-assistant/core/pull/87944 +[#87945]: https://github.com/home-assistant/core/pull/87945 +[#87949]: https://github.com/home-assistant/core/pull/87949 +[#87950]: https://github.com/home-assistant/core/pull/87950 +[#87951]: https://github.com/home-assistant/core/pull/87951 +[#87958]: https://github.com/home-assistant/core/pull/87958 +[#87960]: https://github.com/home-assistant/core/pull/87960 +[#87961]: https://github.com/home-assistant/core/pull/87961 +[#87962]: https://github.com/home-assistant/core/pull/87962 +[#87963]: https://github.com/home-assistant/core/pull/87963 +[#87970]: https://github.com/home-assistant/core/pull/87970 +[#87973]: https://github.com/home-assistant/core/pull/87973 +[#87975]: https://github.com/home-assistant/core/pull/87975 +[#87978]: https://github.com/home-assistant/core/pull/87978 +[#87979]: https://github.com/home-assistant/core/pull/87979 +[#87980]: https://github.com/home-assistant/core/pull/87980 +[#87981]: https://github.com/home-assistant/core/pull/87981 +[#87982]: https://github.com/home-assistant/core/pull/87982 +[#87983]: https://github.com/home-assistant/core/pull/87983 +[#87985]: https://github.com/home-assistant/core/pull/87985 +[#87986]: https://github.com/home-assistant/core/pull/87986 +[#87989]: https://github.com/home-assistant/core/pull/87989 +[#87990]: https://github.com/home-assistant/core/pull/87990 +[#87991]: https://github.com/home-assistant/core/pull/87991 +[#87995]: https://github.com/home-assistant/core/pull/87995 +[#87996]: https://github.com/home-assistant/core/pull/87996 +[#87997]: https://github.com/home-assistant/core/pull/87997 +[#87998]: https://github.com/home-assistant/core/pull/87998 +[#87999]: https://github.com/home-assistant/core/pull/87999 +[#88005]: https://github.com/home-assistant/core/pull/88005 +[#88006]: https://github.com/home-assistant/core/pull/88006 +[#88008]: https://github.com/home-assistant/core/pull/88008 +[#88013]: https://github.com/home-assistant/core/pull/88013 +[#88017]: https://github.com/home-assistant/core/pull/88017 +[#88021]: https://github.com/home-assistant/core/pull/88021 +[#88025]: https://github.com/home-assistant/core/pull/88025 +[#88026]: https://github.com/home-assistant/core/pull/88026 +[#88032]: https://github.com/home-assistant/core/pull/88032 +[#88035]: https://github.com/home-assistant/core/pull/88035 +[#88037]: https://github.com/home-assistant/core/pull/88037 +[#88038]: https://github.com/home-assistant/core/pull/88038 +[#88042]: https://github.com/home-assistant/core/pull/88042 +[#88045]: https://github.com/home-assistant/core/pull/88045 +[#88046]: https://github.com/home-assistant/core/pull/88046 +[#88051]: https://github.com/home-assistant/core/pull/88051 +[#88064]: https://github.com/home-assistant/core/pull/88064 +[#88069]: https://github.com/home-assistant/core/pull/88069 +[#88071]: https://github.com/home-assistant/core/pull/88071 +[#88076]: https://github.com/home-assistant/core/pull/88076 +[#88077]: https://github.com/home-assistant/core/pull/88077 +[#88081]: https://github.com/home-assistant/core/pull/88081 +[#88084]: https://github.com/home-assistant/core/pull/88084 +[#88086]: https://github.com/home-assistant/core/pull/88086 +[#88087]: https://github.com/home-assistant/core/pull/88087 +[#88088]: https://github.com/home-assistant/core/pull/88088 +[#88089]: https://github.com/home-assistant/core/pull/88089 +[#88090]: https://github.com/home-assistant/core/pull/88090 +[#88091]: https://github.com/home-assistant/core/pull/88091 +[#88092]: https://github.com/home-assistant/core/pull/88092 +[#88093]: https://github.com/home-assistant/core/pull/88093 +[#88094]: https://github.com/home-assistant/core/pull/88094 +[#88097]: https://github.com/home-assistant/core/pull/88097 +[#88098]: https://github.com/home-assistant/core/pull/88098 +[#88099]: https://github.com/home-assistant/core/pull/88099 +[#88101]: https://github.com/home-assistant/core/pull/88101 +[#88102]: https://github.com/home-assistant/core/pull/88102 +[#88106]: https://github.com/home-assistant/core/pull/88106 +[#88107]: https://github.com/home-assistant/core/pull/88107 +[#88109]: https://github.com/home-assistant/core/pull/88109 +[#88114]: https://github.com/home-assistant/core/pull/88114 +[#88115]: https://github.com/home-assistant/core/pull/88115 +[#88117]: https://github.com/home-assistant/core/pull/88117 +[#88118]: https://github.com/home-assistant/core/pull/88118 +[#88121]: https://github.com/home-assistant/core/pull/88121 +[#88122]: https://github.com/home-assistant/core/pull/88122 +[#88123]: https://github.com/home-assistant/core/pull/88123 +[#88124]: https://github.com/home-assistant/core/pull/88124 +[#88125]: https://github.com/home-assistant/core/pull/88125 +[#88126]: https://github.com/home-assistant/core/pull/88126 +[#88127]: https://github.com/home-assistant/core/pull/88127 +[#88130]: https://github.com/home-assistant/core/pull/88130 +[#88131]: https://github.com/home-assistant/core/pull/88131 +[#88134]: https://github.com/home-assistant/core/pull/88134 +[#88136]: https://github.com/home-assistant/core/pull/88136 +[#88137]: https://github.com/home-assistant/core/pull/88137 +[#88138]: https://github.com/home-assistant/core/pull/88138 +[#88144]: https://github.com/home-assistant/core/pull/88144 +[#88147]: https://github.com/home-assistant/core/pull/88147 +[#88150]: https://github.com/home-assistant/core/pull/88150 +[#88159]: https://github.com/home-assistant/core/pull/88159 +[#88161]: https://github.com/home-assistant/core/pull/88161 +[#88163]: https://github.com/home-assistant/core/pull/88163 +[#88164]: https://github.com/home-assistant/core/pull/88164 +[#88165]: https://github.com/home-assistant/core/pull/88165 +[#88171]: https://github.com/home-assistant/core/pull/88171 +[#88172]: https://github.com/home-assistant/core/pull/88172 +[#88173]: https://github.com/home-assistant/core/pull/88173 +[#88174]: https://github.com/home-assistant/core/pull/88174 +[#88176]: https://github.com/home-assistant/core/pull/88176 +[#88177]: https://github.com/home-assistant/core/pull/88177 +[#88178]: https://github.com/home-assistant/core/pull/88178 +[#88179]: https://github.com/home-assistant/core/pull/88179 +[#88181]: https://github.com/home-assistant/core/pull/88181 +[#88184]: https://github.com/home-assistant/core/pull/88184 +[#88187]: https://github.com/home-assistant/core/pull/88187 +[#88189]: https://github.com/home-assistant/core/pull/88189 +[#88194]: https://github.com/home-assistant/core/pull/88194 +[#88195]: https://github.com/home-assistant/core/pull/88195 +[#88198]: https://github.com/home-assistant/core/pull/88198 +[#88199]: https://github.com/home-assistant/core/pull/88199 +[#88203]: https://github.com/home-assistant/core/pull/88203 +[#88204]: https://github.com/home-assistant/core/pull/88204 +[#88210]: https://github.com/home-assistant/core/pull/88210 +[#88211]: https://github.com/home-assistant/core/pull/88211 +[#88213]: https://github.com/home-assistant/core/pull/88213 +[#88214]: https://github.com/home-assistant/core/pull/88214 +[#88216]: https://github.com/home-assistant/core/pull/88216 +[#88219]: https://github.com/home-assistant/core/pull/88219 +[#88220]: https://github.com/home-assistant/core/pull/88220 +[#88225]: https://github.com/home-assistant/core/pull/88225 +[#88228]: https://github.com/home-assistant/core/pull/88228 +[#88230]: https://github.com/home-assistant/core/pull/88230 +[#88233]: https://github.com/home-assistant/core/pull/88233 +[#88234]: https://github.com/home-assistant/core/pull/88234 +[#88235]: https://github.com/home-assistant/core/pull/88235 +[#88236]: https://github.com/home-assistant/core/pull/88236 +[#88247]: https://github.com/home-assistant/core/pull/88247 +[#88248]: https://github.com/home-assistant/core/pull/88248 +[#88250]: https://github.com/home-assistant/core/pull/88250 +[#88251]: https://github.com/home-assistant/core/pull/88251 +[#88254]: https://github.com/home-assistant/core/pull/88254 +[#88255]: https://github.com/home-assistant/core/pull/88255 +[#88257]: https://github.com/home-assistant/core/pull/88257 +[#88258]: https://github.com/home-assistant/core/pull/88258 +[#88265]: https://github.com/home-assistant/core/pull/88265 +[#88267]: https://github.com/home-assistant/core/pull/88267 +[#88268]: https://github.com/home-assistant/core/pull/88268 +[#88269]: https://github.com/home-assistant/core/pull/88269 +[#88270]: https://github.com/home-assistant/core/pull/88270 +[#88271]: https://github.com/home-assistant/core/pull/88271 +[#88274]: https://github.com/home-assistant/core/pull/88274 +[#88275]: https://github.com/home-assistant/core/pull/88275 +[#88276]: https://github.com/home-assistant/core/pull/88276 +[#88279]: https://github.com/home-assistant/core/pull/88279 +[#88280]: https://github.com/home-assistant/core/pull/88280 +[#88281]: https://github.com/home-assistant/core/pull/88281 +[#88282]: https://github.com/home-assistant/core/pull/88282 +[#88284]: https://github.com/home-assistant/core/pull/88284 +[#88285]: https://github.com/home-assistant/core/pull/88285 +[#88286]: https://github.com/home-assistant/core/pull/88286 +[#88287]: https://github.com/home-assistant/core/pull/88287 +[#88288]: https://github.com/home-assistant/core/pull/88288 +[#88289]: https://github.com/home-assistant/core/pull/88289 +[#88290]: https://github.com/home-assistant/core/pull/88290 +[#88291]: https://github.com/home-assistant/core/pull/88291 +[#88292]: https://github.com/home-assistant/core/pull/88292 +[#88293]: https://github.com/home-assistant/core/pull/88293 +[#88294]: https://github.com/home-assistant/core/pull/88294 +[#88295]: https://github.com/home-assistant/core/pull/88295 +[#88296]: https://github.com/home-assistant/core/pull/88296 +[#88297]: https://github.com/home-assistant/core/pull/88297 +[#88298]: https://github.com/home-assistant/core/pull/88298 +[#88299]: https://github.com/home-assistant/core/pull/88299 +[#88300]: https://github.com/home-assistant/core/pull/88300 +[#88301]: https://github.com/home-assistant/core/pull/88301 +[#88302]: https://github.com/home-assistant/core/pull/88302 +[#88304]: https://github.com/home-assistant/core/pull/88304 +[#88307]: https://github.com/home-assistant/core/pull/88307 +[#88308]: https://github.com/home-assistant/core/pull/88308 +[#88309]: https://github.com/home-assistant/core/pull/88309 +[#88311]: https://github.com/home-assistant/core/pull/88311 +[#88313]: https://github.com/home-assistant/core/pull/88313 +[#88314]: https://github.com/home-assistant/core/pull/88314 +[#88315]: https://github.com/home-assistant/core/pull/88315 +[#88316]: https://github.com/home-assistant/core/pull/88316 +[#88319]: https://github.com/home-assistant/core/pull/88319 +[#88320]: https://github.com/home-assistant/core/pull/88320 +[#88323]: https://github.com/home-assistant/core/pull/88323 +[#88325]: https://github.com/home-assistant/core/pull/88325 +[#88326]: https://github.com/home-assistant/core/pull/88326 +[#88327]: https://github.com/home-assistant/core/pull/88327 +[#88330]: https://github.com/home-assistant/core/pull/88330 +[#88332]: https://github.com/home-assistant/core/pull/88332 +[#88333]: https://github.com/home-assistant/core/pull/88333 +[#88335]: https://github.com/home-assistant/core/pull/88335 +[#88340]: https://github.com/home-assistant/core/pull/88340 +[#88343]: https://github.com/home-assistant/core/pull/88343 +[#88348]: https://github.com/home-assistant/core/pull/88348 +[#88350]: https://github.com/home-assistant/core/pull/88350 +[#88351]: https://github.com/home-assistant/core/pull/88351 +[#88352]: https://github.com/home-assistant/core/pull/88352 +[#88355]: https://github.com/home-assistant/core/pull/88355 +[#88356]: https://github.com/home-assistant/core/pull/88356 +[#88357]: https://github.com/home-assistant/core/pull/88357 +[#88361]: https://github.com/home-assistant/core/pull/88361 +[#88363]: https://github.com/home-assistant/core/pull/88363 +[#88366]: https://github.com/home-assistant/core/pull/88366 +[#88369]: https://github.com/home-assistant/core/pull/88369 +[#88376]: https://github.com/home-assistant/core/pull/88376 +[#88377]: https://github.com/home-assistant/core/pull/88377 +[#88379]: https://github.com/home-assistant/core/pull/88379 +[#88382]: https://github.com/home-assistant/core/pull/88382 +[#88386]: https://github.com/home-assistant/core/pull/88386 +[#88387]: https://github.com/home-assistant/core/pull/88387 +[#88390]: https://github.com/home-assistant/core/pull/88390 +[#88393]: https://github.com/home-assistant/core/pull/88393 +[#88395]: https://github.com/home-assistant/core/pull/88395 +[#88396]: https://github.com/home-assistant/core/pull/88396 +[#88402]: https://github.com/home-assistant/core/pull/88402 +[#88405]: https://github.com/home-assistant/core/pull/88405 +[#88406]: https://github.com/home-assistant/core/pull/88406 +[#88408]: https://github.com/home-assistant/core/pull/88408 +[#88411]: https://github.com/home-assistant/core/pull/88411 +[#88414]: https://github.com/home-assistant/core/pull/88414 +[#88416]: https://github.com/home-assistant/core/pull/88416 +[#88420]: https://github.com/home-assistant/core/pull/88420 +[#88425]: https://github.com/home-assistant/core/pull/88425 +[#88430]: https://github.com/home-assistant/core/pull/88430 +[#88440]: https://github.com/home-assistant/core/pull/88440 +[#88443]: https://github.com/home-assistant/core/pull/88443 +[#88444]: https://github.com/home-assistant/core/pull/88444 +[#88449]: https://github.com/home-assistant/core/pull/88449 +[#88450]: https://github.com/home-assistant/core/pull/88450 +[#88451]: https://github.com/home-assistant/core/pull/88451 +[#88452]: https://github.com/home-assistant/core/pull/88452 +[#88453]: https://github.com/home-assistant/core/pull/88453 +[#88456]: https://github.com/home-assistant/core/pull/88456 +[#88458]: https://github.com/home-assistant/core/pull/88458 +[#88459]: https://github.com/home-assistant/core/pull/88459 +[#88460]: https://github.com/home-assistant/core/pull/88460 +[#88461]: https://github.com/home-assistant/core/pull/88461 +[#88462]: https://github.com/home-assistant/core/pull/88462 +[#88464]: https://github.com/home-assistant/core/pull/88464 +[#88466]: https://github.com/home-assistant/core/pull/88466 +[#88468]: https://github.com/home-assistant/core/pull/88468 +[#88469]: https://github.com/home-assistant/core/pull/88469 +[#88473]: https://github.com/home-assistant/core/pull/88473 +[#88476]: https://github.com/home-assistant/core/pull/88476 +[#88478]: https://github.com/home-assistant/core/pull/88478 +[#88480]: https://github.com/home-assistant/core/pull/88480 +[#88489]: https://github.com/home-assistant/core/pull/88489 +[#88491]: https://github.com/home-assistant/core/pull/88491 +[#88492]: https://github.com/home-assistant/core/pull/88492 +[#88493]: https://github.com/home-assistant/core/pull/88493 +[#88495]: https://github.com/home-assistant/core/pull/88495 +[#88496]: https://github.com/home-assistant/core/pull/88496 +[#88498]: https://github.com/home-assistant/core/pull/88498 +[#88499]: https://github.com/home-assistant/core/pull/88499 +[#88503]: https://github.com/home-assistant/core/pull/88503 +[#88508]: https://github.com/home-assistant/core/pull/88508 +[#88510]: https://github.com/home-assistant/core/pull/88510 +[#88511]: https://github.com/home-assistant/core/pull/88511 +[#88512]: https://github.com/home-assistant/core/pull/88512 +[#88513]: https://github.com/home-assistant/core/pull/88513 +[#88514]: https://github.com/home-assistant/core/pull/88514 +[#88515]: https://github.com/home-assistant/core/pull/88515 +[#88516]: https://github.com/home-assistant/core/pull/88516 +[#88518]: https://github.com/home-assistant/core/pull/88518 +[#88520]: https://github.com/home-assistant/core/pull/88520 +[#88525]: https://github.com/home-assistant/core/pull/88525 +[#88527]: https://github.com/home-assistant/core/pull/88527 +[#88529]: https://github.com/home-assistant/core/pull/88529 +[#88534]: https://github.com/home-assistant/core/pull/88534 +[#88537]: https://github.com/home-assistant/core/pull/88537 +[#88538]: https://github.com/home-assistant/core/pull/88538 +[#88541]: https://github.com/home-assistant/core/pull/88541 +[#88542]: https://github.com/home-assistant/core/pull/88542 +[#88543]: https://github.com/home-assistant/core/pull/88543 +[#88550]: https://github.com/home-assistant/core/pull/88550 +[#88551]: https://github.com/home-assistant/core/pull/88551 +[#88553]: https://github.com/home-assistant/core/pull/88553 +[#88555]: https://github.com/home-assistant/core/pull/88555 +[#88556]: https://github.com/home-assistant/core/pull/88556 +[#88561]: https://github.com/home-assistant/core/pull/88561 +[#88563]: https://github.com/home-assistant/core/pull/88563 +[#88565]: https://github.com/home-assistant/core/pull/88565 +[#88566]: https://github.com/home-assistant/core/pull/88566 +[#88568]: https://github.com/home-assistant/core/pull/88568 +[#88569]: https://github.com/home-assistant/core/pull/88569 +[#88570]: https://github.com/home-assistant/core/pull/88570 +[#88572]: https://github.com/home-assistant/core/pull/88572 +[#88573]: https://github.com/home-assistant/core/pull/88573 +[#88574]: https://github.com/home-assistant/core/pull/88574 +[#88584]: https://github.com/home-assistant/core/pull/88584 +[#88586]: https://github.com/home-assistant/core/pull/88586 +[#88587]: https://github.com/home-assistant/core/pull/88587 +[#88588]: https://github.com/home-assistant/core/pull/88588 +[#88590]: https://github.com/home-assistant/core/pull/88590 +[#88591]: https://github.com/home-assistant/core/pull/88591 +[#88592]: https://github.com/home-assistant/core/pull/88592 +[#88594]: https://github.com/home-assistant/core/pull/88594 +[#88596]: https://github.com/home-assistant/core/pull/88596 +[#88597]: https://github.com/home-assistant/core/pull/88597 +[#88601]: https://github.com/home-assistant/core/pull/88601 +[#88605]: https://github.com/home-assistant/core/pull/88605 +[#88607]: https://github.com/home-assistant/core/pull/88607 +[#88608]: https://github.com/home-assistant/core/pull/88608 +[#88609]: https://github.com/home-assistant/core/pull/88609 +[#88615]: https://github.com/home-assistant/core/pull/88615 +[#88617]: https://github.com/home-assistant/core/pull/88617 +[#88618]: https://github.com/home-assistant/core/pull/88618 +[#88621]: https://github.com/home-assistant/core/pull/88621 +[@ArturoGuerra]: https://github.com/ArturoGuerra +[@Cereal2nd]: https://github.com/Cereal2nd +[@Crisicus]: https://github.com/Crisicus +[@Danielhiversen]: https://github.com/Danielhiversen +[@Djelibeybi]: https://github.com/Djelibeybi +[@Ernst79]: https://github.com/Ernst79 +[@GrahamJB1]: https://github.com/GrahamJB1 +[@Jc2k]: https://github.com/Jc2k +[@JorgenEvens]: https://github.com/JorgenEvens +[@Kane610]: https://github.com/Kane610 +[@KapJI]: https://github.com/KapJI +[@Lash-L]: https://github.com/Lash-L +[@MarkGodwin]: https://github.com/MarkGodwin +[@MartinHjelmare]: https://github.com/MartinHjelmare +[@MichaelMure]: https://github.com/MichaelMure +[@Noltari]: https://github.com/Noltari +[@OnFreund]: https://github.com/OnFreund +[@PeteRager]: https://github.com/PeteRager +[@PoltoS]: https://github.com/PoltoS +[@Quentame]: https://github.com/Quentame +[@Shutgun]: https://github.com/Shutgun +[@StefanIacobLivisi]: https://github.com/StefanIacobLivisi +[@TheJulianJES]: https://github.com/TheJulianJES +[@Tho85]: https://github.com/Tho85 +[@akx]: https://github.com/akx +[@alanedwardes]: https://github.com/alanedwardes +[@albinmedoc]: https://github.com/albinmedoc +[@allenporter]: https://github.com/allenporter +[@asymworks]: https://github.com/asymworks +[@bachya]: https://github.com/bachya +[@balloob]: https://github.com/balloob +[@basbruss]: https://github.com/basbruss +[@bdr99]: https://github.com/bdr99 +[@bdraco]: https://github.com/bdraco +[@bendews]: https://github.com/bendews +[@bieniu]: https://github.com/bieniu +[@bramkragten]: https://github.com/bramkragten +[@camsaway]: https://github.com/camsaway +[@carlos-sarmiento]: https://github.com/carlos-sarmiento +[@cdce8p]: https://github.com/cdce8p +[@chrisx8]: https://github.com/chrisx8 +[@cmroche]: https://github.com/cmroche +[@ctalkington]: https://github.com/ctalkington +[@dcmeglio]: https://github.com/dcmeglio +[@dieselrabbit]: https://github.com/dieselrabbit +[@dmulcahey]: https://github.com/dmulcahey +[@dtrodrigues]: https://github.com/dtrodrigues +[@eavanvalkenburg]: https://github.com/eavanvalkenburg +[@eifinger]: https://github.com/eifinger +[@elupus]: https://github.com/elupus +[@emanuelst]: https://github.com/emanuelst +[@emontnemery]: https://github.com/emontnemery +[@epenet]: https://github.com/epenet +[@exxamalte]: https://github.com/exxamalte +[@farmio]: https://github.com/farmio +[@frenck]: https://github.com/frenck +[@gjohansson-ST]: https://github.com/gjohansson-ST +[@gwww]: https://github.com/gwww +[@janiversen]: https://github.com/janiversen +[@jbouwh]: https://github.com/jbouwh +[@jesserockz]: https://github.com/jesserockz +[@jjlawren]: https://github.com/jjlawren +[@joncar]: https://github.com/joncar +[@karwosts]: https://github.com/karwosts +[@kirill578]: https://github.com/kirill578 +[@klaasnicolaas]: https://github.com/klaasnicolaas +[@krahabb]: https://github.com/krahabb +[@kvanzuijlen]: https://github.com/kvanzuijlen +[@lawfulchaos]: https://github.com/lawfulchaos +[@luca-angemi]: https://github.com/luca-angemi +[@ludeeus]: https://github.com/ludeeus +[@majuss]: https://github.com/majuss +[@mampfes]: https://github.com/mampfes +[@marcelveldt]: https://github.com/marcelveldt +[@marcolivierarsenault]: https://github.com/marcolivierarsenault +[@matrixd2]: https://github.com/matrixd2 +[@mehuman]: https://github.com/mehuman +[@mheath]: https://github.com/mheath +[@mib1185]: https://github.com/mib1185 +[@mkmer]: https://github.com/mkmer +[@mletenay]: https://github.com/mletenay +[@modrisb]: https://github.com/modrisb +[@muppet3000]: https://github.com/muppet3000 +[@natekspencer]: https://github.com/natekspencer +[@nightscape]: https://github.com/nightscape +[@ollo69]: https://github.com/ollo69 +[@partofthething]: https://github.com/partofthething +[@piitaya]: https://github.com/piitaya +[@racsa1]: https://github.com/racsa1 +[@raman325]: https://github.com/raman325 +[@rappenze]: https://github.com/rappenze +[@rhpijnacker]: https://github.com/rhpijnacker +[@rikroe]: https://github.com/rikroe +[@rytilahti]: https://github.com/rytilahti +[@scop]: https://github.com/scop +[@shmuelzon]: https://github.com/shmuelzon +[@spatula75]: https://github.com/spatula75 +[@spycle]: https://github.com/spycle +[@starkillerOG]: https://github.com/starkillerOG +[@sw-carlos-cristobal]: https://github.com/sw-carlos-cristobal +[@synesthesiam]: https://github.com/synesthesiam +[@teharris1]: https://github.com/teharris1 +[@thecode]: https://github.com/thecode +[@tkdrob]: https://github.com/tkdrob +[@tronikos]: https://github.com/tronikos +[@tuct]: https://github.com/tuct +[@vedard]: https://github.com/vedard +[@wparker42]: https://github.com/wparker42 +[@ylemoigne]: https://github.com/ylemoigne +[@yuxincs]: https://github.com/yuxincs +[@zxdavb]: https://github.com/zxdavb +[abode docs]: /integrations/abode/ +[accuweather docs]: /integrations/accuweather/ +[aemet docs]: /integrations/aemet/ +[airly docs]: /integrations/airly/ +[airnow docs]: /integrations/airnow/ +[airq docs]: /integrations/airq/ +[alexa docs]: /integrations/alexa/ +[analytics docs]: /integrations/analytics/ +[androidtv docs]: /integrations/androidtv/ +[apcupsd docs]: /integrations/apcupsd/ +[apple_tv docs]: /integrations/apple_tv/ +[apprise docs]: /integrations/apprise/ +[aprs docs]: /integrations/aprs/ +[arcam_fmj docs]: /integrations/arcam_fmj/ +[asuswrt docs]: /integrations/asuswrt/ +[august docs]: /integrations/august/ +[automation docs]: /integrations/automation/ +[axis docs]: /integrations/axis/ +[azure_devops docs]: /integrations/azure_devops/ +[azure_event_hub docs]: /integrations/azure_event_hub/ +[azure_service_bus docs]: /integrations/azure_service_bus/ +[balboa docs]: /integrations/balboa/ +[blebox docs]: /integrations/blebox/ +[blueprint docs]: /integrations/blueprint/ +[bluetooth docs]: /integrations/bluetooth/ +[bluetooth_le_tracker docs]: /integrations/bluetooth_le_tracker/ +[bmw_connected_drive docs]: /integrations/bmw_connected_drive/ +[bosch_shc docs]: /integrations/bosch_shc/ +[broadlink docs]: /integrations/broadlink/ +[brother docs]: /integrations/brother/ +[bthome docs]: /integrations/bthome/ +[calendar docs]: /integrations/calendar/ +[cast docs]: /integrations/cast/ +[climate docs]: /integrations/climate/ +[cloud docs]: /integrations/cloud/ +[command_line docs]: /integrations/command_line/ +[config docs]: /integrations/config/ +[configurator docs]: /integrations/configurator/ +[conversation docs]: /integrations/conversation/ +[crownstone docs]: /integrations/crownstone/ +[daikin docs]: /integrations/daikin/ +[darksky docs]: /integrations/darksky/ +[datadog docs]: /integrations/datadog/ +[deconz docs]: /integrations/deconz/ +[deluge docs]: /integrations/deluge/ +[demo docs]: /integrations/demo/ +[denonavr docs]: /integrations/denonavr/ +[derivative docs]: /integrations/derivative/ +[device_automation docs]: /integrations/device_automation/ +[devolo_home_control docs]: /integrations/devolo_home_control/ +[devolo_home_network docs]: /integrations/devolo_home_network/ +[dlink docs]: /integrations/dlink/ +[doorbird docs]: /integrations/doorbird/ +[dormakaba_dkey docs]: /integrations/dormakaba_dkey/ +[duckdns docs]: /integrations/duckdns/ +[dynalite docs]: /integrations/dynalite/ +[easyenergy docs]: /integrations/easyenergy/ +[ecobee docs]: /integrations/ecobee/ +[edl21 docs]: /integrations/edl21/ +[elgato docs]: /integrations/elgato/ +[elkm1 docs]: /integrations/elkm1/ +[emulated_hue docs]: /integrations/emulated_hue/ +[energy docs]: /integrations/energy/ +[energyzero docs]: /integrations/energyzero/ +[enocean docs]: /integrations/enocean/ +[esphome docs]: /integrations/esphome/ +[evohome docs]: /integrations/evohome/ +[ffmpeg docs]: /integrations/ffmpeg/ +[fibaro docs]: /integrations/fibaro/ +[fido docs]: /integrations/fido/ +[filesize docs]: /integrations/filesize/ +[fitbit docs]: /integrations/fitbit/ +[flux_led docs]: /integrations/flux_led/ +[forked_daapd docs]: /integrations/forked_daapd/ +[freebox docs]: /integrations/freebox/ +[fritz docs]: /integrations/fritz/ +[fritzbox_callmonitor docs]: /integrations/fritzbox_callmonitor/ +[frontend docs]: /integrations/frontend/ +[fully_kiosk docs]: /integrations/fully_kiosk/ +[gdacs docs]: /integrations/gdacs/ +[generic_hygrostat docs]: /integrations/generic_hygrostat/ +[geniushub docs]: /integrations/geniushub/ +[geo_json_events docs]: /integrations/geo_json_events/ +[gios docs]: /integrations/gios/ +[gogogate2 docs]: /integrations/gogogate2/ +[goodwe docs]: /integrations/goodwe/ +[google docs]: /integrations/google/ +[google_assistant docs]: /integrations/google_assistant/ +[google_assistant_sdk docs]: /integrations/google_assistant_sdk/ +[google_travel_time docs]: /integrations/google_travel_time/ +[govee_ble docs]: /integrations/govee_ble/ +[graphite docs]: /integrations/graphite/ +[gree docs]: /integrations/gree/ +[group docs]: /integrations/group/ +[growatt_server docs]: /integrations/growatt_server/ +[harmony docs]: /integrations/harmony/ +[hassio docs]: /integrations/hassio/ +[heos docs]: /integrations/heos/ +[history_stats docs]: /integrations/history_stats/ +[homeassistant docs]: /integrations/homeassistant/ +[homeassistant_yellow docs]: /integrations/homeassistant_yellow/ +[homekit docs]: /integrations/homekit/ +[homekit_controller docs]: /integrations/homekit_controller/ +[homematicip_cloud docs]: /integrations/homematicip_cloud/ +[homewizard docs]: /integrations/homewizard/ +[honeywell docs]: /integrations/honeywell/ +[html5 docs]: /integrations/html5/ +[http docs]: /integrations/http/ +[huawei_lte docs]: /integrations/huawei_lte/ +[hue docs]: /integrations/hue/ +[ihc docs]: /integrations/ihc/ +[incomfort docs]: /integrations/incomfort/ +[influxdb docs]: /integrations/influxdb/ +[input_select docs]: /integrations/input_select/ +[insteon docs]: /integrations/insteon/ +[intent docs]: /integrations/intent/ +[izone docs]: /integrations/izone/ +[joaoapps_join docs]: /integrations/joaoapps_join/ +[kegtron docs]: /integrations/kegtron/ +[keymitt_ble docs]: /integrations/keymitt_ble/ +[knx docs]: /integrations/knx/ +[kodi docs]: /integrations/kodi/ +[kraken docs]: /integrations/kraken/ +[lacrosse_view docs]: /integrations/lacrosse_view/ +[lametric docs]: /integrations/lametric/ +[ld2410_ble docs]: /integrations/ld2410_ble/ +[led_ble docs]: /integrations/led_ble/ +[lifx docs]: /integrations/lifx/ +[light docs]: /integrations/light/ +[litejet docs]: /integrations/litejet/ +[litterrobot docs]: /integrations/litterrobot/ +[livisi docs]: /integrations/livisi/ +[lock docs]: /integrations/lock/ +[logbook docs]: /integrations/logbook/ +[lupusec docs]: /integrations/lupusec/ +[matrix docs]: /integrations/matrix/ +[matter docs]: /integrations/matter/ +[melcloud docs]: /integrations/melcloud/ +[met docs]: /integrations/met/ +[meteo_france docs]: /integrations/meteo_france/ +[mjpeg docs]: /integrations/mjpeg/ +[mobile_app docs]: /integrations/mobile_app/ +[modbus docs]: /integrations/modbus/ +[motion_blinds docs]: /integrations/motion_blinds/ +[motioneye docs]: /integrations/motioneye/ +[mqtt docs]: /integrations/mqtt/ +[mysensors docs]: /integrations/mysensors/ +[nam docs]: /integrations/nam/ +[nanoleaf docs]: /integrations/nanoleaf/ +[nest docs]: /integrations/nest/ +[netatmo docs]: /integrations/netatmo/ +[netgear docs]: /integrations/netgear/ +[netgear_lte docs]: /integrations/netgear_lte/ +[nexia docs]: /integrations/nexia/ +[nextdns docs]: /integrations/nextdns/ +[no_ip docs]: /integrations/no_ip/ +[notify docs]: /integrations/notify/ +[nuki docs]: /integrations/nuki/ +[number docs]: /integrations/number/ +[onewire docs]: /integrations/onewire/ +[onvif docs]: /integrations/onvif/ +[openai_conversation docs]: /integrations/openai_conversation/ +[opencv docs]: /integrations/opencv/ +[openhome docs]: /integrations/openhome/ +[otbr docs]: /integrations/otbr/ +[philips_js docs]: /integrations/philips_js/ +[ping docs]: /integrations/ping/ +[pjlink docs]: /integrations/pjlink/ +[plaato docs]: /integrations/plaato/ +[plex docs]: /integrations/plex/ +[plum_lightpad docs]: /integrations/plum_lightpad/ +[point docs]: /integrations/point/ +[profiler docs]: /integrations/profiler/ +[prusalink docs]: /integrations/prusalink/ +[ps4 docs]: /integrations/ps4/ +[pure_energie docs]: /integrations/pure_energie/ +[recorder docs]: /integrations/recorder/ +[remember_the_milk docs]: /integrations/remember_the_milk/ +[renault docs]: /integrations/renault/ +[reolink docs]: /integrations/reolink/ +[rest docs]: /integrations/rest/ +[rflink docs]: /integrations/rflink/ +[rfxtrx docs]: /integrations/rfxtrx/ +[ridwell docs]: /integrations/ridwell/ +[rmvtransport docs]: /integrations/rmvtransport/ +[roku docs]: /integrations/roku/ +[roon docs]: /integrations/roon/ +[rpi_camera docs]: /integrations/rpi_camera/ +[ruuvi_gateway docs]: /integrations/ruuvi_gateway/ +[rympro docs]: /integrations/rympro/ +[saj docs]: /integrations/saj/ +[samsungtv docs]: /integrations/samsungtv/ +[schedule docs]: /integrations/schedule/ +[screenlogic docs]: /integrations/screenlogic/ +[script docs]: /integrations/script/ +[search docs]: /integrations/search/ +[select docs]: /integrations/select/ +[sense docs]: /integrations/sense/ +[sensor docs]: /integrations/sensor/ +[shell_command docs]: /integrations/shell_command/ +[shelly docs]: /integrations/shelly/ +[slack docs]: /integrations/slack/ +[sleepiq docs]: /integrations/sleepiq/ +[smart_meter_texas docs]: /integrations/smart_meter_texas/ +[sonos docs]: /integrations/sonos/ +[sql docs]: /integrations/sql/ +[squeezebox docs]: /integrations/squeezebox/ +[ssdp docs]: /integrations/ssdp/ +[statistics docs]: /integrations/statistics/ +[stt docs]: /integrations/stt/ +[subaru docs]: /integrations/subaru/ +[switchbot docs]: /integrations/switchbot/ +[synology_dsm docs]: /integrations/synology_dsm/ +[syslog docs]: /integrations/syslog/ +[tasmota docs]: /integrations/tasmota/ +[tautulli docs]: /integrations/tautulli/ +[tcp docs]: /integrations/tcp/ +[telegram_bot docs]: /integrations/telegram_bot/ +[tellduslive docs]: /integrations/tellduslive/ +[template docs]: /integrations/template/ +[text docs]: /integrations/text/ +[thread docs]: /integrations/thread/ +[tibber docs]: /integrations/tibber/ +[timer docs]: /integrations/timer/ +[todoist docs]: /integrations/todoist/ +[tplink docs]: /integrations/tplink/ +[tplink_lte docs]: /integrations/tplink_lte/ +[tplink_omada docs]: /integrations/tplink_omada/ +[tradfri docs]: /integrations/tradfri/ +[trafikverket_weatherstation docs]: /integrations/trafikverket_weatherstation/ +[transmission docs]: /integrations/transmission/ +[twentemilieu docs]: /integrations/twentemilieu/ +[unifi docs]: /integrations/unifi/ +[unifiprotect docs]: /integrations/unifiprotect/ +[upb docs]: /integrations/upb/ +[update docs]: /integrations/update/ +[upnp docs]: /integrations/upnp/ +[velbus docs]: /integrations/velbus/ +[vera docs]: /integrations/vera/ +[vlc_telnet docs]: /integrations/vlc_telnet/ +[vulcan docs]: /integrations/vulcan/ +[websocket_api docs]: /integrations/websocket_api/ +[wemo docs]: /integrations/wemo/ +[whirlpool docs]: /integrations/whirlpool/ +[whois docs]: /integrations/whois/ +[wiffi docs]: /integrations/wiffi/ +[withings docs]: /integrations/withings/ +[wiz docs]: /integrations/wiz/ +[wled docs]: /integrations/wled/ +[xiaomi_ble docs]: /integrations/xiaomi_ble/ +[xiaomi_miio docs]: /integrations/xiaomi_miio/ +[yalexs_ble docs]: /integrations/yalexs_ble/ +[yeelight docs]: /integrations/yeelight/ +[yolink docs]: /integrations/yolink/ +[zeroconf docs]: /integrations/zeroconf/ +[zeversolar docs]: /integrations/zeversolar/ +[zha docs]: /integrations/zha/ +[zwave_js docs]: /integrations/zwave_js/ +[zwave_me docs]: /integrations/zwave_me/ diff --git a/source/images/blog/2023-03/ask-assist-for-states.png b/source/images/blog/2023-03/ask-assist-for-states.png new file mode 100644 index 00000000000..c1adb8b3e2b Binary files /dev/null and b/source/images/blog/2023-03/ask-assist-for-states.png differ diff --git a/source/images/blog/2023-03/entity-precision.png b/source/images/blog/2023-03/entity-precision.png new file mode 100644 index 00000000000..7591cbc7e2d Binary files /dev/null and b/source/images/blog/2023-03/entity-precision.png differ diff --git a/source/images/blog/2023-03/new-entity-dialog.png b/source/images/blog/2023-03/new-entity-dialog.png new file mode 100644 index 00000000000..68771901a7e Binary files /dev/null and b/source/images/blog/2023-03/new-entity-dialog.png differ diff --git a/source/images/blog/2023-03/restart-home-assistant.png b/source/images/blog/2023-03/restart-home-assistant.png new file mode 100644 index 00000000000..1e331e918b4 Binary files /dev/null and b/source/images/blog/2023-03/restart-home-assistant.png differ diff --git a/source/images/blog/2023-03/social.png b/source/images/blog/2023-03/social.png new file mode 100644 index 00000000000..6c180517da4 Binary files /dev/null and b/source/images/blog/2023-03/social.png differ