home-assistant.io/source/changelogs/core-2023.4.markdown
2023-04-05 18:07:22 +02:00

2232 lines
129 KiB
Markdown

---
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/04/05/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])
- 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])
- 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])
- 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])
- 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])
- [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])
- Use auth token in Ezviz ([@RenierM26] - [#54663])
- Add missing strings in frontier_silicon ([@wlcrs] - [#90446])
- Bump reolink-aio to 0.5.8 ([@starkillerOG] - [#90467])
- Add entity name translations for devolo Home Network ([@Shutgun] - [#90471])
- Bump yalexs-ble to 2.1.14 ([@bdraco] - [#90474])
- Add missing strings to sensor integration ([@epenet] - [#90475])
- Correctly load ZHA settings from API when integration is not running ([@puddly] - [#90476])
- Fix filesize doing blocking I/O in the event loop ([@bdraco] - [#90479])
- OpenAI to rely on built-in `areas` variable ([@balloob] - [#90481])
- Include channel in response to WS thread/list_datasets ([@emontnemery] - [#90493])
- Fix for is_hidden_entity when using it in select, selectattr, reject, and rejectattr ([@Petro31] - [#90512])
- Unregister webhook when registering webhook with nuki fials ([@balloob] - [#90514])
- Add a device to the sun ([@frenck] - [#90517])
- Migrate old ZHA IasZone sensor state to zigpy cache ([@TheJulianJES] - [#90508])
- Update frontend to 20230330.0 ([@bramkragten] - [#90524])
- Add entity name translations to LaMetric ([@frenck] - [#90538])
- Fix migration when encountering a NULL entity_id/event_type ([@bdraco] - [#90542])
- Handle garbage in the context_id column during migration ([@bdraco] - [#90544])
- Bump ZHA dependencies ([@puddly] - [#90547])
- Allow removal of sensor settings in scrape ([@epenet] - [#90412])
- Make sonos activity check a background task ([@bdraco] - [#90553])
- Add arming/disarming state to Verisure ([@frenck] - [#90577])
- Raise on invalid (dis)arm code in manual alarm ([@frenck] - [#90579])
- Tweak yalexs_ble translations ([@emontnemery] - [#90582])
- Raise on invalid (dis)arm code in manual mqtt alarm ([@frenck] - [#90584])
- Bump reolink-aio to 0.5.9 ([@starkillerOG] - [#90590])
- Update frontend to 20230331.0 ([@bramkragten] - [#90594])
- Fix ZHA definition error on received command ([@puddly] - [#90602])
- Perform an energy scan when downloading ZHA diagnostics ([@puddly] - [#90605])
- Bump zwave-js-server-python to 0.47.3 ([@raman325] - [#90606])
- Avoid sorting domain/all states in templates ([@bdraco] - [#90608])
- Only limit stats to started add-ons ([@ludeeus] - [#90611])
- Small speed up to \_collection_changed ([@bdraco] - [#90621])
- Bump zeroconf to 0.51.0 ([@bdraco] - [#90622])
- Fix Rest switch init was not retrying if unreachable at setup ([@aschor] - [#90627])
- Fix mqtt device_tracker is not reloading yaml ([@jbouwh] - [#90639])
- Update frontend to 20230401.0 ([@bramkragten] - [#90646])
- Update goodwe library to v0.2.30 ([@mletenay] - [#90607])
- Add entity name translations to Brother ([@bieniu] - [#90634])
- Add object source logger to profiler ([@bdraco] - [#90650])
- Add entity name translations to GIOS ([@bieniu] - [#90655])
- Add entity name translations to Airly ([@bieniu] - [#90656])
- Bump zeroconf to 0.52.0 ([@bdraco] - [#90660])
- Add entity name translations for Nest sensors ([@Nardol] - [#90677])
- Fix frontend test ([@balloob] - [#90679])
- Bump zeroconf to 0.53.0 ([@bdraco] - [#90682])
- Fix default sensor entity name for PM1 ([@bieniu] - [#90684])
- Fix memory churn in state templates ([@bdraco] - [#90685])
- Remove Darksky integration ([@gjohansson-ST] - [#90322])
- Use entity name translations in Fronius ([@farmio] - [#90463])
- Raise repair issue if OTBR and ZHA are on different channels ([@emontnemery] - [#90494])
- Correct handling if WIFI combine suffix is "None" ([@N3rdix] - [#90528])
- Add entity name translations to Plugwise ([@frenck] - [#90537])
- Add entity name translations to Switchbot ([@Nardol] - [#90600])
- Bump env_canada to v0.5.30 ([@michaeldavie] - [#90644])
- Ensure system log does not raise while processing logger messages ([@bdraco] - [#90652])
- Add entity name translations to NAM ([@bieniu] - [#90681])
- Use the default entity names in Airly ([@bieniu] - [#90693])
- Use entity name translations in 1-wire ([@epenet] - [#90696])
- Use entity name translations in Renault ([@epenet] - [#90697])
- Use entity name translations in SFR Box ([@epenet] - [#90698])
- Fix ha version in EDL21 deprecation warning ([@StephanU] - [#90699])
- Use the default entity names in GIOS ([@bieniu] - [#90700])
- Add entity name translations to BraviaTV ([@bieniu] - [#90702])
- Add entity name translations to AVM Fritz!Tools ([@mib1185] - [#90703])
- Add entity name translations to Synology DSM ([@mib1185] - [#90706])
- Add entity name translations to AVM Fritz!SmartHome ([@mib1185] - [#90707])
- Add entity name translations to NUT ([@mib1185] - [#90709])
- Fix Livisi climate min/max temperature ([@planbnet] - [#90712])
- Add entity name translations to Pi-hole ([@mib1185] - [#90713])
- Fix translation of status binary sensor in PI-Hole ([@mib1185] - [#90719])
- Fix missing battery sensors for SimpliSafe locks ([@bachya] - [#90722])
- Bump pychromecast to 13.0.7 ([@emontnemery] - [#90724])
- Add entity name translations to Luftdaten ([@mib1185] - [#90725])
- Add entity name translations to sun ([@mib1185] - [#90732])
- Update frontend to 20230403.0 ([@bramkragten] - [#90735])
- Fix bluetooth_le_tracker reporting devices Home when they leave ([@ProtoxiDe22] - [#90641])
- Add entity name translations to SMS ([@mib1185] - [#90727])
- Add entity name translations to Tractive ([@bieniu] - [#90738])
- SharkIQ Hotfix - Handle current installations by using default `REGION` ([@funkybunch] - [#90741])
- Add entity name translations to NextDNS ([@bieniu] - [#90743])
- Bump zeroconf to 0.54.0 ([@bdraco] - [#90744])
- Prevent overly large event data from being stored in the database ([@bdraco] - [#90747])
- Restore state for ZHA OnOff binary sensors ([@TheJulianJES] - [#90749])
- Bump aiohomekit to 2.6.3 ([@bdraco] - [#90752])
- Add render count to templates repr ([@bdraco] - [#90753])
- Fix frontend test again ([@balloob] - [#90754])
- Update template environment from the event loop ([@emontnemery] - [#90758])
- Fix recovering imap connection triggers re-auth ([@jbouwh] - [#90762])
- Add async_write_ha_state to Reolink select ([@starkillerOG] - [#90764])
- Address late review for NextDNS entity name translations ([@bieniu] - [#90771])
- Add Warning in the issue registry if a HTTPS webhook is used for Nuki ([@pree] - [#90718])
- Add translations for Nuki entity name and battery critical state attribute ([@Nardol] - [#90772])
- Add entity name translations to Broadlink sensors ([@Nardol] - [#90783])
- Fix BLEDevice not getting updated when details change for remote scanners ([@bdraco] - [#90815])
- Bump aioesphomeapi to 10.6.1 ([@bdraco] - [#90816])
- Master RAS zone ([@Swamp-Ig] - [#90825])
- Suppress imap logging on reconnect and presume state ([@jbouwh] - [#90826])
- Add entity name translations to prusalink entities ([@piitaya] - [#90833])
- Support entity name translation in DSMR Reader component ([@Glodenox] - [#90836])
- Adjust async_track_time_interval name argument ([@epenet] - [#90838])
- Bump frontend to 20230405.0 ([@bramkragten] - [#90841])
- Adjust OTBR channel conflict URL ([@emontnemery] - [#90847])
[#54663]: https://github.com/home-assistant/core/pull/54663
[#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
[#90322]: https://github.com/home-assistant/core/pull/90322
[#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
[#90412]: https://github.com/home-assistant/core/pull/90412
[#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
[#90446]: https://github.com/home-assistant/core/pull/90446
[#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
[#90463]: https://github.com/home-assistant/core/pull/90463
[#90464]: https://github.com/home-assistant/core/pull/90464
[#90467]: https://github.com/home-assistant/core/pull/90467
[#90471]: https://github.com/home-assistant/core/pull/90471
[#90472]: https://github.com/home-assistant/core/pull/90472
[#90473]: https://github.com/home-assistant/core/pull/90473
[#90474]: https://github.com/home-assistant/core/pull/90474
[#90475]: https://github.com/home-assistant/core/pull/90475
[#90476]: https://github.com/home-assistant/core/pull/90476
[#90479]: https://github.com/home-assistant/core/pull/90479
[#90481]: https://github.com/home-assistant/core/pull/90481
[#90493]: https://github.com/home-assistant/core/pull/90493
[#90494]: https://github.com/home-assistant/core/pull/90494
[#90508]: https://github.com/home-assistant/core/pull/90508
[#90512]: https://github.com/home-assistant/core/pull/90512
[#90514]: https://github.com/home-assistant/core/pull/90514
[#90517]: https://github.com/home-assistant/core/pull/90517
[#90524]: https://github.com/home-assistant/core/pull/90524
[#90528]: https://github.com/home-assistant/core/pull/90528
[#90537]: https://github.com/home-assistant/core/pull/90537
[#90538]: https://github.com/home-assistant/core/pull/90538
[#90542]: https://github.com/home-assistant/core/pull/90542
[#90544]: https://github.com/home-assistant/core/pull/90544
[#90547]: https://github.com/home-assistant/core/pull/90547
[#90553]: https://github.com/home-assistant/core/pull/90553
[#90577]: https://github.com/home-assistant/core/pull/90577
[#90579]: https://github.com/home-assistant/core/pull/90579
[#90582]: https://github.com/home-assistant/core/pull/90582
[#90584]: https://github.com/home-assistant/core/pull/90584
[#90590]: https://github.com/home-assistant/core/pull/90590
[#90594]: https://github.com/home-assistant/core/pull/90594
[#90600]: https://github.com/home-assistant/core/pull/90600
[#90602]: https://github.com/home-assistant/core/pull/90602
[#90605]: https://github.com/home-assistant/core/pull/90605
[#90606]: https://github.com/home-assistant/core/pull/90606
[#90607]: https://github.com/home-assistant/core/pull/90607
[#90608]: https://github.com/home-assistant/core/pull/90608
[#90611]: https://github.com/home-assistant/core/pull/90611
[#90621]: https://github.com/home-assistant/core/pull/90621
[#90622]: https://github.com/home-assistant/core/pull/90622
[#90627]: https://github.com/home-assistant/core/pull/90627
[#90634]: https://github.com/home-assistant/core/pull/90634
[#90639]: https://github.com/home-assistant/core/pull/90639
[#90641]: https://github.com/home-assistant/core/pull/90641
[#90644]: https://github.com/home-assistant/core/pull/90644
[#90646]: https://github.com/home-assistant/core/pull/90646
[#90650]: https://github.com/home-assistant/core/pull/90650
[#90652]: https://github.com/home-assistant/core/pull/90652
[#90655]: https://github.com/home-assistant/core/pull/90655
[#90656]: https://github.com/home-assistant/core/pull/90656
[#90660]: https://github.com/home-assistant/core/pull/90660
[#90677]: https://github.com/home-assistant/core/pull/90677
[#90679]: https://github.com/home-assistant/core/pull/90679
[#90681]: https://github.com/home-assistant/core/pull/90681
[#90682]: https://github.com/home-assistant/core/pull/90682
[#90684]: https://github.com/home-assistant/core/pull/90684
[#90685]: https://github.com/home-assistant/core/pull/90685
[#90693]: https://github.com/home-assistant/core/pull/90693
[#90696]: https://github.com/home-assistant/core/pull/90696
[#90697]: https://github.com/home-assistant/core/pull/90697
[#90698]: https://github.com/home-assistant/core/pull/90698
[#90699]: https://github.com/home-assistant/core/pull/90699
[#90700]: https://github.com/home-assistant/core/pull/90700
[#90702]: https://github.com/home-assistant/core/pull/90702
[#90703]: https://github.com/home-assistant/core/pull/90703
[#90706]: https://github.com/home-assistant/core/pull/90706
[#90707]: https://github.com/home-assistant/core/pull/90707
[#90709]: https://github.com/home-assistant/core/pull/90709
[#90712]: https://github.com/home-assistant/core/pull/90712
[#90713]: https://github.com/home-assistant/core/pull/90713
[#90718]: https://github.com/home-assistant/core/pull/90718
[#90719]: https://github.com/home-assistant/core/pull/90719
[#90722]: https://github.com/home-assistant/core/pull/90722
[#90724]: https://github.com/home-assistant/core/pull/90724
[#90725]: https://github.com/home-assistant/core/pull/90725
[#90727]: https://github.com/home-assistant/core/pull/90727
[#90732]: https://github.com/home-assistant/core/pull/90732
[#90735]: https://github.com/home-assistant/core/pull/90735
[#90738]: https://github.com/home-assistant/core/pull/90738
[#90741]: https://github.com/home-assistant/core/pull/90741
[#90743]: https://github.com/home-assistant/core/pull/90743
[#90744]: https://github.com/home-assistant/core/pull/90744
[#90747]: https://github.com/home-assistant/core/pull/90747
[#90749]: https://github.com/home-assistant/core/pull/90749
[#90752]: https://github.com/home-assistant/core/pull/90752
[#90753]: https://github.com/home-assistant/core/pull/90753
[#90754]: https://github.com/home-assistant/core/pull/90754
[#90758]: https://github.com/home-assistant/core/pull/90758
[#90762]: https://github.com/home-assistant/core/pull/90762
[#90764]: https://github.com/home-assistant/core/pull/90764
[#90771]: https://github.com/home-assistant/core/pull/90771
[#90772]: https://github.com/home-assistant/core/pull/90772
[#90783]: https://github.com/home-assistant/core/pull/90783
[#90815]: https://github.com/home-assistant/core/pull/90815
[#90816]: https://github.com/home-assistant/core/pull/90816
[#90825]: https://github.com/home-assistant/core/pull/90825
[#90826]: https://github.com/home-assistant/core/pull/90826
[#90833]: https://github.com/home-assistant/core/pull/90833
[#90836]: https://github.com/home-assistant/core/pull/90836
[#90838]: https://github.com/home-assistant/core/pull/90838
[#90841]: https://github.com/home-assistant/core/pull/90841
[#90847]: https://github.com/home-assistant/core/pull/90847
[@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
[@glodenox]: https://github.com/Glodenox
[@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
[@n3rdix]: https://github.com/N3rdix
[@nardol]: https://github.com/Nardol
[@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
[@protoxide22]: https://github.com/ProtoxiDe22
[@renierm26]: https://github.com/RenierM26
[@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
[@aschor]: https://github.com/aschor
[@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
[@michaeldavie]: https://github.com/michaeldavie
[@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/
[airly docs]: /integrations/airly/
[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/
[bluetooth_le_tracker docs]: /integrations/bluetooth_le_tracker/
[bmw_connected_drive docs]: /integrations/bmw_connected_drive/
[braviatv docs]: /integrations/braviatv/
[broadlink docs]: /integrations/broadlink/
[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/
[darksky docs]: /integrations/darksky/
[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/
[devolo_home_network docs]: /integrations/devolo_home_network/
[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/
[environment_canada docs]: /integrations/environment_canada/
[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/
[homekit_controller docs]: /integrations/homekit_controller/
[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/
[luftdaten docs]: /integrations/luftdaten/
[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/
[nam docs]: /integrations/nam/
[nest docs]: /integrations/nest/
[netgear_lte docs]: /integrations/netgear_lte/
[nextcloud docs]: /integrations/nextcloud/
[nextdns docs]: /integrations/nextdns/
[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/
[nut docs]: /integrations/nut/
[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/
[prusalink docs]: /integrations/prusalink/
[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/
[simplisafe docs]: /integrations/simplisafe/
[siren docs]: /integrations/siren/
[sms docs]: /integrations/sms/
[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/
[system_log docs]: /integrations/system_log/
[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/
[tractive docs]: /integrations/tractive/
[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/