## home-assistant/core — 2026.9.4…2026.10.0b0

_2043+ commits._

### Features
- **Add ZHA IR platform (#183749)** (035b209)
- **Add Sensor platform to my-PV integration (#181761)** (5b4de4e)
- **Add switch platform to my-PV integration (#182364)** (224af16)
- **Add reauthentication to Axle Energy (#182389)** (e03a340)
- **Add select platform to my-PV integration (#182330)** (a1e35b3)
- **Add HVAC action to MELCloud Home ATW zones (#183771)** (1cdf874)
- **Add operation status sensor to MELCloud Home (#183770)** (fabc92e)
- **Add entity key to MELCloud Home unique IDs (#183757)** (163edc2)
- **Add ZHA valve platform (#183740)** (c01c123)
- **Add KNX LLM API exposing telegram store, project and DPT tools (#178029)** (1f7be4e)
- **Add entity lifecycle callback async_prepare_to_add_to_hass (#182156)** (de2e1bc)
- **Add water heater platform to MELCloud Home (#183235)** (1c3b87e)
- **Add basic support for events driven from zha (#183109)** (0d85279)
- **bosch_shc: add Outdoor Camera Gen2 front light switch (#183631)** (53b324f)
- **Add map, segment, and clean_segments support for Roborock Q7 (#176496)** (659c1f5)
- **bosch_shc: add Outdoor Camera Gen2 ambient light switch (#183632)** (7702b21)
- **bosch_shc: add select platform (Outdoor Siren sound level) (#183117)** (06aabd6)
- **indi_allsky: Add image platform for keogram and star trail images (#182970)** (82d6b1a)
- **Add UniFi Protect selects to the API key only mode (#182744)** (1dc2547)
- **Add B1 oven sensors to Midea (#183537)** (1177687)
- **Add repair issue for unknown station in WAQI (#182612)** (f0ce605)
- **Add select platform to Vitesy (#183697)** (40425ef)
- **bosch_shc: add Smart Plug energy-saving power threshold number (#183699)** (d41802e)
- **Add button platform to Vitesy (#183707)** (b3ae7d6)
- **Add binary_sensor platform to Vitesy (#183700)** (e000686)
- **Add WAN3 latency sensors to UniFi Network (#183620)** (b21bba6)
- **bosch_shc: add Shutter Contact II bypass timeout number (#183638)** (659eba7)
- **Add latest release downloads sensor to GitHub (#183679)** (0a0cb4f)
- **Add new Vitesy integration (#181865)** (22091fb)
- **Add Run Program Buttons in Rainbird  (#183013)** (19946e8)

### Fixes
- **Fix availability for Receiver+Emitter infrared consumer entities (#183784)** (705ad58)
- **Fix race when subscribing to a wild card topic while waiting for MQTT unsubscribe (#183354)** (7dff726)
- **Fix OpenDisplay connecting to every discovered device on startup (#178239)** (a9c5aaf)
- **Fix Teslemetry cabin overheat protection temperature in Fahrenheit (#183730)** (08133be)
- **Fix Alexa AdjustRangeValue for a fully closed cover or valve (#183595)** (cbeb9e7)
- **fix missing double quote JSON structure (#183143)** (94815c2)
- **Fix flaky nest test_remove_stale_media (#183728)** (cac3931)
- **Fix missing media player for a new console added at runtime (#182883)** (98e2663)
- **Fix flaky WeMo update lock tests (#183713)** (70591e1)
- **Fix Tile timestamps shifted by the local UTC offset (#183639)** (15eb434)
- **Fix Teslemetry tariff periods ending on Monday (#183465)** (49b775f)
- **Fix Teslemetry climate keeper preset for polling vehicles (#183681)** (6b61f73)
- **Fix error in webhook reconfiguration flow when cloudhook already exists (#183183)** (88df866)
- **Fix JVC Projector diagnostic entities showing unavailable (#183526)** (0d20c2f)
- **Fix flaky SwitchBot device initialization test (#183709)** (a1a7b54)
- **Fix Teslemetry windows cover going unknown after restart (#183468)** (2dfae25)
- **Fix Teslemetry cruise follow distance on unknown values (#183472)** (5e9452f)
- **Fix flaky folder_watcher event entity test (#183686)** (9341a09)
- **Fix flaky ista_ecotrend statistics import test (#183685)** (ace0ecb)
- **Fix race when registering Prometheus metrics (#183608)** (2e547c3)
- **Fix flaky proxmoxve new node test (#183683)** (1fefa30)
- **Fix alert not firing when the watched entity is already in the alert … (#181218)** (83300bc)

### Backend
- **Bump version to 2026.10.0b0** (64ed916)
- **Don't forget command line ignored shell repair issues (#183765)** (1d15e6a)
- **Clean up Z-Wave JS conditions (#183782)** (61c8df7)
- **Mark CONF_API_TOKEN as secret in config flow schemas (#183785)** (8e35187)
- **Bump aioamazondevices to 16.3.1 (#183791)** (fc7b1dc)
- **Remove unreachable shutdown guards from Fritz coordinator (#183773)** (254fb12)
- **Adjust energy to not override Entity.add_to_platform_xxx methods (#183775)** (d4d1107)
- **Report omitted Tesla Fleet energy history fields as zero (#183729)** (2a7f99c)
- **Use HvacPower as the climate state for Teslemetry streaming vehicles (#183718)** (9512be2)
- **Use probatio key-group validators for the cv helpers (#183753)** (b710478)
- **Handle unknown or unloaded accounts in Immich media source (#183395)** (22daa24)
- **Update frontend to 20260930.0 (#183769)** (dd105c7)
- **Keep secret values out of configuration error messages (#183760)** (67c8312)
- **Update knx-frontend to 2026.9.29.213422 (#183764)** (16d27b7)
- **Keep notify entity component when reloading legacy platforms (#183269)** (c211ac5)
- **Bump uiprotect to 17.7.0 (#183766)** (e46c74b)
- **Cancel coordinator refresh timer on Home Assistant shutdown (#183659)** (cedc4cb)
- **Update energieleser codeowners (#183731)** (38ff78f)
- **Split user flow init and data submission in notion config flow tests (#183756)** (07fdfb5)
- **Bump aiomelcloudhome to 0.2.4 (#183755)** (e83e153)
- **Bump intents (#183751)** (dd2a9ed)
- **Do not run templated commands in shell for command_line (#183702)** (5425e9b)
- **Keep WeatherFlow last lightning strike values across restarts (#183124)** (c38c31e)
- **Split user flow init and data submission in icloud config flow tests (#183738)** (ff95dab)
- **Split user flow init and data submission in launch_library config flow tests (#183746)** (642388f)
- **Promote Besen to Platinum quality (#183742)** (638423b)
- **Split user flow init and data submission in iqvia config flow tests (#183745)** (9f17079)
- **Keep Tuya channel entities on the main device (#183734)** (a854a04)
- **Use probatio.Port directly across integrations (#183741)** (09508aa)
- **Split user flow init and data submission in ipma config flow tests (#183739)** (de9338d)
- **Use probatio.Port for the port validator (#183737)** (1891884)
- **Mark Besen repair issues as exempt (#183733)** (66fff6c)
- **Report who was shown in to charge on a Peblar (#183364)** (56ca4ea)
- **Recover lost sessions in route_b_smart_meter (#183291)** (0d6f4aa)
- **Retry WorldTidesInfo setup when the API is unreachable (#183532)** (972a965)
- **Split user flow init and data submission in freebox config flow tests (#183722)** (16dbaee)
- **Do not mutate generated zeroconf matchers in async_get_zeroconf (#183330)** (d496356)
- **Use OpenAPI 3.1.0 format for cloud (#182768)** (433be10)
- **Suppress repeated Splunk send-failure logs during sustained outages (#181806)** (7525f29)
- **Shorten shutdown timeout in executor interrupt test (#183693)** (aa80020)
- **Use tcp sensor available flag to reflect connection errors (#169772)** (084651e)
- **Use typed writes for the Sofar charger mode and remote switch (#183622)** (e69a5a3)
- **Share one calendar event fetch between listeners on the same range (#182013)** (7818405)
- **Use the library's string and pack component maps in Sofar (#183624)** (196295a)
- **Mark Besen reconfiguration flow as exempt (#183626)** (24e1272)
- **Make Wyoming STT duplex for early exit (#181985)** (c7148b8)
- **Use probatio.EnsureList directly across integrations (#183641)** (c3af3e1)
- **Split user flow init and data submission in gpsd config flow tests (#183725)** (cf6bbf5)
- **Revert "Handle invalid JSON response in Waze Travel Time" (#183724)** (b3d1e21)
- **Split user flow init and data submission in guardian config flow tests (#183727)** (c748c9e)
- **smarttub: correct stale quality_scale.yaml entries (#183669)** (db16e65)
- **Handle invalid JSON response in Waze Travel Time (#183660)** (f42ca7f)
- **Bump pyweatherflowudp to 1.6.3 (#183671)** (6daf40b)
- **Report unexposed entities as an error in HassGetState (#183627)** (4efee9e)
- **Split user flow init and data submission in OwnTone (forked_daapd) config flow tests (#183716)** (c3e16e9)
- **Use probatio.EnsureList for cv.ensure_list (#183635)** (46e8d31)
- **Bump python-aidot to 0.3.59 (#183677)** (61f076e)
- **Remove legacy Teslemetry energy sensors (#183043)** (2e6ece1)
- **Log the number of xdist workers in pytest runs (#183682)** (30ab7eb)
- **Fire UniFi Protect vehicle events for line crossings (#183372)** (806bb00)
- **Require the location scope for Teslemetry location sensors (#183467)** (120e94c)
- **Use price_at in Zonneplan price sensors (#183593)** (62ba1ca)
- **Build the ViCare fan attributes per entity (#183567)** (fa1ab05)
- **Handle MELCloud Home climate action errors (#183646)** (527ed24)
- **Update pyotp to 2.10.0 (#183667)** (ef2bc75)
- **Bump aiovitesy to 1.3.0 (#183704)** (fdc8804)
- **Ignore non smarthome capabile device during discovery in FRITZ!SmartHome (#183708)** (521b645)
- **Skip state change wait in emulated_hue cover tests (#183687)** (486c298)
- **Catch invalid address lookup responses in waze_travel_time (#183703)** (81e11bb)
- **Remove unused logger from Tado entity (#183706)** (898b309)
- **Remove unused logger from Fast.com (#183705)** (69aea53)
- **Update pydantic to 2.13.5 (#183668)** (3f8b56b)
- **Include parent device in computed entity name (#183610)** (32aec90)
- **Document legacy Tuya unique_id format (#183695)** (936a5ec)
- **Bump tesla-fleet-api to 1.17.2 (#183694)** (70991ca)
- **Skip real-time transitions in Snooz tests (#183691)** (cb8b6c8)
- **Set up only the demo sensor platform in negative state test (#183688)** (a1a815e)
- **Wait for the recording thread in Assist saved audio test (#183692)** (2548824)
- **Mark generic_thermostat as frozen (#183690)** (40d6aa2)
- **Generate stream test frames as uint8 (#183689)** (9d2cb13)
- **Bump simplepush to 3.8.0 (#183596)** (d4cf183)
- **Extend script continue_on_error suppression when calling actions (#168685)** (7bd8e98)
- **Log MELCloud Home telemetry unavailability once (#183649)** (46815be)
- **Redact serial numbers and tokens in Teslemetry diagnostics (#183471)** (4d06b7b)
- **Skip subscribe cooldowns in slow MQTT tests (#183684)** (dc04da4)
- **Remove Splunk YAML import (#183678)** (86d28c2)
- **bump bosch-alarm-mode2 to v0.4.11 (#183674)** (637873e)
- **Bump pyeconet to 0.3.1 (#183633)** (3acd50a)
- **Tell Copilot expired YAML import removal isn't breaking (#183680)** (ae42f41)
- **Split user flow init and data submission in cert_expiry config flow tests (#183657)** (252d27b)
- **Split user flow init and data submission in airvisual config flow tests (#183653)** (c87c0f0)
- **Split user flow init and data submission in ambient_station config flow tests (#183654)** (1948f87)
- **Reuse pytest counts cache across requirement changes (#183572)** (1517ebc)
- **Split user flow init and data submission in energenie_power_sockets config flow tests (#183658)** (866dbff)
- **Split user flow init and data submission in bluetooth config flow tests (#183656)** (a49e293)
- **Process dnd updates as push requests in Alexa Devices (#178244)** (beb3ed3)
- **Restore Ness Alarm default scan interval to 60 seconds (#183101)** (bc4e925)
- **Return METHOD_NOT_FOUND for unsupported MCP methods in mcp_server (#183350)** (0efa3ea)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/home-assistant/core?utm_source=github-action)._