Full changelog for Home Assistant Core 2024.8
These are all the changes included in the Home Assistant Core 2024.8 release.
For a summary in a more readable format: Release notes blog for this release.
All changes
- Bump version to 2024.8.0dev0 (@frenck
- #120577 )  - Adapt Roborock to runtime_data (@edenhaus
- #120578 )  - Update pylint to 3.2.4 (@cdce8p
- #120606 )  - Add some more VolDictType annotations (@cdce8p
- #120610 )  - Install libturbojpeg in hassfest job [ci] (@cdce8p
- #120611 )  - Prevent importing PLATFORM_SCHEMA/_BASE from config validation (@epenet
- #120571 )  - Address device helper review comments (@dougiteixeira
- #120615 )  - Bump awesomeversion from 24.2.0 to 24.6.0 (@ludeeus
- #120642 )  - Remove unnecessary .coveragerc entries (@davet2001
- #120620 )  - Add release url to lamarzocco update (@zweckj
- #120645 )  - Improve type hints in emulated_hue tests (@epenet
- #120664 )  - Improve type hints in esphome tests (@epenet
- #120674 )  - Add capsys to enforce-type-hints plugin (@epenet
- #120653 )  - Improve type hints in enphase_envoy tests (@epenet
- #120676 )  - Improve type hints in evil_genius_labs tests (@epenet
- #120677 )  - Bump ring-doorbell to 0.8.12 (@sdb9696
- #120671 )  - Fix SIM300 (@joostlek
- #120725 )  - Improve type hints in auth tests (@epenet
- #120655 )  - Improve type hints in flux_led tests (@epenet
- #120734 )  - Add unit and state_class to heating sensor in ista EcoTrend (@tr4nt0r
- #120728 )  - Improve type hints in flux tests (@epenet
- #120733 )  - Fix ruff type comparison E721 (@joostlek
- #120731 )  - Improve type hints in fjaraskupan tests (@epenet
- #120732 )  - Fix ruff manual-dict-comprehension PERF403 in tests (@joostlek
- #120738 )  - Fix ruff redefined-argument-from-local PLR1704 (@joostlek
- #120729 )  - Bump aiomaps with fixed license classifier (@devbis
- #120654 )  - Improve type hints in flo tests (@epenet
- #120730 )  - Improve type hints in forked_daapd tests (@epenet
- #120735 )  - Improve type hints in frontend tests (@epenet
- #120739 )  - Fix ruff manual-dict-comprehension PERF403 (@joostlek
- #120723 )  - Bump ruff to 0.5.0 (@joostlek
- #120749 )  - Cleanup mqtt platform tests part 6 (last) (@jbouwh
- #120736 )  - Cleanup mqtt platform tests part 5 (@jbouwh
- #120719 )  - Bump Wallbox to 0.7.0 (@kotope
- #120768 )  - Catch exceptions in service calls by buttons/switches in pyLoad integration (@tr4nt0r
- #120701 )  - Fix stale docstring in recorder queries (@bdraco
- #120763 )  - Link Generic Thermostat helper entity to actuator entity device (@dougiteixeira
- #120767 )  - Link Generic Hygrostat helper entity to actuator entity device (@dougiteixeira
- #120759 )  - Add event platform to unifiprotect (@bdraco
- #120681 )  - Cleanup db_schema from_event constructors (@bdraco
- #120803 )  - Bump pyOverkiz to 1.13.12 (@iMicknl
- #120819 )  - Bump plexapi to 4.15.14 (@jjlawren
- #120832 )  - Use eventing for some of the upnp sensors, instead of polling (@StevenLooman
- #120262 )  - Store runtime data inside the config entry in solarlog (@dontinelli
- #120773 )  - Add linked doorbell event support to HomeKit (@bdraco
- #120834 )  - Bump google-cloud-texttospeech to 2.16.3 (@tronikos
- #120845 )  - Use TextToSpeechAsyncClient in Google Cloud TTS (@tronikos
- #120847 )  - Do not set gender if voice name is specified in Google Cloud TTS (@tronikos
- #120848 )  - Handle error when validating options in Google Cloud TTS (@tronikos
- #120850 )  - Use runtime_data for BMW (@rikroe
- #120837 )  - Axis improve fixture naming (@Kane610
- #120844 )  - Store runtime data inside the config entry in fyta (@dontinelli
- #120761 )  - Correctly return file extension in Google Cloud TTS (@tronikos
- #120849 )  - Use SelectSelector in BMW config flow (@rikroe
- #120831 )  - Simplify UniFi uptime sensor test (@Kane610
- #120794 )  - Change schema to TextSelector to enable autocomplete (@dontinelli
- #120771 )  - Improve UniFi device tracker tests Pt2 (@Kane610
- #120796 )  - Improve UniFi device tracker tests (@Kane610
- #120795 )  - Migrate Ecowitt to runtime_data (@edenhaus
- #120675 )  - Fix unifi device tracker test imports (@rikroe
- #120864 )  - Add valve domain to HomeKit (@sander1988
- #115901 )  - Bump github/codeql-action from 3.25.10 to 3.25.11 (@dependabot - #120899
)  - Use service_calls fixture in deconz tests (@epenet
- #120905 )  - Import Generator from collections.abc (1) (@cdce8p
- #120914 )  - Import Generator from collections.abc (4) (@cdce8p
- #120917 )  - Import Generator from collections.abc (2) (@cdce8p
- #120915 )  - Import Generator from collections.abc (3) (@cdce8p
- #120916 )  - Add typing to Panasonic Viera (@joostlek
- #120772 )  - First step towards fixtures in deCONZ tests (@Kane610
- #120863 )  - Use service_calls fixture in google_translate tests (@epenet
- #120920 )  - Use TypeVar defaults for Generator (@cdce8p
- #120921 )  - Remove OverloadUT as codeowner from Ecovacs (@edenhaus
- #120517 )  - Add Context to service_calls fixture (@epenet
- #120923 )  - Use service_calls fixture in knx tests (@epenet
- #120930 )  - Use service_calls fixture in hue tests (@epenet
- #120928 )  - Improve flume test coverage (@allenporter
- #120851 )  - Use service_calls fixture in lutron_caseta tests (@epenet
- #120934 )  - Use service_calls fixture in homeassistant tests (@epenet
- #120922 )  - Use service_calls fixture in lcn tests (@epenet
- #120931 )  - Use fixtures in deCONZ select tests (@Kane610
- #120943 )  - Use service_calls fixture in media_extractor tests (@epenet
- #120935 )  - Use service_calls fixture in lg_netcast tests (@epenet
- #120932 )  - Add exception translations (@timmo001
- #120937 )  - Use fixtures in deCONZ scene tests (@Kane610
- #120936 )  - Use fixtures in deCONZ number tests (@Kane610
- #120938 )  - Use service_calls fixture in litejet tests (@epenet
- #120933 )  - Replace GoogleAPICallError with GoogleAPIError (@tronikos
- #120902 )  - Remove a useless line in Google Generative AI test (@tronikos
- #120903 )  - Use service_calls fixture in kodi tests (@epenet
- #120929 )  - Use service_calls fixture in homekit_controller tests (@epenet
- #120927 )  - Use service_calls fixture in geo_location tests (@epenet
- #120911 )  - Use service_calls fixture in conversation tests (@epenet
- #120906 )  - Use fixtures in deCONZ logbook tests (@Kane610
- #120947 )  - Use fixtures in deCONZ lock tests (@Kane610
- #120948 )  - Use fixtures in deCONZ switch tests (@Kane610
- #120944 )  - Simplify Bang & Olufsen media_image_url property (@mj23000
- #120951 )  - Use service_calls fixture in core platform tests [a-l] (@epenet
- #120904 )  - Use fixtures in deCONZ fan tests (@Kane610
- #120953 )  - Use fixtures in deCONZ cover tests (@Kane610
- #120954 )  - Use fixtures in deCONZ button tests (@Kane610
- #120958 )  - Use service_calls fixture in netatmo tests (@epenet
- #120986 )  - Use service_calls fixture in shelly tests (@epenet
- #120991 )  - Use service_calls fixture in samsungtv tests (@epenet
- #120992 )  - Use service_calls fixture in mqtt tests (@epenet
- #120984 )  - Use common registry fixtures in hue (@epenet
- #121003 )  - Use common registry fixtures in tplink (@epenet
- #121002 )  - Use service_calls fixture in microsoft tests (@epenet
- #120983 )  - Use service_calls fixture in zone tests (@epenet
- #120995 )  - Use service_calls fixture in sun tests (@epenet
- #120990 )  - Use service_calls fixture in yolink tests (@epenet
- #120997 )  - Use common fixtures in philips_js tests (@epenet
- #120988 )  - Use common registry fixtures in lifx (@epenet
- #121004 )  - Use service_calls fixture in core platform tests [m-z] (@epenet
- #121001 )  - Use common registry fixtures in solarlog (@epenet
- #121005 )  - Use service_calls fixture in zwave_js tests (@epenet
- #120994 )  - Use service_calls fixture in xiaomi_ble tests (@epenet
- #120998 )  - Use fixtures in deCONZ diagnostics tests (@Kane610
- #120968 )  - Improve type hints in analytics tests (@epenet
- #121012 )  - Adjust Generator type hints in tests (@epenet
- #121013 )  - Fix typo in post_schema_migration (@emontnemery
- #121017 )  - Use service_calls fixture in nest tests (@epenet
- #120987 )  - Use common fixtures in tasmota tests (@epenet
- #121000 )  - Bump amberelectric to 1.1.1 (@madpilot
- #121010 )  - Update voluptuous to 0.15.2 (@cdce8p
- #120631 )  - Bump orjson to 3.10.6 (@bdraco
- #121028 )  - Improve type hints in home_connect tests (@epenet
- #121014 )  - Add Beoconnect Core as selectable Bang & Olufsen device (@mj23000
- #121015 )  - Remove BaseTableManager active attribute (@emontnemery
- #121020 )  - Bump pytechnove to 1.3.0 (@Moustachauve
- #120975 )  - Bump uiprotect to 5.0.0 (@bdraco
- #121034 )  - Add monkeypatch type hints to shelly tests (@epenet
- #121057 )  - Add conversation supported feature CONTROL (@balloob
- #121036 )  - Use async_setup_recorder_instance fixture in recorder migration tests (@emontnemery
- #121050 )  - Remove unused diagnostics fixtures (@epenet
- #121066 )  - Cleanup deprecated json utils (@epenet
- #121069 )  - Add CONTROL supported feature to OpenAI conversation entities (@balloob
- #121064 )  - Improve logic when retrying establishing database connection (@emontnemery
- #121047 )  - Use async_setup_recorder_instance fixture in recorder auto_repairs tests (@emontnemery
- #121077 )  - Fix async knocki function (@joostlek
- #121048 )  - Bump uiprotect to 5.2.0 (@bdraco
- #121079 )  - Cleanup v32 recorder migration test (@bdraco
- #121083 )  - Small speed up to writing entity state (@bdraco
- #121043 )  - Fix leak of SQLAlchemy engine objects in recorder (@emontnemery
- #121085 )  - Make the async_setup_recorder_instance fixture a context manager (@emontnemery
- #121086 )  - Fix event loop blocking I/O in command_line tests (@bdraco
- #121098 )  - Fix event loop blocking I/O in generic tests (@bdraco
- #121100 )  - Remove schema option for mqtt vacuum configs (@jbouwh
- #121093 )  - Fix blocking I/O in demo mailbox (@bdraco
- #121097 )  - Remove unnecessary lambdas in timeout tests (@bdraco
- #121101 )  - Fix blocking process call in process tests (@bdraco
- #121104 )  - Add monkeypatch type hints to switcher_kis tests (@epenet
- #121055 )  - Add monkeypatch type hints to webostv tests (@epenet
- #121054 )  - Add recorder test fixture for skipping tests by DB engine (@emontnemery
- #121118 )  - Fix blocking I/O in event loop in kira test (@bdraco
- #121127 )  - Fix blocking I/O in event loop in google_assistant test (@bdraco
- #121126 )  - Bump nextcloudmonitor to 1.5.1 (@meichthys
- #120356 )  - Use async_test_recorder fixture in recorder auto_repairs tests (@emontnemery
- #121125 )  - Fix blocking I/O in media_extractor tests (@bdraco
- #121139 )  - Fix blocking I/O in mqtt tests (@bdraco
- #121140 )  - Fix blocking I/O in stream tests (@bdraco
- #121142 )  - Fix blocking I/O in tts tests (@bdraco
- #121143 )  - Fix blocking I/O in config tests (@bdraco
- #121144 )  - Update pytechnove to 1.3.1 (@Moustachauve
- #121146 )  - Bump thermobeacon-ble to 0.7.0 (@bdraco
- #121136 )  - Fix blocking I/O in event loop in core test (@bdraco
- #121128 )  - Add port mapping entry count sensor to upnp (@StevenLooman
- #120263 )  - Add recorder test fixture to enable persistent SQLite database (@emontnemery
- #121137 )  - Improve type hints in group tests (@epenet
- #121174 )  - Improve type hints in gpslogger tests (@epenet
- #121173 )  - Improve type hints in geofency tests (@epenet
- #121168 )  - Improve type hints in google_travel_time tests (@epenet
- #121171 )  - Improve type hints in generic_hygrostat/thermostat tests (@epenet
- #121167 )  - Improve type hints in generic tests (@epenet
- #121166 )  - Convert async_get_conversation_languages from async to callback (@balloob
- #121162 )  - Improve type hints in google_generative_ai tests (@epenet
- #121170 )  - Enable ruff asyncio event loop blocking detection rules (@bdraco
- #120799 )  - Improve type hints in google_pubsub tests (@epenet
- #121172 )  - Add monkeypatch type hints to numato tests (@epenet
- #121056 )  - Add event platform to doorbird (@bdraco
- #121114 )  - Use fixtures in deCONZ config flow tests PT1 (@Kane610
- #121121 )  - Use fixtures in deCONZ sensor tests PT1 (@Kane610
- #121116 )  - Add support for event entity motion sensors to HomeKit (@bdraco
- #121123 )  - Improve type hints in guardian tests (@epenet
- #121175 )  - Use recorder test fixtures in recorder init tests (@emontnemery
- #121176 )  - Fix Google assistant SDK broadcasting command for italian (@giulianoriccio
- #116198 )  - Fix some typos in core.py (@emontnemery
- #121189 )  - Add test fixture to control recorder migration (@emontnemery
- #121180 )  - Use fixtures in deCONZ alarm control panel tests (@Kane610
- #120967 )  - Use fixtures in deCONZ binary sensor tests (@Kane610
- #120966 )  - Use fixtures in deCONZ light tests PT1 (@Kane610
- #121112 )  - Use fixtures in deCONZ device trigger tests (@Kane610
- #121103 )  - Use fixtures in deCONZ service tests (@Kane610
- #121108 )  - Improve type hints in google tests (@epenet
- #121169 )  - Use fixtures in deCONZ sensor tests PT2 (@Kane610
- #121204 )  - Use fixtures in deCONZ config flow tests PT2 (@Kane610
- #121203 )  - Add type hints to matrix events fixtures (@epenet
- #121213 )  - Improve type hints in habitica tests (@epenet
- #121212 )  - Add type hints to homekit events fixture (@epenet
- #121211 )  - Add new integration for Dio Chacon cover devices (@cnico
- #116267 )  - Drop use of async_setup_recorder_instance fixture in recorder migration tests (@emontnemery
- #121196 )  - Drop use of async_setup_recorder_instance fixture in recorder purge tests (@emontnemery
- #121193 )  - Add support for the Select platform in Matter (@jvmahon
- #119769 )  - Update short_name in web app manifest (@pkoenig10
- #121223 )  - Update uiprotect to 5.2.2 (@bdraco
- #121227 )  - Use Generator from abc instead of typing_extensions in Matter discovery (@marcelveldt
- #121236 )  - Import AsyncGenerator from collections.abc in tests (@epenet
- #121019 )  - Add .coveragerc to core files (@epenet
- #121182 )  - Add warnings for deprecated json helpers (@epenet
- #121161 )  - Bump pytrafikverket to 1.0.0 (@gjohansson-ST
- #121210 )  - Fix AprilAire case (@chamberlain2007
- #120895 )  - Add MINI Connected virtual integration (@rikroe
- #120874 )  - Bump 
nettigo_air_monitorto version 3.3.0 (@bieniu- #120901 )  - Improve type hints in ezviz tests (@epenet
- #120679 )  - Use service_calls fixture in webostv tests (@epenet
- #120999 )  - Update laundrify_aio to v1.2.2 (@xLarry
- #121068 )  - Use async_setup_recorder_instance fixture in recorder v32_migration tests (@emontnemery
- #121081 )  - Remove legacy method from deCONZ fan and sensor tests (@Kane610
- #121244 )  - Update HomeKit PM2.5 mappings based on new 2024 US EPA AQI (@sarabveer
- #109900 )  - Cache is_official_image/is_docker_env in bootstrap to fix blocking I/O (@bdraco
- #121261 )  - Small speed up to entity state calculation (@bdraco
- #121273 )  - Small speedup to processing entity customize (@bdraco
- #121271 )  - Fix blocking I/O while validating config schema (@bdraco
- #121263 )  - Use fixtures in deCONZ climate tests (@Kane610
- #121242 )  - Improve type hints in hassio tests (@epenet
- #121221 )  - Add Aprilaire humidifier (@chamberlain2007
- #120270 )  - Respect icloud 
Enable polling updates(@fopina- #117984 )  - Make device_tracker fallback defaults cached_property (@bdraco
- #121260 )  - Assist Pipeline minor cleanup (@balloob
- #121187 )  - Cleanup unifiprotect entity classes (@bdraco
- #121184 )  - Add max current number entity for TechnoVE (@Moustachauve
- #121148 )  - Remove unneeded blocking sleep in srp_energy tests (@bdraco
- #121141 )  - Simplify conversation tests (@balloob
- #121060 )  - Extend wrapper for sending commands to all platforms in Husqvarna Automower (@Thomas55555
- #120255 )  - Add monkeypatch type hints to rflink tests (@epenet
- #121053 )  - Use fixtures in deCONZ light tests PT2 (@Kane610
- #121208 )  - Remove coveragerc (@frenck
- #121286 )  - Bump pynx584 to 0.8.2 (@joostlek
- #120910 )  - Improve type hints in broadlink (@epenet
- #121285 )  - Add monkeypatch to enforce-type-hints plugin (@epenet
- #121051 )  - Improve type hints in homeassistant_alerts tests (@epenet
- #121293 )  - Improve type hints in http tests (@epenet
- #121294 )  - Improve type hints in hue tests (@epenet
- #121298 )  - Device change test improvements in Template (@dougiteixeira
- #120884 )  - Fix vscode debug launch deprecation warning by swapping python to debugpy (@davet2001
- #120866 )  - Separate BMW base entity into separate file (@rikroe
- #120830 )  - Add support for min mode in Netatmo public sensor (@maniek335
- #118613 )  - Improve type hints for silent_ssdp_scanner in tests (@epenet
- #121309 )  - Add ability to select current map for Roborock (@Lash-L
- #120882 )  - Improve type hints in hdmi_cec tests (@epenet
- #121302 )  - Improve hass type hints for autouse fixtures in tests (@epenet
- #121311 )  - Use fixtures in deCONZ gateway tests (@Kane610
- #121305 )  - Add valve to base platform (@joostlek
- #121313 )  - Use BIGINT SQL type for ID columns (@emontnemery
- #121025 )  - Use fixtures on deCONZ event tests (@Kane610
- #121303 )  - Use fixtures in deCONZ init tests (@Kane610
- #121217 )  - Get languages and voices from the API in Google Cloud TTS (@tronikos
- #120852 )  - Finally remove all legacy test stubs from deCONZ tests (@Kane610
- #121323 )  - Update ulid-transform to 0.10.1 (@bdraco
- #121321 )  - Add PPV2 entity for Growatt storage inverter (@Cris-ET
- #121052 )  - Match comments with refactoring (@erwindouna
- #121330 )  - Fix Netatmo snapshot (@joostlek
- #121333 )  - Add audit license script (@joostlek
- #120683 )  - Expose Twitch “Started At” attribute (@DHandspikerWade
- #121265 )  - Improve deCONZ websocket fixture (@Kane610
- #121332 )  - Bump ruff to 0.5.1 (@autinerd
- #121324 )  - Add diagnostics to Tessie (@Bre77
- #121348 )  - Improve user message if stream is not set up in generic camera (@davet2001
- #121308 )  - Bump webrtc-noise-gain to 1.2.4 (@synesthesiam
- #121346 )  - Provide default values for common keys in deCONZ websocket fixture (@Kane610
- #121359 )  - Refactor BMW send_message and add tests (@rikroe
- #119170 )  - Add energy binary sensors to Tessie (@Bre77
- #121349 )  - Add support for Roborock Zeo (@Lash-L
- #121334 )  - Refactor the validation in Google Cloud TTS (@tronikos
- #120853 )  - Add energy select entities to Tessie (@Bre77
- #120641 )  - Add valve-open/closed state icons (@Mariusthvdb
- #121312 )  - Add demand window sensor for amberelectric (@upsuper
- #121356 )  - Add energy number entities for Tessie (@Bre77
- #121354 )  - Add energy switch entities to Tessie (@Bre77
- #121360 )  - Remove old codeowners who no longer maintain the Omnilogic integration (@djtimca
- #117987 )  - Implement TechnoVE diagnostic (@Moustachauve
- #121278 )  - Add repair issue when trying to set up unknown integration (@joostlek
- #121089 )  - Fix Audit license script comments (@joostlek
- #121374 )  - Refactor BMW sensors and migrate unique_ids (@rikroe
- #121380 )  - Add BMW tire pressure sensors (@rikroe
- #120949 )  - Improve Elmax alarm control panel (@albertogeniola
- #117689 )  - Add json_attributes_path configuration for command_line sensor (@atlflyer
- #116656 )  - Convert Hue scenes brightness to 0..255 (@barryvdh
- #105871 )  - Add support for Xiaomi airpurifier and humidifier (@tanchu
- #117791 )  - Set BMW quality scale to platinum (@rikroe
- #121388 )  - Add @mib1185 as codeowner for Feedreader (@mib1185
- #121399 )  - Use shared httpx client in iaqualink integration (@flz
- #121407 )  - Minor changes to laundrify binary_sensor platform (@xLarry
- #121435 )  - Enable remove device entry in fibaro integration (@rappenze
- #121427 )  - Fix missing placeholder in intergration issue (@joostlek
- #121425 )  - Change TechnoVE quality scale to platinum (@Moustachauve
- #121275 )  - Add support for SenseCAP (@angelnu
- #121405 )  - Add event platform to august (@bdraco
- #121392 )  - Update mypy-dev to 1.12.0a1 (@cdce8p
- #121428 )  - Migrate QNAP extra state attributes to separate states (@jrieger
- #109221 )  - Add 
_attrclass attributes to TextToSpeechEntity (@autinerd- #115684 )  - Add prometheus fan handler (@llamafilm
- #119805 )  - Bump pydaikin to 2.13.1 (@kingy444
- #118679 )  - Add Tuya Smart Gardening system (@zinuzoid
- #118335 )  - Handle more pushover exceptions during setup (@zmc
- #115802 )  - Add configurable keep_alive to Ollama integration, change default to 5m (@srwareham
- #119341 )  - Remove device ID from config schema via YAML in helper template (@dougiteixeira
- #120708 )  - Set Jewish Calendar quality scale (@tsvi
- #120604 )  - Bump aiomealie to 0.6.0 (@joostlek
- #121439 )  - Deprecate the dynamic package sensors in seventeentrack (@shaiu
- #116102 )  - Migrate doorbird to use entry.runtime_data (@bdraco
- #121413 )  - Fix incorrect temperature in Gree if temp units changed on device (@cmroche
- #121041 )  - Generate translation in vscode taks: Code Coverage (@Thomas55555
- #120434 )  - Add mealie version to device info (@joostlek
- #121443 )  - Refactor Tado to use runtime_data (@erwindouna
- #121373 )  - Ensure 
intents_changedvariable is always initialized (@balloob- #121444 )  - Migrate Habitica Dailies and To-Do’s to the todo platform (@tr4nt0r
- #116655 )  - Home Connect unit tests for switch platform (@beastie29a
- #115456 )  - Add defrosting as HVACAction in ClimateEntity (@gjohansson-ST
- #121448 )  - Add Prometheus fan_mode and climate_mode metrics (@llamafilm
- #120267 )  - Use ConfigEntry runtime_data in TechnoVE (@Moustachauve
- #121410 )  - Add madvr envy integration (@iloveicedgreentea
- #120382 )  - Add valve support to Hydrawise (@dknowles2
- #116302 )  - Add config flow to history_stats helper (@gjohansson-ST
- #121381 )  - Add Mealie service to get mealplan (@joostlek
- #120824 )  - Add event entity to Feedreader (@mib1185
- #118147 )  - Fix flakey homekit reload test (@bdraco
- #121463 )  - Wait for conversation test init (@jbouwh
- #121464 )  - Small cleanups to doorbird (@bdraco
- #121454 )  - Fix BangOlufsenSource enum member names (@mj23000
- #116052 )  - Refactor schema generation in Template integration (@dougiteixeira
- #120889 )  - Add button platform to Habitica integration (@tr4nt0r
- #121461 )  - Bump actions/download-artifact from 4.1.7 to 4.1.8 (@dependabot - #121490
)  - Bump actions/upload-artifact from 4.3.3 to 4.3.4 (@dependabot - #121491
)  - Add rest in the inn switch to Habitica integration (@tr4nt0r
- #121472 )  - Add entity base class in Habitica integration (@tr4nt0r
- #121320 )  - Improve type hints in insteon tests (@epenet
- #121504 )  - Improve type hints in ipma tests (@epenet
- #121501 )  - Improve type hints in kulersky tests (@epenet
- #121510 )  - Improve type hints in kitchen_sink tests (@epenet
- #121509 )  - Improve type hints in iqvia tests (@epenet
- #121506 )  - Improve type hints in kodi tests (@epenet
- #121508 )  - Define state_class for Growatt storage entities (@Cris-ET
- #121514 )  - Write data to state after Broadlink entity added (@eifinger
- #121493 )  - Improve type hints in lyric tests (@epenet
- #121517 )  - Improve type hints in logi_circle tests (@epenet
- #121518 )  - Improve type hints in iotawatt tests (@epenet
- #121505 )  - Improve type hints in lovelace tests (@epenet
- #121520 )  - Fix unreleased breaking change in Google Cloud (@tronikos
- #121523 )  - Define state_class for Growatt inverter entities (@Cris-ET
- #121516 )  - Add Mealie service to get recipe (@joostlek
- #121462 )  - Add myself as co-codeowner for Mealie integration (@andrew-codechimp
- #121536 )  - ZHA as an external library (@puddly
- #120190 )  - Update Home Assistant Wheels action to 2024.07.0 (@frenck
- #121552 )  - Update Home Assistant Wheels action to 2024.07.1 (@frenck
- #121555 )  - Add new entities for the Growatt Storage inverter (@Cris-ET
- #121507 )  - Fix Bang & Olufsen wrong source being compared (@mj23000
- #121512 )  - Bump webrtc-noise-gain to 1.2.5 (@synesthesiam
- #121539 )  - Add Bang & Olufsen media_player testing (@mj23000
- #120580 )  - Revert webrtc to 1.2.3 (@synesthesiam
- #121561 )  - Home Connect unit tests for light platform (@beastie29a
- #121576 )  - Add sunroof to Teslemetry (@Bre77
- #121476 )  - Add entity_id as key for kafka message (@leosperry
- #121519 )  - Fix missing validation and service definition in Mealie (@joostlek
- #121578 )  - Improve type hints for webhook implementation in dialogflow (@epenet
- #121592 )  - Improve type hints in webhook implementations (@epenet
- #121588 )  - Improve type hints in device tracker implementations (@epenet
- #121585 )  - Improve type hints for webhook implementation in push (@epenet
- #121589 )  - Remove “unavailable” and “unknown” filters from Kafka integration (@leosperry
- #121602 )  - Remove language lock from default agent and move around tests (@synesthesiam
- #121531 )  - Ensure we prepare conversation pipeline when speech-to-text starts (@balloob
- #114665 )  - Bump hassil to 1.7.3 for number word caching (@synesthesiam
- #121608 )  - Allow targeting conversation agent as pipeline (@balloob
- #119556 )  - Add alexa remote support (@CrazyMan2000
- #120878 )  - Remove stale 
template_topiccode for mqtt publish service (@jbouwh- #121604 )  - Add shopping lists to Mealie integration (@andrew-codechimp
- #121534 )  - Add binary sensor to madVR integration (@iloveicedgreentea
- #121465 )  - Improve type hints in zwave_js tests (@epenet
- #121594 )  - Improve type hints in recorder result_processor (@epenet
- #121593 )  - Jellyfin - Improve unloading/reloading config entry (@j-stienstra
- #121613 )  - Add constant for climate feature flag check (@gjohansson-ST
- #121619 )  - Modbus, Remove duplicate address check (@janiversen
- #121579 )  - Add config flow for platform button in Template (@dougiteixeira
- #120886 )  - Update CODEOWNERS of enphase_envoy (@dgomes
- #121623 )  - Do not use 
curras abbreviation in alexa tests and remove conditions (@jbouwh- #121627 )  - Split media player select input test (@CrazyMan2000
- #121633 )  - Convert powerwall to use entry.runtime_data (@bdraco
- #121643 )  - Bump ZHA lib to 0.0.19 (@dmulcahey
- #121637 )  - Convert solaredge to use entry.runtime_data (@bdraco
- #121642 )  - Prevent entity creation errors from causing all entities for a platform from loading in ZHA (@dmulcahey
- #121631 )  - Migrate emonitor to entry.runtime_data (@bdraco
- #121645 )  - Convert nexia to use entry.runtime_data (@bdraco
- #121640 )  - Migrate screenlogic to use entry.runtime_data (@bdraco
- #121644 )  - Cleanup unnecessary definition in lamarzocco tests (@epenet
- #121655 )  - Add Bromley to list of london air authorities (@gingermike
- #121498 )  - Improve type hints in calendar tests (@epenet
- #121654 )  - Adjust type hints for unnecessary returns (@epenet
- #121650 )  - Adjust type hints for unnecessary returns in tests (@epenet
- #121657 )  - Small refactor to cleanup unnecessary returns (@epenet
- #121653 )  - Add SimpleFIN integration (@jeeftor
- #108336 )  - Bump aiorussound to 1.1.2 (@noahhusby
- #121674 )  - Add service to import recipe to mealie (@joostlek
- #121598 )  - Use service_calls fixture in zha tests (@epenet
- #120996 )  - Cleanup unnecessary returns (@epenet
- #121652 )  - Small cleanups to bond entities (@bdraco
- #121641 )  - Bump switchbot-api to 2.2.1 (@SeraphicRav
- #121676 )  - Handle empty entity_id in the recorder filter (@bdraco
- #121681 )  - Fix ZHA select platform state restoration (@puddly
- #121646 )  - Convert doorbird to use asyncio (@bdraco
- #121569 )  - Get suggested_unit_of_measurement via unit converter’s UNIT_CLASS (@rikroe
- #119196 )  - Add diagnostics to Mealie (@joostlek
- #121700 )  - Enable Ruff RUF017 (@autinerd
- #121693 )  - Add mqtt automation publish test with template rendering (@jbouwh
- #121695 )  - Mealie min version check (@andrew-codechimp
- #121677 )  - Add Ruff refurb rules (@autinerd
- #121701 )  - Add config flow to Russound RIO integration (@noahhusby
- #121262 )  - Add Autarco integration (@klaasnicolaas
- #121600 )  - Extend generic hygrostat/thermostat actuators using config flow (@elupus
- #121690 )  - Add constants for todo services (@joostlek
- #121616 )  - Bump ZHA dependencies (@puddly
- #121716 )  - Migrate resetting doorbird favorites to a button (@bdraco
- #121720 )  - Fix small issue on Autarco integration (@klaasnicolaas
- #121723 )  - Add config flow for image platform in Template (@dougiteixeira
- #121648 )  - Don’t patch libraries that aren’t installed in pytest (@davet2001
- #121628 )  - Add support for Shelly virtual 
booleancomponent (@bieniu- #119932 )  - Use new constants in todo tests (@joostlek
- #121727 )  - Add HassGetCurrentDate and HassGetCurrentTime intents (@synesthesiam
- #121707 )  - Add ability to control ventilated seats with Tessie integration (@atinsley
- #121624 )  - Add reauth flow to Mealie (@joostlek
- #121697 )  - Bump DoorBirdPy to 3.0.1 (@bdraco
- #121733 )  - Add diagnostics to Autarco integration (@klaasnicolaas
- #121732 )  - Add Broadlink time platform (@eifinger
- #121470 )  - Add Israel rail integration (@shaiu
- #121418 )  - Bump actions/setup-python from 5.1.0 to 5.1.1 (@dependabot - #121749
)  - Bump pyserial-asyncio-fast to 0.13 (@bdraco
- #121745 )  - Add sunroof to Tessie (@Bre77
- #121743 )  - Append multiple rows in Google Sheets (@luca-angemi
- #120829 )  - Fix recorder max backlog calculation being too small (@bdraco
- #121739 )  - Fix bugs Habitica to-do lists (@tr4nt0r
- #121755 )  - Add reconfigure flow to Mealie (@joostlek
- #121750 )  - Add test coverage for Tessie seat coolers (@Bre77
- #121742 )  - Revert “Add mqtt automation publish test with template rendering” (@jbouwh
- #121757 )  - Add button group support (@frenck
- #121715 )  - Add config flow for platform switch in Template (@dougiteixeira
- #121639 )  - Dynamically create and delete todo lists in mealie (@joostlek
- #121710 )  - Add Jewish Calendar reconfiguration test (@tsvi
- #118833 )  - Pre-configure default doorbird events (@bdraco
- #121692 )  - Remove unused code in blink (@mkmer
- #121780 )  - Add verify SSL option to Mealie (@joostlek
- #121767 )  - Update aioairzone-cloud to v0.5.4 (@Noltari
- #121787 )  - Migrate esphome to use shorthand available attr (@bdraco
- #121827 )  - Use identity check for ESPHome sensor device_class (@bdraco
- #121828 )  - Cleanup Shelly unused strings for removed valve switch (@thecode
- #121813 )  - Make BaseCoordinatorEntity.should_poll a cached_property since it never changes (@bdraco
- #121826 )  - Add configuration_url to AVM FRITZ!Box Call Monitor (@jrieger
- #121836 )  - Add support for Shelly 
textvirtual component (@bieniu- #121735 )  - Fix Mealie mealplan service date parsing (@joostlek
- #121844 )  - Fix schema and strings in template switch (@gjohansson-ST
- #121843 )  - Bump boto3, botocore and aiobotocore (@chemelli74
- #121773 )  - Bump DoorBirdPy to 3.0.2 (@bdraco
- #121823 )  - Correct deprecated telegram usage in dsmr (@elupus
- #121847 )  - Add device link to History stats helper (@gjohansson-ST
- #121848 )  - Fix typo in Template switch (@davet2001
- #121856 )  - Disable blinkstick integration (@joostlek
- #121846 )  - Fix too verbose HTTP logging for Azure Data Explorer (@marcelvriend
- #121802 )  - Use a listcomp for more history results (@bdraco
- #121830 )  - Avoid recording additional light attributes (@bdraco
- #121776 )  - Fix homekit linked doorbell and motion firing on reload (@bdraco
- #121818 )  - Extend search with support for integrations (@frenck
- #121765 )  - Add reauth support to doorbird (@bdraco
- #121815 )  - Add inverters to Autarco integration (@klaasnicolaas
- #121779 )  - Remove an unneeded test dependency on pydantic in matrix (@allenporter
- #121860 )  - Add config flow for select platform in Template (@dougiteixeira
- #121809 )  - Initial support for LIFX Ceiling SKY effect (@Djelibeybi
- #121820 )  - Remove unused code in doorbird (@bdraco
- #121884 )  - Bump aioaquacell to 0.2.0 (@Jordi1990
- #121876 )  - Address post merge review on israel rail (@shaiu
- #121872 )  - Migrate hunterdouglas_powerview to use entry.runtime_data (@bdraco
- #121887 )  - Use parametrize in tests for Shelly 
booleanvirtual component (@bieniu- #121895 )  - Dynamically add Airzone entities (@Noltari
- #121891 )  - Fix group operations in ZHA websocket API (@dmulcahey
- #121881 )  - Bump ZHA lib to 0.0.23 (@dmulcahey
- #121900 )  - Ensure states table rebuild still happens if the event_id index was removed (@bdraco
- #121938 )  - Use dispatcher for doorbird event entities (@bdraco
- #121825 )  - Migrate lutron_caseta to use entry.runtime_data (@bdraco
- #121903 )  - Add Broadlink select platform (@eifinger
- #121797 )  - Rename Airzone system_zone_id to system_id (@Noltari
- #121931 )  - Bump github/codeql-action from 3.25.11 to 3.25.12 (@dependabot - #121963
)  - Bump ruff to 0.5.2 (@autinerd
- #121946 )  - Fix BMW remaining fuel device class (@rikroe
- #119172 )  - Disable Dovado integration (@joostlek
- #121871 )  - Make Bayesian a helper (@joostlek
- #121976 )  - Disable MVG integration (@joostlek
- #121975 )  - Bump yalexs to 6.4.3 (@bdraco
- #121984 )  - Move licenses to right list (@joostlek
- #121986 )  - Update aioairzone to v0.8.0 (@Noltari
- #121991 )  - Disable concord232 integration (@joostlek
- #121974 )  - Bump python-homeassistant-analytics to 0.7.0 (@mib1185
- #121992 )  - Rename Services to Actions in translation strings (@frenck
- #121777 )  - Add support for Shelly 
numbervirtual component (@bieniu- #121894 )  - Add mac address as connection for matter device (@MrEbbinghaus
- #121257 )  - Bump govee-ble to 0.33.0 (@bdraco
- #122004 )  - Make filter a helper (@joostlek
- #121994 )  - Bump uiprotect to 5.3.0 (@bdraco
- #122005 )  - Convert mopeka to use entry.runtime_data (@bdraco
- #121973 )  - Adjust issue description in automations fix flow (@frenck
- #122007 )  - Prevent removal of complete bridge when removing a device from Matter (@agners
- #121987 )  - Rename dsmr integration to be more generic (@elupus
- #121968 )  - Remove modbus codeowner, and downgrade to quality “No score” (@janiversen
- #122010 )  - Fix for Environment Canada date being wrong after midnight (@gwww
- #121850 )  - Bump incomfortclient to v0.6.3-1 (@jbouwh
- #122013 )  - Minor adjustment of recorder migration (@emontnemery
- #122020 )  - Improve tests/patch_time.py (@emontnemery
- #122017 )  - Add recorder migration test starting with schema version 9 (@emontnemery
- #122011 )  - Add support for adding model_id in device info (@joostlek
- #121989 )  - Log tools sent to OpenAI (@HarvsG
- #122024 )  - Bump govee-ble to 0.34.0 (@bdraco
- #122028 )  - Add JakeBosh as Knocki codeowner (@joostlek
- #122026 )  - Bump govee-ble to 0.36.1 (@bdraco
- #122030 )  - Bump govee-ble to 0.37.0 (@bdraco
- #122037 )  - Avoid mutating database schema definitions during schema migration (@emontnemery
- #122012 )  - Refactor function recorder.migration._apply_update (@emontnemery
- #122023 )  - Add fixture files to Enphase_Envoy tests (@catsmanac
- #121864 )  - Refactor recorder data migration (@emontnemery
- #121009 )  - Convert arcam_fmj to runtime data (@elupus
- #122047 )  - Fix flakey tibber tests (@mib1185
- #121993 )  - Use model_id in devolo_home_network (@Shutgun
- #122048 )  - Change model to model_id in LaMetric (@frenck
- #122044 )  - Drop spurious log messages in Matter bridge device removal (@agners
- #122036 )  - Add model_id to Tuya devices, mark services correctly (@frenck
- #122043 )  - Read color temperature range from Matter device if supported (@agners
- #122054 )  - Set 
DeviceInfo.model_idin Shelly integration (@bieniu- #122040 )  - Require specifying extended address in otbr WS API calls (@emontnemery
- #108282 )  - Add created_at/modified_at for area registry (@edenhaus
- #122014 )  - Bump refoss to v1.2.4 (@ashionky
- #122063 )  - Move recorder data migration implementation to migrators (@emontnemery
- #122045 )  - Use model_id in devolo_home_control (@Shutgun
- #122066 )  - Remove dead code from script helper (@emontnemery
- #122074 )  - Add created_at/modified_at to floor registry (@edenhaus
- #122071 )  - Enable strict typing on script helper (@emontnemery
- #122075 )  - Bump tesla-fleet-api (@Bre77
- #122073 )  - Add switch platform test to enphase_envoy (@catsmanac
- #122068 )  - Enable strict typing on script integration (@emontnemery
- #122079 )  - Clean up old migration in HomeWizard (@frenck
- #122086 )  - Add created_at/modified_at to label registry (@edenhaus
- #122078 )  - Remove Markdown from service action descriptions (@frenck
- #122077 )  - Migrate HomeWizard to config entry runtime data (@frenck
- #122088 )  - Revert “Remove stale 
template_topiccode for mqtt publish service” (@jbouwh- #121758 )  - System Bridge coordinator and connector refactor (@timmo001
- #114896 )  - Split up tests to avoid CI timeouts (@synesthesiam
- #122096 )  - Bump govee-ble to 0.38.0 (@bdraco
- #122099 )  - Add timer support to mobile app (@balloob
- #121469 )  - Fix homekit_controller tests to avoid global aid generation (@bdraco
- #119852 )  - Raise repair issues when scripts can’t be set up (@emontnemery
- #122087 )  - Skip poll of HKC accessory if reachable and chars are watchable (@bdraco
- #116200 )  - Platinum quality for Tessie (@Bre77
- #121962 )  - Update wled to 0.19.2 (@frenck
- #122101 )  - Add diagnostic information to DSMR (@elupus
- #122041 )  - Add binary_sensor platform test to enphase_envoy (@catsmanac
- #122120 )  - Add reconfigure step to tedee (@zweckj
- #122008 )  - Add select platform test to enphase_envoy (@catsmanac
- #122127 )  - Add number platform test to enphase_envoy (@catsmanac
- #122117 )  - Update pylint to 3.2.5 (@cdce8p
- #122126 )  - Add forecast service call for extra attributes for nws (@MatthewFlamm
- #117254 )  - Add support for Shelly 
enumvirtual component (@bieniu- #121997 )  - Revert “Add mac address as connection for matter device (#121257)” (@marcelveldt
- #122133 )  - Extend sensor platform tests for enphase_envoy (@catsmanac
- #122132 )  - Add some basic tests for doorbird (@bdraco
- #122135 )  - Opower: add date sensors (@b3nj1
- #122138 )  - Implement model_id in HomeWizard (@DCSBL
- #122130 )  - Add Tesla Fleet integration (@Bre77
- #122019 )  - Add coverage for doorbird button platform (@bdraco
- #122145 )  - Add missing coverage for doorbird config_flow (@bdraco
- #122146 )  - Update deprecation warning for data_entry_flow (@davet2001
- #122154 )  - Upgrade pycoolmasternet-async to 0.2.0 (@ashalita
- #122139 )  - Add binary sensors to TotalConnect (@austinmroczek
- #121888 )  - Add fallback for webmin systems without MAC address (@autinerd
- #113261 )  - Add default value for YoLink thermostat (@matrixd2
- #122114 )  - Add config flow to worldclock (@gjohansson-ST
- #121775 )  - Deprecate 
topic_templateandpayload_templatefor mqtt publish action (@jbouwh- #122098 )  - Buienradar textual improvements (@rrooggiieerr
- #122095 )  - Remove use of deprecated set_aux_heat call from climate _async_reproduce_states (@bjpetit
- #121873 )  - Load correct Renson fan speed when breeze level is set (@krmarien
- #121960 )  - Add Sensors to Weatherflow Cloud (@jeeftor
- #111651 )  - Add static routes for frontend modern and legacy service workers (@steverep
- #120488 )  - Deprecate simulated integration (@gjohansson-ST
- #122166 )  - Add select platform to myuplink (@astrandb
- #118661 )  - Add TURN_OFF/TURN_ON feature flags for fan (@gjohansson-ST
- #121447 )  - Migrate Wiz to config entry runtime data (@frenck
- #122091 )  - Improve number platform test COV for enphase_envoy (@catsmanac
- #122163 )  - Bump Ruff to 0.5.3 (@autinerd
- #122167 )  - Add integration for iotty Smart Home (@pburgio
- #103073 )  - Add command_template option to mqtt switch schema (@jbouwh
- #122103 )  - Add YoLink YS8017 support (@matrixd2
- #122064 )  - Revert “Add static routes for frontend modern and legacy service workers” (@bramkragten
- #122172 )  - Replace unnecessary typing_extensions imports for Generator (@cdce8p
- #122169 )  - Use TypeVar defaults for Generator (@cdce8p
- #122170 )  - Fix deconz conftest typing (@cdce8p
- #122173 )  - Add string for value template description in switch Template (@dougiteixeira
- #121865 )  - Add 
async_setupmethod toDataUpdateCoordinator(@zweckj- #116677 )  - Add static routes for frontend modern and legacy service workers (#120488) (@bramkragten
- #122174 )  - Fix invalid dict annotations in tests (@cdce8p
- #122178 )  - Fix test fixture annotations (@cdce8p
- #122180 )  - Use Generator as return type for fixtures (@cdce8p
- #122183 )  - Bump georss-qld-bushfire-alert-client to 0.8 (@exxamalte
- #122185 )  - Fix return type annotations in tests (@cdce8p
- #122184 )  - Use new 17track api library (@shaiu
- #121910 )  - Bump azure-kusto dependencies to 4.5.1 (@marcelvriend
- #121805 )  - Address post merge review changes in upnp (@StevenLooman
- #122189 )  - Ignore E3_TCU41_x04 gateway device in ViCare (@CFenner
- #122179 )  - Allow to add optional holiday categories in workday (@gjohansson-ST
- #121396 )  - Add data update coordinator to enigma2 (@autinerd
- #122046 )  - Remove filtering of user data in Habitica integration (@tr4nt0r
- #121759 )  - Avoid blocking I/O in gpsd (@jrieger
- #122176 )  - Tolerate integration removed device (@agners
- #120722 )  - Add options flow for force_poll setting in upnp (@StevenLooman
- #120843 )  - Add PrusaLink nozzle and mmu support (@deimosfr
- #120436 )  - Add tests for ring camera platform for 100% coverage (@sdb9696
- #122197 )  - Move constants to 
const.pyin generic Thermostat (@dougiteixeira- #120789 )  - Add timestamp sensor for observation (@kamiyo
- #121752 )  - Log timeouts for 
assist_pipelineend of speech detection (@HarvsG- #122182 )  - Add config flow to Wake on LAN (@gjohansson-ST
- #121605 )  - Fix wrong deprecation date in Habitica integration (@tr4nt0r
- #122206 )  - Fix invalid Any annotations (@cdce8p
- #122212 )  - Improve vizio tests typing (@cdce8p
- #122213 )  - Update home_connect to v0.8.0 (@Noltari
- #121788 )  - Fix flaky recorder test (@emontnemery
- #122205 )  - Fix recorder datetime annotations (@cdce8p
- #122214 )  - Update freezegun to 1.5.1 (@cdce8p
- #122219 )  - Fix missing type[..] annotation in tests (@cdce8p
- #122217 )  - Improve HA snapshot serializer typing (@cdce8p
- #122218 )  - Fix incompatible signature overwrite async_turn_on + off (@cdce8p
- #122208 )  - Fix ConfigFlowResult annotations in tests (@cdce8p
- #122215 )  - Update import locations in tests (@cdce8p
- #122216 )  - Sonos tests snapshot and restore services (@PeteRager
- #122198 )  - Fix recorder setup hanging if non live schema migration fails (@emontnemery
- #122207 )  - Improve switch platform test COV for enphase_envoy (@catsmanac
- #122227 )  - Add diagnostics to Tesla Fleet (@Bre77
- #122223 )  - Improve fixture usage for light based deCONZ tests (@Kane610
- #122209 )  - Add binary sensor to Tesla Fleet (@Bre77
- #122225 )  - Revert “Fix recorder setup hanging if non live schema migration fails” (@emontnemery
- #122232 )  - Update Pillow to 10.4.0 (@cdce8p
- #122237 )  - Update coverage to 7.6.0 (@cdce8p
- #122238 )  - Update pipdeptree to 2.23.1 (@cdce8p
- #122239 )  - Update bcrypt to 4.1.3 (@cdce8p
- #122236 )  - Update pytest-asyncio to 0.23.8 (@cdce8p
- #122241 )  - Fix recorder setup hanging if non live schema migration fails (@emontnemery
- #122242 )  - Update pytest to 8.2.2 (@cdce8p
- #122244 )  - Update pytest-unordered to 0.6.1 (@cdce8p
- #122243 )  - Update uv to 0.2.27 (@cdce8p
- #122246 )  - Update pip-licenses to 4.5.1 (@cdce8p
- #122240 )  - Update types packages (@cdce8p
- #122245 )  - Improve contextmanager typing (@cdce8p
- #122250 )  - Add device tracker to Tesla Fleet (@Bre77
- #122222 )  - Add calendar for Rachio smart hose timer (@brg468
- #120030 )  - Upgrade CI to use ubuntu 24.04 (@bdraco
- #122254 )  - Improve shopping_list test typing (@cdce8p
- #122255 )  - Use correct enum in UnitSystem tests (@cdce8p
- #122256 )  - Improve tests.common typing (@cdce8p
- #122257 )  - Bump airgradient to 0.7.0 (@joostlek
- #122268 )  - Bump twitchAPI to 4.2.1 (@joostlek
- #122269 )  - Bump py-madvr to 1.6.29 (@iloveicedgreentea
- #122275 )  - Bump aiomealie to 0.7.0 (@joostlek
- #122278 )  - Bump uiprotect to 5.4.0 (@bdraco
- #122282 )  - Add model id to airgradient (@joostlek
- #122271 )  - Bump ruff to 0.5.4 (@autinerd
- #122289 )  - Add sensor platform to MadVR (@iloveicedgreentea
- #121617 )  - Use pyblu library in bluesound (@LouisChrist
- #117257 )  - Improve sensor test coverage for enphase_envoy (@catsmanac
- #122229 )  - Improve fixture usage for sensor based deCONZ tests (@Kane610
- #122297 )  - Fix to prevent Azure Data Explorer JSON serialization from failing (@marcelvriend
- #122300 )  - Make TemplateStateBase.entity_id a cached_property (@bdraco
- #122279 )  - Bump aiomealie to 0.8.0 (@joostlek
- #122295 )  - Add sensor platform to Mealie (@joostlek
- #122280 )  - Update xiaomi-ble to use entry.runtime_data (@bdraco
- #122306 )  - Update bthome to use entry.runtime_data (@bdraco
- #122304 )  - Migrate oncue to use entry.runtime_data (@bdraco
- #122307 )  - Migrate harmony to use entry.runtime_data (@bdraco
- #122312 )  - Convert sensorpush to use entry.runtime_data (@bdraco
- #122315 )  - Improve Hive typing (@joostlek
- #122314 )  - Set polling interval for airgradient to 1 minute (@joostlek
- #122266 )  - Clean up Mealie coordinator (@joostlek
- #122310 )  - Add event platform to govee-ble (@bdraco
- #122031 )  - Add sleepy device support to govee-ble (@bdraco
- #122085 )  - Add Mealie service to set a random mealplan (@joostlek
- #122313 )  - Add binary sensor platform to govee-ble (@bdraco
- #122111 )  - Clean up Mealie service tests (@joostlek
- #122316 )  - Fix test RuntimeWarning for upb (@cdce8p
- #122325 )  - Add config flow to Genius hub (@GeoffAtHome
- #116173 )  - Create, update and delete KNX entities from UI / WS-commands (@farmio
- #104079 )  - Bump renault-api to 2.0.5 (@epenet
- #122326 )  - Post merge review for Feedreader (@mib1185
- #122327 )  - Add support for grouping notify entities (@joostlek
- #122123 )  - APSystems - add configuration option ‘port’ in config flow (@Lorzware
- #122144 )  - Change OpenAI default recommended model to gpt-4o-mini (@allenporter
- #122333 )  - Update pylint to 3.2.6 (@cdce8p
- #122338 )  - Convert enphase_envoy to use entry.runtime_data (@bdraco
- #122345 )  - Bump aiorussound to 2.0.6 (@noahhusby
- #122354 )  - Add support for KNX UI to create light entities (@farmio
- #122342 )  - Bump github/codeql-action from 3.25.12 to 3.25.13 (@dependabot - #122362
)  - Bump cryptography to 43.0.0 and pyOpenSSL to 24.2.1 and chacha20poly1305-reuseable >= 0.13.0 (@bdraco
- #122308 )  - Fix homewizard api close not being awaited on unload (@cdce8p
- #122324 )  - Update pytest to 8.3.1 (@cdce8p
- #122368 )  - Add Reolink model_id / item number (@starkillerOG
- #122371 )  - Add translations for xiaomi miio fan preset modes (@piitaya
- #122367 )  - Bumb python-homewizard-energy to 6.1.1 to embed model in upstream library (@DCSBL
- #122365 )  - Fix typo in recorder persistent notification (@emontnemery
- #122374 )  - Bump pyvesync to 2.1.12 (@cdnninja
- #122318 )  - Handle empty energy sites in Tesla integrations (@Bre77
- #122355 )  - Fix platforms on media pause and unpause intents (@allenporter
- #122357 )  - Fix missing translation key for august doorbells (@bdraco
- #122251 )  - Complete coverage for doorbird init (@bdraco
- #122272 )  - Frontend wants a timestamp for the created_at/modified_at attributes (@edenhaus
- #122377 )  - Fix group media player 
play_medianot passing kwargs (@PeteRager- #122258 )  - Improve language in loader error messages (@emontnemery
- #122387 )  - Add mealie service to set mealplan (@joostlek
- #122317 )  - Handle integration with missing dependencies (@emontnemery
- #122386 )  - Refactor recorder schema migration (@emontnemery
- #122372 )  - Remove SchemaValidationStatus.valid (@emontnemery
- #122394 )  - Bump aiorussound to 2.0.7 (@noahhusby
- #122389 )  - Improve error handling when recorder schema migration fails (@emontnemery
- #122397 )  - Add device info to Russound RIO (@noahhusby
- #122395 )  - Add created_at/modified_at to device registry (@edenhaus
- #122369 )  - Add recorder data migrator class to clean up states table (@emontnemery
- #122069 )  - Improve error handling when creating new SQLite database (@emontnemery
- #122406 )  - Avoid repeated calls to utc_from_timestamp(0).isoformat() when migrating (@emontnemery
- #122413 )  - Make device registry migration unconditional (@emontnemery
- #122414 )  - Deduplicate more fixture data related to deCONZ websocket sensor (@Kane610
- #122412 )  - Add DeviceInfo to OTP integration (@tr4nt0r
- #122392 )  - Continue transition from legacy dict to attr in dsmr (@elupus
- #121906 )  - Add async_update_data to emoncms coordinator (@alexandrecuer
- #122416 )  - Remove deprecated DALL-E image formats (@Shulyaka
- #122388 )  - Split recorder and frontend bootstrap steps (@emontnemery
- #122420 )  - Add missing binary sensors to Hive integration (@ribbal
- #122296 )  - Register WS command recorder/info early (@emontnemery
- #122425 )  - Remove recorder from websocket_api after dependencies (@emontnemery
- #122422 )  - Bump async-upnp-client to 0.40.0 (@bdraco
- #122427 )  - Correct off-by-one bug in recorder non live schema migration (@emontnemery
- #122428 )  - Remove loop shutdown indicator when done with test hass (@emontnemery
- #122432 )  - Freeze integration setup timeout for recorder during non-live migration (@emontnemery
- #122431 )  - Make frontend url and route a cached_property (@bdraco
- #122430 )  - Deduplicate light data with deCONZ websocket fixture (@Kane610
- #122421 )  - Bump docker/login-action from 3.2.0 to 3.3.0 (@dependabot - #122440
)  - Update google tasks to return completed items (@allenporter
- #122437 )  - Extract Geniushub base entities in separate module (@joostlek
- #122331 )  - Remove incorrect use of Mock.assert_has_calls from recorder tests (@emontnemery
- #122439 )  - Update wled to 0.20.0 (@frenck
- #122441 )  - Fix several issues with the Matter Generic Switch Cluster (@marcelveldt
- #122191 )  - Use external temp if needed in Broadlink (@fustom
- #118375 )  - Improve API calls in Teslemetry (@Bre77
- #122449 )  - Add created_at/modified_at to entity registry (@edenhaus
- #122444 )  - Replace Reolink HDR switch by HDR select entity (@starkillerOG
- #122373 )  - Disable polling for Matter entities by default (@agners
- #122452 )  - Indicate database migration in /api/core/state response (@emontnemery
- #122445 )  - Add created_at/modified_at to category registry (@edenhaus
- #122454 )  - Use aiohttp.ClientTimeout for timeout (@cdce8p
- #122458 )  - Check for incompatible special chars in Reolink password (@starkillerOG
- #122461 )  - Add Matter update entities for devices with OTA requestor (@agners
- #120304 )  - Add model_id to Ecovacs integration (@edenhaus
- #122457 )  - Fix flaky Reolink tests (@starkillerOG
- #122451 )  - Changes for aiohttp 3.10.0 (@cdce8p
- #122463 )  - Update pytest warnings filter (@cdce8p
- #122459 )  - Add squeezebox server device with common init (@pssc
- #122396 )  - Update clientsession socket family typing (@cdce8p
- #122464 )  - Add coordinator to evohome and prune async_update code (@zxdavb
- #119432 )  - Use dispatcher for KNX GroupMonitor instead of custom HassJob (@farmio
- #122384 )  - Switch to official ollama library, update models (@synesthesiam
- #122471 )  - Add 100% test coverage to Madvr (@iloveicedgreentea
- #122350 )  - Add dynamic media player features to Russound (@noahhusby
- #122475 )  - Bump aiohttp to 3.10.0b1 (@bdraco
- #122409 )  - Create additional sensors in Hive integration (@ribbal
- #122453 )  - Tweak axis test fixtures (@Kane610
- #122469 )  - Improve Axis hub tests (@Kane610
- #122472 )  - Update AEMET-OpenData to v0.5.3 (@Noltari
- #122480 )  - Fix loading created_at/modified_at from entity registry store (@edenhaus
- #122486 )  - Update aioairzone to v0.8.1 (@Noltari
- #122481 )  - Tweak deCONZ init and hub tests (@Kane610
- #122484 )  - Use snapshot validation on Axis binary sensor (@Kane610
- #122483 )  - Update pylutron to 0.2.15 (@cdce8p
- #122455 )  - Update aioairzone-cloud to v0.5.5 (@Noltari
- #122482 )  - Remigrate device_registry created_at/modified_at (@bdraco
- #122490 )  - Bump aiorussound to 2.2.0 (@noahhusby
- #122500 )  - Use snapshot in deCONZ button tests (@Kane610
- #122505 )  - Bump aiolifx-themes to v0.5.0 (@Djelibeybi
- #122503 )  - Fix incorrect enum option in Hive heating sensor (@ribbal
- #122496 )  - Use runtime_data instead of hass.data for Jellyfin (@j-stienstra
- #122410 )  - Improve deCONZ fan tests (@Kane610
- #122493 )  - Use snapshot in deCONZ binary sensor tests (@Kane610
- #122507 )  - Rename recorder INTEGRATION_PLATFORMS_LOAD_IN_RECORDER_THREAD (@emontnemery
- #122511 )  - Extract Evohome base entities to separate module (@joostlek
- #122515 )  - Add volume step to Russound media player (@noahhusby
- #122523 )  - Convert oralb to use entry.runtime_data (@bdraco
- #122527 )  - Convert rainmachine to use entry.runtime_data (@bdraco
- #122532 )  - Use snapshot in deCONZ cover tests (@Kane610
- #122537 )  - Use snapshot in deCONZ climate tests (@Kane610
- #122535 )  - Use snapshot in deCONZ number tests (@Kane610
- #122538 )  - Use snapshot in deCONZ scene tests (@Kane610
- #122540 )  - Use snapshot in deCONZ sensor tests (@Kane610
- #122543 )  - Use snapshot in deCONZ select tests (@Kane610
- #122541 )  - Refactor NextBus integration to use new API (@ViViDboarder
- #121133 )  - Use snapshot in deCONZ alarm control panel tests (@Kane610
- #122551 )  - Use snapshot in deCONZ light tests (@Kane610
- #122548 )  - Matter event follow up (@marcelveldt
- #122553 )  - Add CCT support to WLED (@Suxsem
- #122488 )  - Add tests to emoncms (@alexandrecuer
- #122547 )  - Address Wake on Lan post-merge feedback (@gjohansson-ST
- #122549 )  - Use appropriate selector for homeassistant.update_entity (@karwosts
- #122497 )  - Convert homekit to use entry.runtime_data (@bdraco
- #122533 )  - Fix typo in conftest.py (@emontnemery
- #122583 )  - Bump govee-ble to 0.40.0 (@bdraco
- #122564 )  - Bump aioesphomeapi to 24.6.2 (@bdraco
- #122566 )  - Migrate switchbot to use entry.runtime_data (@bdraco
- #122530 )  - Convert qingping to use entry.runtime_data (@bdraco
- #122528 )  - Avoid nesting sessions in recorder statistics tests (@emontnemery
- #122582 )  - Add LinkPlay integration (@dukeofphilberg
- #113940 )  - Add support for govee H5124 vibration sensors (@bdraco
- #122562 )  - Deduplicate sensor recorder tests (@emontnemery
- #122516 )  - Avoid nesting sessions in recorder purge tests (@emontnemery
- #122581 )  - Update aioqsw to v0.4.0 (@Noltari
- #122586 )  - Add support for govee presence sensor h5127 (@bdraco
- #122568 )  - Add device to Worldclock (@gjohansson-ST
- #122557 )  - Add uncalibrated sensor for tedee (@zweckj
- #122594 )  - Avoid creating nested sessions in recorder migration (@emontnemery
- #122580 )  - Bump airgradient to 0.7.1 removing mashumaro direct dependency (@allenporter
- #122534 )  - Allow nightly Mealie versions to pass (@andrew-codechimp
- #121761 )  - Use snapshots in UniFi update tests (@Kane610
- #122599 )  - Run statistics on 5-minute intervals in tests (@emontnemery
- #122592 )  - Use snapshot in UniFi button tests (@Kane610
- #122602 )  - Use snapshot in UniFi device tracker tests (@Kane610
- #122603 )  - Avoid nesting sessions in recorder auto repairs tests (@emontnemery
- #122596 )  - Add shelly overcurrent sensor for switches (@huettner94
- #122494 )  - Set mode for Ecovacs clean count entity (@edenhaus
- #122611 )  - Update Ecovacs translations (@edenhaus
- #122610 )  - Fail tests if recorder creates nested sessions (@emontnemery
- #122579 )  - Update mypy-dev to 1.12.0a2 (@cdce8p
- #122613 )  - Remove obsolete string from openai_conversation strings.json (@Shulyaka
- #122623 )  - Speed up bluetooth matching (@bdraco
- #122626 )  - Replace ConfigEntry with MockConfigEntry in deCONZ tests (@Kane610
- #122631 )  - Add dynamic coordinator interval to Tesla Fleet (@Bre77
- #122234 )  - Remove unused fixtures in UniFi tests (@Kane610
- #122628 )  - Replace ConfigEntry with MockConfigEntry in Axis tests (@Kane610
- #122629 )  - Remove validation of state==UNAVAILABLE on config entry unload in deCONZ test (@Kane610
- #122558 )  - Log line wrap in Mealie integration (@andrew-codechimp
- #122635 )  - Clean up some fixtures not referenced within deCONZ tests (@Kane610
- #122637 )  - Remove last references to hass.data[UNIFI_DOMAIN] (@Kane610
- #122642 )  - Final steps to runtime_data in Axis integration (@Kane610
- #122641 )  - Update aioairzone-cloud to v0.6.0 (@Noltari
- #122647 )  - Add test coverage for doorbird events (@bdraco
- #122617 )  - Bump bring-api to v0.8.1 (@tr4nt0r
- #122653 )  - Add entity services to the Hydrawise integration (@dknowles2
- #120883 )  - Use snapshot in UniFi image tests (@Kane610
- #122608 )  - Add Airzone Cloud zone thermostat sensors (@Noltari
- #122648 )  - Add test coverage for doorbird cameras (@bdraco
- #122660 )  - Bump opower to 6.0.0 (@SplicedNZ
- #122658 )  - Update aioairzone-cloud to v0.6.1 (@Noltari
- #122661 )  - Less use of hass.data[DECONZ_DOMAIN] in deCONZ tests (@Kane610
- #122657 )  - Add Airzone Cloud WebServer CPU/Memory sensors (@Noltari
- #122667 )  - Add Airzone Cloud low thermostat battery binary sensor (@Noltari
- #122665 )  - Fix Airzone Cloud WebServer memory usage unit (@Noltari
- #122670 )  - Fix broken token caching for evohome (@zxdavb
- #122664 )  - Patch import where its used in Axis hub test (@Kane610
- #122674 )  - Yamaha device setup enhancement with unique id based on serial (@pssc
- #120764 )  - Add virtual integraion for “Mercury NZ Limited” (opower) (@SplicedNZ
- #122650 )  - Add typing to Comfoconnect (@joostlek
- #122669 )  - Fix yamaha uid where host in config is defined (@pssc
- #122676 )  - Cache unifi device_tracker properties that never change (@bdraco
- #122683 )  - Small speedups to unifi (@bdraco
- #122684 )  - Add AirTouch5 cover (@Denifia
- #122462 )  - Migrate Mastodon integration to config flow (@andrew-codechimp
- #122376 )  - Update nibe library to 2.11.0 (@elupus
- #122697 )  - Remove conditions from enphase_envoy test_switch (@catsmanac
- #122693 )  - Use snapshot in Axis light tests (@Kane610
- #122703 )  - Bump aiohomekit to 3.2.1 (@bdraco
- #122704 )  - Bump pyswitchbee to 1.8.3 (@jafar-atili
- #122713 )  - Bump ruff to 0.5.5 (@autinerd
- #122722 )  - Bump pyElectra to 1.2.4 (@jafar-atili
- #122724 )  - Create theme select entities on matrix devices (@Djelibeybi
- #122695 )  - Add yamaha platform retry if receiver unavailable at setup (@pssc
- #122679 )  - Add device info for legacy Ecovacs bots (@mib1185
- #122671 )  - Bump github/codeql-action from 3.25.13 to 3.25.14 (@dependabot - #122632
)  - Bump mopeka-iot-ble to version 0.8.0 (@cayossarian
- #122717 )  - Add coverage for calling doorbird webhook with the wrong token (@bdraco
- #122700 )  - Unsubscribe event listeners on remove of Ecovacs legacy bot entities (@mib1185
- #122731 )  - Refactor asserts in enphase_envoy test_sensor (@catsmanac
- #122726 )  - Bump reolink-aio to 0.9.6 (@starkillerOG
- #122738 )  - Add config_flow to bluesound integration (@LouisChrist
- #115207 )  - Add LLM tools support for Ollama (@Shulyaka
- #120454 )  - Bump github/codeql-action from 3.25.14 to 3.25.15 (@dependabot - #122753
)  - Fix bug in timeout util related to multiple global freezes (@emontnemery
- #122466 )  - Fix copy-paste errors in alarm_control_panel tests (@emontnemery
- #122755 )  - Revert unneeded type annotation in the api integration (@emontnemery
- #122757 )  - Don’t block HA startup while set up legacy Ecovacs bot (@mib1185
- #122732 )  - Add Bryant Evolution Integration (@danielsmyers
- #119788 )  - Add coverage for fixing missing params in the doorbird schedule (@bdraco
- #122745 )  - Rename recorder INTEGRATION_PLATFORMS_RUN_IN_RECORDER_THREAD (@emontnemery
- #122758 )  - Adjust warning message when recorder is doing offline migration (@emontnemery
- #122509 )  - Do not use get_hub in deCONZ tests (@Kane610
- #122706 )  - Integration for IronOS (Pinecil V2) soldering irons (@tr4nt0r
- #120802 )  - Bump pyOverkiz to 1.13.14 (@ALERTua
- #122691 )  - Revert to using call_soon for event triggers and state changed event trackers (@bdraco
- #122735 )  - Add test of recorder platform with statistics support (@emontnemery
- #122754 )  - Bump bimmer_connected to 0.16.1 (@rikroe
- #122699 )  - Fix default turn_on without explicit preset or percentage in Matter Fan platform (@marcelveldt
- #122591 )  - Update LLM prompt to improve quality for local LLMs (@allenporter
- #122746 )  - Use HOMEASSISTANT_DOMAIN alias for core DOMAIN in tests (@epenet
- #122762 )  - Wait for initial scan to finish before setting up platforms (@engrbm87
- #122360 )  - Remove UE Smart Radio integration (@andrew-codechimp
- #122578 )  - Add Sonos tests for media_player volume (@PeteRager
- #122283 )  - Revert “Small refactor to cleanup unnecessary returns (#121653)” (@epenet
- #122756 )  - Use correct constant in rest tests (@epenet
- #122765 )  - Use HOMEASSISTANT_DOMAIN alias for core DOMAIN (@epenet
- #122760 )  - Fix device class of water consumption sensor in Overkiz (@iMicknl
- #122766 )  - Add Macedonian language (@bramkragten
- #122768 )  - Fix implicit-return rule in zha tests (@epenet
- #122772 )  - Remove support for live schema migration of old recorder databases (@emontnemery
- #122399 )  - Add missing variable ‘energy_today’ to Zeversolar diagnostics. (@NECH2004
- #122786 )  - Fix implicit-return in arcam_fmj tests (@epenet
- #122792 )  - Abstract SkyConnect firmware config flow to the hardware platform (@puddly
- #122140 )  - Fix implicit-return in unifiprotect tests (@epenet
- #122781 )  - Fix implicit-return in sonos tests (@epenet
- #122780 )  - Fix implicit-return in ipma tests (@epenet
- #122791 )  - Fix implicit-return in netatmo tests (@epenet
- #122789 )  - Bump aiohttp to 3.10.0rc0 (@bdraco
- #122793 )  - Fix implicit-return in enigma2 tests (@epenet
- #122790 )  - Fix implicit-return in xiaomi tests (@epenet
- #122778 )  - Fix implicit-return in nx584 tests (@epenet
- #122788 )  - Fix implicit-return in tplink_omada tests (@epenet
- #122776 )  - Fix implicit-return in surepetcare tests (@epenet
- #122785 )  - Fix incorrect Bang & Olufsen MDNS announcements (@mj23000
- #122782 )  - Add created_at/modified_at to config entries (@edenhaus
- #122456 )  - Fix implicit-return in season tests (@epenet
- #122784 )  - Enforce HOMEASSISTANT_DOMAIN alias for core DOMAIN (@epenet
- #122763 )  - Add support for ASIN Pool devices to ASEKO (@milanmeu
- #122773 )  - Remove unused constant in august (@bdraco
- #122804 )  - Adjust DOMAIN imports in homeassistant integration (@epenet
- #122774 )  - Fix implicit-return in websocket_api tests (@epenet
- #122779 )  - Fix implicit-return in test schema extractions (@epenet
- #122787 )  - Fix blocking stat() via is_file in image_upload (@bdraco
- #122808 )  - Add device _info to bluesound integration (@LouisChrist
- #122795 )  - Bump ZHA lib to 0.0.24 and universal-silabs-flasher to 0.0.22 (@dmulcahey
- #122812 )  - Enhance ZHA device removal (@dmulcahey
- #122815 )  - Fix supported_features for ZHA fans (@dmulcahey
- #122813 )  - Use snapshot in Axis switch tests (@Kane610
- #122680 )  - Fix implicit-return in command_line (@epenet
- #122838 )  - Bump voluptuous-openapi (@Shulyaka
- #122828 )  - Add ‘use_custom_colors’ to iOS Action configuration (@bgoncal
- #122767 )  - Add QBittorent switch to control alternative speed (@Sebclem
- #107637 )  - Add Foscam sleep switch (@krmarien
- #109491 )  - Add Airtouch5 cover tests (@Denifia
- #122769 )  - Fix implicit-return in denon (@epenet
- #122835 )  - Fix implicit-return in ddwrt (@epenet
- #122837 )  - Add UI to create KNX switch and light entities (@farmio
- #122630 )  - Fix implicit-return in whirlpool tests (@epenet
- #122775 )  - Fix qbittorent current_status key in strings.json (@Sebclem
- #122848 )  - Fix implicit-return in foursquare (@epenet
- #122843 )  - Fix implicit-return in forked_daapd (@epenet
- #122842 )  - Fix implicit-return in fixer (@epenet
- #122841 )  - Fix implicit-return in advantage_air (@epenet
- #122840 )  - Fix implicit-return in airtouch4 (@epenet
- #122839 )  - Fix implicit-return in dialogflow (@epenet
- #122834 )  - Fix implicit-return in dublin bus transport (@epenet
- #122833 )  - Fix implicit-return in ecobee (@epenet
- #122832 )  - Fix Axis tests affecting other tests (@emontnemery
- #122857 )  - Fix template binary sensor test (@emontnemery
- #122855 )  - Speed up slow tests in Husqvarna Automower (@Thomas55555
- #122854 )  - Fix template image test affecting other tests (@emontnemery
- #122849 )  - Fix generic IP camera tests affecting other tests (@emontnemery
- #122858 )  - Add mdi:alert-circle-outline to degrade status (@Mariusthvdb
- #122859 )  - Upgrade dsmr-parser to 1.4.2 (@elupus
- #121929 )  - Fix implicit-return in scripts (@epenet
- #122831 )  - Verify respx mock routes are cleaned up when tests finish (@emontnemery
- #122852 )  - Set parallel updates in devolo_home_network (@Shutgun
- #122847 )  - Ensure evohome leaves no lingering timers (@zxdavb
- #122860 )  - Add sensors for Unifi latency (@kimdv
- #116737 )  - Fix implicit-return in deconz (@epenet
- #122836 )  - Update selector converters for llm script tools (@Shulyaka
- #122830 )  - Add Traffic Rule switches to UniFi Network (@bdowden
- #118821 )  - Add apsystems power switch (@CM000n
- #122447 )  - Add number platform to IronOS integration (@tr4nt0r
- #122801 )  - Improve test coverage of the homeworks integration (@emontnemery
- #122865 )  - Unifi improve fixture typing (@Kane610
- #122864 )  - Bump pyhomeworks to 1.0.0 (@emontnemery
- #122867 )  - Add other medium types to Mopeka sensor (@cayossarian
- #122705 )  - Bump pyhomeworks to 1.1.0 (@emontnemery
- #122870 )  - Bump intents to 2024.7.29 (@synesthesiam
- #122811 )  - Bump aiohttp to 3.10.0 (@bdraco
- #122880 )  - Add SimpleFin sensor to show age of data (@jeeftor
- #122550 )  - Bump bluetooth-data-tools to 1.19.4 (@bdraco
- #122886 )  - Bump ulid-transform to 0.13.1 (@bdraco
- #122884 )  - Allow [##:##:##:##:##] type device address in homeworks (@emontnemery
- #122872 )  - Add generic URL handler to blueprint importer (@lkstz
- #110576 )  - Bump aioautomower to 2024.7.3 (@Thomas55555
- #121983 )  - Update xknx to 3.0.0 - more DPT definitions (@farmio
- #122891 )  - Evohome drops use of async_call_later to avoid lingering task (@zxdavb
- #122879 )  - Bump ollama to 0.3.1 (@Shulyaka
- #122866 )  - Update todo intent slot schema (@Shulyaka
- #122335 )  - Switch from WebRTC to microVAD (@synesthesiam
- #122861 )  - Fix matrix blocking call by running sync_forever in background_task (@PaarthShah
- #122800 )  - Fix blocking event loop call in matrix (@PaarthShah
- #122730 )  - Add support for login credentials to homeworks (@emontnemery
- #122877 )  - Log tests in test group (@emontnemery
- #122892 )  - KNX: use xknx 3.0.0 eager telegram decoding (@farmio
- #122896 )  - Bump pytrydan to 0.8.0 (@dgomes
- #122898 )  - Fix implicit-return in plant (@epenet
- #122903 )  - Add number entity for Ecovacs mower cut direction (@adsmf
- #122598 )  - Adds new sensors and configuration entities to V2C Trydan (@dgomes
- #122883 )  - Fix implicit-return in qnap (@epenet
- #122901 )  - Fix implicit-return in plaato (@epenet
- #122902 )  - Fix implicit-return in niko_home_control (@epenet
- #122904 )  - Fix implicit-return in maxcube (@epenet
- #122907 )  - Fix implicit-return in melissa (@epenet
- #122908 )  - Fix implicit-return in meraki (@epenet
- #122909 )  - Fix implicit-return in meteo_france (@epenet
- #122910 )  - Fix implicit-return in mystrom (@epenet
- #122911 )  - Fix implicit-return in landisgyr_heat_meter (@epenet
- #122912 )  - Bump velbusaio to 2024.07.06 (@Cereal2nd
- #122905 )  - Add graceful handling for LASTSTEST sensor in APCUPSD (@yuxincs
- #113125 )  - Fix implicit-return in kodi (@epenet
- #122914 )  - Fix implicit-return in homekit_controller (@epenet
- #122920 )  - Improve LLM tool quality by more clearly specifying device_class slots (@allenporter
- #122723 )  - Rename ‘service’ to ‘action’ in automations and scripts (@frenck
- #122845 )  - Improve quality of ollama tool calling by repairing arguments (@allenporter
- #122749 )  - Improve conversation agent tracing to help with eval and data collection (@allenporter
- #122542 )  - Fix implicit-return in transport_nsw (@epenet
- #122930 )  - Fix implicit-return in vera (@epenet
- #122934 )  - Fix implicit-return in shelly (@epenet
- #122926 )  - Fix implicit-return in time_date (@epenet
- #122929 )  - Add reconfigure step for here_travel_time (@eifinger
- #114667 )  - Warn that the minimum SQLite version will change to 3.40.1 as of 2025.2 (@bdraco
- #104298 )  - Move lifespan attributes into own sensors for legacy Ecovacs bots (@mib1185
- #122740 )  - Fix implicit-return in recorder (@epenet
- #122924 )  - Add enable_millisecond to duration selector (@karwosts
- #122821 )  - Add support for ventilation device to ViCare (@CFenner
- #114175 )  - Add Reolink chime support (@starkillerOG
- #122752 )  - Fix unnecessary-return-none in nest (@epenet
- #122951 )  - Update frontend to 20240731.0 (@bramkragten
- #122956 )  - Fix cleanup of orphan device entries in AVM Fritz!Box Tools (@mib1185
- #122937 )  - Switch to using update for headers middleware (@bdraco
- #122952 )  - Add default warning for installing matter device updates (@marcelveldt
- #122597 )  - Use pytest.mark.usefixtures in risco tests (@epenet
- #122955 )  - Fix implicit-return in hddtemp (@epenet
- #122919 )  - Simplify async_setup_entry in bluesound integration (@LouisChrist
- #122874 )  - Climate validate temperature(s) out of range (@gjohansson-ST
- #118649 )  - Add override for work areas in Husqvarna Automower (@Thomas55555
- #120427 )  - Fix handling of tplink light effects for scenes (@sdb9696
- #122965 )  - Fix unnecessary-return-none in telnet (@epenet
- #122949 )  - Fix unnecessary-return-none in iotty (@epenet
- #122947 )  - Bump python-kasa to 0.7.1 (@sdb9696
- #122967 )  - Extend Matter select entity (@marcelveldt
- #122513 )  - Fix Sonos media_player control may fail when grouping speakers (@PeteRager
- #121853 )  - Matter handle FeatureMap update (@marcelveldt
- #122544 )  - Use finished speaking detection in ESPHome/Wyoming (@synesthesiam
- #122962 )  - Fix implicit-return in garadget (@epenet
- #122923 )  - Rename variable in sensor tests (@epenet
- #122954 )  - Fix unnecessary-return-none in tradfri (@epenet
- #122950 )  - Remove aiohappyeyeballs license exception (@bdraco
- #122969 )  - Fix unnecessary-return-none in homematic (@epenet
- #122948 )  - Fix implicit-return in wyoming (@epenet
- #122946 )  - Drop unnecessary lambdas in the entity filter (@bdraco
- #122941 )  - Fix implicit-return in yamaha (@epenet
- #122942 )  - Fix implicit-return in xiaomi_aqara (@epenet
- #122940 )  - Fix implicit-return in xiaomi_miio (@epenet
- #122939 )  - Fix implicit-return in xiaomi (@epenet
- #122938 )  - Drop some unnecessary lambdas in powerwall (@bdraco
- #122936 )  - Fix implicit-return in wsdot (@epenet
- #122935 )  - Fix implicit-return in valve (@epenet
- #122933 )  - Fix implicit-return in uk_transport (@epenet
- #122932 )  - Fix implicit-return in twitter (@epenet
- #122931 )  - Fix implicit-return in smartthings (@epenet
- #122927 )  - Fix implicit-return in satel_integra (@epenet
- #122925 )  - Fix implicit-return in humidifier (@epenet
- #122921 )  - Fix implicit-return in itunes (@epenet
- #122917 )  - Fix implicit-return in irish_rail_transport (@epenet
- #122916 )  - Remove invalid type hint and assignment in number (@epenet
- #122906 )  - Add HVAC mode support for AtlanticPassAPCHeatPumpMainComponent (heati… (@alexfp14
- #122175 )  - Optionally return response data when calling services through the API (@iamjackg
- #115046 )  - Add Pinecil virtual integration supported by IronOS (@tr4nt0r
- #122803 )  - Add ElevenLabs text-to-speech integration (@sorgfresser
- #115645 )  - Bump pymicro-vad to 1.0.1 (@synesthesiam
- #122973 )  - Lyric: Properly tie room accessories to the data coordinator (@dalinicus
- #115902 )  - Velux use node id as fallback for unique id (@DeerMaximum
- #117508 )  - Fix translation key for power exchange sensor in ViCare (@CFenner
- #122339 )  - Add aliases to script llm tool description (@Shulyaka
- #122380 )  - Use text/multiple selector for input_select.set_options (@karwosts
- #122539 )  - Yolink device model adaptation (@matrixd2
- #122824 )  - Restrict nws.get_forecasts_extra selector to nws weather entities (@karwosts
- #122986 )  - Update doorbird error notification to be a repair flow (@bdraco
- #122987 )  - Fix yolink protocol changed (@matrixd2
- #122989 )  - Fix handling of directory type playlists in Plex (@amccook
- #122990 )  - Bump aioymaps to 1.2.5 (@devbis
- #123005 )  - Make the Android timer notification high priority (@balloob
- #123006 )  - Bump yolink api to 0.4.6 (@matrixd2
- #123012 )  - Fix and improve tedee lock states (@edenhaus
- #123022 )  - Standardize assist pipelines on 10ms chunk size (@synesthesiam
- #123024 )  - Make ZHA load quirks earlier (@dmulcahey
- #123027 )  - Fix doorbird models are missing the schedule API (@bdraco
- #123033 )  - Address post-merge reviews for KNX integration (@farmio
- #123038 )  - Mitigate breaking change for KNX climate schema (@farmio
- #123043 )  - Use freezer in KNX tests (@farmio
- #123044 )  - OpenAI make supported features reflect the config entry options (@balloob
- #123047 )  - Ollama implement CONTROL supported feature (@balloob
- #123049 )  - Correct type annotation for 
EntityPlatform.async_register_entity_service(@emontnemery- #123054 )  - Add LinkPlay models (@nagyrobi
- #123056 )  - Add device class (@Fabiann2205
- #123059 )  - Correct squeezebox service (@emontnemery
- #123060 )  - LinkPlay: Bump python-linkplay to 0.0.6 (@dukeofphilberg
- #123062 )  - Add additional items to REPEAT_MAP in LinkPlay (@dukeofphilberg
- #123063 )  - Do not raise repair issue about missing integration in safe mode (@joostlek
- #123066 )  - Update frontend to 20240802.0 (@bramkragten
- #123072 )  - Update greeclimate to 2.0.0 (@cmroche
- #121030 )  - Add CONTROL supported feature to Google conversation when API access (@balloob
- #123046 )  - Change enum type to string for Google Generative AI Conversation (@Shulyaka
- #123069 )  - Catch exception in coordinator setup of IronOS integration (@tr4nt0r
- #123079 )  - Ignore Shelly IPv6 address in zeroconf (@thecode
- #123081 )  - Fix wrong DeviceInfo in bluesound integration (@LouisChrist
- #123101 )  - Bump pyenphase to 1.22.0 (@catsmanac
- #123103 )  - Use slugify to create id for UniFi WAN latency (@kimdv
- #123108 )  - Bump ZHA lib to 0.0.27 (@dmulcahey
- #123125 )  - Restore old service worker URL (@steverep
- #123131 )  - dsmr: migrate hourly_gas_meter_reading to mbus device (@dupondje
- #123149 )  - Bump aiohttp to 3.10.1 (@bdraco
- #123159 )  - Fix class attribute condition in Tesla Fleet (@Bre77
- #123162 )  - Add Govee H612B to the Matter transition blocklist (@kepstin
- #123163 )  - Use KNX UI entity platform controller class (@farmio
- #123128 )  - Add Matter Leedarson RGBTW Bulb to the transition blocklist (@musapinar
- #123182 )  - Fix MPD issue creation (@joostlek
- #123187 )  - Fix state icon for closed valve entities (@Mariusthvdb
- #123190 )  - Update frontend to 20240805.1 (@bramkragten
- #123196 )  - Mark tag to be an entity component (@frenck
- #123200 )  - Mark assist_pipeline as a system integration type (@frenck
- #123202 )  - Mark webhook as a system integration type (@frenck
- #123204 )  - Fix yamaha legacy receivers (@Petro31
- #122985 )  - Add support for ESPHome update entities to be checked on demand (@jesserockz
- #123161 )  - Show project version as 
sw_versionin ESPHome (@jesserockz- #123183 )  - Fix growatt server tlx battery api key (@flopp999
- #123191 )  - Update greeclimate to 2.1.0 (@cmroche
- #123210 )  - Update knx-frontend to 2024.8.6.85349 (@farmio
- #123226 )  - Bump yt-dlp to 2023.08.06 (@joostlek
- #123229 )  - Update frontend to 20240806.0 (@frenck
- #123230 )  - Mark Alexa integration as system type (@frenck
- #123232 )  - Mark Google Assistant integration as system type (@frenck
- #123233 )  - Fix Tami4 device name is None (@Yehazkel
- #123156 )  - Delete mobile_app cloudhook if not logged into the cloud (@edenhaus
- #123234 )  - Mark FFmpeg integration as system type (@frenck
- #123241 )  - Fix sense doing blocking I/O in the event loop (@bdraco
- #123247 )  - Bump deebot-client to 8.3.0 (@edenhaus
- #123249 )  - Bump mficlient to 0.5.0 (@joostlek
- #123250 )  - Update frontend to 20240806.1 (@frenck
- #123252 )  - Adapt static resource handler to aiohttp 3.10 (@steverep
- #123166 )  - Bump ZHA to 0.0.28 (@puddly
- #123259 )  - Update knx-frontend to 2024.8.6.211307 (@farmio
- #123261 )  - Bump reolink-aio to 0.9.7 (@starkillerOG
- #123263 )  - Allow non-admins to subscribe to newer registry update events (@bdraco
- #123267 )  - Update ESPHome voice assistant pipeline log warning (@jesserockz
- #123269 )  - Fix Google Cloud TTS not respecting config values (@tronikos
- #123275 )  - Tado change repair issue (@erwindouna
- #123256 )  - Reload conversation entries on update (@balloob
- #123279 )  - Fix typo on one of islamic_prayer_times calculation_method option (@lunmay
- #123281 )  - Add missing application credential to Tesla Fleet (@Bre77
- #123271 )  - Update wled to 0.20.1 (@frenck
- #123283 )  - Revert “Upgrade pycoolmasternet-async to 0.2.0” (@ashalita
- #123286 )  - Drop Matter Microwave Oven Mode select entity (@agners
- #123294 )  - Bump intents to 2024.8.7 (@synesthesiam
- #123295 )  
Release 2024.8.1 - August 10
- Add support for v3 Coinbase API (@TomBrien
- #116345 )  - Bump OpenWeatherMap to 0.1.1 (@freekode
- #120178 )  - Fix limit and order property for transmission integration (@fustom
- #123305 )  - Fix doorbird with externally added events (@bdraco
- #123313 )  - Bump aiorussound to 2.2.2 (@noahhusby
- #123319 )  - Revert “Fix blocking I/O while validating config schema” (@emontnemery
- #123377 )  - Ensure legacy event foreign key is removed from the states table when a previous rebuild failed (@bdraco
- #123388 )  - Bump aiohttp to 3.10.2 (@bdraco
- #123394 )  - Also migrate dsmr entries for devices with correct serial (@dupondje
- #123407 )  - Add missing logger to Tessie (@Bre77
- #123413 )  - Bump YoLink API to 0.4.7 (@matrixd2
- #123441 )  - Support action YAML syntax in old-style notify groups (@frenck
- #123457 )  - Bump ZHA library to 0.0.29 (@puddly
- #123464 )  - Bump pyjvcprojector to 1.0.12 to fix blocking call (@SteveEasley
- #123473 )  - Bump monzopy to 1.3.2 (@JakeMartin-ICL
- #123480 )  - Fix startup blocked by bluesound integration (@LouisChrist
- #123483 )  - Update frontend to 20240809.0 (@frenck
- #123485 )  - Bump zha lib to 0.0.30 (@dmulcahey
- #123499 )  - Bumb python-homewizard-energy to 6.2.0 (@DCSBL
- #123514 )  - Fix cleanup of old orphan device entries in AVM Fritz!Tools (@mib1185
- #123516 )  - Bump pydaikin to 2.13.2 (@mattyway
- #123519 )  - Bump AirGradient to 0.8.0 (@joostlek
- #123527 )  - Upgrade chacon_dio_api to version 1.2.0 (@cnico
- #123528 )  
Release 2024.8.2 - August 16
- Avoid Exception on Glances missing key (@wittypluck
- #114628 )  - Fix Madvr sensor values on startup (@iloveicedgreentea
- #122479 )  - Drop violating rows before adding foreign constraints in DB schema 44 migration (@emontnemery
- #123454 )  - Handle Yamaha ValueError (@pssc
- #123547 )  - Bump aiohttp to 3.10.3 (@bdraco
- #123549 )  - Update knx-frontend to 2024.8.9.225351 (@farmio
- #123557 )  - Fix secondary russound controller discovery failure (@noahhusby
- #123590 )  - Change WoL to be secondary on device info (@gjohansson-ST
- #123591 )  - Ensure HomeKit connection is kept alive for devices that timeout too quickly (@bdraco
- #123601 )  - Bump 
aioshellyto version 11.2.0 (@bieniu- #123602 )  - Bump pydaikin to 2.13.4 (@kingy444
- #123623 )  - System Bridge package updates (@timmo001
- #123657 )  - Bump aiohomekit to 3.2.2 (@bdraco
- #123669 )  - Fix startup block from Swiss public transport (@miaucl
- #123704 )  - Bump pyschlage to 2024.8.0 (@dknowles2
- #123714 )  - Update AEMET-OpenData to v0.5.4 (@Noltari
- #123716 )  - Update aioairzone-cloud to v0.6.2 (@Noltari
- #123719 )  - Update aioqsw to v0.4.1 (@Noltari
- #123721 )  - Bump ZHA lib to 0.0.31 (@dmulcahey
- #123743 )  - Update wled to 0.20.2 (@frenck
- #123746 )  - Fix error message in html5 (@mib1185
- #123749 )  - Bump py-nextbusnext to 2.0.4 (@ViViDboarder
- #123750 )  - Bump python-nest-sdm to 4.0.6 (@allenporter
- #123762 )  - Update xknx to 3.1.0 and fix climate read only mode (@farmio
- #123776 )  - Fix KNX UI Light color temperature DPT (@farmio
- #123778 )  - Fix status update loop in bluesound integration (@LouisChrist
- #123790 )  - Bump py-synologydsm-api to 2.4.5 (@mib1185
- #123815 )  - Fix blocking I/O of SSLContext.load_default_certs in Ecovacs (@edenhaus
- #123856 )  - Fix translation for integration not found repair issue (@mib1185
- #123868 )  - Handle timeouts on Airzone DHCP config flow (@Noltari
- #123869 )  - Bump pylutron_caseta to 0.21.1 (@bdraco
- #123924 )  - Fix PI-Hole update entity when no update available (@mib1185
- #123930 )  - Bump LaCrosse View to 1.0.2, fixes blocking call (@IceBotYT
- #123935 )  - Bump pypck to 0.7.20 (@alengwenus
- #123948 )  - Environment Canada weather format fix (@gwww
- #123960 )  - Bump pyhomeworks to 1.1.1 (@emontnemery
- #123981 )  - Ensure event entities are allowed for linked homekit config via YAML (@bdraco
- #123994 )  - Bump openwebifpy to 4.2.7 (@autinerd
- #123995 )  - Re-enable concord232 (@joostlek
- #124000 )  - Bump aiounifi to v80 (@Kane610
- #124004 )  - Fix rear trunk logic in Tessie (@Bre77
- #124011 )  - Bump bluetooth-adapters to 0.19.4 (@bdraco
- #124018 )  - Fix loading KNX integration actions when not using YAML (@farmio
- #124027 )  - Bump aiomealie to 0.8.1 (@joostlek
- #124047 )  - Exclude aiohappyeyeballs from license check (@joostlek
- #124041 )  
Release 2024.8.3 - August 25
- Skip NextBus update if integration is still loading (@drozycki
- #123564 )  - Bump yalexs to 6.5.0 (@bdraco
- #123739 )  - Bump yalexs to 8.0.2 (@bdraco
- #123817 )  - Bump aioshelly to 11.2.4 (@bdraco
- #124080 )  - Add Alt Core300s model to vesync integration (@cdnninja
- #124091 )  - Bump pybravia to 0.3.4 (@Drafteed
- #124113 )  - Bump aiohomekit to 3.2.3 (@bdraco
- #124115 )  - Bump nest to 4.0.7 to increase subscriber deadline (@allenporter
- #124131 )  - Bump tplink-omada-api to 1.4.2 (@MarkGodwin
- #124136 )  - Bump aiohttp to 3.10.4 (@bdraco
- #124137 )  - Update Matter light transition blocklist to include GE Cync Undercabinet Lights (@cjmaio
- #124138 )  - Shelly RPC - do not stop BLE scanner if a sleeping device (@thecode
- #124147 )  - Fix shelly available check when device is not initialized (@bdraco
- #124182 )  - Bump pyhomeworks to 1.1.2 (@emontnemery
- #124199 )  - Bump aiohttp to 3.10.5 (@bdraco
- #124254 )  - Update xknx to 3.1.1 (@farmio
- #124257 )  - Bump python-roborock to 2.6.0 (@allenporter
- #124268 )  - Prevent KeyError when Matter device sends invalid value for StartUpOnOff (@marcelveldt
- #124280 )  - Don’t abort airgradient user flow if flow in progress (@joostlek
- #124300 )  - Bump yalexs to 8.1.2 (@bdraco
- #124303 )  - Bump python-holidays to 0.54 (@gjohansson-ST
- #124170 )  - Bump python-holidays to 0.55 (@gjohansson-ST
- #124314 )  - Add missing strings for riemann options flow (@karwosts
- #124317 )  - Fix Spotify Media Browsing fails for new config entries (@PeteRager
- #124368 )  - update ttn_client - fix crash with SenseCAP devices (@angelnu
- #124370 )  - Add supported features for iZone (@Swamp-Ig
- #124416 )  - Bump yalexs to 8.1.4 (@bdraco
- #124425 )  - Bump aiohue to version 4.7.3 (@idekker
- #124436 )  - Don’t raise WLED user flow unique_id check (@joostlek
- #124481 )  - Bump yalexs to 8.3.3 (@bdraco
- #124492 )  - Bump yalexs to 8.4.0 (@bdraco
- #124520 )  - Bump yalexs to 8.4.1 (@bdraco
- #124553 )  - Fix missing id in Habitica completed todos API response (@tr4nt0r
- #124565 )  - Only support remote activity on Alexa if feature is set and at least one feature is in the activity_list (@jbouwh
- #124567 )  - Revert “Exclude aiohappyeyeballs from license check” (@bdraco
- #124116 )