Full changelog for Home Assistant 2026.7
These are all the changes included in the Home Assistant 2026.7 release. For a summary in a more readable format Release notes blog for this release.
All changes
- Harden backup tar extraction with Python tar_filter (@agners - #172252)
- Add GeneralDiagnostics sensors and fault binary sensors to Matter integration (@markvp - #169830)
- Include device identity in Matter light transition blocklist warning (@arcivanov - #172324)
- Deprecate device tracker TrackerEntity location_name property (@emontnemery - #171820)
- Add zone triggers entered/left zone (@emontnemery - #171751)
- Bump version to 2026.7.0dev0 (@frenck - #172367)
- Revert “Add zone triggers entered/left zone” (@emontnemery - #172409)
- Deprecate device tracker battery_level property (@emontnemery - #171819)
- Add Matter soil moisture sensor (@lboue - #172372)
- ovhcloud_ai_endpoints: reauthentication flow (@Crocmagnon - #172405)
- Remove advanced options from config/test_config_entires (@justanotherariel - #172423)
- Bump dessant/lock-threads from 6.0.0 to 6.0.1 (@dependabot - #172399)
- Remove unused translation in lg_thinq (@LG-ThinQ-Integration - #172394)
- Use ECMap for Environment Canada radar with layer support (@michaeldavie - #161602)
- Bump docker/build-push-action from 7.1.0 to 7.2.0 (@dependabot - #172397)
- Bump github/gh-aw-actions from 0.74.4 to 0.74.9 (@dependabot - #172398)
- Add skill instruction on not duplicating entity base class behavior (@abmantis - #172362)
- Add button platform for Samsung Infrared integration (@lmaertin - #171791)
- Update async_update_entity_platform to not allow loaded entities (@gjohansson-ST - #171773)
- Add Sense API exception handling (@kbickar - #169957)
- Add projector as media player device class (@jtjart - #169274)
- Add pylint rule for checking async_setup_entry calls in tests (@joostlek - #171864)
- ovhcloud_ai_endpoints: add diagnostics (@Crocmagnon - #172444)
- ovhcloud_ai_endpoints: increase test coverage (@Crocmagnon - #172439)
- Add regression test for ONVIF setup against a real ONVIFDevice (@bobmoroshev - #172194)
- Add pylint rule for checking async_migrate_entry calls in tests (@joostlek - #171877)
- ovhcloud_ai_endpoints: update quality scale to silver (@Crocmagnon - #172440)
- Refactor Duco tests to use shared fixtures (@ronaldvdmeer - #172351)
- Move Tesla Fleet route destination from device tracker to a sensor (@Bre77 - #172513)
- Move Teslemetry destination name from device tracker to a sensor (@Bre77 - #172514)
- Portainer refactor services test (@erwindouna - #172525)
- Bump github/codeql-action from 4.35.5 to 4.36.0 (@dependabot - #172529)
- Bump docker/login-action from 4.1.0 to 4.2.0 (@dependabot - #172531)
- Refactor Renault to use StrEnum (@epenet - #172546)
- Remove diagnostic category and dead translation key from pac sensor (@mhuiskes - #172548)
- Catch network errors during Roborock config entry setup (@TheMerinoWolf - #172492)
- Bump docker/metadata-action from 6.0.0 to 6.1.0 (@dependabot - #172528)
- Bump docker/setup-buildx-action from 4.0.0 to 4.1.0 (@dependabot - #172526)
- Import notify domain in notify tests (@epenet - #172572)
- Bump pyrisco to 0.8.0 (@OnFreund - #172591)
- Bump yalexs to 9.2.7 (@bdraco - #172582)
- Fix incorrect use of Platform enum in component tests (@epenet - #172574)
- Proxmox refactor config flow to support no nodes (@erwindouna - #172615)
- fix: bump aiolifx and aiolifx-themes (@Djelibeybi - #172619)
- Catch network errors during Loqed config entry unload (@alexborro - #172617)
- Cleanup incorrect import path in Tuya coordinator (@epenet - #172330)
- Update pytest-socket to 0.8.0 (@renovate - #172516)
- Fix sentence-casing of Overkiz energy demand status binary sensor (@iMicknl - #172653)
- Increase Proxmox API connection timeout to 30s (@wrobelda - #172664)
- Rename domain variable in tests (@epenet - #172575)
- Bump pyrate-limiter to 4.2.0 (@tr4nt0r - #172686)
- Add tests for Overkiz lock platform (@iMicknl - #172678)
- Add connectivity binary sensor to tedee (@zweckj - #172688)
- Rename izone constant (@epenet - #172689)
- Improve the zeroconf discovery card title of lunatone (@MoonDevLT - #172356)
- Add tests to cert_expiry (@TomFilsell - #171051)
- Cleanup incorrect use of Platform enum in zimi (@epenet - #172696)
- Cleanup incorrect use of Platform enum in myuplink (@epenet - #172697)
- Adjust Renault configuration keys (@epenet - #172694)
- Add pylint plugin to enforce util.dt.utcnow (@MartinHjelmare - #172354)
- Invert B Ruff rules (@joostlek - #172730)
- Invert RUF Ruff rules (@joostlek - #172731)
- Enable RUF061 (@joostlek - #172735)
- Enable RUF009 (@joostlek - #172738)
- Cleanup incorrect use of Platform enum in miele (@epenet - #172699)
- Enable RUF002 and RUF003 (@joostlek - #172739)
- Bump github/gh-aw-actions from 0.74.9 to 0.75.0 (@dependabot - #172530)
- Retry transient Overkiz server unavailable errors (@iMicknl - #172672)
- Bump python-roborock to 5.14.1 and revert defensive aiohttp catch (@TheMerinoWolf - #172745)
- Use DataUpdateCoordinator in openSenseMap (@AlCalzone - #172713)
- Skip reauth flow on ConfigEntryAuthFailed when integration has none (@abmantis - #172483)
- Update SQLAlchemy to 2.0.50 (@renovate - #172685)
- Homee: Exclude covers, that don’t provide a closed state. (@Taraman17 - #172476)
- Use Platform enum in reload helper (@epenet - #172729)
- Run Overkiz unique ID migration only once via config entry version (@iMicknl - #172670)
- Add support for Thread Integration to Display Icons for Yeelight TBRs and Fix for Amazon Echo (@wardmatter - #169384)
- Ignore Beacons security policy flag in Thread dataset comparison (@balloob - #172749)
- upb: Move to SerialPortSelector (@DaAwesomeP - #170053)
- Add media browser to Yoto (@piitaya - #172325)
- Add Thread and Wi-Fi RSSI diagnostic sensors to Matter integration (@markvp - #167853)
- Add actions permission to delete stalebot state (@silamon - #172704)
- Add custom themes to Cloud support package (@mellowism - #172708)
- Bump aioaquarite to 0.5.1 (@fdebrus - #172754)
- Add cover platform to Fluss (@Marcello17 - #169908)
- Support Yardian YC models (@aeon-matrix - #172347)
- Rename constant in reload helper test (@epenet - #172711)
- Refactor blebox integration to use DataUpdateCoordinator (@bkobus-bbx - #172533)
- Add tests for Overkiz select platform (@iMicknl - #171899)
- Remove
battery_levelproperty from Tractive device tracker (@bieniu - #172756) - Add Helty Flow integration (@ebaschiera - #172736)
- Add OpenEVSE diagnostics (@firstof9 - #171762)
- Bump github/gh-aw-actions from 0.75.0 to 0.76.0 (@dependabot - #172777)
- Add tests for Overkiz siren platform (@iMicknl - #171900)
- Bump dessant/lock-threads from 6.0.1 to 6.0.2 (@dependabot - #172776)
- Migrate async_migrate_entry test calls to async_setup in growatt_server (@johanzander - #172587)
- Send midpoint of fan range for mapping devices for Z-Wave (@PeteRager - #172562)
- Use growattServer library error code constants in growatt_server (@johanzander - #172771)
- Update infrared-protocols to 5.8.0 (@renovate - #172804)
- Deprecate single-use CONCENTRATION_PARTS_PER_CUBIC_METER constant (@epenet - #172553)
- Add button platform to Vistapool (@fdebrus - #172550)
- Switchbot Cloud: Enable Webhook for sensor devices (@XiaoLing-git - #172814)
- Vistapool: add DHCP discovery on SugarWIFI hostname (@fdebrus - #172820)
- Use arwn-client library in arwn (@sdague - #172264)
- Modify stale policies for PRs and issues (@silamon - #172812)
- Add xthings cloud switch (@zhangluofeng - #172119)
- Add reconfiguration flow for Blebox integration (@bkobus-bbx - #172569)
- Add Helty Flow temperature and humidity sensors (@ebaschiera - #172813)
- Bump victron-mqtt to 2026.6.1 (@tomer-w - #172676)
- Use
homeassistant.util.dt.utcnowinstead ofdatetime.now(UTC)in Anthropic (@Shulyaka - #172826) - Bump pygti to 1.1.1 (@vigonotion - #172613)
- Promote growatt_server to Gold quality scale (@johanzander - #171623)
- Add number platform to Vistapool (@fdebrus - #172542)
- Add button event entity to SwitchBot Contact Sensor. (@prmx - #171876)
- Add integration for the device Envertech EVT800 (@daniel-bergmann-00 - #149456)
- Type hvv_departures integration (@vigonotion - #172595)
- Bump aiohttp to 3.14.0 (@bdraco - #172838)
- Bump pywmspro to 0.4.0 for persistence support (@mback2k - #172193)
- Bump version of Apprise to v1.11.0 (@caronc - #172622)
- Add EcoSmart resume schedule button to Wallbox (@Rayman223 - #171847)
- Simplify Duco sensor tests (@ronaldvdmeer - #172501)
- Update infrared-protocols to 5.8.1 (@renovate - #172870)
- Use
dt_util.utcnow()instead ofdatetime.now(UTC)in evohome (@zxdavb - #172868) - Use
dt_util.utcnow()instead ofdatetime.now(UTC)in template tests (@Petro31 - #172852) - Avoid double-decoding websocket_api TEXT frames with decode_text (@bdraco - #172891)
- Update coverage to 7.14.1 (@renovate - #172878)
- Add missing translation keys to openevse (@c00w - #172802)
- Vistapool: flip docs-related quality-scale rules to done (@fdebrus - #172827)
- Use zone DOMAIN constant in zone triggers (@emontnemery - #172894)
- Update pytest-asyncio to 1.4.0 (@renovate - #172886)
- Add Imou integration (@Imou-OpenPlatform - #161412)
- Add pylint plugin for correct use of DOMAIN constants in tests (@epenet - #172693)
- Add “review” claude skill and use it in “gitbhub-pr-review” (@abmantis - #172797)
- Document missing pylint rules in plugin README (@Markus98 - #172925)
- Bump vsure to 2.7.0 (@rasmusbe - #172856)
- Migrate itach to pyitachip2ir2==0.0.8 (@balloob - #172908)
- Add Rabbit Air fan preset icons (@MagikalUnicorn - #172931)
- Add binary sensor platform to openevse (@firstof9 - #172924)
- Add reason for unvailability to opendisplay (@zweckj - #172909)
- Don’t log configuration errors when executing WS subscribe_trigger (@emontnemery - #172918)
- Use zone DOMAIN constant in zone conditions (@emontnemery - #172940)
- Homee: Use constants for cover states for readability (@Taraman17 - #172840)
- Refactor Duco config flow tests to use small helpers (@ronaldvdmeer - #172498)
- Bump aiohomeconnect to 0.36.1 (@Diegorro98 - #172946)
- Bump airOS to add insecure ssl detection (@CoMPaTech - #172947)
- Incomfort refactor coordinator (@erwindouna - #160953)
- Bump onvif-zeep-async to 4.2.0 (@bdraco - #172957)
- Add Edifier Infrared integration (@abmantis - #172342)
- Update infrared-protocols to 6.0.0 (@renovate - #172968)
- Add operation mode sensor to Powerwall (@BrettLynch123 - #172967)
- Improve test of zone entity state (@emontnemery - #172941)
- Bump github/gh-aw-actions from 0.76.0 to 0.77.0 (@dependabot - #172979)
- Bump actions/ai-inference from 2.1.0 to 2.1.1 (@dependabot - #172966)
- Bump aiohasupervisor to 0.5.0 (@sairon - #172933)
- Bump python-duco-connectivity to 0.6.0 (@ronaldvdmeer - #172938)
- Use DOMAIN constant in MockConfigEntry (a-o) (@epenet - #172989)
- Use DOMAIN constant in MockConfigEntry (p-z) (@epenet - #172991)
- Add hass.states.async_entity_ids to domain constant checker (@epenet - #172923)
- Updated pajgps-api to version 0.4.0 (@skipperro - #172986)
- Use DOMAIN constant in test (config_entries.flow.async_init) (@epenet - #173008)
- Remove duplicate description in Tuya binary sensor (@epenet - #173006)
- Use DOMAIN constant in tests (async_mock_service) (@epenet - #173002)
- Use DOMAIN constant in tests (hass.services.async_call) (@epenet - #172998)
- Prefer DOMAIN constant over config_flow.DOMAIN in tests (@epenet - #172992)
- Add tests for the envisalink integration (@kohai-ut - #172621)
- Add filter reset button to Helty Flow (@ebaschiera - #172866)
- Fix double annotations for Pylint (@joostlek - #172477)
- Homee: Add stop_tilt action for covers (@Taraman17 - #172952)
- Refactor Yardian zones into sub-devices using via_device (@aeon-matrix - #172835)
- Use DOMAIN constant in test (hass.states.async_entity_ids) (@epenet - #173009)
- Upgrade Swisscom integration (@anatosun - #171816)
- Add Motionblinds virtual integration Avosdim (@mbo18 - #172821)
- Always include template errors in trace (@emontnemery - #172917)
- Add icon translations for Blebox integration (@bkobus-bbx - #172565)
- Bump av to 17.0.1 (@RaHehl - #172892)
- Add exception translations for Blebox integration (@bkobus-bbx - #172560)
- Add diagnostics for Blebox integration (@bkobus-bbx - #172556)
- Fix offline devices in Fluss (@Marcello17 - #172833)
- Vistapool: Add reconfiguration flow (@fdebrus - #172836)
- Add source selection to samsung_infrared media player (@lmaertin - #172794)
- Deprecate Evohome’s
refresh_systemaction (@zxdavb - #169894) - API refactor to replace assert (@erwindouna - #172862)
- Avoid re-registering listeners at common.py from Home Connect (@Diegorro98 - #172851)
- Fix platfoms fixtures return type at Home Connect (@Diegorro98 - #172849)
- Sort Home Connect service.yaml programs (@Diegorro98 - #172848)
- Add light platform to Vistapool (@fdebrus - #172549)
- Add support for openSensor and drutexSmart (@bkobus-bbx - #169910)
- Fix Vistapool button test isolation by deepcopying _LED_DATA. (@fdebrus - #172829)
- Vistapool: add diagnostics support (@fdebrus - #172824)
- Add media player missing image coverage (@jdoughty04 - #172641)
- Add tests of legacy device tracker states to person tests (@emontnemery - #173023)
- Add tracking_type capability attribute to device tracker (@emontnemery - #173027)
- Bump py-synologydsm-api to 2.9.0 (@mib1185 - #173041)
- Derive zone entity state from person
in_zonesstate attribute (@emontnemery - #172942) - Bump tesla-powerwall to 0.5.3 (@BrettLynch123 - #173058)
- Update ruff (@renovate - #173059)
- Bump api-indevolt to 1.8.5 (@Xirt - #173078)
- Tado refactor to utilize get_zone_states (@erwindouna - #173075)
- Wolflink Fix state_class for long term statistics (@EnjoyingM - #173048)
- Fix incorrect constant usage in mqtt config flow (@epenet - #172557)
- Add sub-devices for Reolink dual lens cameras with per-lens sensors (@Markus98 - #173037)
- Teach legacy zone condition and trigger about in_zones state attribute (@emontnemery - #173074)
- Clean up unused MQTT constants (@jbouwh - #173095)
- Add test showing zone.async_active_zone prefers zone closest to center (@emontnemery - #173099)
- Do not use home zone coordinates for person when detected home by scanner (@emontnemery - #173042)
- Fix pylint utcnow checker for dt_util.UTC (@MartinHjelmare - #173083)
- Give any connected scanner highest priority when deriving person state (@emontnemery - #173107)
- Add entity-unique-id pylint quality scale checker (@Markus98 - #172815)
- Bump github/gh-aw-actions from 0.77.0 to 0.77.3 (@dependabot - #173073)
- Bump voip-utils to 0.4.0 (@synesthesiam - #173118)
- Bump yoto-api to 3.2.0 (@piitaya - #173119)
- Update uv to 0.11.17 (@renovate - #173060)
- Use SerialPortSelector for DSMR serial port configuration (@balloob - #171103)
- Add network MAC connection to AirVisual Pro devices (@jasonjhofmann - #173071)
- Allow using a custom server for Roborock setup. (@Lash-L - #171645)
- Close the connection for disabled Roborock devices (@Lash-L - #172277)
- Bump data-grand-lyon-ha to 0.8.0 (@Crocmagnon - #173108)
- refactor(
dwd_weather_warnings): changedatetime.nowtodt_util.utcnow(@robotsnh - #173149) - Update forecast_solar integration to v5.0.1 (@klaasnicolaas - #173151)
- Add card group browsing to the Yoto media browser (@piitaya - #173152)
- Bump ollama library (@synesthesiam - #173129)
- LLM: format numeric states with display precision (@synesthesiam - #173128)
- Bubble up conversation response in script run (@synesthesiam - #173131)
- Validate sentences and answers (@synesthesiam - #173127)
- Drop legacy requires_api_password from discovery announcement (@agners - #173090)
- Bump to Ultraheat 0.6.1 (@vpathuis - #173175)
- Use DOMAIN constant in test (async_setup_component o-z) (@epenet - #173018)
- Refactor Landis+Gyr heat meter to use the HA standard SerialPortSelector (@vpathuis - #173170)
- Bump victron-mqtt to 2026.6.1.1 (@tomer-w - #173142)
- Fix uncaught Duco diagnostics client errors (@ronaldvdmeer - #173191)
- Use NodeType enum in Duco entity (@ronaldvdmeer - #173189)
- Support streaming updates for V1 Roborock devices (@allenporter - #173182)
- Bump uiprotect to 11.3.0 (@RaHehl - #173024)
- Remove name fields from opentherm_gw config flow (@mvn23 - #173159)
- Bump habluetooth to 6.8.3 (@bdraco - #173194)
- Fix config flow version in goodwe (@gjohansson-ST - #173235)
- Add Kiosker Clear Blackout Button (@Claeysson - #173225)
- fix(indevolt): unable to discharge at 0 (@pierrepinon - #173085)
- Add a battery charging sensor to demo device (@karwosts - #173219)
- Return all matches for duplicate names in GetLiveContext (@balloob - #173157)
- Bump aiohttp to 3.14.1 (@bdraco - #173242)
- Bump yoto-api to 4.0.2 (@piitaya - #173238)
- Update syrupy to 5.3.1 (@renovate - #173245)
- Bump uiprotect to 11.8.0 (@RaHehl - #173227)
- Bump pyOverkiz to 2.0.0 in Overkiz (@iMicknl - #173212)
- Store product type in gardena_bluetooth config entry (@elupus - #173223)
- Add version to Uptime Kuma diagnostics (@tr4nt0r - #173254)
- refactor(energyid): replace
datetime.nowwithdt_util.utcnow(@robotsnh - #173241) - Fix Duco box device removal on partial node refreshes (@ronaldvdmeer - #173186)
- Bump python-openevse-http to 1.0.1 (@c00w - #172982)
- Improve tests of humanized error messages (@emontnemery - #173256)
- Lutron caseta prev brightness (@cb2206 - #164080)
- Moves V2C InstallationVoltage from Sensor to Number (@dgomes - #169771)
- Add state_class to blebox sensors (@bkobus-bbx - #173253)
- Add load, grid, and battery sensors to Hypontech (@jcisio - #173150)
- ovhcloud_ai_endpoints: add reconfigure flow (@Crocmagnon - #172583)
- Use query_dns from aiodns in dnsip (@gjohansson-ST - #173257)
- Add Kiosker service platform (@Claeysson - #171094)
- Strip trailing slash from Jellyfin server URL (@eseverson - #173049)
- Add new Aqvify integration (@astrandb - #172936)
- Use DOMAIN constant in test (async_setup_component a-g) (@epenet - #173013)
- Environment Canada integration: add get_alerts action (@gwww - #172393)
- Use DOMAIN constant in test (async_setup_component h-n) (@epenet - #173015)
- Fix incorrect use of Platform in atag (@epenet - #173025)
- Add initial quality scale for Weatherflow local (@jeeftor - #166022)
- data grand lyon: list stops and lines in config flow (@Crocmagnon - #173117)
- Config entry migration error on downgrading (@gjohansson-ST - #173184)
- Update dio-chacon-wifi-api to 1.3.0 (@cnico - #173240)
- Allow inline number ranges for sentence triggers (@synesthesiam - #173111)
- Use roboorck device capabilities to determine which entities are supported (@allenporter - #173282)
- Add individual code owner for Fluss (@Marcello17 - #173276)
- Remove not needed guards for integration migrations from future versions (@gjohansson-ST - #173301)
- Update rf-protocols to 4.1.0 (@renovate - #173328)
- Bump hyponcloud to 1.0.0 (@jcisio - #173310)
- Bump pyaqvify to 0.0.9 (@astrandb - #173312)
- Bump uiprotect to 12.0.0 (@RaHehl - #173315)
- Set PARALLEL_UPDATES for Fluss platforms (@Marcello17 - #173286)
- Bump zwave-js-server-python to 0.72.0 (@AlCalzone - #173309)
- Clean up redundant URL parsing in the Overkiz (@iMicknl - #173273)
- Add diagnostics platform to aqvify (@astrandb - #173283)
- Update uv to 0.11.18 (@renovate - #173327)
- Add reauthentication flow to Yoto (@piitaya - #173243)
- Fix HomeKit crash on integer device trigger subtypes (@charlesvestal - #173334)
- Add config flow to SMTP integration (@tr4nt0r - #172019)
- Add reauth flow to aqvify (@astrandb - #173287)
- Improve strings in SMTP integration (@tr4nt0r - #173379)
- Remove positional message strings when translation_key is set in homewizard (@DCSBL - #173377)
- Add exception translations for aqvify (@astrandb - #173361)
- Bump github/gh-aw-actions from 0.77.3 to 0.78.1 (@dependabot - #173332)
- Bump actions/checkout from 6.0.2 to 6.0.3 (@dependabot - #173331)
- Bump python-ecobee-api to 0.4.1 (@pike00 - #172601)
- Bump github/codeql-action from 4.36.0 to 4.36.1 (@dependabot - #173333)
- Remove ‘home-assistant-exception-message-with-translation’ pylint exception from nfandroidtv (@DCSBL - #173398)
- Remove ‘home-assistant-exception-message-with-translation’ pylint exception from bsblan (@DCSBL - #173394)
- Remove ‘home-assistant-exception-message-with-translation’ pylint exception from mqtt (@DCSBL - #173396)
- velbus: allow device and sub-device removal (@StefCoene - #168283)
- ovhcloud_ai_endpoints: fix typo (@Crocmagnon - #173410)
- Remove positional message strings when translation_key is set in teslemetry (@DCSBL - #173391)
- Bump astral-sh/setup-uv from 8.1.0 to 8.2.0 (@dependabot - #173418)
- Bump babel to version 2.18.0 (@cryptomilk - #173424)
- Bump env-canada to 0.15.0 (@michaeldavie - #173408)
- Fix roomba charging state and add charging binary sensor (@JonLaliberte - #173304)
- Remove positional message strings when translation_key is set in blink (@DCSBL - #173390)
- Add pylint enforce dt.now checker (@MartinHjelmare - #173005)
- Add OptionsFlow to SMTP integration (@tr4nt0r - #173386)
- Add user entities to Github (@joostlek - #173405)
- Bump Anthropic to 0.108.0 (@Shulyaka - #173430)
- Bump homematicip to 2.13.0 (@lackas - #173427)
- Modify Bluetooth setup confirmation description for gardena_bluetooth integration (@CFenner - #173439)
- Set Epson media player device class to projector (@mvdwetering - #172585)
- Bump MQTT config flow to version 2.1 (@jbouwh - #173094)
- Add tests for itach integration (@orandasoft - #173421)
- Bump pysml to 0.1.8 (@tr4nt0r - #173449)
- Claude Fable support for Anthropic (@Shulyaka - #173455)
- Add radar camera options flow to Environment Canada (@michaeldavie - #173415)
- Use dt util in gardena bluetooth (@elupus - #173444)
- Bump vsure to 2.7.1 (@rasmusbe - #173470)
- Tado refactor to use dt_util (@erwindouna - #173440)
- iaqualink: add diagnostics support (@flz - #169518)
- (todo) Fix status field description (@jamesmyatt - #173458)
- Fix docstrings in shopping_list (@jamesmyatt - #173462)
- Update openevse quality_scale (@c00w - #172801)
- Add integration kaku_rc (KlikAanKlikUit) (@Phunkafizer - #170841)
- Update uv to 0.11.19 (@renovate - #173483)
- Improve todo tests (@jamesmyatt - #173454)
- Add MELCloud Home integration (@erwindouna - #173185)
- Adds the camera platform for the Imou integration (@Imou-OpenPlatform - #173064)
- Bump hyponcloud to 1.0.1 (@jcisio - #173456)
- Bump blebox_uniapi to v2.5.5 (@bkobus-bbx - #173365)
- Allow MQTT entities to be hidden by default (@jbouwh - #168832)
- Bump github/codeql-action from 4.36.1 to 4.36.2 (@dependabot - #173490)
- Add reconfigure flow to aqvify (@astrandb - #173355)
- Fix Satel Integra arm home mode selection (@Tommatheussen - #173431)
- Use parse_module helper in pylint import checker (visit_import) (@epenet - #173088)
- Add reconfiguration flow to SMTP integration (@tr4nt0r - #173376)
- Use parse_module helper in pylint import checker (visit_importfrom) (@epenet - #173375)
- Handle read timeouts in google_wifi sensor update (@kwschulz - #173511)
- Add binary_sensor platform to Vistapool (@fdebrus - #172234)
- Add tests documenting nested event firing behavior (@emontnemery - #173491)
- Reolink UID in the config entry (@starkillerOG - #173505)
- Add support for CO2Sensor to Blebox integration (@bkobus-bbx - #173507)
- Expose SET_TILT_POSITION only for calibrated tilt shutters (@bkobus-bbx - #173501)
- Add Reolink webhook push diagnostics (@starkillerOG - #173499)
- Add sensor platform to openSenseMap (@AlCalzone - #172765)
- Bump mozart_api to 6.2.0.44.0 (@mj23000 - #173514)
- MELCloud Home follow-up PR to refactor small parts (@erwindouna - #173515)
- Add support for inputSensor Blebox devices (@bkobus-bbx - #169841)
- Remove positional message strings when translation_key is set in manual (@DCSBL - #173393)
- Rephrase aw check requirements (@edenhaus - #171676)
- Refactor iTach YAML remote platform without behavior changes (@orandasoft - #173485)
- Add Bluetooth connection to Aranet devices (@jasonjhofmann - #173066)
- Add basic security check to dependency workflow (@edenhaus - #171191)
- MELCloud Home add binary sensor (@erwindouna - #173497)
- Add missing file cleanup to homekit tests (@emontnemery - #173513)
- MELCloud Home fixing typo (@erwindouna - #173530)
- Add diagnostics platform to Daikin integration (@purcell-lab - #173481)
- Fix Duco system health for multiple loaded entries (@ronaldvdmeer - #173324)
- Bump gh aw to 0.79.6 (@edenhaus - #173553)
- (bring) Fix docstring (@jamesmyatt - #173451)
- Add has_entity_name and translation keys to blebox entities (@bkobus-bbx - #170089)
- Add Litter-Robot 5 basic entity support (@Legendberg - #165879)
- MELCloud Home add sensor platform (@erwindouna - #173529)
- Update ruff (@renovate - #173575)
- Translate exceptions in opendisplay (@zweckj - #173582)
- Add OEM support to Hypontech (@jcisio - #173472)
- Add aqvify tests to reach 100% coverage (@astrandb - #173467)
- openevse: Mark as silver (@c00w - #173550)
- MELCloud Home add parallel updates (@erwindouna - #173587)
- Bump yoto-api to 4.1.0 (@piitaya - #173601)
- Extract setup_light helper for Govee local tests (@teancom - #167846)
- Add reauth flow and improve error handling for BleBox integration (@bkobus-bbx - #173268)
- Add reactive energy sensors for Blebox energyMeter device (@bkobus-bbx - #173504)
- Extend cloud system health with connection and certificate diagnostics (@cogneato - #171804)
- Bump pyOverkiz to 2.0.1 (@iMicknl - #173607)
- Bump yoto-api to 4.2.0 (@piitaya - #173606)
- Upgrade pydroplet to v2.4.0 (@sarahseidman - #173615)
- Fix Withings activity sensors using wrong timezone for date comparison (@frenck - #173640)
- Update hassil to 3.8.0 (@renovate - #173649)
- Fix available status for Powerview tilt only shades (@kingy444 - #173655)
- Update wording of knx data secure repair issue (@farmio - #173591)
- iometer dependency update to 1.0.2 (@torben-iometer - #173608)
- Update rf-protocols to 4.2.0 (@renovate - #173650)
- Bump uiprotect to 13.1.1 (@RaHehl - #173584)
- Fix workday entity triggering updates while disabled (@frenck - #173626)
- Migrate to knx telegram store (@martinhoefling - #169700)
- Precompile entity service schemas to avoid per-call recompilation (@frenck - #173685)
- Add network MAC connection to Ring devices (@jasonjhofmann - #173671)
- Add ext_temp as datapoint for Tuya wsdcg category (@epenet - #173366)
- Avoid slicing MQTT payload for debug log on every received message (@frenck - #173693)
- Clean up local todo doc strings, locking, and test style (@jamesmyatt - #173461)
- Add missing template device class translations (@karwosts - #173121)
- Add optimistic updates for Indevolt (@Xirt - #173091)
- Add time platform to Yoto (@piitaya - #173617)
- Bump yoto-api to 4.2.1 (@piitaya - #173699)
- Add Bluetooth connection to Eurotronic Comet Blue devices (@jasonjhofmann - #173670)
- Add Bluetooth connection to Snooz devices (@jasonjhofmann - #173668)
- Add Bluetooth connection to Melnor devices (@jasonjhofmann - #173669)
- Skip building ZHA entity log messages when the level is disabled (@frenck - #173695)
- Remove cleanup code for removed entities from Xbox integration (@tr4nt0r - #173688)
- Add Dry and Fan-Only modes to Panasonic CS-CU-EZ18CKYXFM AC in Matter (@kbipinkumar - #173709)
- Bump eheimdigital to 1.7.0 (@autinerd - #173716)
- Bump qbusmqttapi to v1.5.1 for the Qbus integration (@thomasddn - #173714)
- Adjust humidity attributes to (mandatory) new controller firmware in Huum (@vincentwolsink - #173702)
- Improve Rainbird config flow test coverage (@allenporter - #173703)
- Register SwitchBot Standing Fan device (@Onero-testdev - #173577)
- Add network MAC connection to myStrom bulb devices (@jasonjhofmann - #173707)
- Remove unnecessary #pylint disable…” (@astrandb - #173726)
- Add network MAC connection to JVC Projector device (@jasonjhofmann - #173683)
- Add window state sensor for HomematicIP rotary handle (HmIP-SRH) (@lackas - #173423)
- Optimistic UI updates for Vistapool write entities (@fdebrus - #173373)
- Fix tessie setup_error on transient aiohttp.ClientError during startup (@BrettLynch123 - #173659)
- Adjust pylint checker to prevent invalid use of Platform enum (@epenet - #173374)
- Add Powerline hint to username field description (@iluebbe - #167473)
- Replace duplicate CONF_EVENT constant with homeassistant.const import in calendar (@frenck - #173740)
- Add missing exception translation keys in VeSync (@frenck - #173739)
- Fix exception translation placeholder mismatch in Snoo (@frenck - #173736)
- Fix exception translation placeholder mismatch in Homevolt (@frenck - #173737)
- Add missing exception translation key in Israel Rail (@frenck - #173738)
- Replace duplicate CONF_OPTIONS constant with homeassistant.const import in input_select (@frenck - #173742)
- Replace duplicate constants with homeassistant.const imports in select (@frenck - #173743)
- Replace duplicate constants with homeassistant.const imports in Teslemetry (@frenck - #173744)
- Bump aioacaia to 0.1.18 (@frenck - #173762)
- Replace duplicate SERVICE_RELOAD constant with homeassistant.const import in conversation (@frenck - #173741)
- Bump anova-wifi to 0.17.1 (@frenck - #173764)
- Bump python-linkplay to 0.2.14 (@frenck - #173770)
- Bump syrupy to 5.3.2 (@frenck - #173767)
- Bump snapcast to 2.3.8 (@frenck - #173765)
- Bump pylint to 4.0.6 (@frenck - #173769)
- Bump aiopulse to 0.4.7 (@frenck - #173763)
- Bump reolink_aio to 0.21.1 (@starkillerOG - #173772)
- Fix exception translation placeholder mismatch in Swiss Public Transport (@frenck - #173735)
- Remove listener from holiday calendar when entity is disabled (@gjohansson-ST - #173759)
- Bump py-synologydsm-api to 2.10.0 (@mib1185 - #173774)
- Bump uv to 0.11.21 (@frenck - #173768)
- Add missing translation_domain to nasweb exception raises (@frenck - #173732)
- Slugify OwnTracks beacon name in entity ID (@frenck - #173629)
- Bump uiprotect to 13.1.2 (@RaHehl - #173728)
- Bump pyenphase to 2.4.9 (@frenck - #173785)
- Bump yalexs-ble to 3.3.1 (@frenck - #173792)
- Bump geniushub-client to 0.7.4 (@frenck - #173818)
- Bump denonavr to 1.3.3 (@frenck - #173814)
- Bump bluecurrent-api to 1.3.3 (@frenck - #173815)
- Bump pyimouapi to 1.2.8 (@frenck - #173813)
- Bump anthemav to 1.4.2 (@frenck - #173812)
- Bump blinkpy to 0.25.6 (@frenck - #173811)
- Bump devolo-home-control-api to 0.19.1 (@frenck - #173806)
- Bump pyrate-limiter to 4.4.0 (@tr4nt0r - #173819)
- Bump pyiskra to 0.1.29 (@frenck - #173820)
- Bump bleak-esphome to 3.9.4 (@frenck - #173825)
- Bump steamloop to 1.2.1 (@frenck - #173809)
- Bump serialx to 1.8.2 (@frenck - #173817)
- Update rf-protocols to 4.3.0 (@renovate - #173829)
- Bump roborock dependencies (@frenck - #173766)
- Bump openwrt-ubus-rpc to 0.0.3 (@frenck - #173810)
- Bump goslide-api to 0.7.4 (@frenck - #173823)
- Bump victron-vrm to 0.1.12 (@AndyTempel - #173821)
- Bump pyomie to 1.1.3 (@frenck - #173824)
- Redact raw payload fields in Duco diagnostics (@ronaldvdmeer - #173790)
- Fix BSCO2 sensors not being added in Duco (@ronaldvdmeer - #173794)
- Bump aioqsw to 0.4.3 (@frenck - #173802)
- Bump pyblu to 2.0.8 (@frenck - #173789)
- Bump gTTS to 2.5.4 (@frenck - #173836)
- Bump tessie-api to 0.1.3 (@frenck - #173803)
- Bump solax to 3.2.4 (@frenck - #173787)
- Bump pysnmp to 7.1.27 (@frenck - #173791)
- Bump debugpy to 1.8.21 (@frenck - #173826)
- Bump rflink to 0.0.68 (@frenck - #173808)
- Bump datadog to 0.52.1 (@frenck - #173838)
- Bump zabbix-utils to 2.0.4 (@frenck - #173839)
- Bump pyipp to 0.17.2 (@frenck - #173797)
- Bump switchbot-api to 2.11.1 (@frenck - #173795)
- Add initial Proxmox quality scale (@erwindouna - #161140)
- Fix exception translation placeholder mismatch in Teslemetry (@frenck - #173734)
- Make zone.async_in_zones prioritize the smallest zone (@emontnemery - #173106)
- Bump fjaraskupan to 2.3.4 (@frenck - #173841)
- Migrate async_setup_entry test calls to hass.config_entries.async_setup (@some-random-climber - #173849)
- Migrate async_setup_entry test calls to hass.config_entries.async_setup (@some-random-climber - #173850)
- Add brightness_pct to set_level action (@Petro31 - #173285)
- Bump buienradar to 1.0.9 (@frenck - #173848)
- Bump boschshcpy to 0.2.111 (@frenck - #173842)
- Use hass.config_entries.async_setup in inels tests (@some-random-climber - #173854)
- Use hass.config_entries.async_setup in iometer tests (@some-random-climber - #173855)
- Use hass.config_entries.async_setup in telegram_bot tests (@some-random-climber - #173857)
- MELCloud Home refactor error translations (@erwindouna - #173852)
- Bump aiopnsense to 1.0.10 (@frenck - #173843)
- Add Powerwall 3 support to powerwall integration (@Bre77 - #169137)
- Update documentation status for Roborock component (@vemboy200 - #173486)
- Bump guppy3 to 3.1.7 (@frenck - #173844)
- Bump fyta_cli to 0.7.3 (@frenck - #173784)
- Add tests showing races in entity triggers (@emontnemery - #173492)
- Speedup test_send_video in telegram_bot tests (@epenet - #173861)
- Use hass.config_entries.async_setup in emulated_roku tests (@some-random-climber - #173865)
- Use HA webhook instead of reolink_aio webhook (@starkillerOG - #173840)
- Add oven stop button to Whirlpool (@bdlcalvin - #173413)
- Use hass.config_entries.async_setup in vesync tests (@some-random-climber - #173868)
- Use hass.config_entries.async_setup in tibber tests (@some-random-climber - #173867)
- Support multi-color lights for Qbus integration (@thomasddn - #173730)
- Raise HomeAssistantError in Modern Forms action handlers (@frenck - #173727)
- Refactor inels load/unload tests (@epenet - #173873)
- Bump pynintendoparental to 2.4.0.1 (@frenck - #173871)
- Update pytest-aiohttp to 1.1.1 (@renovate - #173828)
- Deprecate openSenseMap air quality entity (@AlCalzone - #173862)
- Add pylint checker for unnecessary format_mac in connection tuples (@frenck - #173729)
- Improve Verisure session handling and reauth flow (@rasmusbe - #171317)
- Support WiZ lights with unadvertised dual head ratio (@Neffez - #172854)
- Refactor polling rain sensor to use coordinator in Velux integration (@wollew - #168991)
- Abort gardena discovery before product detection if address is known (@elupus - #173799)
- Add sensors to Yoto (@piitaya - #173292)
- Bump wolflink to 0.0.52 (@EnjoyingM - #173884)
- Remove MS Teams integration (@tr4nt0r - #173643)
- Avoid walking script variable ChainMap twice when tracing (@frenck - #173665)
- Include host address in broadlink setup timeout/error messages (@m-d-brown - #173661)
- Refactor energyid tests to avoid direct call to
async_unload_entry(@epenet - #173885) - Add head SHA tracking to requirements check workflow (@edenhaus - #173874)
- Move incorrect test from manual to demo integration (@epenet - #173888)
- Add binary sensors to Yoto (@piitaya - #173612)
- Fix aw check requirements (@edenhaus - #173893)
- Include spoken language in Google Generative AI STT prompt (@frenck - #173631)
- Automatic delete of stale devices for aqvify (@astrandb - #173496)
- Add integration for Greencell HabuDen EVSE (@BrzezowskiGC - #145302)
- Bump pyHik to 0.4.3 (@frenck - #173889)
- Update agents to avoid useless comments (@joostlek - #173523)
- Add pylint checker for direct calls to component.async_unload_entry (@epenet - #173870)
- Migrate unifi_direct from DeviceScanner to ScannerEntity and add ConfigFlow (@PaulVanSchayck - #171991)
- Bump pyvizio to 0.1.64 (@frenck - #173859)
- Fix daikin setup_error on transient DaikinException during startup (@BrettLynch123 - #173660)
- homematicip_cloud: harden post-reconnect state recovery using 2.9.0 diagnostics (@lackas - #169526)
- Feature/icloud media browser (@timlaing - #162001)
- Aqvify reaches silver tier on quality scale (@astrandb - #173618)
- Add DHCP discovery support to BleBox integration (@bkobus-bbx - #173498)
- Fix Atlantic DHW Production V2 CE FLAT C2 water heater controls in Overkiz (@iMicknl - #172823)
- Add util.dt.naive_now (@MartinHjelmare - #173443)
- MELCloud Home add diagnostics platform (@erwindouna - #173583)
- Expose on-disk file path when resolving TTS media source (@balloob - #172884)
- Add connectivity binary sensor to opendisplay (@zweckj - #172539)
- Add notify entities to SMTP integration (@tr4nt0r - #173557)
- Homee: QS examples done (@Taraman17 - #173543)
- Optimize module parsing in pylint imports checker (@epenet - #173077)
- Skip literal_eval for template results that cannot be a Python literal (@frenck - #173664)
- Queue nested firing of events (@emontnemery - #173519)
- Bump pykaleidescape to 1.1.6 (@frenck - #173912)
- Remove eifinger as Broadlink codeowner (@eifinger - #173908)
- Bump pygtfs to 0.1.11 (@frenck - #173917)
- Add long_press support for HomeWorks QSX in lutron_caseta (@jbonta - #172634)
- Add cheapest duration actions to Green Planet Energy integration (@petschni - #162577)
- data grand lyon: pick velo’v stop (@Crocmagnon - #173407)
- Add battery sensor support for PAJ GPS devices (@skipperro - #173123)
- Add reauthentication flow to Fluss+ (@Marcello17 - #173341)
- Add xy color to template lights (@Petro31 - #173296)
- Raise an error when a Mitsubishi Comfort command is rejected (@nikolairahimi - #173363)
- Add off operation_mode to SYSTEM_BOILER in LG ThinQ (@LG-ThinQ-Integration - #173070)
- Use device.supports_command in Overkiz (@iMicknl - #173280)
- Add reauthentication flow to Aquacell (@alexborro - #173110)
- Bump pyaqvify to 0.0.10 (@astrandb - #173926)
- Bump librouteros to 3.2.1 (@frenck - #173937)
- Bump pypck to 0.9.13 (@frenck - #173914)
- Bump pykrakenapi to 0.1.9 (@frenck - #173933)
- Bump pyipma to 3.0.10 (@frenck - #173943)
- Bump greeclimate to 2.1.4 (@frenck - #173924)
- Bump unifi-discovery to 1.5.0 (@RaHehl - #173927)
- Update infrared-protocols to 6.0.1 (@renovate - #173958)
- Prime condition durations from history (@emontnemery - #173426)
- Add network MAC connection to Aprilaire devices (@jasonjhofmann - #173675)
- Add network MAC connection to Rabbit Air devices (@jasonjhofmann - #173684)
- Add network MAC connection to iAlarm device (@jasonjhofmann - #173676)
- Add network MAC connection to PlayStation 4 devices (@jasonjhofmann - #173681)
- Add network MAC connection to AnthemAV main zone device (@jasonjhofmann - #173682)
- Add network MAC connection to Rain Bird controller (@jasonjhofmann - #173672)
- Use console name in UniFi Access discovery title (@RaHehl - #173962)
- Fix docs-data-update IQS for Anthropic (@Shulyaka - #173947)
- Bump messagebird to 1.2.1 (@frenck - #173942)
- Bump aioairq to 0.4.8 (@frenck - #173940)
- Bump omnilogic to 0.4.9 (@frenck - #173938)
- Bump pyhomematic to 0.1.78 (@frenck - #173925)
- Bump DoorBirdPy to 3.0.12 (@frenck - #173923)
- Bump tellcore-py to 1.1.3 (@frenck - #173894)
- Bump influxdb to 5.3.2 (@frenck - #173891)
- Bump atenpdu to 0.3.6 (@frenck - #173932)
- Bump roombapy to 1.9.1 (@frenck - #173922)
- Bump yoto-api to 4.3.0 (@piitaya - #173910)
- Bump home-assistant/builder from 2026.03.2 to 2026.06.0 (@dependabot - #173963)
- Bump pdunehd to 1.3.3 (@frenck - #173907)
- Bump hole to 0.9.2 (@frenck - #173936)
- Bump webexpythonsdk to 2.0.6 (@frenck - #173916)
- Bump pencompy to 0.0.4 (@frenck - #173906)
- Bump foobot_async to 1.0.1 (@frenck - #173905)
- Bump pysesame2 to 1.0.2 (@frenck - #173904)
- Use console name in UniFi Protect discovery title (@RaHehl - #173966)
- Bump eufylife-ble-client to 0.1.10 (@frenck - #173934)
- Bump heatmiserV3 to 2.0.6 (@frenck - #173913)
- Bump pyfireservicerota to 0.0.49 (@frenck - #173935)
- Publish numeric sensor device classes as generated sensor.json (@piitaya - #173919)
- Fix CCM15 temperature unit to follow the device’s C/F setting (@ocalvo - #173788)
- Token views should behave the same (@edenhaus - #173500)
- Fix missing full sha as hidden field in requirements check aw (@edenhaus - #173900)
- Bump lunatone-rest-api-client to 0.9.2 (@frenck - #173918)
- Bump evolutionhttp to 0.0.19 (@frenck - #173911)
- Use console name in UniFi Network discovery title (@RaHehl - #173931)
- casper_glow: add bluetooth reachability diagnostics (@mikeodr - #173921)
- Bump PyiCloud to 2.6.5 (@timlaing - #173928)
- Bump pyaqvify to 0.0.11 (@astrandb - #173989)
- Add aqvify devices dynamically (@astrandb - #173534)
- Use username as config entry title in aqvify (@astrandb - #174008)
- Call state change listeners immediately instead of deferring them to the event loop (@emontnemery - #173974)
- Avoid flooding the recorder when priming condition history (@emontnemery - #174020)
- Update hassil to 3.8.1 (@renovate - #173957)
- Add volume and temperature sensors to aqvify (@astrandb - #174007)
- Revert “Update hassil to 3.8.1” (@synesthesiam - #174061)
- Replace Advanced settings in Habitica integration (@tr4nt0r - #174064)
- Skip setting unused legacy columns when recording states and events (@frenck - #173691)
- Avoid allocating the exclude attributes set for every recorded state (@frenck - #173690)
- Rename airOS advanced settings (@CoMPaTech - #174066)
- Don’t use infrared entity id as unique id for LG Infrared (@abmantis - #174072)
- Upgrade compit-inext-api to 0.9.1 (@Przemko92 - #173955)
- Replace “advanced” wording for Beolink actions in Bang & Olufsen (@mj23000 - #174062)
- Use dt_util.utcnow in starlink (@some-random-climber - #174026)
- Use dt_util.utcnow in reolink (@some-random-climber - #174025)
- Use dt_util.utcnow in integration (@some-random-climber - #174024)
- Use dt_util.utcnow in sensoterra (@some-random-climber - #174023)
- Use dt_util.utcnow in nest tests (@some-random-climber - #174021)
- Use dt_util.utcnow in mcp tests (@some-random-climber - #174019)
- Use dt_util.utcnow in yolink (@some-random-climber - #174027)
- Remove unnecessary source state attribute in Sonos (@joostlek - #173995)
- Fix punctuation in voice aliases (@synesthesiam - #173945)
- Add pyserial-asyncio and pyserial-asyncio-fast to deprecated packages (@zweckj - #174013)
- Use dt_util.utcnow in reolink tests (@some-random-climber - #174022)
- Fix flaky cover device_condition test by ignoring asyncio slow-callback warnings (@justanotherariel - #173876)
- Add network MAC connection to Vilfo router (@jasonjhofmann - #173680)
- Add network MAC connection to Electra Smart devices (@jasonjhofmann - #173678)
- Add network MAC connection to Renson devices (@jasonjhofmann - #173677)
- Remove term “Advanced” in IMAP translation strings (@jbouwh - #174074)
- Add diagnostics to Yoto (@piitaya - #174070)
- Improve condition history manager (@emontnemery - #174069)
- Add new enum for Density units (@epenet - #172551)
- Fix trigger first all race (@emontnemery - #174078)
- Enable strict typing for Yoto (@piitaya - #174068)
- Remove stale requirements_test_all.txt reference (@balloob - #174095)
- Clean up deprecated solar_rising entity from sun integration (@frenck - #174079)
- Activate venv before running python commands (@balloob - #174093)
- Update cryptography to 48.0.1 (@renovate - #174096)
- Fix incorrect use of entity component constants in template (@epenet - #172532)
- Gemini: Update TTS model to gemini-3.1 and adjust configuration options (@tronikos - #174094)
- Fix Yoto quality scale comments (@piitaya - #174088)
- Improve test coverage of Teslemetry offline polling (@Bre77 - #174108)
- Aqvify has reached gold tier (@astrandb - #174018)
- Revert “Add pyserial-asyncio and pyserial-asyncio-fast to deprecated packages” (@zweckj - #174110)
- Rename advanced settings/options in MQTT subentry translation strings (@jbouwh - #174071)
- Adjust language in condition history manager comments (@emontnemery - #174106)
- Bump sentence-stream to 1.3.0 (@Dellle - #174113)
- Aqvify reaches Platinum tier (@astrandb - #174111)
- Add Rabbit Air air quality sensor (@MagikalUnicorn - #172993)
- Remove battery_level attribute from starline device tracker (@some-random-climber - #174118)
- Add pylint naive_now checker (@MartinHjelmare - #174053)
- Add support for slat-based WMS covers like venetian blinds (@mback2k - #145005)
- Bump elevenlabs to 2.51.0 (@Dellle - #174112)
- Set parallel updates for ProxmoxVE buttons (@CoMPaTech - #174125)
- Add reauthentication flow to SMTP (@tr4nt0r - #174092)
- Change myneomitis codeowner (@l-pr - #174130)
- Remove battery_level attribute from icloud device tracker (@some-random-climber - #174117)
- Bump mitsubishi-comfort to 0.3.2 (@nikolairahimi - #174100)
- Refactor Raspberry Pi Power Checker integration (@tr4nt0r - #174135)
- Fix tests in Onboarding integration (@tr4nt0r - #174147)
- Docstring and comment grammar etc fixes (@scop - #174144)
- Add Raspberry Pi Firmware update entity (@sairon - #172929)
- Remove radio firmware version from device info in homeassistant_yellow (@sairon - #174124)
- Add API to query radio frequency information (@balloob - #173134)
- Document uv upgrade workaround in AGENTS.md (@balloob - #174176)
- Add network MAC connection to AsusWRT router (@jasonjhofmann - #173679)
- Raise ConfigEntryNotReady on Ollama connection errors (@balloob - #174175)
- Add ventilation state select to Duco box nodes (@ronaldvdmeer - #173807)
- Suppress SMTPException from quit() during SMTP notify retry (@frenck - #174104)
- Fix Duco error placeholders and test typing (@ronaldvdmeer - #174177)
- Fix summary for aw check requirements (@edenhaus - #174160)
- Add radio frequency entity name translation (@balloob - #174173)
- Open repair issue when deprecated trigger behavior is used (@emontnemery - #173259)
- Improve tests of helpers.trigger.extract_devices/entities (@emontnemery - #172407)
- Bump imgw_pib to 2.4.0 (@bieniu - #174180)
- Add button platform to Edifier Infrared (@abmantis - #174136)
- Bump py_ccm15 to 0.6.0 (@ocalvo - #174099)
- Switchbot Cloud: Add Service AI for Art Frame(UploadImage) (@XiaoLing-git - #172888)
- Bump aiomelcloudhome 0.1.6 (@erwindouna - #174189)
- Rename
Advanced settingstoAdditional settingsin Brother (@bieniu - #174198) - Bump aioshelly to 13.26.2 (@chemelli74 - #174199)
- Bump uiprotect to 13.2.0 (@RaHehl - #174202)
- Raise ServiceValidationError for unmatched Teslemetry service devices (@Bre77 - #174109)
- Add Switchbot art frame icons (@joostlek - #174206)
- Remove UniFi Protect Doorlock support (@RaHehl - #174196)
- Add Tuya fixture for GIEX watering timer (@acuszka - #174145)
- Add Tuya fixture for register booster fan (@jegoforth - #173959)
- Remove single-use constant in weatherflow_cloud (@epenet - #174211)
- Avoid core constant to access remote data in here_travel_time (@epenet - #174212)
- MELCloud Home add reauth flow (@erwindouna - #173502)
- MELCloud Home add stale devices feature (@erwindouna - #173589)
- Add entity-based location tracking to NWS integration (@arcivanov - #172310)
- Add command error-path tests to Teslemetry (@Bre77 - #174163)
- Add announcements and communications switches to Alexa Devices (@chemelli74 - #174132)
- Raise repair issue for under-voltage events in Raspberry Pi power supply checker (@tr4nt0r - #174127)
- Bump uiprotect to 13.3.0 (@RaHehl - #174217)
- Bump aiomelcloudhome to 0.1.7 (@erwindouna - #174210)
- Use reachability diagnostics for init.py in HueBLE (@flip-dots - #174140)
- Add repair issues for Teslemetry vehicle metadata problems (@Bre77 - #174102)
- Track public devices websocket health for UniFi Protect public-API entities (@RaHehl - #174191)
- Use default cosign-release for pinned cosign-installer version (@justanotherariel - #174216)
- Fix ccm15 setup abort (blocking httpx client) and non-contiguous AC slots (@ocalvo - #173652)
- aiomelclouhome bump 0.1.8 (@erwindouna - #174225)
- Add max charge and discharge power sensors to Powerwall (@BrettLynch123 - #172971)
- Update ProxmoxVE quality scale (@CoMPaTech - #174123)
- Bump aiohomeconnect to 0.38.0 (@Diegorro98 - #174228)
- Add Rexel (OAuth2/PKCE) support to Overkiz (@iMicknl - #173604)
- Use hass.config_entries.async_setup in ps4 migration tests (@some-random-climber - #174120)
- Use device.states and device.attributes helpers in Overkiz (@iMicknl - #173281)
- Add SwitchBot Standing Fan switch platform (@Onero-testdev - #173579)
- Bump epicstore-api to 0.1.9 (@frenck - #173939)
- Add Kiosker blackout details binary sensor (@Claeysson - #173303)
- Add Kiosker blackout details sensors (@Claeysson - #173306)
- Rewrite Nexia integration platform tests with a mock Nexia library (@jrhillery - #172584)
- Add display brightness and max volume numbers to Yoto (@piitaya - #173968)
- Add tests for the AquaLogic integration (@j-mutter - #173548)
- Add ambient color selects to Yoto (@piitaya - #173909)
- Add leak alerts to Droplet integration (@sarahseidman - #173634)
- Bump yoto-api to 4.3.1 (@piitaya - #174241)
- Update infrared-protocols to 6.1.0 (@renovate - #174247)
- MELCloud Home add constant in diagnostics (@erwindouna - #174219)
- Add Teslemetry command quota sensor (@Bre77 - #173954)
- Update ruff to v0.15.17 (@renovate - #174246)
- Wrap cloud OAuth2 token refresh errors into proper exception types (@frenck - #174233)
- Use http ApiConfig instead of parsing raw http config in hassio (@agners - #174265)
- Bump homematicip to 2.13.1 (@lackas - #174266)
- Refine Yardian zone switches (@aeon-matrix - #173177)
- Add new energieleser integration (@AjinkyaGokhale - #172464)
- Bump nextdns to 5.0.1 (@bieniu - #174268)
- Add Chef iQ integration (@Invader444 - #174171)
- Use service helper in energyzero (@epenet - #174261)
- Add service helper to get a single loaded config entry (@epenet - #174190)
- MELCloud Home add frost and overheat protection sensors (@erwindouna - #174200)
- Add WattWächter Plus integration (@smartcircuits - #165238)
- Bump python-duco-connectivity to 0.7.0 (@ronaldvdmeer - #174283)
- Mark Yoto documentation quality scale rules as done (@piitaya - #174292)
- Add tests for aftership services (@epenet - #174280)
- Simplify target helper callback comments (@abmantis - #174293)
- Add live activity token retention, notify usage and clean up cycle to mobile_app (@bgoncal - #172928)
- Handle BatteryNotification in Z-Wave JS notification events (@frenck - #174282)
- bump to pooldose api 0.9.6 (@lmaertin - #174310)
- Bump python-duco-connectivity to 0.7.1 (@ronaldvdmeer - #174306)
- Link to documentation for Overkiz local API setup (@iMicknl - #174264)
- Bump uiprotect to 13.4.0 (@RaHehl - #174315)
- Fix immich integration setup (@mib1185 - #174344)
- Strict port matching for network URL helpers (@allenporter - #173657)
- Lazily load system_health and hardware integration platforms (@balloob - #174325)
- Bump uiprotect to 13.5.1 (@RaHehl - #174355)
- Add vacuum room support to Google Assistant (@joostlek - #164617)
- Bump brother to 6.1.1 (@bieniu - #174368)
- Add new Withings MAC range (@joostlek - #174366)
- Bump pyatv to 0.18.0 (@pszypowicz - #174354)
- Bump tplink-omada-client to 1.5.8 to fix #170082 (@MarkGodwin - #174350)
- Bump pyyardian to 1.4.1 (@aeon-matrix - #174347)
- Add separate battery sensors for Overkiz smoke sensors (@iMicknl - #174365)
- Fix UndefinedType._singleton leaking into Overkiz sub-device entity names (@iMicknl - #174360)
- husqvarna_automower_ble: Improve error logging and handle TimeOuts (@alistair23 - #174343)
- Fix an incompatible type arg in config flow of Music Assistant (@fmunkes - #174380)
- Bump uiprotect to 14.0.0 (@RaHehl - #174381)
- Fix Tesla Fleet/Teslemetry cable lock showing unlocked when data unavailable (@frenck - #174287)
- Add fan platform to Overkiz (@iMicknl - #174362)
- Bump pymodbus to 3.13.1 (@Bertk - #174332)
- husqvarna_automower_ble: Update to use automower-ble 0.2.9 (@alistair23 - #174384)
- Update infrared-protocols to 6.3.0 (@renovate - #174326)
- Migrate jsonpath to jsonpath-python dependencies (@ab3lson - #174364)
- Update pyoverkiz to 2.0.2 (@iMicknl - #174403)
- Add tests for the Overkiz binary sensor platform (@iMicknl - #174402)
- Remove rdfurman from honeywell codeowners (@rdfurman - #174401)
- Fix flaky test_thread_fails_raise (@balloob - #174398)
- Formalize deprecation of system_health.async_register_info (@balloob - #174352)
- Lazily load cast integration platforms (@balloob - #174373)
- Lazy load repairs platforms (@balloob - #174374)
- Source UniFi Protect camera streams from the public API (@RaHehl - #174369)
- Source UniFi Protect UP-Sense battery from the public API (@RaHehl - #174229)
- Fix flaky KNX sensor validation test (@balloob - #174396)
- Fix singleton leaving a dangling Event when wrapped coroutine raises (@balloob - #174400)
- Update xknx to 3.16.0 (@farmio - #174312)
- Remove tikteck integration (@tr4nt0r - #174423)
- Bump steamodd to 5.0 (@tr4nt0r - #174421)
- Retry Overkiz setup on transient server unavailable errors (@iMicknl - #174411)
- Adjust Green Planet Energy service wording (@petschni - #174406)
- Bump music-assistant-client to 1.3.6 (@fmunkes - #174345)
- Add fan timer timeout timestamp sensor to Nest integration (@tronikos - #174330)
- Improve config flow strings in Steam integration (@tr4nt0r - #174418)
- Normalize Overkiz RTS tilt command arguments (@iMicknl - #174297)
- Trigger add did not trigger callback (@emontnemery - #174116)
- Bump pyanglianwater to 3.2.2 (@pantherale0 - #174433)
- Add entity-unique-id-redundant-domain pylint check (@Markus98 - #173434)
- Bump aiomelcloudhome to 0.1.9 (@erwindouna - #174413)
- Allow SAJ Solar Inverter to be configured through the UI (@edurenye - #160052)
- Bump opower to 0.18.6 (@tronikos - #174430)
- Add @edurenye as SAJ codeowner (@edurenye - #174438)
- Add Nexen virtual integration (@jcisio - #173594)
- Add a coordinator for slow polling and add new sensors to aqvify (@astrandb - #174075)
- [Daikin] Specify time period for consumption sensors (@cnotin - #174395)
- Add override decorator to components A to B (@abmantis - #172081)
- MELCloud Home add Holiday mode sensors (@erwindouna - #174454)
- Add airOS (insecure ssl) support for legacy v6 devices (@CoMPaTech - #172954)
- Fix blink 2fa auth flow (@drbayer - #174356)
- Allow multiple sites for same TP-Link Omada controller (@MarkGodwin - #168535)
- Use pytest fixture parametrization instead of duplicate fixtures (@mback2k - #174304)
- Add config switches to Yoto (@piitaya - #173973)
- Bump python-bsblan to 6.1.3 (@liudger - #172843)
- Virtual intgration BWT (SEKO pooldose) (@lmaertin - #174311)
- Remove sun helper cache (@emontnemery - #174457)
- Remove purpose-specific triggers and conditions from labs (@emontnemery - #174450)
- Remove unused
hass.data[DOMAIN]from Thread integration (@TheJulianJES - #168863) - Add fan speed mode control to Synology DSM (@mib1185 - #173051)
- Add To-do list platform to Alexa Devices (@lonlazer - #171136)
- nx584: update bypassed zone attribute from events (@Rodrigorm33 - #174353)
- Add override decorator to components C to E (@abmantis - #172085)
- Rename entity trigger and condition keys for consistency (@frenck - #174463)
- Add override decorator to components F to G (@abmantis - #172136)
- Add override decorator to components H to I (@abmantis - #174462)
- Add override decorator to components J to M (@abmantis - #174465)
- Use service helper in Sonarr (@some-random-climber - #174273)
- Add V2G charge states to Renault charge_state sensor (@audrenfr-rgb - #173463)
- Fix a standby binary sensor bug in yardian (@aeon-matrix - #174341)
- Cast OpenTherm Gateway device info fields to string (@frenck - #174290)
- Bump data_grand_lyon_ha to v0.9.0 (@Crocmagnon - #174286)
- Reword trigger descriptions for opening and closing entities (@frenck - #174466)
- Reword trigger descriptions for lights, switches, and output entities (@frenck - #174468)
- Handle stale Tesla Fleet energy sites (@galo2099 - #170278)
- Improve trigger and condition wording for numeric sensor entities (@frenck - #174470)
- Reword trigger descriptions for climate entities (@frenck - #174469)
- Reword trigger descriptions for air quality entities (@frenck - #174471)
- Add override decorator to components N to O (@abmantis - #174479)
- Improve zone trigger and condition wording (@frenck - #174476)
- Add override decorator to components P to R (@abmantis - #174478)
- Reword trigger descriptions for Assist, alarm, calendar, and update entities (@frenck - #174475)
- Improve trigger and condition wording for media player entities (@frenck - #174474)
- Simplify sun entity (@emontnemery - #174464)
- Improve trigger and condition wording for scene, select, and to-do list entities (@frenck - #174473)
- Fix Rainforest RAVEn sensor returning string None as state (@frenck - #174295)
- MELCloud Home add icon state behavior (@erwindouna - #174461)
- Forward intent response text to ESPHome voice satellite (@synesthesiam - #174452)
- Standardize constants across entity platforms (@piitaya - #174446)
- Improve trigger wording for button, event, and helper entities (@frenck - #174472)
- Add per-day sleep schedule entities for Litter-Robot 5 (@Legendberg - #173569)
- Add override decorator to components U to Z (@abmantis - #174482)
- Add override decorator to components S to T (@abmantis - #174483)
- Fix Teslemetry rear seat heater entity availability (@Bre77 - #174248)
- Add reauthentication flow to WattWächter Plus (@smartcircuits - #174281)
- Move service registration to async_setup in cloudflare (@some-random-climber - #174131)
- Remove invalid state_class from System Monitor battery_empty sensor (@frenck - #174487)
- Support Roborock dynamic devices and simplify startup error handling (@allenporter - #173704)
- Add SG Ready select entity to Qube heat pump (@MattieGit - #170114)
- Set openSenseMap to bronze on the quality scale (@AlCalzone - #173864)
- Convert epoch to datetime for ESPHome uptime sensor device class (@swoboda1337 - #174223)
- Fix UniFi Protect package detection via public events websocket (@RaHehl - #173733)
- Fix iCloud auth bug (@timlaing - #173816)
- Use service helper in Volvo (@some-random-climber - #174267)
- Add override decorator to remaining homeassistant dir files (@abmantis - #174488)
- Use service helper in Picnic (@some-random-climber - #174271)
- MELCloud Home add icon for holiday mode (@erwindouna - #174459)
- Configure RTS command duration on the Overkiz client (@iMicknl - #174448)
- Promote Anthropic IQS to Gold (@Shulyaka - #170268)
- Bump zeroconf to 0.150.0 (@bdraco - #174484)
- Wolflink Shared and multidevice hub support (@EnjoyingM - #172795)
- Use value comparison for value-based enums (@justanotherariel - #174494)
- Refactor sensor platform of Steam integration (@tr4nt0r - #174415)
- Handle ApplicationNotAllowedError in Overkiz cloud config flow (@iMicknl - #174498)
- Bump kiwiki-client to 0.1.2 (@frenck - #173903)
- Bump pyAtome to 0.1.2 (@frenck - #173902)
- Fix Rachio calendar error when no events are scheduled (@frenck - #173624)
- MELCloud Home add frost and overheat protection (@erwindouna - #174224)
- Add OpenEVSE button platform (@firstof9 - #172964)
- Refactor thermopro tests to avoid
thermopro_sensor.async_setup_entry(@epenet - #173880) - Add energy_today sensor to LG ThinQ (@tacopiek - #172983)
- SwitchBot cloud fix webhook handling (@Alainx277 - #169141)
- Add new values for Compit sensor (@Przemko92 - #174240)
- Bump Splunk to silver quality scale (@Bre77 - #174236)
- Add new values for Compit climate (@Przemko92 - #174238)
- Add notify entities to Notifications for Android TV / Fire TV (@tr4nt0r - #169087)
- Improve availability of notify enttities for Alexa Devices (@chemelli74 - #174220)
- Bump pyenphase to v3.0.0 (@catsmanac - #174496)
- Remove runtime_data dependency from SIA options flow (@frenck - #174489)
- Cancel timers for Sonos on shutdown/reload (@PeteRager - #172830)
- Populate hourly statistics in srp_energy (@ammmze - #167371)
- Add CCM15 swing control (@ocalvo - #173793)
- Trigger location update on certain events for the Volvo integration (@thomasddn - #172651)
- Bump Helty Flow to silver quality scale (@ebaschiera - #173132)
- Bump SQLAlchemy to 2.0.51 (@frenck - #174499)
- Bump reolink-aio to 0.21.2 (@starkillerOG - #174497)
- Portainer fix type narrowing (@erwindouna - #173040)
- Add select platform to Vistapool (@fdebrus - #172547)
- Vistapool: add reauthentication flow (@fdebrus - #172825)
- Bump holidays to 0.99 (@frenck - #174501)
- Fix duplicate-configuration edge-case in Frontier Silicon config flow (@wlcrs - #172916)
- Pass keep_alive parameter to Ollama AI Task calls (@nikhil8182 - #165410)
- MELCloud Home exand sensor state behavior (@erwindouna - #174495)
- Enable aw check requirements on each deps PR (@edenhaus - #174481)
- Bump python-dropbox-api to 0.1.4 (@jhurwitz - #174512)
- Bump pyaqvify to 0.0.12 (@astrandb - #174516)
- Improve trigger wording for lawn mower and vacuum entities (@frenck - #174477)
- Clarify the media player play media action name (@frenck - #174480)
- Reword trigger descriptions for presence and detection entities (@frenck - #174467)
- Catch connection errors when executing Overkiz commands (@iMicknl - #174453)
- Update pytest-unordered to 0.8.0 (@renovate - #174515)
- Bump thinqconnect 1.0.13 (@LG-ThinQ-Integration - #174510)
- Rename “Advanced options” in KNX strings (@farmio - #174523)
- Add “Drop in” select to Alexa Devices (@chemelli74 - #174336)
- Fix entities listed in template blueprints (@Petro31 - #171861)
- Update energieleser to silver quality scale (@AjinkyaGokhale - #174535)
- Add additional sun triggers (@emontnemery - #174485)
- Bump ouman-eh-800-api to 1.0.0 (@Markus98 - #174458)
- Improve docstring for async_get_entity_id() method (@chemelli74 - #174532)
- Add filter remaining days sensor to Duco (@ronaldvdmeer - #174316)
- Remove Eliqonline integration (@tr4nt0r - #174538)
- Migrate select entity attributes to StrEnum (@epenet - #174536)
- Migrate climate entity attributes to StrEnum (@epenet - #174528)
- Add agent instruction to prevent divider comments (@abmantis - #174531)
- Remove UniFi LED (
unifiled) integration (@RaHehl - #168232) - Enable mypy explicit-override check (@abmantis - #171853)
- Bump govee-ble to 1.4.0 (@bdraco - #174553)
- Bump dbus-fast to 5.0.22 (@bdraco - #174569)
- Bump bluetooth-adapters to 2.4.0 (@bdraco - #174575)
- Add username parameter to play media action in Music Assistant (@fmunkes - #174486)
- Bump habluetooth to 6.13.0 (@bdraco - #174568)
- Update knx-frontend to 2026.6.23.203726 (@farmio - #174567)
- Widen the INKBIRD IBS-TH2 active scan window to 30s (@bdraco - #174565)
- Bump indevolt-api to 1.8.6 (@Xirt - #174573)
- Active scan govee_ble only when needed and widen the window to 30s (@bdraco - #174557)
- Add cloudhook support to switchbot_cloud webhook (@steverice - #174566)
- Bump habluetooth to 6.19.1 (@bdraco - #174582)
- Bump ZHA to 2.0.0 (@puddly - #174586)
- Add new integration quality scale rules (@joostlek - #174555)
- Migrate light entity attributes to StrEnum (@epenet - #174589)
- Bump actions/checkout from 6.0.3 to 7.0.0 (@dependabot - #174596)
- Migrate number entity attributes to StrEnum (@epenet - #174593)
- Migrate sensor entity attributes to StrEnum (@epenet - #174595)
- Migrate alarm control panel entity attributes to StrEnum (@epenet - #174590)
- Migrate camera entity attributes to StrEnum (@epenet - #174591)
- Migrate Ratio units to StrEnum (@epenet - #172568)
- Improve Wyoming satellite reconnect and tolerance of other satellites (@synesthesiam - #174460)
- Add dynamic and stale device handling to Yoto (@piitaya - #173298)
- Remove broken Ampio Smog integration (@pszypowicz - #173080)
- Bump Yoto quality scale to platinum (@piitaya - #174598)
- Migrate event entity attributes to StrEnum (@epenet - #174592)
- Add @mosandlt as codeowner for bosch_shc (@mosandlt - #174563)
- Remove Acer projector integration (@tr4nt0r - #174579)
- Remove SCSGate integration (@tr4nt0r - #174571)
- Tighten the Axis unique ID in config flow (@Kane610 - #172283)
- Tweak aqvify entity names (@astrandb - #174597)
- Bump pylitterbot to 2025.5.0 (@natekspencer - #174554)
- Bump boschshcpy to 0.3.5 (@mosandlt - #174550)
- Migrate water heater entity attributes to StrEnum (@epenet - #174603)
- Migrate lock entity attributes to StrEnum (@epenet - #174607)
- Migrate image entity attributes to StrEnum (@epenet - #174606)
- Migrate weather entity attributes to StrEnum (@epenet - #174604)
- Drive the UniFi Protect doorbell ring event from the public events websocket (@RaHehl - #174546)
- Add Sensoterra CODEOWNERs (@markruys - #174431)
- Add ufp_public_enabled_fn for public-API availability gating to UniFi Protect (@RaHehl - #174544)
- Source UniFi Protect light auto-shutoff duration from the public API (@RaHehl - #174518)
- Migrate update entity attributes to StrEnum (@epenet - #174608)
- Use translated message when Matter Server add-on is not ready (@agners - #174529)
- Use age-based filter for Matter BLE advertisement history replay (@cryptomilk - #173488)
- Migrate valve entity attributes to StrEnum (@epenet - #174611)
- Migrate fan entity attributes to StrEnum (@epenet - #174610)
- Migrate media player entity attributes to StrEnum (@epenet - #174605)
- Migrate humidifier entity attributes to StrEnum (@epenet - #174609)
- Migrate cover entity attributes to StrEnum (@epenet - #174601)
- Migrate vacuum entity attributes to StrEnum (@epenet - #174617)
- Migrate text entity attributes to StrEnum (@epenet - #174619)
- Migrate siren entity attributes to StrEnum (@epenet - #174616)
- Bump airOS dependency to support open wireless (@CoMPaTech - #174559)
- Migrate calendar entity attributes to StrEnum (@epenet - #174615)
- Rename “Advanced settings” to “Additional settings” in Autoskope (@justanotherariel - #174630)
- Rename “Advanced settings” to “Additional settings” in Telegram bot (@justanotherariel - #174632)
- Rename “Advanced options” to “Additional options” in SQL (@justanotherariel - #174631)
- Rename “Advanced settings” to “Additional settings” in History Stats (@justanotherariel - #174629)
- Rename “Advanced options” to “Additional options” in DNS IP (@justanotherariel - #174628)
- Migrate remaining platform entity attributes to StrEnum (@epenet - #174625)
- Migrate device tracker entity attributes to StrEnum (@epenet - #174621)
- Bump habluetooth to 6.23.1 (@bdraco - #174639)
- Bump pyvlx to 0.2.36 (@wollew - #174638)
- Add checks for did_not_trigger calls to trigger tests (@emontnemery - #174636)
- Rename “Local Risco Panel (advanced)” option in Risco (@justanotherariel - #174643)
- Rename “(advanced)” service names in Z-Wave (@justanotherariel - #174644)
- Reword “Configure advanced voice settings” in ElevenLabs (@justanotherariel - #174642)
- Reword “advanced operation” channel warning in Home Assistant Hardware (@justanotherariel - #174645)
- Bump pysmlight to 0.4.0 (@tl-sl - #174640)
- Fix friendly name for restored unavailable entities (@piitaya - #174614)
- Add additional sun conditions (@emontnemery - #174537)
- Add enabled entity limit per config entry (@MartinHjelmare - #174194)
- Remove BeeWi SmartClim (@tr4nt0r - #174651)
- Remove Avi-on integration (@tr4nt0r - #174649)
- Migrate base entity attributes to StrEnum (@epenet - #174633)
- Update frontend to 20260624.0 (@bramkragten - #174657)
- Add restore state framework for template entities (@Petro31 - #172847)
- Refactor Steam integration config flow and tests (@tr4nt0r - #174504)
- Add repair when IPv6 is disabled for Matter (@agners - #174653)
- Fix date-only input_datetime timestamp attribute to use the correct TZ (@karwosts - #174357)
- Enable action queue to batch concurrent commands in Overkiz (@iMicknl - #174275)
- Fix ecobee active sensor reporting for custom presets and shared device names (@ljmerza - #174417)
- Add missing scope and authorize param to Dropbox OAuth (@bdr99 - #174587)
- Bump zha-quirks to 2.1.0 (@TheJulianJES - #174662)
- Tami4 group executor job (@erwindouna - #174668)
- Vera core group executor job (@erwindouna - #174669)
- Bump homematicip to 2.13.2 (@lackas - #174673)
- Fix hassio job subscribe returning None instead of unsubscribe callback (@agners - #174063)
- Add WS command recorder/entity_options/get (@emontnemery - #174134)
- Update enphase_envoy diagnostics for pyenphase lib v3.0.0 (@catsmanac - #174524)
- Fix async_get_entity_id() params for Alexa Devices (@chemelli74 - #174641)
- Add delegated charging mode to Renault integration (@frenck - #174687)
- Bump habluetooth to 6.24.0 (@bdraco - #174688)
- Bump intents and fix broken tests (@synesthesiam - #174689)
- Add missing unit of measurement to Home Connect battery sensor (@frenck - #174694)
- Bump habluetooth to 6.25.1 (@bdraco - #174700)
- Bump switchbot-api to 2.12.0 (@XiaoLing-git - #174705)
- Bump uiprotect to 15.0.0 (@RaHehl - #174709)
- Improve tests of entity limits (@emontnemery - #174793)
- Catch errors when evaluating automation conditions (@emontnemery - #174799)
- [aemet] Increase weather update interval to 20 minutes (@rpadafo - #174803)
- Improve tests of sun conditions and triggers (@emontnemery - #174805)
- Fix missing translated names for Xiaomi Miio select entities (@piitaya - #174810)
- Fix exception in legacy sun condition (@emontnemery - #174811)
- Handle case where GetLiveContext includes an entity with StrEnum key (@NickM-27 - #174822)
- Bump tuya-device-sharing-sdk to 0.2.10 (@epenet - #174827)
- Update frontend to 20260624.1 (@bramkragten - #174831)
- Bump tuya-device-handlers to 0.0.24 (@epenet - #174840)
- Bump roborock dependencies to 5.21.0 (@lboue - #174841)
- Remove ThermoWorks Smoke (@tr4nt0r - #174845)
- Bump uiprotect to 15.1.0 (@RaHehl - #174846)
- Bump aioamazondevices to 14.1.6 (@chemelli74 - #174848)
- Remove Mycroft integration (@tr4nt0r - #174849)
- Handle all login exceptions in Vodafone Station (@chemelli74 - #174852)
- Set RTS command duration for Overkiz Rexel client (@iMicknl - #174863)
- Fix Roborock number entity crash when volume is None (@balloob - #174872)
- Fix Roborock time entity crash when timer value is missing (@balloob - #174873)
- Add Reolink push command IDs (@starkillerOG - #174876)
- Bump reolink_aio to 0.21.3 (@starkillerOG - #174879)
- Fix Duco ventilation state select not being created for valve nodes (@ronaldvdmeer - #174901)
- Bump pyanglianwater to 3.2.3 (@pantherale0 - #174902)
- Bump voluptuous-openapi to 0.4.1 (@allenporter - #174912)
- Refactor Roborock time platform to use library property APIs (@allenporter - #174921)
- Bump uiprotect to 15.2.0 (@RaHehl - #174922)
- Bump aioamazondevices to 14.1.8 (@chemelli74 - #174924)
- Check for supported fan speed modes in Synology DSM (@mib1185 - #174925)
- Remove Greenwave Reality (@tr4nt0r - #174929)
- Remove Dovado integration (@tr4nt0r - #174933)
- Bump uiprotect to 15.3.0 (@RaHehl - #174938)
- Remove Logentries (@tr4nt0r - #174939)
- Remove ATEN Rack PDU integration (@tr4nt0r - #174940)
- Fix swallowed exception in opendisplay upload_image action handler (@g4bri3lDev - #170660)
- Handle SSE updates of single miele devices (@astrandb - #174955)
- Remove BlinkStick (@tr4nt0r - #174961)
- Bump aioimmich to 0.15.1 (@mib1185 - #174962)
- Remove Watson TTS integration (@tr4nt0r - #174967)
- Remove Clementine Music Player (@tr4nt0r - #174970)
- Fix Duco ventilation sensors not being created for valve nodes (@ronaldvdmeer - #174971)
- Bump python-bsblan to version 6.1.4 (@liudger - #174974)
- Remove Microsoft Face (@tr4nt0r - #174977)
- Catch timeout errors in Steam config flow (@tr4nt0r - #175052)
- Bump pyoverkiz to 2.0.3 (@iMicknl - #175058)
- Bump python-roborock to 5.22.0 (@lboue - #175074)
- Bump teltasync to 0.4.0 (@karlbeecken - #175084)
- Add missing translation key in the NextDNS integration (@bieniu - #175120)
- Consider current connection type in reconnect action in FRITZ!Box Tools (@mib1185 - #175129)
- Bump wheels and base image to 2026.07.0 to use alpine 3.24 (@edenhaus - #175133)
- bump pyenphase to 3.0.1 (@catsmanac - #175141)
- Bump uv to 0.11.25 (@edenhaus - #175153)
- Avoid blocking call in Anthropic client construction (@frenck - #174690)
- Expose selected state attributes in the logbook (@piitaya - #174808)
- Bump aioecowitt to 2026.6.0 (@GSzabados - #174903)
- Remove Gitter and replace with virtual integration supported by Matrix (@tr4nt0r - #175044)
- Report errors in numerical entity triggers (@emontnemery - #175093)
- Fix Duco state end time being rounded by the integration (@ronaldvdmeer - #175124)
- Add Iotorero virtual integration (@joostlek - #175204)
- Update frontend to 20260624.2 (@bramkragten - #175208)
- Exclude invalid api scope for cloud (@cgtobi - #175234)
- Bump deebot-client to 18.4.0 (@edenhaus - #175237)
- Remove seek from volumio supported features (@joostlek - #175238)
- Use event time for sun is_up and is_set conditions (@frenck - #175240)
- Improve trigger behavior deprecation message (@abmantis - #175263)
- Bump sonos-websocket to 0.2.0 (@PeteRager - #175264)
- Update frontend to 20260624.3 (@bramkragten - #175266)