diff --git a/CODEOWNERS b/CODEOWNERS
index fa4fb686b0d..31366d722c8 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -197,6 +197,7 @@ source/_integrations/epson.markdown @pszafer
source/_integrations/epsonworkforce.markdown @ThaStealth
source/_integrations/eq3btsmart.markdown @rytilahti
source/_integrations/escea.markdown @lazdavila
+source/_integrations/esera_onewire.markdown @garbled1 @epenet
source/_integrations/esphome.markdown @OttoWinter @jesserockz
source/_integrations/eufylife_ble.markdown @bdr99
source/_integrations/evil_genius_labs.markdown @balloob
@@ -376,7 +377,7 @@ source/_integrations/light.markdown @home-assistant/core
source/_integrations/linux_battery.markdown @fabaff
source/_integrations/litejet.markdown @joncar
source/_integrations/litterrobot.markdown @natekspencer @tkdrob
-source/_integrations/livisi.markdown @StefanIacobLivisi
+source/_integrations/livisi.markdown @StefanIacobLivisi @planbnet
source/_integrations/local_calendar.markdown @allenporter
source/_integrations/local_ip.markdown @issacg
source/_integrations/lock.markdown @home-assistant/core
@@ -447,7 +448,7 @@ source/_integrations/network.markdown @home-assistant/core
source/_integrations/nexia.markdown @bdraco
source/_integrations/nexity.markdown @imicknl @vlebourl @tetienne @nyroDev
source/_integrations/nextbus.markdown @vividboarder
-source/_integrations/nextcloud.markdown @meichthys
+source/_integrations/nextcloud.markdown @mib1185
source/_integrations/nextdns.markdown @bieniu
source/_integrations/nfandroidtv.markdown @tkdrob
source/_integrations/nibe_heatpump.markdown @elupus
@@ -471,7 +472,7 @@ source/_integrations/nut.markdown @bdraco @ollo69
source/_integrations/nutrichef.markdown @bdraco
source/_integrations/nws.markdown @MatthewFlamm @kamiyo
source/_integrations/nzbget.markdown @chriscla
-source/_integrations/obihai.markdown @dshokouhi
+source/_integrations/obihai.markdown @dshokouhi @ejpenney
source/_integrations/octoprint.markdown @rfleming71
source/_integrations/ohmconnect.markdown @robbiet480
source/_integrations/ombi.markdown @larssont
@@ -531,6 +532,7 @@ source/_integrations/qbittorrent.markdown @geoffreylagaisse
source/_integrations/qingping.markdown @bdraco @skgsergio
source/_integrations/qld_bushfire.markdown @exxamalte
source/_integrations/qnap_qsw.markdown @Noltari
+source/_integrations/quadrafire.markdown @jeeftor
source/_integrations/quantum_gateway.markdown @cisasteelersfan
source/_integrations/qvr_pro.markdown @oblogic7
source/_integrations/qwikswitch.markdown @kellerza
@@ -599,7 +601,7 @@ source/_integrations/senz.markdown @milanmeu
source/_integrations/serial.markdown @fabaff
source/_integrations/seven_segments.markdown @fabaff
source/_integrations/sfr_box.markdown @epenet
-source/_integrations/sharkiq.markdown @JeffResc @funkybunch @AritroSaha10
+source/_integrations/sharkiq.markdown @JeffResc @funkybunch
source/_integrations/shell_command.markdown @home-assistant/core
source/_integrations/shelly.markdown @balloob @bieniu @thecode @chemelli74 @bdraco
source/_integrations/shodan.markdown @fabaff
@@ -630,6 +632,7 @@ source/_integrations/smarttub.markdown @mdz
source/_integrations/smarty.markdown @z0mbieprocess
source/_integrations/smhi.markdown @gjohansson-ST
source/_integrations/sms.markdown @ocalvo
+source/_integrations/snapcast.markdown @luar123
source/_integrations/snooz.markdown @AustinBrunkhorst
source/_integrations/solaredge.markdown @frenck
source/_integrations/solaredge_local.markdown @drobtravels @scheric
@@ -651,7 +654,7 @@ source/_integrations/squeezebox.markdown @rajlaud
source/_integrations/srp_energy.markdown @briglx
source/_integrations/starline.markdown @anonym-tsk
source/_integrations/starlink.markdown @boswelja
-source/_integrations/statistics.markdown @fabaff @ThomDietrich
+source/_integrations/statistics.markdown @ThomDietrich
source/_integrations/steam_online.markdown @tkdrob
source/_integrations/steamist.markdown @bdraco
source/_integrations/stiebel_eltron.markdown @fucm
@@ -695,7 +698,6 @@ source/_integrations/thermoplus.markdown @bdraco
source/_integrations/thermopro.markdown @bdraco
source/_integrations/thethingsnetwork.markdown @fabaff
source/_integrations/thread.markdown @home-assistant/core
-source/_integrations/threshold.markdown @fabaff
source/_integrations/tibber.markdown @danielhiversen
source/_integrations/tile.markdown @bachya
source/_integrations/tilt_ble.markdown @apt-itude
@@ -738,7 +740,8 @@ source/_integrations/vallox.markdown @andre-richter @slovdahl @viiru-
source/_integrations/velbus.markdown @Cereal2nd @brefra
source/_integrations/velux.markdown @Julius2342
source/_integrations/venstar.markdown @garbled1
-source/_integrations/verisure.markdown @frenck
+source/_integrations/verisure.markdown @frenck @niro1987
+source/_integrations/vermont_castings.markdown @jeeftor
source/_integrations/versasense.markdown @flamm3blemuff1n
source/_integrations/version.markdown @ludeeus
source/_integrations/vesync.markdown @markperdue @webdjoe @thegardenmonkey
@@ -747,6 +750,7 @@ source/_integrations/vilfo.markdown @ManneW
source/_integrations/vivotek.markdown @HarlemSquirrel
source/_integrations/vizio.markdown @raman325
source/_integrations/vlc_telnet.markdown @rodripf @MartinHjelmare
+source/_integrations/voice_assistant.markdown @balloob @synesthesiam
source/_integrations/volumio.markdown @OnFreund
source/_integrations/volvooncall.markdown @molobrakos
source/_integrations/vulcan.markdown @Antoni-Czaplicki
@@ -771,7 +775,7 @@ source/_integrations/withings.markdown @vangorra
source/_integrations/wiz.markdown @sbidy
source/_integrations/wled.markdown @frenck
source/_integrations/wolflink.markdown @adamkrol93
-source/_integrations/workday.markdown @fabaff
+source/_integrations/workday.markdown @fabaff @gjohansson-ST
source/_integrations/worldclock.markdown @fabaff
source/_integrations/ws66i.markdown @ssaenger
source/_integrations/xbox.markdown @hunterjm
diff --git a/source/_docs/configuration/templating.markdown b/source/_docs/configuration/templating.markdown
index b3705412d51..62759ebdff5 100644
--- a/source/_docs/configuration/templating.markdown
+++ b/source/_docs/configuration/templating.markdown
@@ -63,19 +63,19 @@ Jinja supports a set of language extensions that add new functionality to the la
To improve the experience of writing Jinja templates, we have enabled the following
extensions:
-* [Loop Controls](https://jinja.palletsprojects.com/en/3.0.x/extensions/#loop-controls) (`break` and `continue`)
+- [Loop Controls](https://jinja.palletsprojects.com/en/3.0.x/extensions/#loop-controls) (`break` and `continue`)
### Reusing Templates
-You can write reusable Jinja templates by adding them to a `custom_jinja` folder under your
+You can write reusable Jinja templates by adding them to a `custom_templates` folder under your
configuration directory. All template files must have the `.jinja` extension and be less than 5MiB.
Templates in this folder will be loaded at startup. To reload the templates without
-restarting Home Assistant, invoke the `homeassistant.reload_custom_jinja` service.
+restarting Home Assistant, invoke the `homeassistant.reload_custom_templates` service.
Once the templates are loaded, Jinja [includes](https://jinja.palletsprojects.com/en/3.0.x/templates/#include) and [imports](https://jinja.palletsprojects.com/en/3.0.x/templates/#import) will work
-using `config/custom_jinja` as the base directory.
+using `config/custom_templates` as the base directory.
-For example, you might define a macro in a template in `config/custom_jinja/formatter.jinja`:
+For example, you might define a macro in a template in `config/custom_templates/formatter.jinja`:
{% raw %}
diff --git a/source/_integrations/edl21.markdown b/source/_integrations/edl21.markdown
index 1198593a81a..8b3205861b5 100644
--- a/source/_integrations/edl21.markdown
+++ b/source/_integrations/edl21.markdown
@@ -8,7 +8,8 @@ ha_release: 0.107
ha_domain: edl21
ha_platforms:
- sensor
-ha_integration_type: integration
+ha_integration_type: hub
+ha_config_flow: true
---
The `edl21` integration lets you read German EDL21 smart meters using [SML](https://de.wikipedia.org/wiki/Smart_Message_Language) from Home Assistant.
diff --git a/source/_integrations/esera_onewire.markdown b/source/_integrations/esera_onewire.markdown
index 15b6386ff03..5ede478d2e5 100644
--- a/source/_integrations/esera_onewire.markdown
+++ b/source/_integrations/esera_onewire.markdown
@@ -1,6 +1,6 @@
---
title: ESERA 1-Wire
-description: Instructions on how to integrate ESERA 1-Wire sensors into Home Assistant.
+description: Connect and control your ESERA 1-Wire devices using the 1-Wire integration
ha_category:
- DIY
ha_domain: esera_onewire
diff --git a/source/_integrations/frontier_silicon.markdown b/source/_integrations/frontier_silicon.markdown
index dbc0c884a47..7df6014cf04 100644
--- a/source/_integrations/frontier_silicon.markdown
+++ b/source/_integrations/frontier_silicon.markdown
@@ -89,4 +89,4 @@ This renders the usage of [UNDOK] almost impossible for these older devices, as
[MD 87466]: https://www.conrad.com/p/medion-p83302-md-87466-internet-kitchen-radio-dab-fm-aux-internet-radio-dlna-compatible-white-1434428
[Radio 3sixty (2019)]: https://teufel.de/radio-3sixty-2019-105437000
[SIRD 14 C2 (archived website)]: https://web.archive.org/web/20191011141311/https://www.silvercrest-multiroom.de/produkte/stereo-internet-radio/
-[Roberts Stream 94i]: https://www.robertsradio.com/en-gb/stream-94i
\ No newline at end of file
+[Roberts Stream 94i]: https://www.robertsradio.com/en-gb/stream-94i
diff --git a/source/_integrations/homeassistant.markdown b/source/_integrations/homeassistant.markdown
index 58085970eec..74175fa4c64 100644
--- a/source/_integrations/homeassistant.markdown
+++ b/source/_integrations/homeassistant.markdown
@@ -29,14 +29,14 @@ Reload all YAML configuration that can be reloaded without restarting Home Assis
It calls the `reload` service on all domains that have it available. Additionally,
it reloads the core configuration (equivalent to calling
-`homeassistant.reload_core_config`), themes (`frontend.reload_themes`), and custom Jinja (`homeassistant.reload_custom_jinja`).
+`homeassistant.reload_core_config`), themes (`frontend.reload_themes`), and custom Jinja (`homeassistant.reload_custom_templates`).
Prior to reloading, a basic configuration check is performed. If that fails, the reload
will not be performed and will raise an error.
-### Service `homeassistant.reload_custom_jinja`
+### Service `homeassistant.reload_custom_templates`
-Reload all Jinja templates in the `config/custom_jinja` directory. Changes to these templates
+Reload all Jinja templates in the `config/custom_templates` directory. Changes to these templates
will take effect the next time an importing template is rendered.
### Service `homeassistant.reload_config_entry`
diff --git a/source/_integrations/imap.markdown b/source/_integrations/imap.markdown
index 7a769bb4daa..bab39c40ff0 100644
--- a/source/_integrations/imap.markdown
+++ b/source/_integrations/imap.markdown
@@ -180,4 +180,4 @@ template:
{% endraw %}
-By making small changes to the regular expressions defined above, a similar structure can parse other types of data out of the body text of other emails.
\ No newline at end of file
+By making small changes to the regular expressions defined above, a similar structure can parse other types of data out of the body text of other emails.
diff --git a/source/_integrations/litejet.markdown b/source/_integrations/litejet.markdown
index 14aa49a501e..616093d57f4 100644
--- a/source/_integrations/litejet.markdown
+++ b/source/_integrations/litejet.markdown
@@ -16,7 +16,8 @@ ha_platforms:
- switch
ha_codeowners:
- '@joncar'
-ha_integration_type: integration
+ha_integration_type: hub
+ha_quality_scale: platinum
---
LiteJet is a centralized lighting system that predates most home automation technology. All lights and wall switches are wired to a central panel. This central panel has a serial port interface that allows a computer to control the system via LiteJet's third party protocol. Home Assistant integrates the LiteJet 3rd party protocol and allows you to get the status and control the connected lights. This integration also supports the Centralite Elegance and Centralite Jetstream.
diff --git a/source/_integrations/livisi.markdown b/source/_integrations/livisi.markdown
index 39325440605..aab54aef6a9 100644
--- a/source/_integrations/livisi.markdown
+++ b/source/_integrations/livisi.markdown
@@ -10,6 +10,7 @@ ha_release: 2022.12
ha_config_flow: true
ha_codeowners:
- '@StefanIacobLivisi'
+ - '@planbnet'
ha_domain: livisi
ha_platforms:
- binary_sensor
diff --git a/source/_integrations/local_calendar.markdown b/source/_integrations/local_calendar.markdown
index d222b0f6e63..265abf7d241 100644
--- a/source/_integrations/local_calendar.markdown
+++ b/source/_integrations/local_calendar.markdown
@@ -9,6 +9,7 @@ ha_config_flow: true
ha_domain: local_calendar
ha_platforms:
- calendar
+ - diagnostics
ha_codeowners:
- '@allenporter'
ha_integration_type: integration
diff --git a/source/_integrations/matter.markdown b/source/_integrations/matter.markdown
index 62a3a4a7b45..df427facef1 100644
--- a/source/_integrations/matter.markdown
+++ b/source/_integrations/matter.markdown
@@ -4,9 +4,9 @@ description: Instructions on how to integrate Matter with Home Assistant.
ha_category:
- Binary Sensor
- Light
+ - Lock
- Sensor
- Switch
- - Lock
ha_release: '2022.12'
ha_iot_class: Local Push
ha_config_flow: true
@@ -17,9 +17,9 @@ ha_platforms:
- binary_sensor
- diagnostics
- light
+ - lock
- sensor
- switch
- - lock
ha_integration_type: integration
---
diff --git a/source/_integrations/mysensors.markdown b/source/_integrations/mysensors.markdown
index b5e98a66957..5a0c6f5e381 100644
--- a/source/_integrations/mysensors.markdown
+++ b/source/_integrations/mysensors.markdown
@@ -15,7 +15,6 @@ ha_platforms:
- cover
- device_tracker
- light
- - notify
- remote
- sensor
- switch
diff --git a/source/_integrations/nextcloud.markdown b/source/_integrations/nextcloud.markdown
index ea4aaf85cfb..9589b82a639 100644
--- a/source/_integrations/nextcloud.markdown
+++ b/source/_integrations/nextcloud.markdown
@@ -9,7 +9,7 @@ ha_release: 0.108
ha_domain: nextcloud
ha_config_flow: true
ha_codeowners:
- - '@meichthys'
+ - '@mib1185'
ha_platforms:
- binary_sensor
- sensor
diff --git a/source/_integrations/nuki.markdown b/source/_integrations/nuki.markdown
index 8ea85db0c10..e9accbf5268 100644
--- a/source/_integrations/nuki.markdown
+++ b/source/_integrations/nuki.markdown
@@ -4,7 +4,7 @@ description: Instructions on how to integrate a Nuki Smart Lock devices.
ha_category:
- Lock
ha_release: 0.38
-ha_iot_class: Local Push
+ha_iot_class: Local Polling
ha_codeowners:
- '@pschmitt'
- '@pvizeli'
diff --git a/source/_integrations/obihai.markdown b/source/_integrations/obihai.markdown
index 64eae59afa5..a7bd5328d3e 100644
--- a/source/_integrations/obihai.markdown
+++ b/source/_integrations/obihai.markdown
@@ -11,6 +11,7 @@ ha_codeowners:
- '@ejpenney'
ha_domain: obihai
ha_platforms:
+ - button
- sensor
ha_integration_type: integration
---
diff --git a/source/_integrations/prosegur.markdown b/source/_integrations/prosegur.markdown
index 9575f3dbdc3..850c06e4930 100644
--- a/source/_integrations/prosegur.markdown
+++ b/source/_integrations/prosegur.markdown
@@ -12,6 +12,8 @@ ha_domain: prosegur
ha_config_flow: true
ha_platforms:
- alarm_control_panel
+ - camera
+ - diagnostics
ha_integration_type: integration
---
@@ -30,4 +32,3 @@ There is currently support for the following device types within Home Assistant:
### Service `camera.request_image`
This service will have Prosegur cloud service "Request image" from your local camera. This service should only be called seldom, as Prosegur tends to throttle this service for long periods of time, resulting in errors for both this integration and your Prosegur mobile application.
-
diff --git a/source/_integrations/qbittorrent.markdown b/source/_integrations/qbittorrent.markdown
index 2b1ba37ec96..ee99df8adc5 100644
--- a/source/_integrations/qbittorrent.markdown
+++ b/source/_integrations/qbittorrent.markdown
@@ -10,7 +10,7 @@ ha_codeowners:
- '@geoffreylagaisse'
ha_platforms:
- sensor
-ha_integration_type: integration
+ha_integration_type: service
---
The `qbittorrent` platform allows you to monitor your downloads with [qBittorrent](https://www.qbittorrent.org/) from within Home Assistant and setup automations based on the information.
diff --git a/source/_integrations/quadrafire.markdown b/source/_integrations/quadrafire.markdown
index 568767d6bdb..34629ce95c1 100644
--- a/source/_integrations/quadrafire.markdown
+++ b/source/_integrations/quadrafire.markdown
@@ -1,6 +1,6 @@
---
-title: "Quadra-Fire"
-description: Connect and control your Monessen fireplace using the IntelliFire integration
+title: Quadra-Fire
+description: Connect and control your Quadra-Fire devices using the IntelliFire integration
ha_category:
- Binary Sensor
- Climate
@@ -13,9 +13,10 @@ ha_domain: quadrafire
ha_integration_type: virtual
ha_supporting_domain: intellifire
ha_supporting_integration: IntelliFire
-ha_release: 2022.3
+ha_release: 2022.2
ha_codeowners:
- '@jeeftor'
+ha_config_flow: true
ha_platforms:
- binary_sensor
- climate
@@ -25,6 +26,7 @@ ha_platforms:
- sensor
- switch
ha_iot_class: Local Polling
+ha_dhcp: true
---
{% include integrations/supported_brand.md %}
diff --git a/source/_integrations/reolink.markdown b/source/_integrations/reolink.markdown
index a19e87a9608..c4bfd83f56e 100644
--- a/source/_integrations/reolink.markdown
+++ b/source/_integrations/reolink.markdown
@@ -12,8 +12,13 @@ ha_codeowners:
ha_config_flow: true
ha_platforms:
- binary_sensor
+ - button
- camera
+ - light
- number
+ - select
+ - siren
+ - switch
- update
ha_integration_type: integration
ha_dhcp: true
diff --git a/source/_integrations/snapcast.markdown b/source/_integrations/snapcast.markdown
index c26dc0526dd..fe1f9a49d1f 100644
--- a/source/_integrations/snapcast.markdown
+++ b/source/_integrations/snapcast.markdown
@@ -9,6 +9,8 @@ ha_domain: snapcast
ha_platforms:
- media_player
ha_integration_type: integration
+ha_codeowners:
+ - '@luar123'
---
The `snapcast` platform allows you to control [Snapcast](https://github.com/badaix/snapcast) from Home Assistant.
diff --git a/source/_integrations/solaredge.markdown b/source/_integrations/solaredge.markdown
index 3cdb077aba5..6818f8548a0 100644
--- a/source/_integrations/solaredge.markdown
+++ b/source/_integrations/solaredge.markdown
@@ -25,4 +25,3 @@ The SolarEdge Monitoring API has a daily rate limit of 300 requests. In order to
{% include integrations/config_flow.md %}
-
diff --git a/source/_integrations/starlink.markdown b/source/_integrations/starlink.markdown
index ba26ea55308..cc27a0d9570 100644
--- a/source/_integrations/starlink.markdown
+++ b/source/_integrations/starlink.markdown
@@ -16,6 +16,7 @@ ha_domain: starlink
ha_platforms:
- binary_sensor
- button
+ - diagnostics
- sensor
- switch
ha_integration_type: integration
diff --git a/source/_integrations/sun.markdown b/source/_integrations/sun.markdown
index 79d927ae29a..1029f8e1d83 100644
--- a/source/_integrations/sun.markdown
+++ b/source/_integrations/sun.markdown
@@ -11,6 +11,8 @@ ha_iot_class: Calculated
ha_domain: sun
ha_config_flow: true
ha_integration_type: integration
+ha_platforms:
+ - sensor
---
The sun integration will use the location as
diff --git a/source/_integrations/threshold.markdown b/source/_integrations/threshold.markdown
index b6f18c12efb..997fb974043 100644
--- a/source/_integrations/threshold.markdown
+++ b/source/_integrations/threshold.markdown
@@ -8,8 +8,6 @@ ha_category:
ha_iot_class: Local Polling
ha_release: 0.34
ha_quality_scale: internal
-ha_codeowners:
- - '@fabaff'
ha_domain: threshold
ha_config_flow: true
ha_platforms:
diff --git a/source/_integrations/tplink_omada.markdown b/source/_integrations/tplink_omada.markdown
index 73d5ddb0db9..e4970b47859 100644
--- a/source/_integrations/tplink_omada.markdown
+++ b/source/_integrations/tplink_omada.markdown
@@ -3,6 +3,7 @@ title: TP-Link Omada
description: Instructions on integrating TP-Link Omada SDN networking devices to Home Assistant.
ha_category:
- Hub
+ - Update
ha_release: 2023.3
ha_iot_class: Local Polling
ha_config_flow: true
@@ -11,6 +12,7 @@ ha_codeowners:
ha_domain: tplink_omada
ha_platforms:
- switch
+ - update
ha_integration_type: hub
---
diff --git a/source/_integrations/verisure.markdown b/source/_integrations/verisure.markdown
index d3fa2ed9664..020021a5a2b 100644
--- a/source/_integrations/verisure.markdown
+++ b/source/_integrations/verisure.markdown
@@ -14,6 +14,7 @@ ha_iot_class: Cloud Polling
ha_domain: verisure
ha_codeowners:
- '@frenck'
+ - '@niro1987'
ha_platforms:
- alarm_control_panel
- binary_sensor
diff --git a/source/_integrations/vermont_castings.markdown b/source/_integrations/vermont_castings.markdown
index 4b92e9d6471..1379e291f13 100644
--- a/source/_integrations/vermont_castings.markdown
+++ b/source/_integrations/vermont_castings.markdown
@@ -1,6 +1,6 @@
---
-title: "Vermont Castings"
-description: Connect and control your Vermont Casings fireplace using the IntelliFire integration
+title: Vermont Castings
+description: Connect and control your Vermont Castings devices using the IntelliFire integration
ha_category:
- Binary Sensor
- Climate
@@ -13,9 +13,10 @@ ha_domain: vermont_castings
ha_integration_type: virtual
ha_supporting_domain: intellifire
ha_supporting_integration: IntelliFire
-ha_release: 2022.3
+ha_release: 2022.2
ha_codeowners:
- '@jeeftor'
+ha_config_flow: true
ha_platforms:
- binary_sensor
- climate
@@ -25,6 +26,7 @@ ha_platforms:
- sensor
- switch
ha_iot_class: Local Polling
+ha_dhcp: true
---
{% include integrations/supported_brand.md %}
diff --git a/source/_integrations/vesync.markdown b/source/_integrations/vesync.markdown
index 2df61cc8bf3..d4ece32357e 100644
--- a/source/_integrations/vesync.markdown
+++ b/source/_integrations/vesync.markdown
@@ -14,6 +14,7 @@ ha_codeowners:
- '@thegardenmonkey'
ha_domain: vesync
ha_platforms:
+ - diagnostics
- fan
- light
- sensor
diff --git a/source/_integrations/voice_assistant.markdown b/source/_integrations/voice_assistant.markdown
index 9e895a982f6..3c4e803adcc 100644
--- a/source/_integrations/voice_assistant.markdown
+++ b/source/_integrations/voice_assistant.markdown
@@ -5,12 +5,12 @@ ha_category:
- Voice
ha_iot_class: Local Push
ha_release: '2023.4'
-ha_config_flow: false
ha_codeowners:
- '@balloob'
- '@synesthesiam'
ha_domain: voice_assistant
ha_integration_type: integration
+ha_quality_scale: internal
---
The Voice Assistant integration contains logic for running *pipelines*, which perform the common steps of a voice assistant like [Assist](/docs/assist/).
diff --git a/source/_integrations/workday.markdown b/source/_integrations/workday.markdown
index 62912fcad03..f8f1a12b3ed 100644
--- a/source/_integrations/workday.markdown
+++ b/source/_integrations/workday.markdown
@@ -9,6 +9,7 @@ ha_release: 0.41
ha_quality_scale: internal
ha_codeowners:
- '@fabaff'
+ - '@gjohansson-ST'
ha_domain: workday
ha_platforms:
- binary_sensor
diff --git a/source/_posts/2023-04-05-release-20234.markdown b/source/_posts/2023-04-05-release-20234.markdown
new file mode 100644
index 00000000000..082a32fe42a
--- /dev/null
+++ b/source/_posts/2023-04-05-release-20234.markdown
@@ -0,0 +1,1071 @@
+---
+layout: post
+title: "2023.4: Beta release notes"
+description: "Beta release notes for Home Assistant Core 2023.4."
+date: 2023-03-29 00:00:00
+date_formatted: "April 5, 2023"
+author: Franck Nijhof
+author_twitter: frenck
+comments: true
+categories:
+ - Release-Notes
+ - Core
+og_image: /images/blog/2023-04/social.png
+---
+
+
+
+
+
+These are the beta release notes for Home Assistant Core 2023.4 (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/UI/dashboards:
+
+- 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.4! 🎉
+
+Thanks for helping out testing the beta! ❤️
+
+Enjoy the (beta) release!
+
+../Frenck
+
+
+
+- [New dialogs for alarms, covers and fans](#new-dialogs-for-alarms-covers-and-fans)
+ - [Alarm control panel](#alarm-control-panel)
+ - [Covers](#covers)
+ - [Fans](#fans)
+- [New features for the Tile card](#new-features-for-the-tile-card)
+- [Macros for your templates](#macros-for-your-templates)
+- [Even more templating!](#even-more-templating)
+- [Database](#database)
+- [New selector capabilities](#new-selector-capabilities)
+- [More translations!](#more-translations)
+- [Other noteworthy changes](#other-noteworthy-changes)
+- [New Integrations](#new-integrations)
+- [Need help? Join the community!](#need-help-join-the-community)
+- [Breaking Changes](#breaking-changes)
+- [Farewell to the following](#farewell-to-the-following)
+- [All changes](#all-changes)
+
+Don't forget to [join our release party live stream on YouTube](https://www.youtube.com/watch?v=IGnCGDaXR0M)
+5 April 2023, at 12:00 PDT / 21:00 CEST!
+
+
+
+## New dialogs for alarms, covers, and fans
+
+{% details "TODO" %}
+
+- Improve/extend story
+- Proof read/spelling/grammar
+- Replace screenshots/clips
+
+* Add more info alarm control panel (#15893) @piitaya
+ https://github.com/home-assistant/frontend/pull/15893
+* Add cover new more info (#15694) @piitaya
+ https://github.com/home-assistant/frontend/pull/15694
+* Add fan new more info (#15843) @piitaya
+ https://github.com/home-assistant/frontend/pull/15843
+
+{% enddetails %}
+
+[The previous release](/blog/2023/03/01/release-20233/) brought in new entity
+dialogs for lights, switches and sirens; and is seems like you really liked it!
+
+So, this release [@piitaya] kept on trucking, implementing the designs
+by [@matthiasdebaat], bringing in new entity dialogs for alarm control panels,
+covers, and fans!
+
+### Alarm control panel
+
+Temporary recording by [@piitaya] from the pull request.
+
+
+
+### Covers
+
+Covers have many variants. Here are a couple.
+
+
+
+Note: This is a temporary placeholder screenshot. Needs replacement.
+
+
+
+
+Note: This is a temporary placeholder screenshot. Needs replacement.
+
+
+
+
+Note: This is a temporary placeholder screenshot. Needs replacement.
+
+
+### Fans
+
+
+
+Note: This is a temporary placeholder screenshot. Needs replacement.
+
+
+
+
+Note: This is a temporary placeholder screenshot. Needs replacement.
+
+
+[@matthiasdebaat]: https://github.com/matthiasdebaat
+[@piitaya]: https://github.com/piitaya
+
+## New features for the Tile card
+
+{% details "TODO" %}
+
+- Proof read/spelling/grammar
+- Replace screenshots/cips
+- Improve/extend story
+
+* Alarm mode tile feature (#15967) @piitaya
+ https://github.com/home-assistant/frontend/pull/15967
+* Fan speed tile feature (#15958) @piitaya
+ https://github.com/home-assistant/frontend/pull/15958
+
+{% enddetails %}
+
+The [Tile card][tile] got two new features for you to use: Fan speed & Alarm mode.
+
+Both look and feel similar to the new entity dialogs from above, making the look
+and feel, nice and consistent. Take a look, aren't they beautiful?
+
+
+
+Note: This is a temporary placeholder screenshot. Needs replacement.
+
+
+The fan speed feature, will show buttons if there are 4 speeds or less,
+in all other cases, it will use the slider.
+
+The alarm mode feature, allows for quickly setting your alarm in a different
+state. The feature has options for you to decide which modes are shown as
+buttons.
+
+
+
+Note: This is a temporary placeholder screenshot. Needs replacement.
+
+
+
+
+[tile]: https://www.home-assistant.io/dashboards/tile/
+
+## Macros for your templates
+
+{% details "TODO" %}
+
+- Improve/extend story
+- Proof read/spelling/grammar
+- Replace macro with something more useful?
+- Link to docs
+
+{% enddetails %}
+
+If you are into writing templates, you will be very familiar with the templating
+language Home Assistant uses: Jinja. It allows you to do amazing powerful things
+in your templates. However, if you have lots of templates, you often end
+up repeating similar logic everywhere!
+
+[@depoll] to the rescue! He found a way to add the ability to centrally define
+your Jinja macros and import and use them anywhere in Home Assistant! 🤯
+
+To support this, Home Assistant now has a new `custom_templates` folder, where
+you can store your macros. For example, assume this file
+`/config/custom_templates/tools.jinja`:
+
+{% raw %}
+
+```jinja
+{% macro is_on(entity_id) %}
+Is the {{ state_attr(entity_id, 'friendly_name') }} on?
+{{ (states(entity_id) == 'on') | iif('Yes', 'No') }}!
+{% endmacro %}
+```
+
+{% endraw %}
+
+This macro `is_on` will ask and answer a question based on a given entity ID.
+You can now import and use this macro anywhere in Home Assistant. For example:
+
+{% raw %}
+
+```jinja
+{% from 'tools.jinja' import is_on %}
+{{ is_on('light.kitch') }}
+```
+
+{% endraw %}
+
+Which will output:
+
+```text
+Is the kitchen light on?
+Yes!
+```
+
+An amazing contribution, thank you [@depoll]!
+
+[@depoll]: https://github.com/depoll
+
+## Even more templating!
+
+{% details "TODO" %}
+
+- Improve/extend story
+- Proof read/spelling/grammar
+- Improve/better examples?
+- Link to docs
+
+- Enable jinja loop controls (break/continue) ([@depoll] - [#88625]) (noteworthy)
+- Add is_hidden_entity test for Jinja templates ([@depoll] - [#89011]) (noteworthy)
+- Add minutely updates to relative_time and today_at template functions ([@Petro31] - [#86815]) (breaking-change) (noteworthy)
+- Add list areas function to template ([@rokam] - [#88441]) (noteworthy)
+- Add has_value function/test to Jinja2 template ([@ehendrix23] - [#79550])
+
+{% enddetails %}
+
+As if the reusability of your Jinja macros wasn't good enough already, there
+is much more templating goodness in this release!
+
+**Adjusted behavior of `relative_time` and `today_at`**
+
+[@Petro31] adjust the behavior for template entities using the `relative_time`
+and `today_at` template function, to now update their state once a minute. Nice!
+
+**New `is_hidden_entity` function**
+
+The brand new `is_hidden_entity` function was added by [@depoll], which can tell
+if a given entity has been marked "hidden" or not. This function also works
+as a test. Cool!
+
+This example returns a list of all entities in the kitchen area,
+that are not hidden.
+
+{% raw %}
+
+```jinja
+{{ area_entities('kitchen') | reject('is_hidden_entity') }}
+```
+
+{% endraw %}
+
+**New `areas` function**
+
+Talking about areas, [@rokam] added an `areas` function, which returns a list
+of all areas you have!
+
+**Added `break` and `continue` for for loops**
+
+[@depoll] added support for `break` and `continue` in for loops, which allows
+short-circuiting those loops, allowing you to make them more efficient.
+
+{% raw %}
+
+```jinja
+{%- for v in range(10) %}
+ {%- if v == 1 -%}
+ {%- continue -%}
+ {%- elif v == 3 -%}
+ {%- break -%}
+ {%- endif -%}
+ {{ v }}
+{%- endfor -%}
+```
+
+{% endraw %}
+
+**New `has_value` function**
+
+Lastly, [@ehendrix23] added a requested template function from the Month of
+"What the Heck?!": `has_value`. The `has_value` function can also be used as
+test, and is able to filter out entities that are currently in an `unavailable`
+or `unknown` state.
+
+{% raw %}
+
+```jinja
+{% if has_value('sensor.train_departure_time') %}
+ {{ ... }}
+```
+
+{% endraw %}
+
+Thanks, [@depoll], [@ehendrix23], [@petro31], and [@rokam] for these amazing
+additions! ❤️
+
+[@depoll]: https://github.com/depoll
+[@ehendrix23]: https://github.com/ehendrix23
+[@petro31]: https://github.com/Petro31
+[@rokam]: https://github.com/rokam
+
+## Database
+
+{% details "TODO" %}
+
+- Add an actual story to it... ask bdraco? :D
+- Proof read/spelling/grammar
+- Improve/better examples?
+- Link to docs
+
+- Drop duplicated indices from recorder database schema ([@bdraco] - [#89613]) ([recorder docs])
+- Reduce size of load query to prime event_types and states_meta at startup ([@bdraco] - [#89677]) ([recorder docs])
+- Add keep_days to recorder.purge_entities ([@bdraco] - [#89726]) ([recorder docs])
+- Execute sql queries in the database executor when using the recorder database ([@bdraco] - [#89673]) ([sql docs])
+- Migrate EventData management to a table manager ([@bdraco] - [#89716]) ([recorder docs])
+- Fix cpu thrashing during purge after all legacy events were removed ([@bdraco] - [#89923]) ([recorder docs])
+- Fix generating statistics for time periods smaller than we can measure ([@bdraco] - [#90069]) ([sensor docs])
+- Remove legacy event lookups from logbook ([@bdraco] - [#89945]) ([logbook docs]) (breaking-change)
+- Rename recorder run_history to table_managers.recorder_runs_manager ([@bdraco] - [#90070]) ([recorder docs])
+- Subclass aiohttp requests to use json helper ([@bdraco] - [#90214]) ([http docs])
+- Use an event filter for event triggers ([@bdraco] - [#89339]) ([homeassistant docs])
+- Add schema auto repairs for states tables ([@bdraco] - [#90083]) ([recorder docs])
+- Add auto repairs for events schema ([@bdraco] - [#90136]) ([recorder docs])
+- Remove unneeded lambda_stmt in place add in statistics ([@bdraco] - [#89943]) ([recorder docs])
+- Set unique on StatesMeta and EventTypes database tables ([@bdraco] - [#89971]) ([recorder docs])
+- Avoid joining states_meta for statistics queries ([@bdraco] - [#89941]) ([recorder docs]) ([logbook docs])
+- Migrate StateAttributes to use a table manager ([@bdraco] - [#89760]) ([recorder docs])
+- Migrate States to use a table manager ([@bdraco] - [#89769]) ([recorder docs])
+- Retain history when renaming an entity_id ([@bdraco] - [#89963]) ([recorder docs])
+- Fix statistics schema auto repair when there is bad data ([@bdraco] - [#89903]) ([recorder docs])
+- Fix statistics schema µs precision auto repair being ineffective ([@bdraco] - [#89902]) ([recorder docs])
+- Add index to event_type and entity_id ([@bdraco] - [#89676]) ([recorder docs])
+- Improve event filters to reject earlier ([@bdraco] - [#89337])
+- Reduce overhead to store context ids in the database ([@bdraco] - [#88942]) ([recorder docs]) ([logbook docs]) (breaking-change)
+- Deduplicate event_types in the events table ([@bdraco] - [#89465]) ([recorder docs]) ([logbook docs]) (breaking-change)
+- Move legacy database queries and models to prepare for schema v38 ([@bdraco] - [#89532]) ([recorder docs])
+- Deduplicate entity_id in the states table ([@bdraco] - [#89557]) ([recorder docs]) ([history docs]) ([logbook docs])
+
+{% enddetails %}
+
+Some takeaways:
+
+- Faster 🚀
+- Smaller (deduplication), less disk usage.
+- Reduced disk IO (SD-card lifetime improvements)
+- Reduced CPU-usage
+- Quicker startup
+- Quicker response times everywhere
+- Retains history when renaming entities
+
+## New selector capabilities
+
+{% details "TODO" %}
+
+- Keep or move to other noteworthy?
+- Proof read/spelling/grammar
+- Improve/better examples?
+- Docs missing?
+
+- Add filter options to entity and device selectors ([@piitaya] - [#87536]) (noteworthy)
+- Add support for constant selector ([@emontnemery] - [#89573]) (noteworthy)
+
+{% enddetails %}
+
+A new selector for use in your Blueprints has been added by [@emontnemery]
+and [@piitaya]: The constant selector.
+
+The constant select provides an optional input, that provides a fixed value
+(the constant) or doesn't provide anything at all.
+
+
+
+```yaml
+white:
+ name: White
+ description: Set the light to white mode
+ advanced: true
+ selector:
+ constant:
+ value: true
+ label: Enabled
+```
+
+Also improved this release, are the device and entity filters on the Area,
+Entity, Device, and Target selectors. Previously, you could filter with a
+single set of conditions, now you can pass in a list of filters.
+
+If you are building Blueprints, this can be really helpful, if a user should
+be able to select, for example, one of multiple different devices.
+
+An example, this selector allows you to select the batter sensor of
+either an Philips Hue RWL020 (US) or RWL021 (EU) remote in your Blueprint.
+
+```yaml
+device:
+ filter:
+ - integration: deconz
+ manufacturer: Philips
+ model: RWL020
+ - integration: deconz
+ manufacturer: Philips
+ model: RWL021
+ entity:
+ - domain: sensor
+ device_class: battery
+```
+
+## More translations!
+
+{% details "TODO" %}
+
+- Move to other noteworthy?
+- Extend story
+- Proof read/spelling/grammar
+- Link to dev blog?
+- Screenshot of translated Calendar attributes?
+
+- Support translating entity names ([@emontnemery] - [#88242]) ([demo docs]) (noteworthy)
+
+* Improve/extend description of conditions (#15943) @frenck
+* Compute (attribute) states in automation trigger descriptions (#15848) @frenck
+* Show unknown attribute state as Unknown instead of a dash (#15846) @frenck
+* Extend attribute to hide from (numeric) state triggers (#15836) @frenck
+* Translate entity attribute names & attribute states (#15822) @frenck
+
+{% enddetails %}
+
+Over the past releases, we've been slowly extending support for translations
+in more places in Home Assistant. This release completes support for
+translating entities!
+
+This includes the names of entities, the names of their attributes, and
+translations for those attributes. These translations will be visible on your
+dashboards, dialogs, automation editors, etc. Pretty much all places displaying
+them.
+
+There are not many integration that support this as of yet, but in the upcoming
+releases, we expect alot more to join in.
+
+## 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:
+
+**Note**: Changes processed up to PR 86815
+
+{% enddetails %}
+
+There are much more easter bunnies in this release; here are some of the other
+noteworthy changes this release:
+
+- [@ArturoGuerra] added support for lock to [Matter]! Nice!
+- The new light entity dialog (introduced last release), now better supports
+ white mode. Thanks, [@piitaya]!
+- [@emontnemery] added energy storage and volume storage device classes; these
+ allow to differentiate between, for example, consumed energy versus stored
+ energy in a battery.
+- [@starkillerOG] is rocking the [Reolink] integration. It now provides button,
+ switch, siren, select, number and light entities for all kinds of things you
+ Reolink cameras and doorbells can do. Awesome!
+- The [Universal Media Player], now supports browsing media! Thanks, [@Drafteed]!
+- The [Supervisor] integration now provides sensors containing stats of the
+ Home Assistant Core and Supervisor itself. Thanks, [@ludeeus]!
+- The [Spotify] integration, now supports podcasts! Nice [@BTMorton]!
+- [LIVISI Smart Home] now supports climate devices, switches (PSSO, ISS and ISS2),
+ and window sensors (WDS). Thanks [@StefanIacobLivisi] & [@planbnet]!
+- [ESPHome] now supports pairing Bluetooth devices. Nice work [@bdraco] & [@jagheterfredrik]!
+- [@MarkGodwin] extended the [TP-Link Omada] integration to support update entities, awesome!
+- All attributes of the `sun.sun` entity are now also available as sensors, much
+ easier to use, thanks [@gjohansson-ST]!
+- Covers with the door device class, now appear as actual doors in [HomeKit], nice [@Dexwell]!
+- [@loongyh] did something similar for [Google Assistant], covers with the window
+ device class now show up as actual windows. Thanks!
+- The [SQL] integration now supports settings device and state classes, thanks [@gjohansson-ST]!
+- [@teharris1] added support for the new [Insteon] i3 device, cool!
+
+[@arturoguerra]: https://github.com/ArturoGuerra
+[@bdraco]: https://github.com/bdraco
+[@btmorton]: https://github.com/BTMorton
+[@dexwell]: https://github.com/Dexwell
+[@drafteed]: https://github.com/Drafteed
+[@emontnemery]: https://github.com/emontnemery
+[@gjohansson-st]: https://github.com/gjohansson-ST
+[@jagheterfredrik]: https://github.com/jagheterfredrik
+[@loongyh]: https://github.com/loongyh
+[@ludeeus]: https://github.com/ludeeus
+[@markgodwin]: https://github.com/MarkGodwin
+[@piitaya]: https://github.com/piitaya
+[@planbnet]: https://github.com/planbnet
+[@starkillerog]: https://github.com/starkillerOG
+[@stefaniacoblivisi]: https://github.com/StefanIacobLivisi
+[@teharris1]: https://github.com/teharris1
+[esphome]: /integrations/esphome
+[google assistant]: /integrations/google_assistant
+[insteon]: /integrations/insteon
+[livisi smart home]: /integrations/livisi
+[matter]: /integrations/matter
+[reolink]: /integrations/reolink
+[spotify]: /integrations/spotify
+[sql]: /integrations/sql
+[supervisor]: /integrations/hassio
+[tp-link omada]: /integrations/tplink_omada
+[universal media player]: /integrations/universal
+
+## New Integrations
+
+This release has no new integrations, but does provide a couple of new virtual
+integrations. Virtual integrations are stubs that are handled by other
+(existing) integrations to help with findability. These are new:
+
+- **[ESERA 1-Wire]** provided by [1-Wire], added by [@jrieger]
+- **[HomeSeer]** works with [Z-Wave], added by [@b-uwe]
+- **[Quadra-Fire]** provided by [IntelliFire], added by [@jeeftor]
+- **[Vermont Castings]** provided by [IntelliFire], added by [@jeeftor]
+
+[@b-uwe]: https://github.com/b-uwe
+[@jeeftor]: https://github.com/jeeftor
+[@jrieger]: https://github.com/jrieger
+[1-wire]: /integrations/one
+[esera 1-wire]: /integrations/esera_onewire
+[homeseer]: /integrations/homeseer
+[intellifire]: /integrations/intellifire
+[quadra-fire]: /integrations/quadrafire
+[vermont castings]: /integrations/vermont_castings
+[z-wave]: /integrations/zwave_js
+
+## 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 90423
+
+{% enddetails %}
+
+{% details "Aladdin Connect" %}
+
+The previously deprecated YAML configuration of the Aladdin Connect integration
+has been removed.
+
+Aladdin Connect 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.
+
+([@epenet] - [#88694]) ([documentation](/integrations/aladdin_connect))
+
+[@epenet]: https://github.com/epenet
+[#88694]: https://github.com/home-assistant/core/pull/88694
+
+{% enddetails %}
+
+{% details "AVM FRITZ!Box Tools" %}
+
+The binary sensor providing available firmware updates has been deprecated
+since 2022.5 and is now removed. Use the new `update` entity instead.
+
+([@mib1185] - [#89940]) ([documentation](/integrations/fritz))
+
+[@mib1185]: https://github.com/mib1185
+[#89940]: https://github.com/home-assistant/core/pull/89940
+
+{% enddetails %}
+
+{% details "Bluetooth" %}
+
+This change only affects Home Assistant instances running directly on
+MacOS (not inside a virtual machine).
+
+Any integration or device that was previously set up using a UUID
+bluetooth address will need to be deleted and recreated.
+
+([@bdraco] - [#89926]) ([documentation](/integrations/bluetooth))
+
+[@bdraco]: https://github.com/bdraco
+[#89926]: https://github.com/home-assistant/core/pull/89926
+
+{% enddetails %}
+
+{% details "Calendar" %}
+
+The `calendar.create_event` service now enforces that start and end dates are
+exclusive. This has always been part of the specification, but was not clearly
+documented and enforced.
+
+([@allenporter] - [#89533]) ([documentation](/integrations/calendar))
+
+[@allenporter]: https://github.com/allenporter
+[#89533]: https://github.com/home-assistant/core/pull/89533
+
+{% enddetails %}
+
+{% details "DSMR Reader" %}
+
+The previously deprecated YAML configuration of the DSMR Reader integration
+has been removed.
+
+DSMR Reader 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.
+
+([@frenck] - [#89239]) ([documentation](/integrations/dsmr_reader))
+
+[@frenck]: https://github.com/frenck
+[#89239]: https://github.com/home-assistant/core/pull/89239
+
+{% enddetails %}
+
+{% details "GIOŚ" %}
+
+AQI sensor state values are now in English, and the user interface will
+display their translation for the selected language. If you have been using
+this sensor in your automations and scripts, you'll need to adjust these for
+this change.
+
+([@bieniu] - [#89044]) ([documentation](/integrations/gios))
+
+[@bieniu]: https://github.com/bieniu
+[#89044]: https://github.com/home-assistant/core/pull/89044
+
+---
+
+The `name` and `station` sensor state attributes have been removed due
+to the fact that they are static data that do not describe the state of
+the entity.
+
+The `index` sensor state attribute has been migrated to a separate entity,
+e.g. `sensor.home_no2_index`.
+
+([@bieniu] - [#89389]) ([documentation](/integrations/gios))
+
+[@bieniu]: https://github.com/bieniu
+[#89389]: https://github.com/home-assistant/core/pull/89389
+
+{% enddetails %}
+
+{% details "Groups - Notify" %}
+
+The behavior of passing parameters to service calls targeting notification
+groups has changed.
+
+**Current behaviour**: `data` mappings configured in the **service** override
+mappings configured in the **action**.
+
+**New behaviour**: `data` mappings configured in the **action** override
+mappings configured in the **service**.
+
+([@arychj] - [#90253]) ([documentation](/integrations/group))
+
+[@arychj]: https://github.com/arychj
+[#90253]: https://github.com/home-assistant/core/pull/90253
+
+{% enddetails %}
+
+{% details "Home Connect" %}
+
+Not really a breaking change, but as of now, only programs entities are
+created for the programs your device supports. You might need to manually remove
+old/existing entities that are no longer provided.
+
+([@stickpin] - [#88801]) ([documentation](/integrations/home_connect))
+
+[@stickpin]: https://github.com/stickpin
+[#88801]: https://github.com/home-assistant/core/pull/88801
+
+{% enddetails %}
+
+{% details "IMAP" %}
+
+The previously deprecated YAML configuration of the IMAP integration
+has been removed.
+
+IMAP 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.
+
+([@jbouwh] - [#89981]) ([documentation](/integrations/imap))
+
+[@jbouwh]: https://github.com/jbouwh
+[#89981]: https://github.com/home-assistant/core/pull/89981
+
+{% enddetails %}
+
+{% details "Landis+Gyr Heat Meter" %}
+
+The conversion to MWh and the corresponding MWh-entities have been removed.
+
+To resolve the breaking change :
+
+- If you make use of any of `sensor.heat_meter_heat_usage` or
+ `sensor.heat_meter_heat_previous_year` for automations, scripts, etc.,
+ you can replace these with the GJ-entities `sensor.heat_meter_heat_usage_gj`
+ and `sensor.heat_meter_heat_previous_year_gj`.
+- If applicable, in the energy dashboard replace `sensor.heat_meter_heat_usage`
+ with `sensor.heat_meter_heat_usage_gj`. Note that the energy dashboard will
+ still convert to MWh or kWh, therefore resulting in the same values as before.
+
+([@vpathuis] - [#89522]) ([documentation](/integrations/landisgyr_heat_meter))
+
+[@vpathuis]: https://github.com/vpathuis
+[#89522]: https://github.com/home-assistant/core/pull/89522
+
+{% enddetails %}
+
+{% details "Logbook" %}
+
+Logbook will be unavailable until the database schema migration completes.
+Logbook script and automation traces from previous runs of Home Assistant
+will be unavailable until background data is migration is completed following
+the schema migration.
+
+([@bdraco] - [#88942] [#89465]) ([documentation](/integrations/logbook))
+
+[@bdraco]: https://github.com/bdraco
+[#88942]: https://github.com/home-assistant/core/pull/88942
+[#89465]: https://github.com/home-assistant/core/pull/89465
+
+---
+
+Automation and script traces that include state change events recorded with
+Home Assistant 2022.5.x or older will no longer display context information
+for these events in the logbook tab.
+
+([@bdraco] - [#89945]) ([documentation](/integrations/logbook))
+
+[@bdraco]: https://github.com/bdraco
+[#89945]: https://github.com/home-assistant/core/pull/89945
+
+{% enddetails %}
+
+{% details "MySensors" %}
+
+- The MySensors notify platform has been removed. It's been deprecated since
+ 2023.2.0. It's been replaced by a text entity platform.
+- You should update any automations or scripts that use the `notify.mysensors*`
+ service to instead use the `text.set_value` service and the corresponding
+ text entity as a target.
+- The MySensors IR `switch` entity, corresponding to an `S_IR` child with
+ `V_SEND` value, has been removed. This entity been deprecated since 2023.2.0.
+ It's been replaced by a `remote` entity.
+- You should update any automations or scripts that use the `mysensors.send_ir_code`
+ service to instead use the `remote.send_command` service and the corresponding
+ `remote` entity as a target. Similar changes should be made for actions using
+ the `switch.turn_on` and `switch_turn_off` services targeting the removed
+ IR `switch` entities. Replace these with `remote.turn_on` and `remote.turn_off`
+ services and `remote` entity targets.
+
+([@MartinHjelmare] - [#90402] [#90403]) ([documentation](/integrations/mysensors))
+
+[@martinhjelmare]: https://github.com/MartinHjelmare
+[#90402]: https://github.com/home-assistant/core/pull/90402
+[#90403]: https://github.com/home-assistant/core/pull/90403
+
+{% enddetails %}
+
+{% details "Moon" %}
+
+The previously deprecated YAML configuration of the Moon integration
+has been removed.
+
+Moon 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.
+
+([@frenck] - [#89161]) ([documentation](/integrations/moon))
+
+[@frenck]: https://github.com/frenck
+[#89161]: https://github.com/home-assistant/core/pull/89161
+
+{% enddetails %}
+
+{% details "MQTT" %}
+
+The `tls_version` configuration parameter (deprecated June 2020) has been
+removed. All other MQTT broker settings have been moved to the UI before.
+
+When the `tls_version` setting is still in your YAML configuration, MQTT will
+not start up.
+
+[@jbouwh]: https://github.com/jbouwh
+[#88674]: https://github.com/home-assistant/core/pull/88674
+
+---
+
+The previously deprecated MQTT broker YAML configuration, has been removed.
+
+The MQTT broker is now configured via the UI, any existing MQTT broker YAML
+configuration has been imported in previous releases and can now be safely
+removed from your YAML configuration files.
+
+([@jbouwh] - [#87987]) ([documentation](/integrations/mqtt))
+
+[@jbouwh]: https://github.com/jbouwh
+[#87987]: https://github.com/home-assistant/core/pull/87987
+
+{% enddetails %}
+
+{% details "Nextcloud" %}
+
+The option to define an own scan interval has been removed, data is now updated
+every 60 seconds.
+
+([@mib1185] - [#89396]) ([documentation](/integrations/nextcloud))
+
+[@mib1185]: https://github.com/mib1185
+[#89396]: https://github.com/home-assistant/core/pull/89396
+
+{% enddetails %}
+
+{% details "OpenAI Conversation" %}
+
+Your previously selected model has been reset to the new
+and cheaper GPT 3.5 model.
+
+([@balloob] - [#90423]) ([documentation](/integrations/openai_conversation))
+
+[@balloob]: https://github.com/balloob
+[#90423]: https://github.com/home-assistant/core/pull/90423
+
+{% enddetails %}
+
+{% details "Overkiz" %}
+
+The `open` and `close` commands for the` io:CyclicGarageOpenerIOComponent device`
+Have been removed, see [this issue](https://github.com/iMicknl/ha-tahoma/issues/146)
+for more details on this device.
+
+To sum up, this device is a garage door but cannot be exposed as such within
+Home Assistant. There is no state returned, and no clear open and close command.
+
+Only one command is available: `cycle`. A `button` is a perfect fit for this
+use case, and remove all confusion; and this button entity has been added this
+release.
+
+([@tetienne] - [#89043]) ([documentation](/integrations/overkiz))
+
+[@tetienne]: https://github.com/tetienne
+[#89043]: https://github.com/home-assistant/core/pull/89043
+
+{% enddetails %}
+
+{% details "Pushbullet" %}
+
+The previously deprecated YAML configuration of the Pushbullet integration
+has been removed.
+
+Pushbullet 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.
+
+([@gjohansson-ST] - [#90285]) ([documentation](/integrations/pushbullet))
+
+[@gjohansson-st]: https://github.com/gjohansson-ST
+[#90285]: https://github.com/home-assistant/core/pull/90285
+
+{% enddetails %}
+
+{% details "Radio Thermostat" %}
+
+The previously deprecated YAML configuration of the Radio Thermostat integration
+has been removed.
+
+Radio Thermostat 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.
+
+([@gjohansson-ST] - [#90284]) ([documentation](/integrations/radiotherm))
+
+[@gjohansson-st]: https://github.com/gjohansson-ST
+[#90284]: https://github.com/home-assistant/core/pull/90284
+
+{% enddetails %}
+
+{% details "Scrape" %}
+
+The previously deprecated YAML configuration of the Scrape integration
+has been removed.
+
+Scrape 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.
+
+([@gjohansson-ST] - [#90272]) ([documentation](/integrations/scrape))
+
+[@gjohansson-st]: https://github.com/gjohansson-ST
+[#90272]: https://github.com/home-assistant/core/pull/90272
+
+{% enddetails %}
+
+{% details "Season" %}
+
+The previously deprecated YAML configuration of the Season integration
+has been removed.
+
+Season 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.
+
+([@frenck] - [#89166]) ([documentation](/integrations/season))
+
+[@frenck]: https://github.com/frenck
+[#89166]: https://github.com/home-assistant/core/pull/89166
+
+{% enddetails %}
+
+{% details "Tasmota" %}
+
+Tasmota `sensor` no longer sets the `force_update` flag to True.
+
+Tasmota `binary_sensor` no longer sets the `force_update` flag to True, with
+the exception of `binary_sensor` mapped to a Tasmota switch with switchmode
+set to 13 or 14.
+
+([@DerEnderKeks] - [#85943]) ([documentation](/integrations/tasmota))
+
+[@derenderkeks]: https://github.com/DerEnderKeks
+[#85943]: https://github.com/home-assistant/core/pull/85943
+
+{% enddetails %}
+
+{% details "Templates" %}
+
+The `relative_time` and `today_at` template functions and filters are no
+longer supported in limited templates.
+
+([@Petro31] - [#86815])
+
+[@petro31]: https://github.com/Petro31
+[#86815]: https://github.com/home-assistant/core/pull/86815
+
+{% enddetails %}
+
+{% details "Threshold" %}
+
+The behavior of threshold binary sensor has changed:
+
+- The threshold binary sensor's state is reset to `unknown` when the monitored
+ sensor's state is unknown, unavailable or not a valid float.
+- When the monitored sensor's state is first valid, or when it's valid
+ after being `unknown`, `unavailable` or not a valid float:
+ - Initialize a threshold sensor with only a lower threshold to state `off`,
+ with the `position` attribute set to `above`.
+ - Initialize a threshold sensor with only an upperthreshold to state `off`,
+ with the `position` attribute set to `below`.
+ - Initialize a threshold sensor with only both an upper and a lower threshold
+ to state `on`, with the `position` attribute set to `in_range`.
+
+([@emontnemery] - [#88978]) ([documentation](/integrations/threshold))
+
+[@emontnemery]: https://github.com/emontnemery
+[#88978]: https://github.com/home-assistant/core/pull/88978
+
+{% enddetails %}
+
+{% details "Twente Milieu" %}
+
+The end-date for garbage collection events on the calendar entity, will now
+be one day later compared to the start date. This is because in calendaring,
+the end-date is exclusive.
+
+([@bobvandevijver] - [#89028]) ([documentation](/integrations/twentemilieu))
+
+[@bobvandevijver]: https://github.com/bobvandevijver
+[#89028]: https://github.com/home-assistant/core/pull/89028
+
+{% enddetails %}
+
+{% details "Volvo On Call" %}
+
+The previously deprecated YAML configuration of the Volvo On Call integration
+has been removed.
+
+Volvo On Call 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.
+
+([@gjohansson-ST] - [#90288]) ([documentation](/integrations/volvooncall))
+
+[@gjohansson-st]: https://github.com/gjohansson-ST
+[#90288]: https://github.com/home-assistant/core/pull/90288
+
+{% enddetails %}
+
+{% details "Z-Wave" %}
+
+With this release, you will need to update your `zwave-js-server` instance.
+You must use `zwave-js-server` 1.27.0 or greater (schema 27).
+
+- If you use the `Z-Wave JS` add-on, you need at least version `0.1.77`.
+- If you use the `Z-Wave JS UI` add-on, you need at least version `1.8.1`.
+- If you use the `Z-Wave JS UI` Docker container, you need at least version `8.11.1`.
+- If you run your own Docker container or some other installation method, you
+ will need to update your `zwave-js-server` instance to at least `1.27.0`.
+
+([@raman325] - [#90212]) ([documentation](/integrations/zwave_js))
+
+[@raman325]: https://github.com/raman325
+[#90212]: https://github.com/home-assistant/core/pull/90212
+
+{% 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:
+
+- [Calendar best practices](https://developers.home-assistant.io/blog/2023/03/28/calendar_best_practices)
+- [Translating the name and attributes of entities](https://developers.home-assistant.io/blog/2023/03/27/entity_name_translations)
+
+[devblog]: https://developers.home-assistant.io/blog/
+
+## Farewell to the following
+
+The following integrations are also no longer available as of this release:
+
+- **Magicseaweed** has been removed. Magicseedweed no longer provides API keys
+ to users. Additionally, the integration is no longer in a functional state.
+ ([@gjohansson-ST] - [#90277])
+
+[@gjohansson-st]: https://github.com/gjohansson-ST
+[#90277]: https://github.com/home-assistant/core/pull/90277
+
+## 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.4](/changelogs/core-2023.4)
diff --git a/source/changelogs/core-2023.4.markdown b/source/changelogs/core-2023.4.markdown
new file mode 100644
index 00000000000..2d662f45951
--- /dev/null
+++ b/source/changelogs/core-2023.4.markdown
@@ -0,0 +1,2001 @@
+---
+title: Full Changelog for Home Assistant Core 2023.4
+description: Detailed changelog for the Home Assistant Core 2023.4 release
+---
+
+These are all the changes included in the Home Assistant Core 2023.4 release.
+
+For a summary in a more readable format:
+[Release notes blog for this release](/blog/2023/03/29/release-20234/).
+
+## Full Changelog
+
+- Bump version to 2023.4.0dev0 ([@frenck] - [#88630])
+- Use json_loads_object in alexa ([@epenet] - [#88610])
+- Browse media support in universal media player ([@Drafteed] - [#85668])
+- Update pre-commit to 3.1.0 ([@frenck] - [#88657])
+- Update apprise to 1.3.0 ([@frenck] - [#88658])
+- Modernize Twentemilieu tests ([@frenck] - [#88640])
+- Include binary_sensor in default Assist exposed domains ([@synesthesiam] - [#88682])
+- Enable jinja loop controls (break/continue) ([@depoll] - [#88625])
+- Modernize uptime tests ([@frenck] - [#88636])
+- Allow conditions to be implemented in platforms ([@emontnemery] - [#88509])
+- Switch samsungtv to use async_timeout to avoid task creation ([@bdraco] - [#88679])
+- Change statistics component ownership ([@ThomDietrich] - [#88692])
+- Use async_timeout in integrations ([@epenet] - [#88697])
+- Bump aiolivisi to 0.0.16 ([@StefanIacobLivisi] - [#88700])
+- Improve type hint in webostv trigger ([@epenet] - [#88599])
+- Use strict typing for LiteJet integration ([@joncar] - [#88629])
+- Pass `assumed_state` property in universal media player ([@Drafteed] - [#87846])
+- Use DataUpdateCoordinator for islamic_prayer_times ([@engrbm87] - [#73893])
+- Simplify adding unifi entities ([@Kane610] - [#88571])
+- Avoiding testing implementation details in apcupsd tests ([@yuxincs] - [#88772])
+- Add ISY994 services to set and delete lock codes ([@shbatm] - [#88754])
+- Add device HmIP-DLD ([@hahn-th] - [#83380])
+- Unblock JSON CI by fixing improperly indented JSON in test fixture ([@puddly] - [#88803])
+- Add Camera platform to Prosegur ([@dgomes] - [#76428])
+- Use a background task for LIFX discovery ([@balloob] - [#88820])
+- Add climate state translations to Overkiz integration ([@iMicknl] - [#88809])
+- Bump pyoverkiz to 1.7.6 ([@iMicknl] - [#88808])
+- Bump actions/checkout from 3.1.0 to 3.3.0 (@dependabot - [#88824])
+- Bump actions/setup-python from 4.3.0 to 4.5.0 (@dependabot - [#88823])
+- Add support for LIVISI climate devices ([@StefanIacobLivisi] - [#86691])
+- Add state_class to qbittorent sensors ([@landaisbenj] - [#88829])
+- Prepare for refactoring of MQTT related tests ([@jbouwh] - [#88557])
+- Add missing mock in brunt config flow tests ([@epenet] - [#88834])
+- Add missing mock in cert_expiry config flow tests ([@epenet] - [#88835])
+- Add missing mock in abode config flow tests ([@epenet] - [#88828])
+- Use snapshots in blueprint import tests ([@balloob] - [#88843])
+- Cleanup YAML import in aladdin_connect ([@epenet] - [#88694])
+- Improve helper integration scaffold ([@avee87] - [#88713])
+- Add filter options to entity and device selectors ([@piitaya] - [#87536])
+- Add gas sensor to BTHome ([@Ernst79] - [#88770])
+- LIVISI climate device improvement ([@StefanIacobLivisi] - [#88844])
+- Add Config Flow to Obihai ([@ejpenney] - [#88627]) (config-flow) (deprecation)
+- Change string to enum in SomfyThermostat ([@iMicknl] - [#88813])
+- Support ValveHeatingTemperatureInterface in Overkiz integration ([@iMicknl] - [#88804])
+- Adding Obihai codeowner ([@ejpenney] - [#88856])
+- Prosegur late review comments ([@dgomes] - [#88859])
+- Adjust AddEntitiesCallback import (part 1) ([@epenet] - [#88870])
+- Add stop charge button to renault integration ([@rodriguestiago0] - [#88003])
+- Also set `hass.config_entries` when `mock_hass_config` fixture is used ([@jbouwh] - [#88669])
+- Add WS command weather/convertible_units ([@emontnemery] - [#85681])
+- Add human readable name for Livisi climate devices ([@planbnet] - [#88891])
+- Add myself to codeowners of Livisi integration ([@planbnet] - [#88900])
+- Add missing mock in overkiz config flow tests ([@epenet] - [#88899])
+- Sort unit lists sent to frontend ([@emontnemery] - [#88898])
+- Fix typo in thread ([@emontnemery] - [#88916])
+- Adjust core test to avoid lingering task ([@epenet] - [#88918])
+- Add missing mock in webostv config flow tests ([@epenet] - [#88913])
+- Add number + sensor device class energy storage ([@emontnemery] - [#88310])
+- Add state class to Aurora ([@djtimca] - [#88938])
+- Use ulid-transform for constructing ulids ([@bdraco] - [#88939])
+- Store source entity in switch_as_x entity options ([@emontnemery] - [#88914])
+- Adjust issue_registry imports ([@epenet] - [#88878])
+- Adjust registry access in conversation ([@epenet] - [#88879])
+- Adjust registry access in tests root ([@epenet] - [#88880])
+- Adjust registry access in intent ([@epenet] - [#88881])
+- Adjust registry access in scripts ([@epenet] - [#88884])
+- Adjust registry access in Google Assistant ([@epenet] - [#88883])
+- Adjust registry access in openai_conversation ([@epenet] - [#88882])
+- Adjust AddEntitiesCallback import (part 2) ([@epenet] - [#88873])
+- Add diagnostics to VeSync ([@chuckdeal97] - [#86350])
+- Add ZWaveDiscoverySchema for Merten 507801 ([@willmakenoise] - [#88342])
+- Use json_loads_object in arwn ([@epenet] - [#88611])
+- Use load_json_object in fitbit ([@epenet] - [#88585])
+- Adjust entity registry access in core platforms ([@epenet] - [#88944])
+- Adjust entity registry access in integrations (1) ([@epenet] - [#88946])
+- Adjust entity registry access in integrations (2) ([@epenet] - [#88947])
+- Adjust entity registry access in integrations (3) ([@epenet] - [#88948])
+- Fix lingering reload task in notion reauth ([@bdraco] - [#88949])
+- Adjust entity registry access in tests (1) ([@epenet] - [#88950])
+- Add missing mock in notion tests ([@epenet] - [#88951])
+- Fix lingering task in timeout test ([@epenet] - [#88953])
+- Fix lingering task in entity_platform test ([@epenet] - [#88957])
+- Don't create new venv if script/setup is run from within a venv ([@emontnemery] - [#88906])
+- Add number + sensor device class volume storage ([@emontnemery] - [#88312])
+- Add dynamic unit of measurement support for Overkiz sensor ([@tetienne] - [#80490])
+- Use UnitOfVolumeFlowRate in huisbaasje and plugwise ([@epenet] - [#88967])
+- Adjust entity registry access in tests (3) ([@epenet] - [#88964])
+- Add missing mock in esphome tests ([@epenet] - [#88923])
+- Disable gc in-between energy sensor tests ([@emontnemery] - [#88593])
+- Adjust entity registry access in tests (2) ([@epenet] - [#88960])
+- Adjust entity registry access in helper tests ([@epenet] - [#88965])
+- Add `current` sensor for Shelly RPC devices ([@bieniu] - [#88863])
+- Obihai config flow fixes ([@ejpenney] - [#88853])
+- Drop codeowner from threshold integration ([@emontnemery] - [#88973])
+- Improve threshold binary sensor tests ([@emontnemery] - [#88972])
+- Adjust entity registry access in homekit tests ([@epenet] - [#88959])
+- Yaml use dict ([@balloob] - [#88977])
+- Enable RUFF ICN001 for registries ([@epenet] - [#88875])
+- Clean up unused and deprecated TLS version setting on MQTT client ([@jbouwh] - [#88674])
+- Bump ulid-transform to 0.4.0 ([@bdraco] - [#88982])
+- Add config flow to EDL21 ([@StephanU] - [#87655]) (config-flow) (deprecation)
+- Refactor WLED binary sensor test ([@frenck] - [#88579])
+- Fix flaky energy tests ([@emontnemery] - [#89026])
+- Add Turn On and Turn Off for Advantage Air climate platform ([@Bre77] - [#88684])
+- Nuki: show actual device model in device registry ([@Savjee] - [#89017])
+- Re-enable Ruff D411 ([@epenet] - [#89035])
+- Fix lingering task in debounce tests ([@epenet] - [#89019])
+- Add matching on quirk_classes to zha ([@gmsoft-tuxicoman] - [#87653])
+- Remove unused constant ([@raman325] - [#89071])
+- Add Obihai reboot button ([@ejpenney] - [#88849])
+- Adjust xiaomi_ble tests ([@epenet] - [#89078])
+- Move Cycle command from cover to button ([@tetienne] - [#89043])
+- Adjust docstrings for ruff D404 ([@epenet] - [#89077])
+- Adjust docstring on hassfest generated files ([@epenet] - [#89080])
+- Set Protocol inheritance on EnergyPlatform ([@epenet] - [#89079])
+- Enable ruff D404 ([@epenet] - [#89093])
+- Add missing Edl21 sensor 1-0:0.0.0\*255 ([@StephanU] - [#87389])
+- Updating Intellifire Naming scheme ([@jeeftor] - [#88666])
+- Refactor Livisi Switch and Climate to inherit from a common base class ([@planbnet] - [#89085])
+- Revert Intellifire breaking change from #88666 ([@cgarwood] - [#89110])
+- Add day to event end to correct TwenteMilieu event timespan ([@bobvandevijver] - [#89028])
+- Refactor WLED button tests ([@frenck] - [#88580])
+- Refactor WLED diagnostic tests ([@frenck] - [#88581])
+- Bump subarulink to 0.7.5 ([@G-Two] - [#89162])
+- Clean up import/migration repair in LaMetric ([@frenck] - [#89153])
+- Cleanup plex config flow tests ([@epenet] - [#88991])
+- Bump pyvizio to 0.1.60 ([@raman325] - [#89160])
+- Bump `brother` and `pysnmplib` backend libraries ([@bieniu] - [#89100])
+- Bump aiodiscover to 1.4.14 ([@bdraco] - [#89174])
+- Pass a helpful name when creating common asyncio tasks in core ([@bdraco] - [#89171])
+- Bump youless api version to v1.0.1 ([@gjong] - [#89117])
+- Bump overkiz dependency to 1.7.7 ([@iMicknl] - [#89163])
+- Add Reolink button platform ([@starkillerOG] - [#88687])
+- Bump reolink-aio to 0.5.3 ([@starkillerOG] - [#89145])
+- Bump pyroon to 0.1.4 ([@pavoni] - [#89124])
+- Revert "Replace Fitbit weight SensorStateClass measurement with total" ([@sw-carlos-cristobal] - [#89126])
+- Add support for Livisi PSSO, ISS and ISS2 switch devices ([@planbnet] - [#89140])
+- Unpin pandas for Python 3.11 ([@cdce8p] - [#89033])
+- Update link to opencv in image_process log message ([@GeoffState] - [#89008])
+- Add support for Spotify podcasts ([@BTMorton] - [#87671])
+- Detect newly connected clients in jellyfin ([@ctalkington] - [#89168])
+- Add repeat to roon media player ([@pavoni] - [#88851])
+- Remove deprecated Moon YAML configuration ([@frenck] - [#89161])
+- Raise ValueError on date parsing of MQTT sensor with invalid date format ([@jbouwh] - [#89036])
+- Remove deprecated Season YAML configuration ([@frenck] - [#89166])
+- Add device_class and state_class to sql ([@gjohansson-ST] - [#85418])
+- Hive add ability to delete device ([@KJonline] - [#80838])
+- Reolink add switch platform ([@starkillerOG] - [#87943])
+- Add Reolink siren platform ([@starkillerOG] - [#88217])
+- Bump bthome to 2.8.0 ([@Ernst79] - [#89192])
+- Reolink add select platform ([@starkillerOG] - [#87946])
+- Refactor WLED switch tests ([@frenck] - [#89197])
+- Update coverage to 7.2.1 ([@frenck] - [#89196])
+- Update sentry-sdk to 1.16.0 ([@frenck] - [#89193])
+- Update watchdog to 2.3.1 ([@frenck] - [#89190])
+- Update pytest to 7.2.2 ([@frenck] - [#89179])
+- Refactor WLED number tests ([@frenck] - [#88582])
+- Fix lingering tasks in KNX tests ([@farmio] - [#89201])
+- Test coverage for Tibber config flow ([@ztamas83] - [#89088])
+- Add device info to edl21 ([@StephanU] - [#89070])
+- Revert "Add device info to edl21" ([@frenck] - [#89217])
+- Split reauth tests in plex ([@epenet] - [#89212])
+- Refresh homeassistant_alerts when components are loaded ([@emontnemery] - [#76049])
+- Sync tado zones after updating climate preset ([@fpfuetsch] - [#79715])
+- Move mock_setup_entry to conftest ([@epenet] - [#88484])
+- Update zwave_js README with contributor instructions ([@raman325] - [#89158])
+- Use mock_setup_entry fixture in melnor ([@epenet] - [#89226])
+- Reolink add new number entities ([@starkillerOG] - [#87932])
+- Add Reolink light platform ([@starkillerOG] - [#88619])
+- Catch exceptions and add logging when writing states on MQTT entities ([@jbouwh] - [#89091])
+- Add type hints to ps4 media player ([@epenet] - [#89236])
+- Allow loading UniFi entities on config options change ([@Kane610] - [#88762])
+- Add comment about Reolink Floodlight turn on brightness ([@starkillerOG] - [#89234])
+- Bump ruff to 0.0.253 ([@epenet] - [#89211])
+- Reolink extend DHCP discovery ([@starkillerOG] - [#89238])
+- Update pylint to 2.16.4 ([@cdce8p] - [#89240])
+- Bump `gios` library to version 3.1.0 ([@bieniu] - [#89044])
+- Improve reolink generic typing ([@cdce8p] - [#88786])
+- Add support for bluetooth pairing in esphome ([@bdraco] - [#88603])
+- Add HomeKit Door accessory type ([@Dexwell] - [#80741])
+- Update systembridgeconnector to 3.4.8 ([@timmo001] - [#79732])
+- Fail CI on lingering tasks ([@epenet] - [#88905])
+- Cleanup expected_lingering_tasks in knx ([@epenet] - [#89279])
+- Remove deprecated DSMR Reader YAML configuration ([@frenck] - [#89239])
+- Bump ruff to 0.0.254 ([@epenet] - [#89273])
+- Drop deepcopy of manual mqtt alarm control panel config ([@emontnemery] - [#89287])
+- Drop deepcopy of manual alarm control panel config ([@emontnemery] - [#89286])
+- Drop deepcopy of intent_script config ([@emontnemery] - [#89285])
+- Drop deepcopy of Alexa config ([@emontnemery] - [#89284])
+- Remove unittest.TestCase from service helper tests ([@emontnemery] - [#89283])
+- Reolink test init 100% ([@starkillerOG] - [#89112])
+- Rename hass context variable ([@emontnemery] - [#89302])
+- Fix missing f-string in async_listen ([@bdraco] - [#89336])
+- Use a filter for the PersonStorageCollection EVENT_ENTITY_REGISTRY_UPDATED listener ([@bdraco] - [#89335])
+- Bump pybalboa to 1.0.1 ([@natekspencer] - [#89310])
+- Improve gios generic typing ([@cdce8p] - [#89321])
+- Add missing mock in brother config flow tests ([@epenet] - [#89354])
+- Add missing mock in axis config flow tests ([@epenet] - [#89365])
+- Add missing mock in azure event hub config flow tests ([@epenet] - [#89355])
+- Add missing mock in atag config flow tests ([@epenet] - [#89356])
+- Add missing mock in amber config flow tests ([@epenet] - [#89358])
+- Add missing mock in airvisual config flow tests ([@epenet] - [#89359])
+- Add missing mock in agent_dvr config flow tests ([@epenet] - [#89361])
+- Add missing mock in airvisual_pro config flow tests ([@epenet] - [#89362])
+- Add missing mock in airq config flow tests ([@epenet] - [#89364])
+- Add missing mock in aemet config flow tests ([@epenet] - [#89360])
+- Add names to the config entry setup and shutdown tasks ([@bdraco] - [#89309])
+- Use an event filter for event triggers ([@bdraco] - [#89339])
+- Improve event filters to reject earlier ([@bdraco] - [#89337])
+- Fix lingering tasks in plex ([@epenet] - [#89282])
+- Update pylint to 2.17.0 ([@cdce8p] - [#89377])
+- Move Landis+Gyr sensor descriptions to sensor platform ([@vpathuis] - [#89382])
+- Pass hass instance when validating templates ([@emontnemery] - [#89242])
+- Bump pyfritzhome to 0.6.8 and add support for Non-Color-Bulbs ([@parliament119] - [#89141])
+- Add require_admin decorator to otbr WS API ([@emontnemery] - [#89385])
+- Bump SharkIQ to 1.0.2 ([@funkybunch] - [#89346])
+- Avoid falling back to listening for all states when a template render raises an exception ([@bdraco] - [#89392])
+- Remove lingering timer related to camera ([@Kane610] - [#89394])
+- Add WS API for getting an OTBR's extended address ([@emontnemery] - [#89384])
+- Add loggers to gdacs manifest file ([@exxamalte] - [#89338])
+- Fix missing f-string in filterable_job ([@bdraco] - [#89340])
+- Migrate integration_platform helper to use async_get_integrations ([@bdraco] - [#89303])
+- Bump aiosomecomfort to 0.0.14 ([@mkmer] - [#89393])
+- Update SharkIQ code owners ([@funkybunch] - [#89388])
+- Better log message for KNX expose conversion error ([@farmio] - [#89400])
+- Update mypy to 1.1.1 ([@cdce8p] - [#89268])
+- Reduce overhead to store context ids in the database ([@bdraco] - [#88942])
+- Simplify LivisiEntity inheritance ([@planbnet] - [#89424])
+- Add hostname to DHCP discovery title ([@starkillerOG] - [#89426])
+- Avoid unnecessary Task in debouncer ([@epenet] - [#89370])
+- Add review-process link to PR template ([@epenet] - [#89430])
+- Add quadrafire virtual integration for Intellifire ([@jeeftor] - [#89316])
+- Parse attribute reports for ZHA select entity ([@TheJulianJES] - [#89418])
+- Revert Transmission entities name changes ([@avee87] - [#89409])
+- Update logbook queries for SADeprecationWarning ([@bdraco] - [#87108])
+- Add missing mock in buienradar config flow tests ([@epenet] - [#89420])
+- Add missing mock in braviatv config flow tests ([@epenet] - [#89419])
+- Disable some less commonly used starlink entities by default ([@boswelja] - [#87869])
+- Add missing mock in coronavirus config flow tests ([@epenet] - [#89428])
+- Add vermont_castings virtual integration for Intellifire ([@jeeftor] - [#89317])
+- Add DSL prefix to SFRBox ADSL sensors ([@epenet] - [#89276])
+- Add Hardkernel ODROID-M1 ([@agners] - [#89431])
+- Update actions/cache to 3.3.0 ([@cdce8p] - [#89438])
+- Add missing mock in gree config flow tests ([@epenet] - [#89450])
+- Add missing mock in fibaro config flow tests ([@epenet] - [#89440])
+- Add missing mock in filesize config flow tests ([@epenet] - [#89441])
+- Add missing mock in freedompro config flow tests ([@epenet] - [#89442])
+- Add stats sensors for core and supervisor ([@ludeeus] - [#89455])
+- Add device info to edl21 ([@StephanU] - [#89327])
+- Xiaomi Air Purifier S2 illuminance sensor support ([@kirill578] - [#89208])
+- Fix missing debouncer cancel in update coordinator ([@epenet] - [#89383])
+- Add list areas function to template ([@rokam] - [#88441])
+- Add missing mock in guardian config flow tests ([@epenet] - [#89451])
+- Add Ruth and Stephen voices to AWS Polly ([@szechyjs] - [#89344])
+- Add device class to ZHA Xiaomi plug "consumer connected" sensor ([@TheJulianJES] - [#89476])
+- Add unconfigured flag to thread discovery data ([@emontnemery] - [#89230])
+- Add config flow to frontier_silicon ([@wlcrs] - [#64365]) (config-flow) (deprecation)
+- Add type hints to tests ([@epenet] - [#89497])
+- Bump pytest-sugar to 0.9.6 ([@epenet] - [#89500])
+- Bump pytest-xdist to 3.2.0 ([@epenet] - [#89501])
+- Bump home-assistant/builder from 2022.11.0 to 2023.03.0 (@dependabot - [#89485])
+- Fix lingering timer in device registry ([@epenet] - [#89422])
+- Landis+Gyr move coordinator to own file ([@vpathuis] - [#89433])
+- Add missing mock in landisgyr config flow tests ([@epenet] - [#89513])
+- Add missing mock in lacrosse_view config flow tests ([@epenet] - [#89512])
+- Add missing mock in kmtronic config flow tests ([@epenet] - [#89511])
+- Add missing mock in jellyfin config flow tests ([@epenet] - [#89510])
+- Add FTTH and WAN info to SFR box diagnostics ([@epenet] - [#89492])
+- Await block till done inside patched config entry in tests ([@balloob] - [#89515])
+- Make client tracker use common UniFi entity class ([@Kane610] - [#84942])
+- Refactor logbook data to use a dataclass ([@bdraco] - [#89534])
+- Remove unused code in RecorderRuns.entity_ids ([@bdraco] - [#89526])
+- UniFi library controls add/update signalling ([@Kane610] - [#89525])
+- Deduplicate event_types in the events table ([@bdraco] - [#89465])
+- Move legacy database queries and models to prepare for schema v38 ([@bdraco] - [#89532])
+- Refactor recorder tests to use recorder history API ([@bdraco] - [#89565])
+- Fix flux_led set time to not happen during DST switch ([@bdraco] - [#89559])
+- Add some more typing to screenlogic ([@bdraco] - [#88522])
+- Simplify command_line sensor tests ([@emontnemery] - [#89576])
+- Convert device_sun_light_trigger test fixture to async ([@emontnemery] - [#89578])
+- Support translating entity names ([@emontnemery] - [#88242])
+- Strict typing threshold ([@gjohansson-ST] - [#82786])
+- Improve screenlogic generic typing ([@cdce8p] - [#89587])
+- Fix lingering tasks in google_wifi tests ([@bdraco] - [#89571])
+- Deduplicate entity_id in the states table ([@bdraco] - [#89557])
+- Bump rflink to 0.0.65 for python 3.11 ([@bdraco] - [#89601])
+- Fix old indices never being removed with PostgreSQL ([@bdraco] - [#89599])
+- Add Update entities to TP-Link Omada integration ([@MarkGodwin] - [#89562])
+- Generate large history responses in the executor ([@bdraco] - [#89606])
+- Mark database sessions that do not write data as read_only ([@bdraco] - [#89600])
+- Improve reliability of context id migration ([@bdraco] - [#89609])
+- Add support for window device class to google assistant ([@loongyh] - [#89564])
+- Fix history_stats test failing during DST ([@bdraco] - [#89589])
+- Switch underlying history stats calculation to use seconds ([@bdraco] - [#77857])
+- Code quality update for EDL21 ([@StephanU] - [#89561])
+- Bump pysml to 0.0.9 ([@StephanU] - [#89603])
+- Bump actions/cache from 3.3.0 to 3.3.1 (@dependabot - [#89617])
+- Adjust Tuya entity naming ([@dougiteixeira] - [#89616])
+- Drop duplicated indices from recorder database schema ([@bdraco] - [#89613])
+- Use SnapshotAssertion in SFR sensor tests ([@epenet] - [#89619])
+- Refactor Command line binary sensor to inherit TemplateEntity ([@gjohansson-ST] - [#81212])
+- Refactor Command line cover to inherit TemplateEntity ([@gjohansson-ST] - [#81214])
+- Add an in-memory-preloading loader for Jinja imports ([@depoll] - [#88850])
+- Bump flipr-api to 1.5.0 ([@cnico] - [#89598])
+- Add ESERA 1-Wire virtual integration ([@jrieger] - [#89487])
+- Use repair issue when port enable fails in Reolink ([@starkillerOG] - [#89591])
+- Add support for dual lens cameras in Reolink ([@starkillerOG] - [#89554])
+- Improve typing in climate.py ([@Swamp-Ig] - [#89577])
+- Use SnapshotAssertion in SFR binary sensor tests ([@epenet] - [#89624])
+- Correct naming of some otbr tests ([@emontnemery] - [#89631])
+- Fix `intellifire` name property ([@emontnemery] - [#89632])
+- Improve warnings in mqtt light messages ([@anotherthomas] - [#89552])
+- Address late review comments for frontier_silicon config flow ([@twalcari] - [#89507])
+- Use SnapshotAssertion in SFR button tests ([@epenet] - [#89633])
+- Add sensors for supervisor host ([@ludeeus] - [#89461])
+- Bump python-otbr-api to 1.0.9 ([@emontnemery] - [#89637])
+- Include extended address in thread discovery data ([@emontnemery] - [#89640])
+- Bump pybravia to 0.3.2 ([@NickBorgers] - [#89635])
+- Refactor Command line sensor to inherit TemplateSensor ([@gjohansson-ST] - [#81222])
+- Add is_hidden_entity test for Jinja templates ([@depoll] - [#89011])
+- Bump reolink-aio to 0.5.5 ([@starkillerOG] - [#89646])
+- Make OTBR add newly created dataset to thread credential store ([@emontnemery] - [#89645])
+- Use C-Extension for sqlalchemy ([@pvizeli] - [#89661])
+- Add silent option for DynamicShutter (ogp:Shutter) in Overkiz ([@iMicknl] - [#89164])
+- Bump ulid-transform to 0.4.2 ([@bdraco] - [#89666])
+- Force binary build of sqlalchemy wheels ([@bdraco] - [#89658])
+- Remove incorrect state class for System Bridge sensors ([@timmo001] - [#89655])
+- Handle ConnectionClosedException from System Bridge ([@timmo001] - [#89654])
+- Use otbr domain as dataset source ([@emontnemery] - [#89653])
+- Default to recorder db for SQL integration ([@gjohansson-ST] - [#85436])
+- Handle bytes data in sql sensors ([@bdraco] - [#89169])
+- Increase timeout for coolmaster with swing ([@amitfin] - [#87573])
+- Move nextcloud constants ([@epenet] - [#89679])
+- Add index to event_type and entity_id ([@bdraco] - [#89676])
+- Execute sql queries in the database executor when using the recorder database ([@bdraco] - [#89673])
+- Debounce and group MQTT subscriptions ([@jbouwh] - [#88862])
+- Remove duplicate code in nextcloud ([@epenet] - [#89681])
+- Update entity names to capitalize first word only for System Bridge ([@timmo001] - [#89688])
+- Add websocket command to set preferred thread dataset ([@bramkragten] - [#89700])
+- Add WS command for connecting OTBR to a known Thread network ([@emontnemery] - [#89692])
+- Move local calendar text fixtures to conftest.py ([@allenporter] - [#89674])
+- Improve hass_ws_client type hint in tests ([@epenet] - [#89703])
+- Add water sensor to bthome ([@Ernst79] - [#89595])
+- Add typing to statistics results ([@bdraco] - [#89118])
+- Tweak OTBR tests ([@emontnemery] - [#89694])
+- Reduce size of load query to prime event_types and states_meta at startup ([@bdraco] - [#89677])
+- Add diagnostics to Starlink ([@boswelja] - [#86328])
+- Add additional CalendarEvent validation ([@allenporter] - [#89533])
+- Fix infinite loop in sun.sun ([@Swamp-Ig] - [#89723])
+- Fix filtered purge not removing newer events ([@bdraco] - [#89721])
+- Fix additional typing in local calendar tests ([@allenporter] - [#89704])
+- Migrate EventData management to a table manager ([@bdraco] - [#89716])
+- Bump ruff to 0.0.256 ([@epenet] - [#89734])
+- Add turn_on trigger to Samsung TV ([@epenet] - [#89018])
+- Reolink auto quick reply ([@starkillerOG] - [#89656])
+- Make StatesMetaManager thread-safe when an entity_id is fully deleted from the database and than re-added ([@bdraco] - [#89732])
+- Add modbus hvac\_\* write registers ([@janiversen] - [#89695])
+- Make CalendarEntityFeature an IntFlag ([@emontnemery] - [#89733])
+- Address late feedback for SamsungTV ([@epenet] - [#89751])
+- Bump aiolivisi to 0.0.19 ([@StefanIacobLivisi] - [#89752])
+- Bump ical to 4.5.0 ([@allenporter] - [#89744])
+- Add type hints to update coordinator tests ([@epenet] - [#89748])
+- Fix NMBS IndexError ([@PatrickGlesner] - [#89698])
+- Add WAN information to SFR Box ([@epenet] - [#89678])
+- Avoid lingering timers in update coordinator tests ([@epenet] - [#89749])
+- Use `SensorDeviceClass.ENUM` and add state attributes translations in Shelly integration ([@bieniu] - [#89660])
+- Reolink check firmware ([@starkillerOG] - [#88903])
+- Abort Hue config flow if bridge can not be reached ([@marcelveldt] - [#88893])
+- Fix hassio cleanup when addon in uninstalled ([@emontnemery] - [#89756])
+- Move calculation of current value into lib in Fritz!SmartHome ([@mib1185] - [#89150])
+- Improve type hints in condition helper tests ([@epenet] - [#89754])
+- Avoid rounding Starlink sensor data & instead allow configurable precision ([@boswelja] - [#89486])
+- Cache remote app list for vizio TVs ([@raman325] - [#89003])
+- Add keep_days to recorder.purge_entities ([@bdraco] - [#89726])
+- Bump pyblackbird to 0.6 for py3.11 ([@bdraco] - [#89719])
+- Update xknx to 2.7.0 ([@farmio] - [#89765])
+- Remove asyncio.coroutine workarounds ([@bdraco] - [#88560])
+- Migrate StateAttributes to use a table manager ([@bdraco] - [#89760])
+- Fix logbook tests failing because time was not url encoded correctly ([@bdraco] - [#89770])
+- Migrate States to use a table manager ([@bdraco] - [#89769])
+- Small cleanups to recorder history ([@bdraco] - [#89774])
+- Avoid lingering timer on script shutdown ([@epenet] - [#89753])
+- Bump actions/checkout from 3.3.0 to 3.4.0 (@dependabot - [#89778])
+- Fix lingering timer in config entries test ([@epenet] - [#89787])
+- Add type hints to root tests ([@epenet] - [#89785])
+- Fix SFR Box diagnostics ([@epenet] - [#89783])
+- Add type hints to helper tests ([@epenet] - [#89784])
+- Add device class for Landis+Gyr GJ energy sensor ([@vpathuis] - [#89522])
+- Drop unused Google entity settings from cloud ([@emontnemery] - [#89786])
+- Restructure translations for entity components ([@frenck] - [#89702])
+- Add Pushsafer notify parameters ([@appzer] - [#89555])
+- Fix lingering timer in collection helper tests ([@epenet] - [#89793])
+- Add support for constant selector ([@emontnemery] - [#89573])
+- Mqtt prepare test base part1 ([@jbouwh] - [#89796])
+- Add filters to climate and light service descriptions ([@emontnemery] - [#86162])
+- Fix typo in docstr ([@jbouwh] - [#89804])
+- Fix lingering timer in condition tests ([@epenet] - [#89807])
+- Fix lingering timer in event sun tests ([@epenet] - [#89808])
+- Add state attribute translations for calendars ([@frenck] - [#89811])
+- Add state attribute translations for alarm control panel ([@frenck] - [#89809])
+- Add state attribute translations for covers ([@frenck] - [#89812])
+- Add missing state translations for Lock entities ([@frenck] - [#89795])
+- Add state attribute translations for device trackers ([@frenck] - [#89810])
+- Add pre-defined entity name translations ([@frenck] - [#89792])
+- Cleanup get_local_ip in global conftest ([@epenet] - [#89826])
+- Fix lingering timer in bootstrap tests ([@epenet] - [#89790])
+- Voice assistant integration with pipelines ([@synesthesiam] - [#89822])
+- Add freezer to known test fixtures in pylint ([@epenet] - [#89825])
+- Add state attribute translations for locks ([@frenck] - [#89820])
+- Fix lingering timer in event helper tests ([@epenet] - [#89819])
+- Add state attribute translations for fans ([@frenck] - [#89816])
+- Add state attribute translations for automations ([@frenck] - [#89815])
+- Change light white service call attribute to accept True ([@emontnemery] - [#89803])
+- Add local calendar diagnostics platform ([@allenporter] - [#89776])
+- Reduce latency to find stats metadata ([@bdraco] - [#89824])
+- Bump aiobafi6 to 0.8.0 ([@jfroy] - [#89840])
+- Add native_step to baf ([@bdraco] - [#89780])
+- Reduce number of tasks created by compiling missing statistics ([@bdraco] - [#89835])
+- Add tmpdir to known fixtures in pylint ([@epenet] - [#89844])
+- Mark recorder system_health session read_only ([@bdraco] - [#89842])
+- Ensure MockEntityPlatform shuts down after tests ([@epenet] - [#89849])
+- Fix EntityComponent lingering timer in helper tests ([@epenet] - [#89801])
+- Refactor entity manager code in geo_json_events integration ([@exxamalte] - [#89847])
+- Fix misstype translation reference keynames ([@lunmay] - [#89855])
+- Bump hass-nabucasa to 0.61.1 ([@MartinHjelmare] - [#89864])
+- Drop flake8 in favor of Ruff ([@frenck] - [#89863])
+- Upgrade pytest-xdist to 3.2.1 ([@frenck] - [#89857])
+- Drop pyupgrade in favor of Ruff ([@frenck] - [#89865])
+- Add state attribute translations for Number ([@frenck] - [#89881])
+- Add translations for Geolocation ([@frenck] - [#89880])
+- Add translations for Image processing ([@frenck] - [#89879])
+- Improve/extend state translations for Alarm Control Panel ([@frenck] - [#89872])
+- Bump screenlogicpy to v0.8.2 ([@dieselrabbit] - [#89832])
+- Drop autoflake in favor of Ruff ([@frenck] - [#89874])
+- Ensure all recorder session executes use retries or the execute helper ([@bdraco] - [#89888])
+- Add type hints to plex data ([@epenet] - [#89221])
+- Refactor imap coordinator ([@jbouwh] - [#89759])
+- Add state attribute translations for media players ([@frenck] - [#89821])
+- Use json_loads_object util in backup ([@bdraco] - [#89895])
+- Remove the old ix_states_event_id index if its no longer being used ([@bdraco] - [#89901])
+- Fix some I/O in the event loop during backup ([@bdraco] - [#89894])
+- Add state (attribute) translations for Text ([@frenck] - [#89898])
+- Add state attribute translations for Weather ([@frenck] - [#89897])
+- Small cleanups to writing entity state ([@bdraco] - [#89890])
+- Add state attribute translations for Sensor ([@frenck] - [#89896])
+- Add state attribute translations for light ([@frenck] - [#89818])
+- Add Landis+Gyr poll on restart ([@vpathuis] - [#89644])
+- Change README demo to demo.home-assistant.io subdomain ([@djessemoody] - [#89921])
+- Adjust "Lovelace" to "Dashboards" ([@wrt54g] - [#89927])
+- Fix lingering timer in config entry flow tests ([@epenet] - [#89853])
+- Fix ssl context being recreated frequently in httpx ([@bdraco] - [#89932])
+- Update media state via telnet in `denonavr` integration ([@ol-iver] - [#89788])
+- Add KNX interface device with diagnostic entities ([@farmio] - [#89213])
+- Adjust eventloop -> event loop spelling ([@djessemoody] - [#89931])
+- Avoid database executor job to fetch statistic metadata on cache hit ([@bdraco] - [#89960])
+- Guard against selecting all invalid entity_ids in history ([@bdraco] - [#89929])
+- Fix cpu thrashing during purge after all legacy events were removed ([@bdraco] - [#89923])
+- Remove legacy event lookups from logbook ([@bdraco] - [#89945])
+- Remove unneeded lambda_stmt in place add in statistics ([@bdraco] - [#89943])
+- Set unique on StatesMeta and EventTypes database tables ([@bdraco] - [#89971])
+- Avoid joining states_meta for statistics queries ([@bdraco] - [#89941])
+- Retain history when renaming an entity_id ([@bdraco] - [#89963])
+- Shield Reolink webhook callback from cancelation ([@starkillerOG] - [#89798])
+- Rewrite the calendar trigger to fix potential bugs ([@allenporter] - [#89918])
+- Fix statistics schema auto repair when there is bad data ([@bdraco] - [#89903])
+- Fix statistics schema µs precision auto repair being ineffective ([@bdraco] - [#89902])
+- Bump zeroconf to 0.47.4 ([@bdraco] - [#89973])
+- Fail CI on lingering timers ([@epenet] - [#89292])
+- Update django github references to main instead of master branch. ([@djessemoody] - [#89951])
+- Bump bluetooth deps for bleak 0.20 ([@bdraco] - [#89925])
+- Remove deprecated binary update sensor from AVM FRITZ!Box Tools ([@mib1185] - [#89940])
+- Use bluetooth address instead of uuid on MacOS ([@bdraco] - [#89926])
+- Refactor constants in geo_json_events integration ([@exxamalte] - [#89912])
+- Extend attribute state translations for Camera ([@frenck] - [#89876])
+- Adjust state class of Toon monetary sensors ([@frenck] - [#89985])
+- Use default rounding/presentation mechanism for upnp ([@StevenLooman] - [#89954])
+- Remove yaml import from imap integration ([@jbouwh] - [#89981])
+- Add user_input as suggested value in imap config flow ([@jbouwh] - [#89982])
+- Rollback the session after performing stats schema validation ([@bdraco] - [#89904])
+- Mark LiteJet as Platinum integration ([@joncar] - [#88623])
+- Filter out duplicate updates in esphome state dispatch ([@bdraco] - [#89779])
+- Add FTTH information to SFR Box ([@epenet] - [#89781])
+- Introduce a delay between update entity calls ([@raman325] - [#89737])
+- Add door lock device type to matter integration ([@ArturoGuerra] - [#89277])
+- Add mqtt common tests for availability (part2) ([@jbouwh] - [#89805])
+- Fix websocket back pressure bottleneck ([@bdraco] - [#89905])
+- Add support for new Insteon i3 devcies ([@teharris1] - [#89892])
+- Deprecate YAML in SamsungTV ([@epenet] - [#89743]) (deprecation)
+- Prepare MQTT common tests part4 ([@jbouwh] - [#90023])
+- Add state translations for Siren entities ([@frenck] - [#89994])
+- Prepare MQTT common tests part3 ([@jbouwh] - [#90022])
+- Update the calendar trigger based on PR feedback ([@allenporter] - [#90017])
+- Enable inheritance checks on ExtraStoredData ([@epenet] - [#90021])
+- Improve humidifier type hints in integrations ([@epenet] - [#90030])
+- Improve media_player type hints in integrations ([@epenet] - [#90029])
+- Improve sensor type hints in integrations ([@epenet] - [#90031])
+- Improve native_value type hints in integrations ([@epenet] - [#90033])
+- Improve notify type hints in integrations ([@epenet] - [#90034])
+- Improve light type hints in integrations ([@epenet] - [#90035])
+- Add attribute state translations for oscillating fans ([@frenck] - [#89990])
+- Add state translations for Select entities ([@frenck] - [#89995])
+- Add state translations for all day calendar attribute ([@frenck] - [#89988])
+- Improve type hints in tuya vacuum ([@epenet] - [#90041])
+- Correct typing of pymodbus in modbus ([@janiversen] - [#90039])
+- Improve switch and climate type hints in integrations ([@epenet] - [#90040])
+- Guess media type when cast is playing media without media type ([@emontnemery] - [#90048])
+- Only publish mqtt_statestream when MQTT is started ([@jbouwh] - [#89833])
+- Improve type hints in zha fan ([@epenet] - [#90042])
+- Fix fritzbox TypedDict definition ([@epenet] - [#90043])
+- Improve type hints in rachio switch ([@epenet] - [#90050])
+- Fix missing length on context id and incorrect precision with MariaDB (dev only fix) ([@bdraco] - [#90058])
+- Add translations for Counter ([@frenck] - [#89989])
+- Bump reolink-aio to 0.5.6 ([@starkillerOG] - [#90059])
+- Fix translation string for fan oscillation ([@dougiteixeira] - [#90045])
+- Use has_template property from lib in Fritz!SmartHome ([@mib1185] - [#89152])
+- Update twentemilieu to 1.0.0 ([@frenck] - [#90071])
+- Refactor WLED select tests ([@frenck] - [#89219])
+- Make recorder migration column types for each dialect constants ([@bdraco] - [#90072])
+- Break out statistics repairs into a `auto_repairs` modules ([@bdraco] - [#90068])
+- Add TTS to pipelines ([@synesthesiam] - [#90004])
+- Fix generating statistics for time periods smaller than we can measure ([@bdraco] - [#90069])
+- Rename recorder run_history to table_managers.recorder_runs_manager ([@bdraco] - [#90070])
+- Implement data update coordinator for nextcloud ([@mib1185] - [#89652])
+- Prepare MQTT platorm tests part1 ([@jbouwh] - [#90051])
+- YoLink flexfob support ([@matrixd2] - [#90027])
+- Update hass-nabucasa to 0.62.0 ([@balloob] - [#90085])
+- Change error handling in async_process_play_media_url ([@emontnemery] - [#90052])
+- Allow passing binary to the WS connection ([@balloob] - [#89882])
+- Add test helper mock_config_flow ([@emontnemery] - [#90103])
+- Update OTRB config entry if REST API port has changed ([@emontnemery] - [#90101])
+- ZHA network settings API ([@puddly] - [#88564])
+- Update pvo to 1.0.0 ([@frenck] - [#90109])
+- Fix islamic_prayer_times setup ([@emontnemery] - [#90122])
+- Update wled to 0.16.0 ([@frenck] - [#90120])
+- Try to load integration before starting option flow ([@emontnemery] - [#90111])
+- Bump ulid-transform to 0.5.1 ([@bdraco] - [#90123])
+- Deduplicate multiprotocol addon helper ([@emontnemery] - [#90102])
+- Fix switch_as_x entity naming ([@emontnemery] - [#89992])
+- Add schema auto repairs for states tables ([@bdraco] - [#90083])
+- Turn AVM FRITZ!Box Tools sensors into coordinator entities ([@mib1185] - [#89953])
+- Bump PyJWT to 2.6.0 ([@bdraco] - [#90134])
+- Fix index not being dropped on postgresql databases with a schema prefix ([@bdraco] - [#90144])
+- Add auto repairs for events schema ([@bdraco] - [#90136])
+- Cache decode of JWT tokens ([@bdraco] - [#90013])
+- Use rel_url for looking up frontend panels ([@bdraco] - [#90149])
+- Add health mode to gree integration ([@solazs] - [#89764])
+- Simplify some multi pan code ([@emontnemery] - [#90135])
+- Bump bimmer_connected to 0.13.0 ([@rikroe] - [#90127])
+- Bump pyrympro to 0.0.7 ([@OnFreund] - [#90118])
+- Bump actions/stale from 7.0.0 to 8.0.0 (@dependabot - [#90155])
+- Tweak multiprotocol tests ([@emontnemery] - [#90163])
+- Update powerwall strings for newer models ([@bdraco] - [#90151])
+- Adjust scaffold docstring ([@epenet] - [#90157])
+- Use snapshot test for Landis+Gyr ([@vpathuis] - [#90126])
+- Add codeowner Workday ([@gjohansson-ST] - [#90167])
+- Add constants file for Brottsplatskartan ([@gjohansson-ST] - [#90165])
+- Add constants file to workday ([@gjohansson-ST] - [#90168])
+- Update pydantic to 1.10.7 ([@cdce8p] - [#90164])
+- Remove unecessary variable in control4 ([@nalin29] - [#90176])
+- Improve logging for unavailable sonos hosts ([@PeteRager] - [#90172])
+- Add Landis+Gyr missing device class ([@vpathuis] - [#90182])
+- Bump pyControl4 to 1.1.0 ([@nalin29] - [#90115])
+- Cleanup some leftovers for Landis+Gyr ([@vpathuis] - [#90183])
+- Prepare MQTT platform tests part2 ([@jbouwh] - [#90105])
+- Prepare MQTT platform tests part3 ([@jbouwh] - [#90106])
+- Prepare MQTT platform tests part4 ([@jbouwh] - [#90107])
+- Prepare MQTT platform tests part8 ([@jbouwh] - [#90132])
+- Prepare MQTT platform tests part9 ([@jbouwh] - [#90133])
+- Add speech to text over binary websocket to pipeline ([@synesthesiam] - [#90082])
+- Fix missing mock in islamic_prayer_times ([@epenet] - [#90178])
+- Avoid calling the http access logging when logging is disabled ([@bdraco] - [#90152])
+- Fix recorder attribute excludes not being effective until after startup ([@bdraco] - [#90198])
+- Remove async_response from websocket apis where nothing was being awaited ([@bdraco] - [#90204])
+- Fix refactoring error in states/events context id migration ([@bdraco] - [#90193])
+- Small cleanups to logbook statement generator ([@bdraco] - [#90200])
+- Add icons for qbittorrent speed sensors ([@chrisx8] - [#90203])
+- Fix httpx client creating a new ssl context with each client (memory leak) ([@bdraco] - [#90191])
+- Prepare MQTT platform tests part5 ([@jbouwh] - [#90108])
+- Prepare MQTT platform tests part6 ([@jbouwh] - [#90129])
+- Prepare MQTT platform tests part7 ([@jbouwh] - [#90130])
+- Use helper on tests MQTT fan platform ([@jbouwh] - [#90196])
+- Rename create_api_object to be private ([@nalin29] - [#90187])
+- Remove incorrect parametrize decorator ([@jbouwh] - [#90219])
+- Rework UniFi wireless client "wired bug" logic ([@Kane610] - [#89757])
+- Remove duplicate code in livisi coordinator ([@planbnet] - [#90227])
+- Bump actions/checkout from 3.4.0 to 3.5.0 (@dependabot - [#90215])
+- Move qbittorrent constants to const.py ([@chrisx8] - [#90201])
+- Add a faster query for get_last_state_changes when the number of states is 1 ([@bdraco] - [#90211])
+- Add livisi window sensor (WDS) ([@planbnet] - [#90220])
+- Subclass aiohttp requests to use json helper ([@bdraco] - [#90214])
+- Use the json load helper in a few more incoming web requests ([@bdraco] - [#90194])
+- Bump aiounifi to v45 ([@Kane610] - [#90250])
+- Add missing type hints to tests ([@epenet] - [#90218])
+- Improve browse_media type hints in media player ([@epenet] - [#90060])
+- Refactor Gree switch to use EntityDescription ([@jeeftor] - [#90143])
+- Check for empty lists in KNX address configuration ([@farmio] - [#90249])
+- Allow passing an optional name to async_track_time_interval ([@bdraco] - [#90244])
+- Add location field to calendar create_event service supported by Google Calendar and Local Calendar ([@luca-angemi] - [#90098])
+- Update vehicle to 1.0.0 ([@frenck] - [#90189])
+- Bump sqlalchemy to 2.0.7 ([@bdraco] - [#90256])
+- Add Re-Auth to bmw_connected_drive ([@rikroe] - [#90251])
+- Add entity name translations to Elgato ([@frenck] - [#89629])
+- Remove platform yaml radiotherm ([@gjohansson-ST] - [#90284])
+- Add sensor platform to Sun ([@gjohansson-ST] - [#81045])
+- Bump bleak-retry-connector to 3.0.2 ([@bdraco] - [#90279])
+- Remove Magicseaweed ([@gjohansson-ST] - [#90277])
+- Bump bleak to 0.20.1 ([@bdraco] - [#90282])
+- Remove pushbullet platform yaml import ([@gjohansson-ST] - [#90285])
+- Remove Volvooncall integration yaml import ([@gjohansson-ST] - [#90288])
+- Strict typing of UniFi integration ([@Kane610] - [#90278])
+- Adjust IntFlag handling in syrupy ([@epenet] - [#90223])
+- Adjust pylint plugin for components fixtures ([@epenet] - [#90217])
+- Use SnapshotAssertion in bmw_connected_drive tests ([@rikroe] - [#90128])
+- Adjust pylint plugin for return type inheritance ([@epenet] - [#90046])
+- Update Verisure package to 2.6.1 ([@niro1987] - [#89318])
+- Use SnapshotAssertion in gree switch tests ([@epenet] - [#90222])
+- Adjust targets type hint in notify platform ([@epenet] - [#90062])
+- Improve get_browse_image type hints in media player ([@epenet] - [#90057])
+- Fix pylint plugin for tuple[float, float] returns ([@epenet] - [#90047])
+- Add WLED IP as a sensor ([@a-baturin] - [#90241])
+- Implement config flow for nextcloud ([@mib1185] - [#89396]) (config-flow)
+- [Issue template] Point to health page for version info ([@igorsantos07] - [#80708])
+- Update pipdeptree to 2.7.0 ([@frenck] - [#90312])
+- Fix Todoist end date for all day event ([@boralyl] - [#89837])
+- Bump ical to 4.5.1 and set PRODID for home assistant in local calendar ics ([@allenporter] - [#90291])
+- Bump ihcsdk to 2.8.5 ([@dingusdk] - [#90266])
+- Set qbittorrent integration_type to service ([@chrisx8] - [#90236])
+- Improve onewire test coverage ([@epenet] - [#90184])
+- Add milliseconds as valid duration sensor unit ([@raman325] - [#90018])
+- Apply late review comments from #89396 in Nextcloud ([@mib1185] - [#90327])
+- Add last trip time attribute to Verisure binary sensors ([@skrynklarn] - [#89944])
+- Bump cryptography to 40.0.1 ([@bdraco] - [#90326])
+- Bump aioesphomeapi to 13.6.0 ([@bdraco] - [#90330])
+- Upgrade netgear_lte third-party library to v0.0.15 ([@amelchio] - [#90324])
+- Fix sql doing I/O in the event loop at startup ([@bdraco] - [#90335])
+- Clean up voice assistant integration ([@balloob] - [#90239])
+- Remove deprecated platform yaml in Scrape ([@gjohansson-ST] - [#90272])
+- Cleanup name assignment imap sensor ([@jbouwh] - [#90306])
+- Add support for clearing the on device GATT cache to esphome ([@bdraco] - [#90318])
+- Use lambda in gree switch ([@epenet] - [#90316])
+- Use SnapshotAssertion in gree climate tests ([@epenet] - [#90339])
+- Adjust tts default_options type hints ([@epenet] - [#90053])
+- Revert "Fix NMBS IndexError" ([@PatrickGlesner] - [#90346])
+- Reolink add auto tracking entities ([@starkillerOG] - [#90063])
+- Bump reolink-aio to 0.5.7 ([@starkillerOG] - [#90344])
+- Add option flow for imap integration ([@jbouwh] - [#89914])
+- Bump python-holidays to 0.21.13 ([@jgoguen] - [#89724])
+- Bump zwave-js-server-python to 0.47.0 ([@raman325] - [#90212])
+- Fix pylint plugin for binary websocket ([@epenet] - [#90351])
+- Remove incorrect ignore in pylint plugin ([@epenet] - [#90024])
+- Rewrite tts tests ([@emontnemery] - [#90355])
+- Bump lifx dependencies ([@Djelibeybi] - [#90345])
+- Move Proxmox VE constants ([@dougiteixeira] - [#90357])
+- Remove unreachable continue statement in imap push coordinator ([@jbouwh] - [#90361])
+- Use entity name translations in Verisure ([@frenck] - [#90362])
+- Fix `quirk_class_validator` in ZHA unit tests ([@javicalle] - [#90140])
+- Filter out ASCII tab or newline from input URLs ([@frenck] - [#90348])
+- Add "stream" to default_config ([@tsbernar] - [#90153])
+- Add state translations for Script entities ([@frenck] - [#90354])
+- Improve tts test coverage ([@emontnemery] - [#90370])
+- Clean dead code from matter ([@MartinHjelmare] - [#90369])
+- Add RestoreEntity pylint checks to all platforms ([@epenet] - [#90020])
+- Add reauth flow to dormakaba dkey ([@emontnemery] - [#90225])
+- Fail CI if codecov upload fails ([@frenck] - [#90363])
+- Cleanup command_line ([@gjohansson-ST] - [#90268])
+- Fix generic_hygrostat error at startup ([@Shulyaka] - [#88764])
+- Support toggling debug logging for custom components ([@jbergler] - [#90340])
+- Add state translations for helpers ([@frenck] - [#90356])
+- Refactor matter device entity value conversion ([@MartinHjelmare] - [#90368])
+- Workday cleanup ([@gjohansson-ST] - [#90267])
+- Bump aiodiscover to 1.4.15 ([@bdraco] - [#90383])
+- Bump nextcloudmonitor to 1.4.0 ([@mib1185] - [#90372])
+- Bump proxmoxer to 2.0.1 in Proxmox VE ([@dougiteixeira] - [#90378])
+- Improve airq handling of DeviceInfo ([@Sibgatulin] - [#90232])
+- Set default value for some Fronius entities ([@farmio] - [#89475])
+- Add lru stats to the profiler integration ([@bdraco] - [#90388])
+- Refactor GIOS sensor platform ([@bieniu] - [#89389])
+- Turn AVM FRITZ!Box Tools binary sensors into coordinator entities ([@mib1185] - [#89955])
+- Handle uncaught exceptions during update in Aladdin_connect ([@mkmer] - [#89889])
+- Add Mikrotik WifiWave2 ([@lcosmin] - [#89711])
+- Allow reloading iZone config entry ([@Swamp-Ig] - [#89572])
+- Add SharkIQ EU region support ([@funkybunch] - [#89349])
+- Add phase information to YouLess ([@gjong] - [#89255])
+- Improve threshold binary sensor ([@emontnemery] - [#88978])
+- Display only supported Home Connect appliance programs ([@stickpin] - [#88801])
+- Add re-auth support to philips_js ([@elupus] - [#88774])
+- Add a calendar entity to Ridwell ([@bachya] - [#88108])
+- Look up todoist collaborators only when adding new task ([@boralyl] - [#87957])
+- Add product calculation to Group sensor ([@gjohansson-ST] - [#87373])
+- Bump pychromecast to 13.0.6 ([@emontnemery] - [#90390])
+- Remove dependency on async_setup from mqtt integration ([@jbouwh] - [#87987])
+- Redact secret zwave values in diagnostics ([@raman325] - [#90389])
+- Improve Proxmox VE type hints ([@dougiteixeira] - [#90359])
+- Use shorthand attributes in IHC ([@dingusdk] - [#90350])
+- Speed up profiler lru test ([@bdraco] - [#90395])
+- Add callback support to nuki ([@pree] - [#88346])
+- Display unit of elevation in met config flow ([@chrisx8] - [#88283])
+- Fix ridwell tests ([@epenet] - [#90401])
+- Fix setting color + brightness of Tuya lights ([@BNolet] - [#88470])
+- Use slots for recorder tasks to reduce memory ([@bdraco] - [#90387])
+- Update calendar to always request start/end dates in local time rather than UTC ([@allenporter] - [#90386])
+- Make OTBR use same channel as ZHA ([@emontnemery] - [#88546])
+- Add encoding configuration setting to REST and Scape ([@olivierouellet] - [#90254])
+- Add device info to Nextcloud integration ([@mib1185] - [#90328])
+- Bump python-bsblan to 0.5.11 ([@liudger] - [#90377])
+- Fix benign typo in discovery flow helper ([@bdraco] - [#90396])
+- Fix envoy last_seven_days_energy\* state class ([@jmuf] - [#84528])
+- Remove mysensors notify ([@MartinHjelmare] - [#90402])
+- Remove lru_cache on websocket \_state_diff ([@bdraco] - [#90392])
+- Fix NMBS IndexError ([@PatrickGlesner] - [#90365])
+- Update transmission up/down speed values ([@gapple] - [#88528])
+- TP-Link Omada update entities code review feedback ([@MarkGodwin] - [#89668])
+- Remove mysensors ir switch ([@MartinHjelmare] - [#90403])
+- Have octoprint camera respect verify_ssl configuration ([@rfleming71] - [#90384])
+- Add support for select entities in velbus ([@Cereal2nd] - [#87568])
+- Refactor Tado to use entity descriptions and new naming style ([@avee87] - [#75750])
+- Add HTML support for Google Mail messages ([@tkdrob] - [#87201])
+- Fix Notify Group payload data mis-merge ([@arychj] - [#90253])
+- Improve airq test coverage ([@Sibgatulin] - [#90192])
+- Add panel brightness control for Litter-Robot 4 ([@natekspencer] - [#86269])
+- Add minutely updates to relative_time and today_at template functions ([@Petro31] - [#86815])
+- Don't rely on the demo integration in voice_assistant tests ([@emontnemery] - [#90405])
+- Add rest encoding test ([@epenet] - [#90404])
+- Replace comments with docstring in ColorMode enum ([@epenet] - [#90408])
+- Add brand for HomeSeer ([@b-uwe] - [#90066])
+- Disable esphome stopping a cover if the cover doesn't support stopping ([@amomchilov] - [#80104])
+- Add switch tests for devolo_home_control ([@Shutgun] - [#80154])
+- Add tests to Lidarr ([@tkdrob] - [#79610])
+- Add basic tests for temper USB temperature sensor integration ([@davet2001] - [#80220])
+- Simplify qbittorrent sensor class init ([@chrisx8] - [#90411])
+- Add has_value function/test to Jinja2 template ([@ehendrix23] - [#79550])
+- Add periodically resetting meter option to utility meter ([@Wesley-Vos] - [#88446])
+- Add connected relayer region to system health ([@ludeeus] - [#90410])
+- Blebox cover tilt ([@riokuu] - [#85515])
+- Don't use force_update for Tasmota sensors ([@DerEnderKeks] - [#85943])
+- Update zwave-me-ws version to 0.3.6 ([@lawfulchaos] - [#90233])
+- Refactor ZHA binary sensors to read from zigpy cache ([@TheJulianJES] - [#89481])
+- Add DataUpdateCoordinator to the Todoist integration ([@boralyl] - [#89836])
+- Ensure filters are generated inside the lambda locks ([@bdraco] - [#90418])
+- Implement imap_content event for imap integration ([@jbouwh] - [#90242])
+- Check webhook url is reachable in Reolink ([@starkillerOG] - [#89585])
+- Catch somecomfort error in Honeywell ([@mkmer] - [#90425])
+- Add header with parsed date to imap event data ([@jbouwh] - [#90422])
+- Rework recorder filters to avoid caching mistakes ([@bdraco] - [#90419])
+- Write protect entity options ([@emontnemery] - [#90185])
+- Add goodwe sensors for apparent/reactive pwr ([@mletenay] - [#87940])
+- Add sqlalchemy LRUs to the profiler lru service ([@bdraco] - [#90428])
+- Add binding of IKEA Matter Switch cluster in ZHA ([@MattWestb] - [#89623])
+- Bump onvif-zeep-async to 1.2.3 ([@bdraco] - [#90382])
+- Bump ZHA quirks to 0.0.95 ([@dmulcahey] - [#90435])
+- Add Aqara E1 thermostat entities to ZHA ([@TheJulianJES] - [#90158])
+- Add Aqara smoke sensor entities to ZHA ([@TheJulianJES] - [#90159])
+- Migrate ssdp to config_flow for frontier_silicon ([@wlcrs] - [#89496])
+- Remove unused types argument in statistics query generation ([@bdraco] - [#90431])
+- Reduce cache key size for queries that only need single columns ([@bdraco] - [#90430])
+- OpenAI to use GPT3.5 ([@balloob] - [#90423])
+- Fix unbound variable in sql when session setup fails ([@bdraco] - [#90439])
+- Isolate the sql integration with a separate query cache ([@bdraco] - [#90438])
+- Fix data issue for energyzero during midnight ([@klaasnicolaas] - [#90433])
+- Fix data issue for easyEnergy during midnight ([@klaasnicolaas] - [#90434])
+- Bump yalexs-ble to 2.1.13 ([@bdraco] - [#90442])
+- Limit observations requested for NWS ([@MatthewFlamm] - [#90137])
+- Add new sensors to airq ([@Sibgatulin] - [#90413])
+- Reolink improve config flow login ([@starkillerOG] - [#90036])
+- Fix goodwe export limit unit on single phase DT inverters ([@mletenay] - [#90427])
+- Make abort_entries_match available in options flow ([@epenet] - [#90406])
+- Bump home-assistant-intents to 2023.3.29 ([@balloob] - [#90459])
+- Bump python-matter-server to 3.2.0 ([@marcelveldt] - [#90457])
+- Add verify ssl option to nextcloud ([@mib1185] - [#90462])
+- Bump zwave-js-server-python to 0.47.1 ([@raman325] - [#90464])
+- Update frontend to 20230329.0 ([@bramkragten] - [#90461])
+- Allow resetting filters for waze_travel_time ([@eifinger] - [#88253])
+- Add re-auth flow to nextcloud ([@mib1185] - [#90472])
+- Rename custom_jinja to custom_templates ([@emontnemery] - [#90473])
+
+[#64365]: https://github.com/home-assistant/core/pull/64365
+[#73893]: https://github.com/home-assistant/core/pull/73893
+[#75750]: https://github.com/home-assistant/core/pull/75750
+[#76049]: https://github.com/home-assistant/core/pull/76049
+[#76428]: https://github.com/home-assistant/core/pull/76428
+[#77857]: https://github.com/home-assistant/core/pull/77857
+[#79550]: https://github.com/home-assistant/core/pull/79550
+[#79610]: https://github.com/home-assistant/core/pull/79610
+[#79715]: https://github.com/home-assistant/core/pull/79715
+[#79732]: https://github.com/home-assistant/core/pull/79732
+[#80104]: https://github.com/home-assistant/core/pull/80104
+[#80154]: https://github.com/home-assistant/core/pull/80154
+[#80220]: https://github.com/home-assistant/core/pull/80220
+[#80490]: https://github.com/home-assistant/core/pull/80490
+[#80708]: https://github.com/home-assistant/core/pull/80708
+[#80741]: https://github.com/home-assistant/core/pull/80741
+[#80838]: https://github.com/home-assistant/core/pull/80838
+[#81045]: https://github.com/home-assistant/core/pull/81045
+[#81212]: https://github.com/home-assistant/core/pull/81212
+[#81214]: https://github.com/home-assistant/core/pull/81214
+[#81222]: https://github.com/home-assistant/core/pull/81222
+[#82786]: https://github.com/home-assistant/core/pull/82786
+[#83380]: https://github.com/home-assistant/core/pull/83380
+[#84528]: https://github.com/home-assistant/core/pull/84528
+[#84942]: https://github.com/home-assistant/core/pull/84942
+[#85418]: https://github.com/home-assistant/core/pull/85418
+[#85436]: https://github.com/home-assistant/core/pull/85436
+[#85515]: https://github.com/home-assistant/core/pull/85515
+[#85668]: https://github.com/home-assistant/core/pull/85668
+[#85681]: https://github.com/home-assistant/core/pull/85681
+[#85943]: https://github.com/home-assistant/core/pull/85943
+[#86162]: https://github.com/home-assistant/core/pull/86162
+[#86269]: https://github.com/home-assistant/core/pull/86269
+[#86328]: https://github.com/home-assistant/core/pull/86328
+[#86350]: https://github.com/home-assistant/core/pull/86350
+[#86691]: https://github.com/home-assistant/core/pull/86691
+[#86815]: https://github.com/home-assistant/core/pull/86815
+[#87108]: https://github.com/home-assistant/core/pull/87108
+[#87201]: https://github.com/home-assistant/core/pull/87201
+[#87373]: https://github.com/home-assistant/core/pull/87373
+[#87389]: https://github.com/home-assistant/core/pull/87389
+[#87536]: https://github.com/home-assistant/core/pull/87536
+[#87568]: https://github.com/home-assistant/core/pull/87568
+[#87573]: https://github.com/home-assistant/core/pull/87573
+[#87653]: https://github.com/home-assistant/core/pull/87653
+[#87655]: https://github.com/home-assistant/core/pull/87655
+[#87671]: https://github.com/home-assistant/core/pull/87671
+[#87846]: https://github.com/home-assistant/core/pull/87846
+[#87869]: https://github.com/home-assistant/core/pull/87869
+[#87932]: https://github.com/home-assistant/core/pull/87932
+[#87940]: https://github.com/home-assistant/core/pull/87940
+[#87943]: https://github.com/home-assistant/core/pull/87943
+[#87946]: https://github.com/home-assistant/core/pull/87946
+[#87957]: https://github.com/home-assistant/core/pull/87957
+[#87987]: https://github.com/home-assistant/core/pull/87987
+[#88003]: https://github.com/home-assistant/core/pull/88003
+[#88108]: https://github.com/home-assistant/core/pull/88108
+[#88217]: https://github.com/home-assistant/core/pull/88217
+[#88242]: https://github.com/home-assistant/core/pull/88242
+[#88253]: https://github.com/home-assistant/core/pull/88253
+[#88283]: https://github.com/home-assistant/core/pull/88283
+[#88310]: https://github.com/home-assistant/core/pull/88310
+[#88312]: https://github.com/home-assistant/core/pull/88312
+[#88342]: https://github.com/home-assistant/core/pull/88342
+[#88346]: https://github.com/home-assistant/core/pull/88346
+[#88441]: https://github.com/home-assistant/core/pull/88441
+[#88446]: https://github.com/home-assistant/core/pull/88446
+[#88470]: https://github.com/home-assistant/core/pull/88470
+[#88484]: https://github.com/home-assistant/core/pull/88484
+[#88509]: https://github.com/home-assistant/core/pull/88509
+[#88522]: https://github.com/home-assistant/core/pull/88522
+[#88528]: https://github.com/home-assistant/core/pull/88528
+[#88546]: https://github.com/home-assistant/core/pull/88546
+[#88557]: https://github.com/home-assistant/core/pull/88557
+[#88560]: https://github.com/home-assistant/core/pull/88560
+[#88564]: https://github.com/home-assistant/core/pull/88564
+[#88571]: https://github.com/home-assistant/core/pull/88571
+[#88579]: https://github.com/home-assistant/core/pull/88579
+[#88580]: https://github.com/home-assistant/core/pull/88580
+[#88581]: https://github.com/home-assistant/core/pull/88581
+[#88582]: https://github.com/home-assistant/core/pull/88582
+[#88585]: https://github.com/home-assistant/core/pull/88585
+[#88593]: https://github.com/home-assistant/core/pull/88593
+[#88599]: https://github.com/home-assistant/core/pull/88599
+[#88603]: https://github.com/home-assistant/core/pull/88603
+[#88610]: https://github.com/home-assistant/core/pull/88610
+[#88611]: https://github.com/home-assistant/core/pull/88611
+[#88619]: https://github.com/home-assistant/core/pull/88619
+[#88623]: https://github.com/home-assistant/core/pull/88623
+[#88625]: https://github.com/home-assistant/core/pull/88625
+[#88627]: https://github.com/home-assistant/core/pull/88627
+[#88629]: https://github.com/home-assistant/core/pull/88629
+[#88630]: https://github.com/home-assistant/core/pull/88630
+[#88636]: https://github.com/home-assistant/core/pull/88636
+[#88640]: https://github.com/home-assistant/core/pull/88640
+[#88657]: https://github.com/home-assistant/core/pull/88657
+[#88658]: https://github.com/home-assistant/core/pull/88658
+[#88666]: https://github.com/home-assistant/core/pull/88666
+[#88669]: https://github.com/home-assistant/core/pull/88669
+[#88674]: https://github.com/home-assistant/core/pull/88674
+[#88679]: https://github.com/home-assistant/core/pull/88679
+[#88682]: https://github.com/home-assistant/core/pull/88682
+[#88684]: https://github.com/home-assistant/core/pull/88684
+[#88687]: https://github.com/home-assistant/core/pull/88687
+[#88692]: https://github.com/home-assistant/core/pull/88692
+[#88694]: https://github.com/home-assistant/core/pull/88694
+[#88697]: https://github.com/home-assistant/core/pull/88697
+[#88700]: https://github.com/home-assistant/core/pull/88700
+[#88713]: https://github.com/home-assistant/core/pull/88713
+[#88754]: https://github.com/home-assistant/core/pull/88754
+[#88762]: https://github.com/home-assistant/core/pull/88762
+[#88764]: https://github.com/home-assistant/core/pull/88764
+[#88770]: https://github.com/home-assistant/core/pull/88770
+[#88772]: https://github.com/home-assistant/core/pull/88772
+[#88774]: https://github.com/home-assistant/core/pull/88774
+[#88786]: https://github.com/home-assistant/core/pull/88786
+[#88801]: https://github.com/home-assistant/core/pull/88801
+[#88803]: https://github.com/home-assistant/core/pull/88803
+[#88804]: https://github.com/home-assistant/core/pull/88804
+[#88808]: https://github.com/home-assistant/core/pull/88808
+[#88809]: https://github.com/home-assistant/core/pull/88809
+[#88813]: https://github.com/home-assistant/core/pull/88813
+[#88820]: https://github.com/home-assistant/core/pull/88820
+[#88823]: https://github.com/home-assistant/core/pull/88823
+[#88824]: https://github.com/home-assistant/core/pull/88824
+[#88828]: https://github.com/home-assistant/core/pull/88828
+[#88829]: https://github.com/home-assistant/core/pull/88829
+[#88834]: https://github.com/home-assistant/core/pull/88834
+[#88835]: https://github.com/home-assistant/core/pull/88835
+[#88843]: https://github.com/home-assistant/core/pull/88843
+[#88844]: https://github.com/home-assistant/core/pull/88844
+[#88849]: https://github.com/home-assistant/core/pull/88849
+[#88850]: https://github.com/home-assistant/core/pull/88850
+[#88851]: https://github.com/home-assistant/core/pull/88851
+[#88853]: https://github.com/home-assistant/core/pull/88853
+[#88856]: https://github.com/home-assistant/core/pull/88856
+[#88859]: https://github.com/home-assistant/core/pull/88859
+[#88862]: https://github.com/home-assistant/core/pull/88862
+[#88863]: https://github.com/home-assistant/core/pull/88863
+[#88870]: https://github.com/home-assistant/core/pull/88870
+[#88873]: https://github.com/home-assistant/core/pull/88873
+[#88875]: https://github.com/home-assistant/core/pull/88875
+[#88878]: https://github.com/home-assistant/core/pull/88878
+[#88879]: https://github.com/home-assistant/core/pull/88879
+[#88880]: https://github.com/home-assistant/core/pull/88880
+[#88881]: https://github.com/home-assistant/core/pull/88881
+[#88882]: https://github.com/home-assistant/core/pull/88882
+[#88883]: https://github.com/home-assistant/core/pull/88883
+[#88884]: https://github.com/home-assistant/core/pull/88884
+[#88891]: https://github.com/home-assistant/core/pull/88891
+[#88893]: https://github.com/home-assistant/core/pull/88893
+[#88898]: https://github.com/home-assistant/core/pull/88898
+[#88899]: https://github.com/home-assistant/core/pull/88899
+[#88900]: https://github.com/home-assistant/core/pull/88900
+[#88903]: https://github.com/home-assistant/core/pull/88903
+[#88905]: https://github.com/home-assistant/core/pull/88905
+[#88906]: https://github.com/home-assistant/core/pull/88906
+[#88913]: https://github.com/home-assistant/core/pull/88913
+[#88914]: https://github.com/home-assistant/core/pull/88914
+[#88916]: https://github.com/home-assistant/core/pull/88916
+[#88918]: https://github.com/home-assistant/core/pull/88918
+[#88923]: https://github.com/home-assistant/core/pull/88923
+[#88938]: https://github.com/home-assistant/core/pull/88938
+[#88939]: https://github.com/home-assistant/core/pull/88939
+[#88942]: https://github.com/home-assistant/core/pull/88942
+[#88944]: https://github.com/home-assistant/core/pull/88944
+[#88946]: https://github.com/home-assistant/core/pull/88946
+[#88947]: https://github.com/home-assistant/core/pull/88947
+[#88948]: https://github.com/home-assistant/core/pull/88948
+[#88949]: https://github.com/home-assistant/core/pull/88949
+[#88950]: https://github.com/home-assistant/core/pull/88950
+[#88951]: https://github.com/home-assistant/core/pull/88951
+[#88953]: https://github.com/home-assistant/core/pull/88953
+[#88957]: https://github.com/home-assistant/core/pull/88957
+[#88959]: https://github.com/home-assistant/core/pull/88959
+[#88960]: https://github.com/home-assistant/core/pull/88960
+[#88964]: https://github.com/home-assistant/core/pull/88964
+[#88965]: https://github.com/home-assistant/core/pull/88965
+[#88967]: https://github.com/home-assistant/core/pull/88967
+[#88972]: https://github.com/home-assistant/core/pull/88972
+[#88973]: https://github.com/home-assistant/core/pull/88973
+[#88977]: https://github.com/home-assistant/core/pull/88977
+[#88978]: https://github.com/home-assistant/core/pull/88978
+[#88982]: https://github.com/home-assistant/core/pull/88982
+[#88991]: https://github.com/home-assistant/core/pull/88991
+[#89003]: https://github.com/home-assistant/core/pull/89003
+[#89008]: https://github.com/home-assistant/core/pull/89008
+[#89011]: https://github.com/home-assistant/core/pull/89011
+[#89017]: https://github.com/home-assistant/core/pull/89017
+[#89018]: https://github.com/home-assistant/core/pull/89018
+[#89019]: https://github.com/home-assistant/core/pull/89019
+[#89026]: https://github.com/home-assistant/core/pull/89026
+[#89028]: https://github.com/home-assistant/core/pull/89028
+[#89033]: https://github.com/home-assistant/core/pull/89033
+[#89035]: https://github.com/home-assistant/core/pull/89035
+[#89036]: https://github.com/home-assistant/core/pull/89036
+[#89043]: https://github.com/home-assistant/core/pull/89043
+[#89044]: https://github.com/home-assistant/core/pull/89044
+[#89070]: https://github.com/home-assistant/core/pull/89070
+[#89071]: https://github.com/home-assistant/core/pull/89071
+[#89077]: https://github.com/home-assistant/core/pull/89077
+[#89078]: https://github.com/home-assistant/core/pull/89078
+[#89079]: https://github.com/home-assistant/core/pull/89079
+[#89080]: https://github.com/home-assistant/core/pull/89080
+[#89085]: https://github.com/home-assistant/core/pull/89085
+[#89088]: https://github.com/home-assistant/core/pull/89088
+[#89091]: https://github.com/home-assistant/core/pull/89091
+[#89093]: https://github.com/home-assistant/core/pull/89093
+[#89100]: https://github.com/home-assistant/core/pull/89100
+[#89110]: https://github.com/home-assistant/core/pull/89110
+[#89112]: https://github.com/home-assistant/core/pull/89112
+[#89117]: https://github.com/home-assistant/core/pull/89117
+[#89118]: https://github.com/home-assistant/core/pull/89118
+[#89124]: https://github.com/home-assistant/core/pull/89124
+[#89126]: https://github.com/home-assistant/core/pull/89126
+[#89140]: https://github.com/home-assistant/core/pull/89140
+[#89141]: https://github.com/home-assistant/core/pull/89141
+[#89145]: https://github.com/home-assistant/core/pull/89145
+[#89150]: https://github.com/home-assistant/core/pull/89150
+[#89152]: https://github.com/home-assistant/core/pull/89152
+[#89153]: https://github.com/home-assistant/core/pull/89153
+[#89158]: https://github.com/home-assistant/core/pull/89158
+[#89160]: https://github.com/home-assistant/core/pull/89160
+[#89161]: https://github.com/home-assistant/core/pull/89161
+[#89162]: https://github.com/home-assistant/core/pull/89162
+[#89163]: https://github.com/home-assistant/core/pull/89163
+[#89164]: https://github.com/home-assistant/core/pull/89164
+[#89166]: https://github.com/home-assistant/core/pull/89166
+[#89168]: https://github.com/home-assistant/core/pull/89168
+[#89169]: https://github.com/home-assistant/core/pull/89169
+[#89171]: https://github.com/home-assistant/core/pull/89171
+[#89174]: https://github.com/home-assistant/core/pull/89174
+[#89179]: https://github.com/home-assistant/core/pull/89179
+[#89190]: https://github.com/home-assistant/core/pull/89190
+[#89192]: https://github.com/home-assistant/core/pull/89192
+[#89193]: https://github.com/home-assistant/core/pull/89193
+[#89196]: https://github.com/home-assistant/core/pull/89196
+[#89197]: https://github.com/home-assistant/core/pull/89197
+[#89201]: https://github.com/home-assistant/core/pull/89201
+[#89208]: https://github.com/home-assistant/core/pull/89208
+[#89211]: https://github.com/home-assistant/core/pull/89211
+[#89212]: https://github.com/home-assistant/core/pull/89212
+[#89213]: https://github.com/home-assistant/core/pull/89213
+[#89217]: https://github.com/home-assistant/core/pull/89217
+[#89219]: https://github.com/home-assistant/core/pull/89219
+[#89221]: https://github.com/home-assistant/core/pull/89221
+[#89226]: https://github.com/home-assistant/core/pull/89226
+[#89230]: https://github.com/home-assistant/core/pull/89230
+[#89234]: https://github.com/home-assistant/core/pull/89234
+[#89236]: https://github.com/home-assistant/core/pull/89236
+[#89238]: https://github.com/home-assistant/core/pull/89238
+[#89239]: https://github.com/home-assistant/core/pull/89239
+[#89240]: https://github.com/home-assistant/core/pull/89240
+[#89242]: https://github.com/home-assistant/core/pull/89242
+[#89255]: https://github.com/home-assistant/core/pull/89255
+[#89268]: https://github.com/home-assistant/core/pull/89268
+[#89273]: https://github.com/home-assistant/core/pull/89273
+[#89276]: https://github.com/home-assistant/core/pull/89276
+[#89277]: https://github.com/home-assistant/core/pull/89277
+[#89279]: https://github.com/home-assistant/core/pull/89279
+[#89282]: https://github.com/home-assistant/core/pull/89282
+[#89283]: https://github.com/home-assistant/core/pull/89283
+[#89284]: https://github.com/home-assistant/core/pull/89284
+[#89285]: https://github.com/home-assistant/core/pull/89285
+[#89286]: https://github.com/home-assistant/core/pull/89286
+[#89287]: https://github.com/home-assistant/core/pull/89287
+[#89292]: https://github.com/home-assistant/core/pull/89292
+[#89302]: https://github.com/home-assistant/core/pull/89302
+[#89303]: https://github.com/home-assistant/core/pull/89303
+[#89309]: https://github.com/home-assistant/core/pull/89309
+[#89310]: https://github.com/home-assistant/core/pull/89310
+[#89316]: https://github.com/home-assistant/core/pull/89316
+[#89317]: https://github.com/home-assistant/core/pull/89317
+[#89318]: https://github.com/home-assistant/core/pull/89318
+[#89321]: https://github.com/home-assistant/core/pull/89321
+[#89327]: https://github.com/home-assistant/core/pull/89327
+[#89335]: https://github.com/home-assistant/core/pull/89335
+[#89336]: https://github.com/home-assistant/core/pull/89336
+[#89337]: https://github.com/home-assistant/core/pull/89337
+[#89338]: https://github.com/home-assistant/core/pull/89338
+[#89339]: https://github.com/home-assistant/core/pull/89339
+[#89340]: https://github.com/home-assistant/core/pull/89340
+[#89344]: https://github.com/home-assistant/core/pull/89344
+[#89346]: https://github.com/home-assistant/core/pull/89346
+[#89349]: https://github.com/home-assistant/core/pull/89349
+[#89354]: https://github.com/home-assistant/core/pull/89354
+[#89355]: https://github.com/home-assistant/core/pull/89355
+[#89356]: https://github.com/home-assistant/core/pull/89356
+[#89358]: https://github.com/home-assistant/core/pull/89358
+[#89359]: https://github.com/home-assistant/core/pull/89359
+[#89360]: https://github.com/home-assistant/core/pull/89360
+[#89361]: https://github.com/home-assistant/core/pull/89361
+[#89362]: https://github.com/home-assistant/core/pull/89362
+[#89364]: https://github.com/home-assistant/core/pull/89364
+[#89365]: https://github.com/home-assistant/core/pull/89365
+[#89370]: https://github.com/home-assistant/core/pull/89370
+[#89377]: https://github.com/home-assistant/core/pull/89377
+[#89382]: https://github.com/home-assistant/core/pull/89382
+[#89383]: https://github.com/home-assistant/core/pull/89383
+[#89384]: https://github.com/home-assistant/core/pull/89384
+[#89385]: https://github.com/home-assistant/core/pull/89385
+[#89388]: https://github.com/home-assistant/core/pull/89388
+[#89389]: https://github.com/home-assistant/core/pull/89389
+[#89392]: https://github.com/home-assistant/core/pull/89392
+[#89393]: https://github.com/home-assistant/core/pull/89393
+[#89394]: https://github.com/home-assistant/core/pull/89394
+[#89396]: https://github.com/home-assistant/core/pull/89396
+[#89400]: https://github.com/home-assistant/core/pull/89400
+[#89409]: https://github.com/home-assistant/core/pull/89409
+[#89418]: https://github.com/home-assistant/core/pull/89418
+[#89419]: https://github.com/home-assistant/core/pull/89419
+[#89420]: https://github.com/home-assistant/core/pull/89420
+[#89422]: https://github.com/home-assistant/core/pull/89422
+[#89424]: https://github.com/home-assistant/core/pull/89424
+[#89426]: https://github.com/home-assistant/core/pull/89426
+[#89428]: https://github.com/home-assistant/core/pull/89428
+[#89430]: https://github.com/home-assistant/core/pull/89430
+[#89431]: https://github.com/home-assistant/core/pull/89431
+[#89433]: https://github.com/home-assistant/core/pull/89433
+[#89438]: https://github.com/home-assistant/core/pull/89438
+[#89440]: https://github.com/home-assistant/core/pull/89440
+[#89441]: https://github.com/home-assistant/core/pull/89441
+[#89442]: https://github.com/home-assistant/core/pull/89442
+[#89450]: https://github.com/home-assistant/core/pull/89450
+[#89451]: https://github.com/home-assistant/core/pull/89451
+[#89455]: https://github.com/home-assistant/core/pull/89455
+[#89461]: https://github.com/home-assistant/core/pull/89461
+[#89465]: https://github.com/home-assistant/core/pull/89465
+[#89475]: https://github.com/home-assistant/core/pull/89475
+[#89476]: https://github.com/home-assistant/core/pull/89476
+[#89481]: https://github.com/home-assistant/core/pull/89481
+[#89485]: https://github.com/home-assistant/core/pull/89485
+[#89486]: https://github.com/home-assistant/core/pull/89486
+[#89487]: https://github.com/home-assistant/core/pull/89487
+[#89492]: https://github.com/home-assistant/core/pull/89492
+[#89496]: https://github.com/home-assistant/core/pull/89496
+[#89497]: https://github.com/home-assistant/core/pull/89497
+[#89500]: https://github.com/home-assistant/core/pull/89500
+[#89501]: https://github.com/home-assistant/core/pull/89501
+[#89507]: https://github.com/home-assistant/core/pull/89507
+[#89510]: https://github.com/home-assistant/core/pull/89510
+[#89511]: https://github.com/home-assistant/core/pull/89511
+[#89512]: https://github.com/home-assistant/core/pull/89512
+[#89513]: https://github.com/home-assistant/core/pull/89513
+[#89515]: https://github.com/home-assistant/core/pull/89515
+[#89522]: https://github.com/home-assistant/core/pull/89522
+[#89525]: https://github.com/home-assistant/core/pull/89525
+[#89526]: https://github.com/home-assistant/core/pull/89526
+[#89532]: https://github.com/home-assistant/core/pull/89532
+[#89533]: https://github.com/home-assistant/core/pull/89533
+[#89534]: https://github.com/home-assistant/core/pull/89534
+[#89552]: https://github.com/home-assistant/core/pull/89552
+[#89554]: https://github.com/home-assistant/core/pull/89554
+[#89555]: https://github.com/home-assistant/core/pull/89555
+[#89557]: https://github.com/home-assistant/core/pull/89557
+[#89559]: https://github.com/home-assistant/core/pull/89559
+[#89561]: https://github.com/home-assistant/core/pull/89561
+[#89562]: https://github.com/home-assistant/core/pull/89562
+[#89564]: https://github.com/home-assistant/core/pull/89564
+[#89565]: https://github.com/home-assistant/core/pull/89565
+[#89571]: https://github.com/home-assistant/core/pull/89571
+[#89572]: https://github.com/home-assistant/core/pull/89572
+[#89573]: https://github.com/home-assistant/core/pull/89573
+[#89576]: https://github.com/home-assistant/core/pull/89576
+[#89577]: https://github.com/home-assistant/core/pull/89577
+[#89578]: https://github.com/home-assistant/core/pull/89578
+[#89585]: https://github.com/home-assistant/core/pull/89585
+[#89587]: https://github.com/home-assistant/core/pull/89587
+[#89589]: https://github.com/home-assistant/core/pull/89589
+[#89591]: https://github.com/home-assistant/core/pull/89591
+[#89595]: https://github.com/home-assistant/core/pull/89595
+[#89598]: https://github.com/home-assistant/core/pull/89598
+[#89599]: https://github.com/home-assistant/core/pull/89599
+[#89600]: https://github.com/home-assistant/core/pull/89600
+[#89601]: https://github.com/home-assistant/core/pull/89601
+[#89603]: https://github.com/home-assistant/core/pull/89603
+[#89606]: https://github.com/home-assistant/core/pull/89606
+[#89609]: https://github.com/home-assistant/core/pull/89609
+[#89613]: https://github.com/home-assistant/core/pull/89613
+[#89616]: https://github.com/home-assistant/core/pull/89616
+[#89617]: https://github.com/home-assistant/core/pull/89617
+[#89619]: https://github.com/home-assistant/core/pull/89619
+[#89623]: https://github.com/home-assistant/core/pull/89623
+[#89624]: https://github.com/home-assistant/core/pull/89624
+[#89629]: https://github.com/home-assistant/core/pull/89629
+[#89631]: https://github.com/home-assistant/core/pull/89631
+[#89632]: https://github.com/home-assistant/core/pull/89632
+[#89633]: https://github.com/home-assistant/core/pull/89633
+[#89635]: https://github.com/home-assistant/core/pull/89635
+[#89637]: https://github.com/home-assistant/core/pull/89637
+[#89640]: https://github.com/home-assistant/core/pull/89640
+[#89644]: https://github.com/home-assistant/core/pull/89644
+[#89645]: https://github.com/home-assistant/core/pull/89645
+[#89646]: https://github.com/home-assistant/core/pull/89646
+[#89652]: https://github.com/home-assistant/core/pull/89652
+[#89653]: https://github.com/home-assistant/core/pull/89653
+[#89654]: https://github.com/home-assistant/core/pull/89654
+[#89655]: https://github.com/home-assistant/core/pull/89655
+[#89656]: https://github.com/home-assistant/core/pull/89656
+[#89658]: https://github.com/home-assistant/core/pull/89658
+[#89660]: https://github.com/home-assistant/core/pull/89660
+[#89661]: https://github.com/home-assistant/core/pull/89661
+[#89666]: https://github.com/home-assistant/core/pull/89666
+[#89668]: https://github.com/home-assistant/core/pull/89668
+[#89673]: https://github.com/home-assistant/core/pull/89673
+[#89674]: https://github.com/home-assistant/core/pull/89674
+[#89676]: https://github.com/home-assistant/core/pull/89676
+[#89677]: https://github.com/home-assistant/core/pull/89677
+[#89678]: https://github.com/home-assistant/core/pull/89678
+[#89679]: https://github.com/home-assistant/core/pull/89679
+[#89681]: https://github.com/home-assistant/core/pull/89681
+[#89688]: https://github.com/home-assistant/core/pull/89688
+[#89692]: https://github.com/home-assistant/core/pull/89692
+[#89694]: https://github.com/home-assistant/core/pull/89694
+[#89695]: https://github.com/home-assistant/core/pull/89695
+[#89698]: https://github.com/home-assistant/core/pull/89698
+[#89700]: https://github.com/home-assistant/core/pull/89700
+[#89702]: https://github.com/home-assistant/core/pull/89702
+[#89703]: https://github.com/home-assistant/core/pull/89703
+[#89704]: https://github.com/home-assistant/core/pull/89704
+[#89711]: https://github.com/home-assistant/core/pull/89711
+[#89716]: https://github.com/home-assistant/core/pull/89716
+[#89719]: https://github.com/home-assistant/core/pull/89719
+[#89721]: https://github.com/home-assistant/core/pull/89721
+[#89723]: https://github.com/home-assistant/core/pull/89723
+[#89724]: https://github.com/home-assistant/core/pull/89724
+[#89726]: https://github.com/home-assistant/core/pull/89726
+[#89732]: https://github.com/home-assistant/core/pull/89732
+[#89733]: https://github.com/home-assistant/core/pull/89733
+[#89734]: https://github.com/home-assistant/core/pull/89734
+[#89737]: https://github.com/home-assistant/core/pull/89737
+[#89743]: https://github.com/home-assistant/core/pull/89743
+[#89744]: https://github.com/home-assistant/core/pull/89744
+[#89748]: https://github.com/home-assistant/core/pull/89748
+[#89749]: https://github.com/home-assistant/core/pull/89749
+[#89751]: https://github.com/home-assistant/core/pull/89751
+[#89752]: https://github.com/home-assistant/core/pull/89752
+[#89753]: https://github.com/home-assistant/core/pull/89753
+[#89754]: https://github.com/home-assistant/core/pull/89754
+[#89756]: https://github.com/home-assistant/core/pull/89756
+[#89757]: https://github.com/home-assistant/core/pull/89757
+[#89759]: https://github.com/home-assistant/core/pull/89759
+[#89760]: https://github.com/home-assistant/core/pull/89760
+[#89764]: https://github.com/home-assistant/core/pull/89764
+[#89765]: https://github.com/home-assistant/core/pull/89765
+[#89769]: https://github.com/home-assistant/core/pull/89769
+[#89770]: https://github.com/home-assistant/core/pull/89770
+[#89774]: https://github.com/home-assistant/core/pull/89774
+[#89776]: https://github.com/home-assistant/core/pull/89776
+[#89778]: https://github.com/home-assistant/core/pull/89778
+[#89779]: https://github.com/home-assistant/core/pull/89779
+[#89780]: https://github.com/home-assistant/core/pull/89780
+[#89781]: https://github.com/home-assistant/core/pull/89781
+[#89783]: https://github.com/home-assistant/core/pull/89783
+[#89784]: https://github.com/home-assistant/core/pull/89784
+[#89785]: https://github.com/home-assistant/core/pull/89785
+[#89786]: https://github.com/home-assistant/core/pull/89786
+[#89787]: https://github.com/home-assistant/core/pull/89787
+[#89788]: https://github.com/home-assistant/core/pull/89788
+[#89790]: https://github.com/home-assistant/core/pull/89790
+[#89792]: https://github.com/home-assistant/core/pull/89792
+[#89793]: https://github.com/home-assistant/core/pull/89793
+[#89795]: https://github.com/home-assistant/core/pull/89795
+[#89796]: https://github.com/home-assistant/core/pull/89796
+[#89798]: https://github.com/home-assistant/core/pull/89798
+[#89801]: https://github.com/home-assistant/core/pull/89801
+[#89803]: https://github.com/home-assistant/core/pull/89803
+[#89804]: https://github.com/home-assistant/core/pull/89804
+[#89805]: https://github.com/home-assistant/core/pull/89805
+[#89807]: https://github.com/home-assistant/core/pull/89807
+[#89808]: https://github.com/home-assistant/core/pull/89808
+[#89809]: https://github.com/home-assistant/core/pull/89809
+[#89810]: https://github.com/home-assistant/core/pull/89810
+[#89811]: https://github.com/home-assistant/core/pull/89811
+[#89812]: https://github.com/home-assistant/core/pull/89812
+[#89815]: https://github.com/home-assistant/core/pull/89815
+[#89816]: https://github.com/home-assistant/core/pull/89816
+[#89818]: https://github.com/home-assistant/core/pull/89818
+[#89819]: https://github.com/home-assistant/core/pull/89819
+[#89820]: https://github.com/home-assistant/core/pull/89820
+[#89821]: https://github.com/home-assistant/core/pull/89821
+[#89822]: https://github.com/home-assistant/core/pull/89822
+[#89824]: https://github.com/home-assistant/core/pull/89824
+[#89825]: https://github.com/home-assistant/core/pull/89825
+[#89826]: https://github.com/home-assistant/core/pull/89826
+[#89832]: https://github.com/home-assistant/core/pull/89832
+[#89833]: https://github.com/home-assistant/core/pull/89833
+[#89835]: https://github.com/home-assistant/core/pull/89835
+[#89836]: https://github.com/home-assistant/core/pull/89836
+[#89837]: https://github.com/home-assistant/core/pull/89837
+[#89840]: https://github.com/home-assistant/core/pull/89840
+[#89842]: https://github.com/home-assistant/core/pull/89842
+[#89844]: https://github.com/home-assistant/core/pull/89844
+[#89847]: https://github.com/home-assistant/core/pull/89847
+[#89849]: https://github.com/home-assistant/core/pull/89849
+[#89853]: https://github.com/home-assistant/core/pull/89853
+[#89855]: https://github.com/home-assistant/core/pull/89855
+[#89857]: https://github.com/home-assistant/core/pull/89857
+[#89863]: https://github.com/home-assistant/core/pull/89863
+[#89864]: https://github.com/home-assistant/core/pull/89864
+[#89865]: https://github.com/home-assistant/core/pull/89865
+[#89872]: https://github.com/home-assistant/core/pull/89872
+[#89874]: https://github.com/home-assistant/core/pull/89874
+[#89876]: https://github.com/home-assistant/core/pull/89876
+[#89879]: https://github.com/home-assistant/core/pull/89879
+[#89880]: https://github.com/home-assistant/core/pull/89880
+[#89881]: https://github.com/home-assistant/core/pull/89881
+[#89882]: https://github.com/home-assistant/core/pull/89882
+[#89888]: https://github.com/home-assistant/core/pull/89888
+[#89889]: https://github.com/home-assistant/core/pull/89889
+[#89890]: https://github.com/home-assistant/core/pull/89890
+[#89892]: https://github.com/home-assistant/core/pull/89892
+[#89894]: https://github.com/home-assistant/core/pull/89894
+[#89895]: https://github.com/home-assistant/core/pull/89895
+[#89896]: https://github.com/home-assistant/core/pull/89896
+[#89897]: https://github.com/home-assistant/core/pull/89897
+[#89898]: https://github.com/home-assistant/core/pull/89898
+[#89901]: https://github.com/home-assistant/core/pull/89901
+[#89902]: https://github.com/home-assistant/core/pull/89902
+[#89903]: https://github.com/home-assistant/core/pull/89903
+[#89904]: https://github.com/home-assistant/core/pull/89904
+[#89905]: https://github.com/home-assistant/core/pull/89905
+[#89912]: https://github.com/home-assistant/core/pull/89912
+[#89914]: https://github.com/home-assistant/core/pull/89914
+[#89918]: https://github.com/home-assistant/core/pull/89918
+[#89921]: https://github.com/home-assistant/core/pull/89921
+[#89923]: https://github.com/home-assistant/core/pull/89923
+[#89925]: https://github.com/home-assistant/core/pull/89925
+[#89926]: https://github.com/home-assistant/core/pull/89926
+[#89927]: https://github.com/home-assistant/core/pull/89927
+[#89929]: https://github.com/home-assistant/core/pull/89929
+[#89931]: https://github.com/home-assistant/core/pull/89931
+[#89932]: https://github.com/home-assistant/core/pull/89932
+[#89940]: https://github.com/home-assistant/core/pull/89940
+[#89941]: https://github.com/home-assistant/core/pull/89941
+[#89943]: https://github.com/home-assistant/core/pull/89943
+[#89944]: https://github.com/home-assistant/core/pull/89944
+[#89945]: https://github.com/home-assistant/core/pull/89945
+[#89951]: https://github.com/home-assistant/core/pull/89951
+[#89953]: https://github.com/home-assistant/core/pull/89953
+[#89954]: https://github.com/home-assistant/core/pull/89954
+[#89955]: https://github.com/home-assistant/core/pull/89955
+[#89960]: https://github.com/home-assistant/core/pull/89960
+[#89963]: https://github.com/home-assistant/core/pull/89963
+[#89971]: https://github.com/home-assistant/core/pull/89971
+[#89973]: https://github.com/home-assistant/core/pull/89973
+[#89981]: https://github.com/home-assistant/core/pull/89981
+[#89982]: https://github.com/home-assistant/core/pull/89982
+[#89985]: https://github.com/home-assistant/core/pull/89985
+[#89988]: https://github.com/home-assistant/core/pull/89988
+[#89989]: https://github.com/home-assistant/core/pull/89989
+[#89990]: https://github.com/home-assistant/core/pull/89990
+[#89992]: https://github.com/home-assistant/core/pull/89992
+[#89994]: https://github.com/home-assistant/core/pull/89994
+[#89995]: https://github.com/home-assistant/core/pull/89995
+[#90004]: https://github.com/home-assistant/core/pull/90004
+[#90013]: https://github.com/home-assistant/core/pull/90013
+[#90017]: https://github.com/home-assistant/core/pull/90017
+[#90018]: https://github.com/home-assistant/core/pull/90018
+[#90020]: https://github.com/home-assistant/core/pull/90020
+[#90021]: https://github.com/home-assistant/core/pull/90021
+[#90022]: https://github.com/home-assistant/core/pull/90022
+[#90023]: https://github.com/home-assistant/core/pull/90023
+[#90024]: https://github.com/home-assistant/core/pull/90024
+[#90027]: https://github.com/home-assistant/core/pull/90027
+[#90029]: https://github.com/home-assistant/core/pull/90029
+[#90030]: https://github.com/home-assistant/core/pull/90030
+[#90031]: https://github.com/home-assistant/core/pull/90031
+[#90033]: https://github.com/home-assistant/core/pull/90033
+[#90034]: https://github.com/home-assistant/core/pull/90034
+[#90035]: https://github.com/home-assistant/core/pull/90035
+[#90036]: https://github.com/home-assistant/core/pull/90036
+[#90039]: https://github.com/home-assistant/core/pull/90039
+[#90040]: https://github.com/home-assistant/core/pull/90040
+[#90041]: https://github.com/home-assistant/core/pull/90041
+[#90042]: https://github.com/home-assistant/core/pull/90042
+[#90043]: https://github.com/home-assistant/core/pull/90043
+[#90045]: https://github.com/home-assistant/core/pull/90045
+[#90046]: https://github.com/home-assistant/core/pull/90046
+[#90047]: https://github.com/home-assistant/core/pull/90047
+[#90048]: https://github.com/home-assistant/core/pull/90048
+[#90050]: https://github.com/home-assistant/core/pull/90050
+[#90051]: https://github.com/home-assistant/core/pull/90051
+[#90052]: https://github.com/home-assistant/core/pull/90052
+[#90053]: https://github.com/home-assistant/core/pull/90053
+[#90057]: https://github.com/home-assistant/core/pull/90057
+[#90058]: https://github.com/home-assistant/core/pull/90058
+[#90059]: https://github.com/home-assistant/core/pull/90059
+[#90060]: https://github.com/home-assistant/core/pull/90060
+[#90062]: https://github.com/home-assistant/core/pull/90062
+[#90063]: https://github.com/home-assistant/core/pull/90063
+[#90066]: https://github.com/home-assistant/core/pull/90066
+[#90068]: https://github.com/home-assistant/core/pull/90068
+[#90069]: https://github.com/home-assistant/core/pull/90069
+[#90070]: https://github.com/home-assistant/core/pull/90070
+[#90071]: https://github.com/home-assistant/core/pull/90071
+[#90072]: https://github.com/home-assistant/core/pull/90072
+[#90082]: https://github.com/home-assistant/core/pull/90082
+[#90083]: https://github.com/home-assistant/core/pull/90083
+[#90085]: https://github.com/home-assistant/core/pull/90085
+[#90098]: https://github.com/home-assistant/core/pull/90098
+[#90101]: https://github.com/home-assistant/core/pull/90101
+[#90102]: https://github.com/home-assistant/core/pull/90102
+[#90103]: https://github.com/home-assistant/core/pull/90103
+[#90105]: https://github.com/home-assistant/core/pull/90105
+[#90106]: https://github.com/home-assistant/core/pull/90106
+[#90107]: https://github.com/home-assistant/core/pull/90107
+[#90108]: https://github.com/home-assistant/core/pull/90108
+[#90109]: https://github.com/home-assistant/core/pull/90109
+[#90111]: https://github.com/home-assistant/core/pull/90111
+[#90115]: https://github.com/home-assistant/core/pull/90115
+[#90118]: https://github.com/home-assistant/core/pull/90118
+[#90120]: https://github.com/home-assistant/core/pull/90120
+[#90122]: https://github.com/home-assistant/core/pull/90122
+[#90123]: https://github.com/home-assistant/core/pull/90123
+[#90126]: https://github.com/home-assistant/core/pull/90126
+[#90127]: https://github.com/home-assistant/core/pull/90127
+[#90128]: https://github.com/home-assistant/core/pull/90128
+[#90129]: https://github.com/home-assistant/core/pull/90129
+[#90130]: https://github.com/home-assistant/core/pull/90130
+[#90132]: https://github.com/home-assistant/core/pull/90132
+[#90133]: https://github.com/home-assistant/core/pull/90133
+[#90134]: https://github.com/home-assistant/core/pull/90134
+[#90135]: https://github.com/home-assistant/core/pull/90135
+[#90136]: https://github.com/home-assistant/core/pull/90136
+[#90137]: https://github.com/home-assistant/core/pull/90137
+[#90140]: https://github.com/home-assistant/core/pull/90140
+[#90143]: https://github.com/home-assistant/core/pull/90143
+[#90144]: https://github.com/home-assistant/core/pull/90144
+[#90149]: https://github.com/home-assistant/core/pull/90149
+[#90151]: https://github.com/home-assistant/core/pull/90151
+[#90152]: https://github.com/home-assistant/core/pull/90152
+[#90153]: https://github.com/home-assistant/core/pull/90153
+[#90155]: https://github.com/home-assistant/core/pull/90155
+[#90157]: https://github.com/home-assistant/core/pull/90157
+[#90158]: https://github.com/home-assistant/core/pull/90158
+[#90159]: https://github.com/home-assistant/core/pull/90159
+[#90163]: https://github.com/home-assistant/core/pull/90163
+[#90164]: https://github.com/home-assistant/core/pull/90164
+[#90165]: https://github.com/home-assistant/core/pull/90165
+[#90167]: https://github.com/home-assistant/core/pull/90167
+[#90168]: https://github.com/home-assistant/core/pull/90168
+[#90172]: https://github.com/home-assistant/core/pull/90172
+[#90176]: https://github.com/home-assistant/core/pull/90176
+[#90178]: https://github.com/home-assistant/core/pull/90178
+[#90182]: https://github.com/home-assistant/core/pull/90182
+[#90183]: https://github.com/home-assistant/core/pull/90183
+[#90184]: https://github.com/home-assistant/core/pull/90184
+[#90185]: https://github.com/home-assistant/core/pull/90185
+[#90187]: https://github.com/home-assistant/core/pull/90187
+[#90189]: https://github.com/home-assistant/core/pull/90189
+[#90191]: https://github.com/home-assistant/core/pull/90191
+[#90192]: https://github.com/home-assistant/core/pull/90192
+[#90193]: https://github.com/home-assistant/core/pull/90193
+[#90194]: https://github.com/home-assistant/core/pull/90194
+[#90196]: https://github.com/home-assistant/core/pull/90196
+[#90198]: https://github.com/home-assistant/core/pull/90198
+[#90200]: https://github.com/home-assistant/core/pull/90200
+[#90201]: https://github.com/home-assistant/core/pull/90201
+[#90203]: https://github.com/home-assistant/core/pull/90203
+[#90204]: https://github.com/home-assistant/core/pull/90204
+[#90211]: https://github.com/home-assistant/core/pull/90211
+[#90212]: https://github.com/home-assistant/core/pull/90212
+[#90214]: https://github.com/home-assistant/core/pull/90214
+[#90215]: https://github.com/home-assistant/core/pull/90215
+[#90217]: https://github.com/home-assistant/core/pull/90217
+[#90218]: https://github.com/home-assistant/core/pull/90218
+[#90219]: https://github.com/home-assistant/core/pull/90219
+[#90220]: https://github.com/home-assistant/core/pull/90220
+[#90222]: https://github.com/home-assistant/core/pull/90222
+[#90223]: https://github.com/home-assistant/core/pull/90223
+[#90225]: https://github.com/home-assistant/core/pull/90225
+[#90227]: https://github.com/home-assistant/core/pull/90227
+[#90232]: https://github.com/home-assistant/core/pull/90232
+[#90233]: https://github.com/home-assistant/core/pull/90233
+[#90236]: https://github.com/home-assistant/core/pull/90236
+[#90239]: https://github.com/home-assistant/core/pull/90239
+[#90241]: https://github.com/home-assistant/core/pull/90241
+[#90242]: https://github.com/home-assistant/core/pull/90242
+[#90244]: https://github.com/home-assistant/core/pull/90244
+[#90249]: https://github.com/home-assistant/core/pull/90249
+[#90250]: https://github.com/home-assistant/core/pull/90250
+[#90251]: https://github.com/home-assistant/core/pull/90251
+[#90253]: https://github.com/home-assistant/core/pull/90253
+[#90254]: https://github.com/home-assistant/core/pull/90254
+[#90256]: https://github.com/home-assistant/core/pull/90256
+[#90266]: https://github.com/home-assistant/core/pull/90266
+[#90267]: https://github.com/home-assistant/core/pull/90267
+[#90268]: https://github.com/home-assistant/core/pull/90268
+[#90272]: https://github.com/home-assistant/core/pull/90272
+[#90277]: https://github.com/home-assistant/core/pull/90277
+[#90278]: https://github.com/home-assistant/core/pull/90278
+[#90279]: https://github.com/home-assistant/core/pull/90279
+[#90282]: https://github.com/home-assistant/core/pull/90282
+[#90284]: https://github.com/home-assistant/core/pull/90284
+[#90285]: https://github.com/home-assistant/core/pull/90285
+[#90288]: https://github.com/home-assistant/core/pull/90288
+[#90291]: https://github.com/home-assistant/core/pull/90291
+[#90306]: https://github.com/home-assistant/core/pull/90306
+[#90312]: https://github.com/home-assistant/core/pull/90312
+[#90316]: https://github.com/home-assistant/core/pull/90316
+[#90318]: https://github.com/home-assistant/core/pull/90318
+[#90324]: https://github.com/home-assistant/core/pull/90324
+[#90326]: https://github.com/home-assistant/core/pull/90326
+[#90327]: https://github.com/home-assistant/core/pull/90327
+[#90328]: https://github.com/home-assistant/core/pull/90328
+[#90330]: https://github.com/home-assistant/core/pull/90330
+[#90335]: https://github.com/home-assistant/core/pull/90335
+[#90339]: https://github.com/home-assistant/core/pull/90339
+[#90340]: https://github.com/home-assistant/core/pull/90340
+[#90344]: https://github.com/home-assistant/core/pull/90344
+[#90345]: https://github.com/home-assistant/core/pull/90345
+[#90346]: https://github.com/home-assistant/core/pull/90346
+[#90348]: https://github.com/home-assistant/core/pull/90348
+[#90350]: https://github.com/home-assistant/core/pull/90350
+[#90351]: https://github.com/home-assistant/core/pull/90351
+[#90354]: https://github.com/home-assistant/core/pull/90354
+[#90355]: https://github.com/home-assistant/core/pull/90355
+[#90356]: https://github.com/home-assistant/core/pull/90356
+[#90357]: https://github.com/home-assistant/core/pull/90357
+[#90359]: https://github.com/home-assistant/core/pull/90359
+[#90361]: https://github.com/home-assistant/core/pull/90361
+[#90362]: https://github.com/home-assistant/core/pull/90362
+[#90363]: https://github.com/home-assistant/core/pull/90363
+[#90365]: https://github.com/home-assistant/core/pull/90365
+[#90368]: https://github.com/home-assistant/core/pull/90368
+[#90369]: https://github.com/home-assistant/core/pull/90369
+[#90370]: https://github.com/home-assistant/core/pull/90370
+[#90372]: https://github.com/home-assistant/core/pull/90372
+[#90377]: https://github.com/home-assistant/core/pull/90377
+[#90378]: https://github.com/home-assistant/core/pull/90378
+[#90382]: https://github.com/home-assistant/core/pull/90382
+[#90383]: https://github.com/home-assistant/core/pull/90383
+[#90384]: https://github.com/home-assistant/core/pull/90384
+[#90386]: https://github.com/home-assistant/core/pull/90386
+[#90387]: https://github.com/home-assistant/core/pull/90387
+[#90388]: https://github.com/home-assistant/core/pull/90388
+[#90389]: https://github.com/home-assistant/core/pull/90389
+[#90390]: https://github.com/home-assistant/core/pull/90390
+[#90392]: https://github.com/home-assistant/core/pull/90392
+[#90395]: https://github.com/home-assistant/core/pull/90395
+[#90396]: https://github.com/home-assistant/core/pull/90396
+[#90401]: https://github.com/home-assistant/core/pull/90401
+[#90402]: https://github.com/home-assistant/core/pull/90402
+[#90403]: https://github.com/home-assistant/core/pull/90403
+[#90404]: https://github.com/home-assistant/core/pull/90404
+[#90405]: https://github.com/home-assistant/core/pull/90405
+[#90406]: https://github.com/home-assistant/core/pull/90406
+[#90408]: https://github.com/home-assistant/core/pull/90408
+[#90410]: https://github.com/home-assistant/core/pull/90410
+[#90411]: https://github.com/home-assistant/core/pull/90411
+[#90413]: https://github.com/home-assistant/core/pull/90413
+[#90418]: https://github.com/home-assistant/core/pull/90418
+[#90419]: https://github.com/home-assistant/core/pull/90419
+[#90422]: https://github.com/home-assistant/core/pull/90422
+[#90423]: https://github.com/home-assistant/core/pull/90423
+[#90425]: https://github.com/home-assistant/core/pull/90425
+[#90427]: https://github.com/home-assistant/core/pull/90427
+[#90428]: https://github.com/home-assistant/core/pull/90428
+[#90430]: https://github.com/home-assistant/core/pull/90430
+[#90431]: https://github.com/home-assistant/core/pull/90431
+[#90433]: https://github.com/home-assistant/core/pull/90433
+[#90434]: https://github.com/home-assistant/core/pull/90434
+[#90435]: https://github.com/home-assistant/core/pull/90435
+[#90438]: https://github.com/home-assistant/core/pull/90438
+[#90439]: https://github.com/home-assistant/core/pull/90439
+[#90442]: https://github.com/home-assistant/core/pull/90442
+[#90457]: https://github.com/home-assistant/core/pull/90457
+[#90459]: https://github.com/home-assistant/core/pull/90459
+[#90461]: https://github.com/home-assistant/core/pull/90461
+[#90462]: https://github.com/home-assistant/core/pull/90462
+[#90464]: https://github.com/home-assistant/core/pull/90464
+[#90472]: https://github.com/home-assistant/core/pull/90472
+[#90473]: https://github.com/home-assistant/core/pull/90473
+[@arturoguerra]: https://github.com/ArturoGuerra
+[@bnolet]: https://github.com/BNolet
+[@btmorton]: https://github.com/BTMorton
+[@bre77]: https://github.com/Bre77
+[@cereal2nd]: https://github.com/Cereal2nd
+[@derenderkeks]: https://github.com/DerEnderKeks
+[@dexwell]: https://github.com/Dexwell
+[@djelibeybi]: https://github.com/Djelibeybi
+[@drafteed]: https://github.com/Drafteed
+[@ernst79]: https://github.com/Ernst79
+[@g-two]: https://github.com/G-Two
+[@geoffstate]: https://github.com/GeoffState
+[@kjonline]: https://github.com/KJonline
+[@kane610]: https://github.com/Kane610
+[@markgodwin]: https://github.com/MarkGodwin
+[@martinhjelmare]: https://github.com/MartinHjelmare
+[@mattwestb]: https://github.com/MattWestb
+[@matthewflamm]: https://github.com/MatthewFlamm
+[@nickborgers]: https://github.com/NickBorgers
+[@onfreund]: https://github.com/OnFreund
+[@patrickglesner]: https://github.com/PatrickGlesner
+[@peterager]: https://github.com/PeteRager
+[@petro31]: https://github.com/Petro31
+[@savjee]: https://github.com/Savjee
+[@shulyaka]: https://github.com/Shulyaka
+[@shutgun]: https://github.com/Shutgun
+[@sibgatulin]: https://github.com/Sibgatulin
+[@stefaniacoblivisi]: https://github.com/StefanIacobLivisi
+[@stephanu]: https://github.com/StephanU
+[@stevenlooman]: https://github.com/StevenLooman
+[@swamp-ig]: https://github.com/Swamp-Ig
+[@thejulianjes]: https://github.com/TheJulianJES
+[@thomdietrich]: https://github.com/ThomDietrich
+[@wesley-vos]: https://github.com/Wesley-Vos
+[@a-baturin]: https://github.com/a-baturin
+[@agners]: https://github.com/agners
+[@allenporter]: https://github.com/allenporter
+[@amelchio]: https://github.com/amelchio
+[@amitfin]: https://github.com/amitfin
+[@amomchilov]: https://github.com/amomchilov
+[@anotherthomas]: https://github.com/anotherthomas
+[@appzer]: https://github.com/appzer
+[@arychj]: https://github.com/arychj
+[@avee87]: https://github.com/avee87
+[@b-uwe]: https://github.com/b-uwe
+[@bachya]: https://github.com/bachya
+[@balloob]: https://github.com/balloob
+[@bdraco]: https://github.com/bdraco
+[@bieniu]: https://github.com/bieniu
+[@bobvandevijver]: https://github.com/bobvandevijver
+[@boralyl]: https://github.com/boralyl
+[@boswelja]: https://github.com/boswelja
+[@bramkragten]: https://github.com/bramkragten
+[@cdce8p]: https://github.com/cdce8p
+[@cgarwood]: https://github.com/cgarwood
+[@chrisx8]: https://github.com/chrisx8
+[@chuckdeal97]: https://github.com/chuckdeal97
+[@cnico]: https://github.com/cnico
+[@ctalkington]: https://github.com/ctalkington
+[@davet2001]: https://github.com/davet2001
+[@depoll]: https://github.com/depoll
+[@dgomes]: https://github.com/dgomes
+[@dieselrabbit]: https://github.com/dieselrabbit
+[@dingusdk]: https://github.com/dingusdk
+[@djessemoody]: https://github.com/djessemoody
+[@djtimca]: https://github.com/djtimca
+[@dmulcahey]: https://github.com/dmulcahey
+[@dougiteixeira]: https://github.com/dougiteixeira
+[@ehendrix23]: https://github.com/ehendrix23
+[@eifinger]: https://github.com/eifinger
+[@ejpenney]: https://github.com/ejpenney
+[@elupus]: https://github.com/elupus
+[@emontnemery]: https://github.com/emontnemery
+[@engrbm87]: https://github.com/engrbm87
+[@epenet]: https://github.com/epenet
+[@exxamalte]: https://github.com/exxamalte
+[@farmio]: https://github.com/farmio
+[@fpfuetsch]: https://github.com/fpfuetsch
+[@frenck]: https://github.com/frenck
+[@funkybunch]: https://github.com/funkybunch
+[@gapple]: https://github.com/gapple
+[@gjohansson-st]: https://github.com/gjohansson-ST
+[@gjong]: https://github.com/gjong
+[@gmsoft-tuxicoman]: https://github.com/gmsoft-tuxicoman
+[@hahn-th]: https://github.com/hahn-th
+[@imicknl]: https://github.com/iMicknl
+[@igorsantos07]: https://github.com/igorsantos07
+[@janiversen]: https://github.com/janiversen
+[@javicalle]: https://github.com/javicalle
+[@jbergler]: https://github.com/jbergler
+[@jbouwh]: https://github.com/jbouwh
+[@jeeftor]: https://github.com/jeeftor
+[@jfroy]: https://github.com/jfroy
+[@jgoguen]: https://github.com/jgoguen
+[@jmuf]: https://github.com/jmuf
+[@joncar]: https://github.com/joncar
+[@jrieger]: https://github.com/jrieger
+[@kirill578]: https://github.com/kirill578
+[@klaasnicolaas]: https://github.com/klaasnicolaas
+[@landaisbenj]: https://github.com/landaisbenj
+[@lawfulchaos]: https://github.com/lawfulchaos
+[@lcosmin]: https://github.com/lcosmin
+[@liudger]: https://github.com/liudger
+[@loongyh]: https://github.com/loongyh
+[@luca-angemi]: https://github.com/luca-angemi
+[@ludeeus]: https://github.com/ludeeus
+[@lunmay]: https://github.com/lunmay
+[@marcelveldt]: https://github.com/marcelveldt
+[@matrixd2]: https://github.com/matrixd2
+[@mib1185]: https://github.com/mib1185
+[@mkmer]: https://github.com/mkmer
+[@mletenay]: https://github.com/mletenay
+[@nalin29]: https://github.com/nalin29
+[@natekspencer]: https://github.com/natekspencer
+[@niro1987]: https://github.com/niro1987
+[@ol-iver]: https://github.com/ol-iver
+[@olivierouellet]: https://github.com/olivierouellet
+[@parliament119]: https://github.com/parliament119
+[@pavoni]: https://github.com/pavoni
+[@piitaya]: https://github.com/piitaya
+[@planbnet]: https://github.com/planbnet
+[@pree]: https://github.com/pree
+[@puddly]: https://github.com/puddly
+[@pvizeli]: https://github.com/pvizeli
+[@raman325]: https://github.com/raman325
+[@rfleming71]: https://github.com/rfleming71
+[@rikroe]: https://github.com/rikroe
+[@riokuu]: https://github.com/riokuu
+[@rodriguestiago0]: https://github.com/rodriguestiago0
+[@rokam]: https://github.com/rokam
+[@shbatm]: https://github.com/shbatm
+[@skrynklarn]: https://github.com/skrynklarn
+[@solazs]: https://github.com/solazs
+[@starkillerog]: https://github.com/starkillerOG
+[@stickpin]: https://github.com/stickpin
+[@sw-carlos-cristobal]: https://github.com/sw-carlos-cristobal
+[@synesthesiam]: https://github.com/synesthesiam
+[@szechyjs]: https://github.com/szechyjs
+[@teharris1]: https://github.com/teharris1
+[@tetienne]: https://github.com/tetienne
+[@timmo001]: https://github.com/timmo001
+[@tkdrob]: https://github.com/tkdrob
+[@tsbernar]: https://github.com/tsbernar
+[@twalcari]: https://github.com/twalcari
+[@vpathuis]: https://github.com/vpathuis
+[@willmakenoise]: https://github.com/willmakenoise
+[@wlcrs]: https://github.com/wlcrs
+[@wrt54g]: https://github.com/wrt54g
+[@yuxincs]: https://github.com/yuxincs
+[@ztamas83]: https://github.com/ztamas83
+[abode docs]: /integrations/abode/
+[advantage_air docs]: /integrations/advantage_air/
+[aemet docs]: /integrations/aemet/
+[agent_dvr docs]: /integrations/agent_dvr/
+[airq docs]: /integrations/airq/
+[airvisual docs]: /integrations/airvisual/
+[airvisual_pro docs]: /integrations/airvisual_pro/
+[aladdin_connect docs]: /integrations/aladdin_connect/
+[alarm_control_panel docs]: /integrations/alarm_control_panel/
+[alexa docs]: /integrations/alexa/
+[amazon_polly docs]: /integrations/amazon_polly/
+[amberelectric docs]: /integrations/amberelectric/
+[apcupsd docs]: /integrations/apcupsd/
+[application_credentials docs]: /integrations/application_credentials/
+[apprise docs]: /integrations/apprise/
+[arwn docs]: /integrations/arwn/
+[atag docs]: /integrations/atag/
+[august docs]: /integrations/august/
+[aurora docs]: /integrations/aurora/
+[automation docs]: /integrations/automation/
+[axis docs]: /integrations/axis/
+[azure_event_hub docs]: /integrations/azure_event_hub/
+[backup docs]: /integrations/backup/
+[baf docs]: /integrations/baf/
+[balboa docs]: /integrations/balboa/
+[bayesian docs]: /integrations/bayesian/
+[binary_sensor docs]: /integrations/binary_sensor/
+[blackbird docs]: /integrations/blackbird/
+[blebox docs]: /integrations/blebox/
+[blueprint docs]: /integrations/blueprint/
+[bluetooth docs]: /integrations/bluetooth/
+[bmw_connected_drive docs]: /integrations/bmw_connected_drive/
+[braviatv docs]: /integrations/braviatv/
+[brother docs]: /integrations/brother/
+[brottsplatskartan docs]: /integrations/brottsplatskartan/
+[brunt docs]: /integrations/brunt/
+[bsblan docs]: /integrations/bsblan/
+[bthome docs]: /integrations/bthome/
+[buienradar docs]: /integrations/buienradar/
+[caldav docs]: /integrations/caldav/
+[calendar docs]: /integrations/calendar/
+[camera docs]: /integrations/camera/
+[cast docs]: /integrations/cast/
+[cert_expiry docs]: /integrations/cert_expiry/
+[climate docs]: /integrations/climate/
+[cloud docs]: /integrations/cloud/
+[command_line docs]: /integrations/command_line/
+[control4 docs]: /integrations/control4/
+[conversation docs]: /integrations/conversation/
+[coolmaster docs]: /integrations/coolmaster/
+[coronavirus docs]: /integrations/coronavirus/
+[cover docs]: /integrations/cover/
+[default_config docs]: /integrations/default_config/
+[deluge docs]: /integrations/deluge/
+[demo docs]: /integrations/demo/
+[denonavr docs]: /integrations/denonavr/
+[device_automation docs]: /integrations/device_automation/
+[device_sun_light_trigger docs]: /integrations/device_sun_light_trigger/
+[device_tracker docs]: /integrations/device_tracker/
+[devolo_home_control docs]: /integrations/devolo_home_control/
+[dhcp docs]: /integrations/dhcp/
+[discovery docs]: /integrations/discovery/
+[dormakaba_dkey docs]: /integrations/dormakaba_dkey/
+[dsmr_reader docs]: /integrations/dsmr_reader/
+[easyenergy docs]: /integrations/easyenergy/
+[edl21 docs]: /integrations/edl21/
+[efergy docs]: /integrations/efergy/
+[eight_sleep docs]: /integrations/eight_sleep/
+[elgato docs]: /integrations/elgato/
+[energy docs]: /integrations/energy/
+[energyzero docs]: /integrations/energyzero/
+[enphase_envoy docs]: /integrations/enphase_envoy/
+[esera_onewire docs]: /integrations/esera_onewire/
+[esphome docs]: /integrations/esphome/
+[ezviz docs]: /integrations/ezviz/
+[fan docs]: /integrations/fan/
+[fibaro docs]: /integrations/fibaro/
+[file docs]: /integrations/file/
+[filesize docs]: /integrations/filesize/
+[filter docs]: /integrations/filter/
+[fitbit docs]: /integrations/fitbit/
+[fivem docs]: /integrations/fivem/
+[flipr docs]: /integrations/flipr/
+[flux_led docs]: /integrations/flux_led/
+[folder_watcher docs]: /integrations/folder_watcher/
+[forked_daapd docs]: /integrations/forked_daapd/
+[freedompro docs]: /integrations/freedompro/
+[fritz docs]: /integrations/fritz/
+[fritzbox docs]: /integrations/fritzbox/
+[fronius docs]: /integrations/fronius/
+[frontend docs]: /integrations/frontend/
+[frontier_silicon docs]: /integrations/frontier_silicon/
+[fully_kiosk docs]: /integrations/fully_kiosk/
+[gdacs docs]: /integrations/gdacs/
+[generic_hygrostat docs]: /integrations/generic_hygrostat/
+[geo_json_events docs]: /integrations/geo_json_events/
+[geo_location docs]: /integrations/geo_location/
+[gios docs]: /integrations/gios/
+[goodwe docs]: /integrations/goodwe/
+[google docs]: /integrations/google/
+[google_assistant docs]: /integrations/google_assistant/
+[google_mail docs]: /integrations/google_mail/
+[google_wifi docs]: /integrations/google_wifi/
+[gree docs]: /integrations/gree/
+[group docs]: /integrations/group/
+[guardian docs]: /integrations/guardian/
+[hardkernel docs]: /integrations/hardkernel/
+[hassio docs]: /integrations/hassio/
+[history docs]: /integrations/history/
+[history_stats docs]: /integrations/history_stats/
+[hive docs]: /integrations/hive/
+[hlk_sw16 docs]: /integrations/hlk_sw16/
+[home_connect docs]: /integrations/home_connect/
+[homeassistant docs]: /integrations/homeassistant/
+[homeassistant_alerts docs]: /integrations/homeassistant_alerts/
+[homeassistant_hardware docs]: /integrations/homeassistant_hardware/
+[homeassistant_sky_connect docs]: /integrations/homeassistant_sky_connect/
+[homeassistant_yellow docs]: /integrations/homeassistant_yellow/
+[homekit docs]: /integrations/homekit/
+[homematic docs]: /integrations/homematic/
+[homematicip_cloud docs]: /integrations/homematicip_cloud/
+[honeywell docs]: /integrations/honeywell/
+[http docs]: /integrations/http/
+[hue docs]: /integrations/hue/
+[huisbaasje docs]: /integrations/huisbaasje/
+[iaqualink docs]: /integrations/iaqualink/
+[ihc docs]: /integrations/ihc/
+[image_processing docs]: /integrations/image_processing/
+[imap docs]: /integrations/imap/
+[insteon docs]: /integrations/insteon/
+[intellifire docs]: /integrations/intellifire/
+[intent docs]: /integrations/intent/
+[intent_script docs]: /integrations/intent_script/
+[islamic_prayer_times docs]: /integrations/islamic_prayer_times/
+[isy994 docs]: /integrations/isy994/
+[izone docs]: /integrations/izone/
+[jellyfin docs]: /integrations/jellyfin/
+[keymitt_ble docs]: /integrations/keymitt_ble/
+[kmtronic docs]: /integrations/kmtronic/
+[knx docs]: /integrations/knx/
+[kodi docs]: /integrations/kodi/
+[kostal_plenticore docs]: /integrations/kostal_plenticore/
+[lacrosse_view docs]: /integrations/lacrosse_view/
+[lametric docs]: /integrations/lametric/
+[landisgyr_heat_meter docs]: /integrations/landisgyr_heat_meter/
+[lidarr docs]: /integrations/lidarr/
+[lifx docs]: /integrations/lifx/
+[light docs]: /integrations/light/
+[litejet docs]: /integrations/litejet/
+[litterrobot docs]: /integrations/litterrobot/
+[livisi docs]: /integrations/livisi/
+[local_calendar docs]: /integrations/local_calendar/
+[lock docs]: /integrations/lock/
+[logbook docs]: /integrations/logbook/
+[logger docs]: /integrations/logger/
+[lutron_caseta docs]: /integrations/lutron_caseta/
+[magicseaweed docs]: /integrations/magicseaweed/
+[manual docs]: /integrations/manual/
+[manual_mqtt docs]: /integrations/manual_mqtt/
+[matter docs]: /integrations/matter/
+[media_player docs]: /integrations/media_player/
+[melnor docs]: /integrations/melnor/
+[met docs]: /integrations/met/
+[metoffice docs]: /integrations/metoffice/
+[mikrotik docs]: /integrations/mikrotik/
+[modbus docs]: /integrations/modbus/
+[modem_callerid docs]: /integrations/modem_callerid/
+[moon docs]: /integrations/moon/
+[mqtt docs]: /integrations/mqtt/
+[mqtt_statestream docs]: /integrations/mqtt_statestream/
+[mysensors docs]: /integrations/mysensors/
+[netgear_lte docs]: /integrations/netgear_lte/
+[nextcloud docs]: /integrations/nextcloud/
+[nissan_leaf docs]: /integrations/nissan_leaf/
+[nmbs docs]: /integrations/nmbs/
+[notify docs]: /integrations/notify/
+[notion docs]: /integrations/notion/
+[nuki docs]: /integrations/nuki/
+[number docs]: /integrations/number/
+[nws docs]: /integrations/nws/
+[obihai docs]: /integrations/obihai/
+[octoprint docs]: /integrations/octoprint/
+[onewire docs]: /integrations/onewire/
+[onvif docs]: /integrations/onvif/
+[openai_conversation docs]: /integrations/openai_conversation/
+[opencv docs]: /integrations/opencv/
+[opentherm_gw docs]: /integrations/opentherm_gw/
+[otbr docs]: /integrations/otbr/
+[overkiz docs]: /integrations/overkiz/
+[p1_monitor docs]: /integrations/p1_monitor/
+[person docs]: /integrations/person/
+[philips_js docs]: /integrations/philips_js/
+[pi_hole docs]: /integrations/pi_hole/
+[ping docs]: /integrations/ping/
+[plex docs]: /integrations/plex/
+[plugwise docs]: /integrations/plugwise/
+[powerwall docs]: /integrations/powerwall/
+[profiler docs]: /integrations/profiler/
+[prosegur docs]: /integrations/prosegur/
+[proxmoxve docs]: /integrations/proxmoxve/
+[ps4 docs]: /integrations/ps4/
+[pushbullet docs]: /integrations/pushbullet/
+[pushsafer docs]: /integrations/pushsafer/
+[pvoutput docs]: /integrations/pvoutput/
+[qbittorrent docs]: /integrations/qbittorrent/
+[quadrafire docs]: /integrations/quadrafire/
+[rachio docs]: /integrations/rachio/
+[radiotherm docs]: /integrations/radiotherm/
+[rdw docs]: /integrations/rdw/
+[recorder docs]: /integrations/recorder/
+[renault docs]: /integrations/renault/
+[reolink docs]: /integrations/reolink/
+[repairs docs]: /integrations/repairs/
+[rest docs]: /integrations/rest/
+[rflink docs]: /integrations/rflink/
+[ridwell docs]: /integrations/ridwell/
+[roku docs]: /integrations/roku/
+[roon docs]: /integrations/roon/
+[rympro docs]: /integrations/rympro/
+[samsungtv docs]: /integrations/samsungtv/
+[scrape docs]: /integrations/scrape/
+[screenlogic docs]: /integrations/screenlogic/
+[script docs]: /integrations/script/
+[season docs]: /integrations/season/
+[select docs]: /integrations/select/
+[sensor docs]: /integrations/sensor/
+[sentry docs]: /integrations/sentry/
+[sfr_box docs]: /integrations/sfr_box/
+[sharkiq docs]: /integrations/sharkiq/
+[shelly docs]: /integrations/shelly/
+[siren docs]: /integrations/siren/
+[snmp docs]: /integrations/snmp/
+[sonos docs]: /integrations/sonos/
+[spotify docs]: /integrations/spotify/
+[sql docs]: /integrations/sql/
+[squeezebox docs]: /integrations/squeezebox/
+[starlink docs]: /integrations/starlink/
+[statistics docs]: /integrations/statistics/
+[stt docs]: /integrations/stt/
+[subaru docs]: /integrations/subaru/
+[sun docs]: /integrations/sun/
+[switch_as_x docs]: /integrations/switch_as_x/
+[switchbot docs]: /integrations/switchbot/
+[synology_dsm docs]: /integrations/synology_dsm/
+[system_bridge docs]: /integrations/system_bridge/
+[tado docs]: /integrations/tado/
+[tasmota docs]: /integrations/tasmota/
+[temper docs]: /integrations/temper/
+[text docs]: /integrations/text/
+[thread docs]: /integrations/thread/
+[threshold docs]: /integrations/threshold/
+[tibber docs]: /integrations/tibber/
+[todoist docs]: /integrations/todoist/
+[toon docs]: /integrations/toon/
+[tplink docs]: /integrations/tplink/
+[tplink_omada docs]: /integrations/tplink_omada/
+[trace docs]: /integrations/trace/
+[transmission docs]: /integrations/transmission/
+[tts docs]: /integrations/tts/
+[tuya docs]: /integrations/tuya/
+[twentemilieu docs]: /integrations/twentemilieu/
+[unifi docs]: /integrations/unifi/
+[unifiprotect docs]: /integrations/unifiprotect/
+[universal docs]: /integrations/universal/
+[upnp docs]: /integrations/upnp/
+[uptime docs]: /integrations/uptime/
+[utility_meter docs]: /integrations/utility_meter/
+[velbus docs]: /integrations/velbus/
+[verisure docs]: /integrations/verisure/
+[vermont_castings docs]: /integrations/vermont_castings/
+[version docs]: /integrations/version/
+[vesync docs]: /integrations/vesync/
+[vizio docs]: /integrations/vizio/
+[voice_assistant docs]: /integrations/voice_assistant/
+[volvooncall docs]: /integrations/volvooncall/
+[waze_travel_time docs]: /integrations/waze_travel_time/
+[weather docs]: /integrations/weather/
+[webostv docs]: /integrations/webostv/
+[websocket_api docs]: /integrations/websocket_api/
+[wled docs]: /integrations/wled/
+[workday docs]: /integrations/workday/
+[xiaomi_ble docs]: /integrations/xiaomi_ble/
+[xiaomi_miio docs]: /integrations/xiaomi_miio/
+[yalexs_ble docs]: /integrations/yalexs_ble/
+[yolink docs]: /integrations/yolink/
+[youless docs]: /integrations/youless/
+[zeroconf docs]: /integrations/zeroconf/
+[zha docs]: /integrations/zha/
+[zwave_js docs]: /integrations/zwave_js/
+[zwave_me docs]: /integrations/zwave_me/
diff --git a/source/images/blog/2023-04/social.png b/source/images/blog/2023-04/social.png
new file mode 100644
index 00000000000..de2c56e76b2
Binary files /dev/null and b/source/images/blog/2023-04/social.png differ