Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
7fc8da6
Add support for migrated Hue bridge (#151411)
marcelveldt Sep 5, 2025
b6c9217
Add missing device trigger duration localizations (#151578)
karwosts Sep 4, 2025
d90f2a1
Correct capitalization of "FRITZ!Box" in FRITZ!Box Tools integration …
tr4nt0r Sep 3, 2025
3dacffa
Fix Sonos Dialog Select type conversion (#151649)
PeteRager Sep 4, 2025
beec6e8
Fix WebSocket proxy for add-ons not forwarding ping/pong frame data (…
felipecrs Sep 4, 2025
85b6adc
Fix, entities stay unavailable after timeout error, Imeon inverter in…
Imeon-Energy Sep 5, 2025
8710267
Bump aiohue to 4.7.5 (#151684)
marcelveldt Sep 4, 2025
fcc3f92
Update frontend to 20250903.3 (#151694)
bramkragten Sep 4, 2025
bfdd205
Require OhmeAdvancedSettingsCoordinator to run regardless of entities…
dan-r Sep 5, 2025
7037ce9
Bump ohmepy version to 1.5.2 (#151707)
dan-r Sep 5, 2025
2bb4573
Update Mill library 0.13.1 (#151712)
Danielhiversen Sep 5, 2025
89c3359
Handle match failures in intent HTTP API (#151726)
synesthesiam Sep 5, 2025
dff3d5f
Bump pyschlage to 2025.9.0 (#151731)
dknowles2 Sep 5, 2025
7dbeaa4
Bump bimmer_connected to 0.17.3 (#151756)
rikroe Sep 5, 2025
625f586
Fix recognition of entity names in default agent with interpunction (…
arturpragacz Sep 5, 2025
06480bf
Fix enable/disable entity in modbus (#151626)
janiversen Sep 5, 2025
ae58e63
Bump version to 2025.9.1
frenck Sep 5, 2025
0cda883
2025.9.1 (#151766)
frenck Sep 5, 2025
9a43f27
Fix XMPP not working with non-TLS servers (#150957)
Human Sep 9, 2025
ca79f4c
Update SharkIQ authentication method (#151046)
funkybunch Sep 5, 2025
0b56ec1
Add event entity on websocket ready in Husqvarna Automower (#151428)
Thomas55555 Sep 12, 2025
fe01e96
Fix Aladdin Connect state not updating (#151652)
hbludworth Sep 12, 2025
36b3133
Fix support for Ecowitt soil moisture sensors (#151685)
blotus Sep 5, 2025
b387acf
Fix update of the entity ID does not clean up an old restored state (…
jbouwh Sep 8, 2025
0091daf
Revert "Jewish Calendar add coordinator " (#151780)
tsvi Sep 5, 2025
9dafc0e
Remove device class for Matter NitrogenDioxideSensor (#151782)
lboue Sep 10, 2025
1b27acd
Improve config entry migration for edge cases in Alexa Devices (#151788)
chemelli74 Sep 9, 2025
0c09364
Bump habluetooth to 5.3.1 (#151803)
bdraco Sep 6, 2025
c78bc26
Fix KNX BinarySensor config_store data (#151808)
farmio Sep 6, 2025
64ec460
Fix KNX Light - individual color initialisation from UI config (#151815)
farmio Sep 12, 2025
3af8616
Mark Tractive switches as unavailable when tacker is in the enegy sav…
bieniu Sep 7, 2025
c3c65af
Allow delay > 1 in modbus. (#151832)
janiversen Sep 6, 2025
b8d9883
max_temp / min_temp in modbus light could only be int, otherwise an a…
janiversen Sep 6, 2025
6d8c35c
removed assert fron entity in modbus. (#151834)
janiversen Sep 6, 2025
baff541
Bump pydrawise to 2025.9.0 (#151842)
dknowles2 Sep 6, 2025
3a61590
Bump aioharmony to 0.5.3 (#151853)
bdraco Sep 7, 2025
99b0479
Update pysmarty2 to 0.10.3 (#151855)
martinssipenko Sep 7, 2025
9d904c3
fix rain sensor for Velux GPU windows (#151857)
wollew Sep 11, 2025
f105b45
Bump aioecowitt to 2025.9.1 (#151859)
edenhaus Sep 7, 2025
def5408
Use `native_visibility` property instead of `visibility` for OpenWeat…
bieniu Sep 12, 2025
12b409d
Bump aiontfy to v0.5.5 (#151869)
tr4nt0r Sep 9, 2025
e5b78cc
Bump aiolifx-themes to 1.0.2 to support newer LIFX devices (#151898)
Djelibeybi Sep 8, 2025
f07890c
Bump aiovodafone to 1.2.1 (#151901)
chemelli74 Sep 8, 2025
087d9d3
Avoid cleanup/recreate of device_trackers not linked to a device for …
chemelli74 Sep 10, 2025
d629909
Fix _is_valid_suggested_unit in sensor platform (#151912)
epenet Sep 8, 2025
4618b33
Bump habluetooth to 5.5.1 (#151921)
bdraco Sep 8, 2025
d30ad82
Bump bleak-esphome to 3.3.0 (#151922)
bdraco Sep 8, 2025
6b934d9
Bump habluetooth to 5.6.0 (#151942)
bdraco Sep 8, 2025
8c61788
Fix invalid logger in Tuya (#151957)
epenet Sep 9, 2025
a547179
Fix for squeezebox track content_type (#151963)
peteS-UK Sep 9, 2025
e5b67d5
Fix playlist media_class_filter in search_media for squeezebox (#151973)
peteS-UK Sep 9, 2025
d6ce71f
Bump habluetooth to 5.6.2 (#151985)
bdraco Sep 9, 2025
529219a
Bump yt-dlp to 2025.09.05 (#152006)
joostlek Sep 9, 2025
ab1c2c4
Bump `accuweather` to version 4.2.1 (#152029)
bieniu Sep 10, 2025
2e33222
Fix HomeKit Controller stale values at startup (#152086)
bdraco Sep 11, 2025
9c749a6
Fix duplicated IP port usage in Govee Light Local (#152087)
abmantis Sep 11, 2025
9a165a6
Fix DoorBird being updated with wrong IP addresses during discovery (…
bdraco Sep 11, 2025
d2e7537
Fix supported _color_modes attribute not set for on/off MQTT JSON lig…
jbouwh Sep 11, 2025
14173bd
Fix reauth for Alexa Devices (#152128)
chemelli74 Sep 11, 2025
dc09e33
Bump hass-nabucasa from 1.1.0 to 1.1.1 (#152147)
ludeeus Sep 12, 2025
a764d54
Update frontend to 20250903.5 (#152170)
bramkragten Sep 12, 2025
91a7db0
Bump version to 2025.9.2
frenck Sep 12, 2025
1c10b85
Use position percentage for closed status in Velux (#151679)
wollew Sep 5, 2025
ab5d1d2
2025.9.2 (#152198)
frenck Sep 12, 2025
4098819
Bump habluetooth to 5.6.4 (#152227)
bdraco Sep 13, 2025
2c809d5
Bump version to 2025.9.3
balloob Sep 13, 2025
3499ed7
2025.9.3 (#152237)
balloob Sep 13, 2025
eac719f
Bump habiticalib to v0.4.4 (#151332)
tr4nt0r Aug 28, 2025
8920c54
Bump habiticalib to v0.4.5 (#151720)
tr4nt0r Sep 4, 2025
b30667a
Fix bug with the hardcoded configuration_url (asuswrt) (#151858)
Vaskivskyi Sep 16, 2025
8d8e008
Fix HomeKit Controller overwhelming resource-limited devices by batch…
bdraco Sep 13, 2025
c87dba8
Upgrade waterfurnace to 1.2.0 (#152241)
sdague Sep 13, 2025
54859e8
Bump aiohomekit to 3.2.16 (#152255)
bdraco Sep 13, 2025
265f5da
Bump bluetooth-auto-recovery to 1.5.3 (#152256)
bdraco Sep 13, 2025
bbb67db
Add proper error handling for /actions endpoint for miele (#152290)
astrandb Sep 14, 2025
8728312
Bump aiohomekit to 3.2.17 (#152297)
bdraco Sep 14, 2025
0b159bd
Update authorization server to prefer absolute urls (#152313)
allenporter Sep 14, 2025
757aec1
Bump imeon_inverter_api to 0.4.0 (#152351)
Imeon-Energy Sep 15, 2025
10b186a
Bump pylamarzocco to 2.1.0 (#152364)
zweckj Sep 16, 2025
9cd940b
Add La Marzocco specific client headers (#152419)
zweckj Sep 16, 2025
950e758
Fix KNX UI schema missing DPT (#152430)
farmio Sep 16, 2025
b37237d
Bump pyemoncms to 0.1.3 (#152436)
alexandrecuer Sep 16, 2025
8eee530
Fix Sonos set_volume float precision issue (#152493)
PeteRager Sep 17, 2025
cf907ae
Bump opower to 0.15.5 (#152531)
tronikos Sep 18, 2025
c745ee1
Bump holidays to 0.80 (#152306)
gjohansson-ST Sep 14, 2025
be83416
Bump holidays to 0.81 (#152569)
gjohansson-ST Sep 18, 2025
6dc7870
Bump version to 2025.9.4
frenck Sep 19, 2025
3f3aaa2
Bump asusrouter to 1.21.0 (#151607)
Vaskivskyi Sep 3, 2025
f3b9bda
2025.9.4 (#152634)
frenck Sep 19, 2025
054a5d7
Organize order MQTT subentry (test) globals and translation strings (…
jbouwh Sep 20, 2025
bfc9616
Deprecate google_generative_ai_conversation.generate_content (#152644)
tronikos Sep 20, 2025
9531ae1
Remove volvooncall (#150725)
svrooij Sep 20, 2025
1a167e6
Refactor template engine: Extract context and render info (#152630)
frenck Sep 20, 2025
942f7ee
Add PM4 device class for Ecowitt (#152568)
GSzabados Sep 20, 2025
8ca7562
Merge branch 'master' into dev
frenck Sep 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CODEOWNERS

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions homeassistant/components/ecowitt/sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,7 @@
),
EcoWittSensorTypes.PM4: SensorEntityDescription(
key="PM4",
device_class=SensorDeviceClass.PM4,
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
state_class=SensorStateClass.MEASUREMENT,
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
config_validation as cv,
device_registry as dr,
entity_registry as er,
issue_registry as ir,
)
from homeassistant.helpers.typing import ConfigType

Expand Down Expand Up @@ -70,6 +71,21 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:

async def generate_content(call: ServiceCall) -> ServiceResponse:
"""Generate content from text and optionally images."""
LOGGER.warning(
"Action '%s.%s' is deprecated and will be removed in the 2026.4.0 release. "
"Please use the 'ai_task.generate_data' action instead",
DOMAIN,
SERVICE_GENERATE_CONTENT,
)
ir.async_create_issue(
hass,
DOMAIN,
"deprecated_generate_content",
breaks_in_ha_version="2026.4.0",
is_fixable=False,
severity=ir.IssueSeverity.WARNING,
translation_key="deprecated_generate_content",
)

prompt_parts = [call.data[CONF_PROMPT]]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,10 +150,16 @@
}
}
},
"issues": {
"deprecated_generate_content": {
"title": "Deprecated 'generate_content' action",
"description": "Action 'google_generative_ai_conversation.generate_content' is deprecated and will be removed in the 2026.4.0 release. Please use the 'ai_task.generate_data' action instead"
}
},
"services": {
"generate_content": {
"name": "Generate content",
"description": "Generate content from a prompt consisting of text and optionally images",
"name": "Generate content (deprecated)",
"description": "Generate content from a prompt consisting of text and optionally images (deprecated)",
"fields": {
"prompt": {
"name": "Prompt",
Expand Down
2 changes: 1 addition & 1 deletion homeassistant/components/mqtt/config_flow.py
Original file line number Diff line number Diff line change
Expand Up @@ -1209,7 +1209,6 @@ class PlatformField:
default=lambda config: bool(config.get(CONF_DIRECTION_COMMAND_TOPIC)),
),
},
Platform.NOTIFY.value: {},
Platform.LIGHT.value: {
CONF_SCHEMA: PlatformField(
selector=LIGHT_SCHEMA_SELECTOR,
Expand All @@ -1225,6 +1224,7 @@ class PlatformField:
),
},
Platform.LOCK.value: {},
Platform.NOTIFY.value: {},
Platform.SENSOR.value: {
CONF_DEVICE_CLASS: PlatformField(
selector=SENSOR_DEVICE_CLASS_SELECTOR, required=False
Expand Down
10 changes: 8 additions & 2 deletions homeassistant/components/mqtt/strings.json
Original file line number Diff line number Diff line change
Expand Up @@ -321,11 +321,11 @@
"code_arm_required": "Code arm required",
"code_disarm_required": "Code disarm required",
"code_trigger_required": "Code trigger required",
"color_temp_template": "Color temperature template",
"command_template": "Command template",
"command_topic": "Command topic",
"command_off_template": "Command \"off\" template",
"command_on_template": "Command \"on\" template",
"color_temp_template": "Color temperature template",
"force_update": "Force update",
"green_template": "Green template",
"last_reset_value_template": "Last reset value template",
Expand Down Expand Up @@ -358,11 +358,11 @@
"code_arm_required": "If set, the code is required to arm the alarm. If not set, the code is not validated.",
"code_disarm_required": "If set, the code is required to disarm the alarm. If not set, the code is not validated.",
"code_trigger_required": "If set, the code is required to manually trigger the alarm. If not set, the code is not validated.",
"color_temp_template": "[Template](https://www.home-assistant.io/docs/configuration/templating/#using-value-templates-with-mqtt) to extract color temperature in Kelvin from the state payload value. Expected result of the template is an integer.",
"command_off_template": "The [template](https://www.home-assistant.io/docs/configuration/templating/#using-command-templates-with-mqtt) for \"off\" state changes. Available variables are: `state` and `transition`.",
"command_on_template": "The [template](https://www.home-assistant.io/docs/configuration/templating/#using-command-templates-with-mqtt) for \"on\" state changes. Available variables: `state`, `brightness`, `color_temp`, `red`, `green`, `blue`, `hue`, `sat`, `flash`, `transition` and `effect`. Values `red`, `green`, `blue` and `brightness` are provided as integers from range 0-255. Value of `hue` is provided as float from range 0-360. Value of `sat` is provided as float from range 0-100. Value of `color_temp` is provided as integer representing Kelvin units.",
"command_template": "A [template](https://www.home-assistant.io/docs/configuration/templating/#using-command-templates-with-mqtt) to render the payload to be published at the command topic. [Learn more.]({url}#command_template)",
"command_topic": "The publishing topic that will be used to control the {platform} entity. [Learn more.]({url}#command_topic)",
"color_temp_template": "[Template](https://www.home-assistant.io/docs/configuration/templating/#using-value-templates-with-mqtt) to extract color temperature in Kelvin from the state payload value. Expected result of the template is an integer.",
"force_update": "Sends update events even if the value hasn’t changed. Useful if you want to have meaningful value graphs in history. [Learn more.]({url}#force_update)",
"green_template": "[Template](https://www.home-assistant.io/docs/configuration/templating/#using-value-templates-with-mqtt) to extract green color from the state payload value. Expected result of the template is an integer from 0-255 range.",
"last_reset_value_template": "Defines a [template](https://www.home-assistant.io/docs/configuration/templating/#using-value-templates-with-mqtt) to extract the last reset. When Last reset template is set, the State class option must be Total. [Learn more.]({url}#last_reset_value_template)",
Expand Down Expand Up @@ -1261,6 +1261,12 @@
"diagnostic": "Diagnostic"
}
},
"image_processing_mode": {
"options": {
"image_data": "Image data is received",
"image_url": "Image URL is received"
}
},
"light_schema": {
"options": {
"basic": "Default schema",
Expand Down
85 changes: 30 additions & 55 deletions homeassistant/components/volvooncall/__init__.py
Original file line number Diff line number Diff line change
@@ -1,71 +1,46 @@
"""Support for Volvo On Call."""
"""The Volvo On Call integration."""

from volvooncall import Connection
from __future__ import annotations

from homeassistant.config_entries import ConfigEntry
from homeassistant.const import (
CONF_PASSWORD,
CONF_REGION,
CONF_UNIT_SYSTEM,
CONF_USERNAME,
)
from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers import issue_registry as ir

from .const import (
CONF_SCANDINAVIAN_MILES,
DOMAIN,
PLATFORMS,
UNIT_SYSTEM_METRIC,
UNIT_SYSTEM_SCANDINAVIAN_MILES,
)
from .coordinator import VolvoUpdateCoordinator
from .models import VolvoData
from .const import DOMAIN


async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Set up the Volvo On Call component from a ConfigEntry."""

# added CONF_UNIT_SYSTEM / deprecated CONF_SCANDINAVIAN_MILES in 2022.10 to support imperial units
if CONF_UNIT_SYSTEM not in entry.data:
new_conf = {**entry.data}

scandinavian_miles: bool = entry.data[CONF_SCANDINAVIAN_MILES]

new_conf[CONF_UNIT_SYSTEM] = (
UNIT_SYSTEM_SCANDINAVIAN_MILES if scandinavian_miles else UNIT_SYSTEM_METRIC
)

hass.config_entries.async_update_entry(entry, data=new_conf)

session = async_get_clientsession(hass)

connection = Connection(
session=session,
username=entry.data[CONF_USERNAME],
password=entry.data[CONF_PASSWORD],
service_url=None,
region=entry.data[CONF_REGION],
"""Set up Volvo On Call integration."""

# Create repair issue pointing to the new volvo integration
ir.async_create_issue(
hass,
DOMAIN,
"volvooncall_deprecated",
breaks_in_ha_version="2026.3",
is_fixable=False,
severity=ir.IssueSeverity.WARNING,
translation_key="volvooncall_deprecated",
)

hass.data.setdefault(DOMAIN, {})

volvo_data = VolvoData(hass, connection, entry)

coordinator = VolvoUpdateCoordinator(hass, entry, volvo_data)

await coordinator.async_config_entry_first_refresh()

hass.data[DOMAIN][entry.entry_id] = coordinator

await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)

return True


async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Unload a config entry."""
if unload_ok := await hass.config_entries.async_unload_platforms(entry, PLATFORMS):
hass.data[DOMAIN].pop(entry.entry_id)

return unload_ok
# Only delete the repair issue if this is the last config entry for this domain
remaining_entries = [
config_entry
for config_entry in hass.config_entries.async_entries(DOMAIN)
if config_entry.entry_id != entry.entry_id
]

if not remaining_entries:
ir.async_delete_issue(
hass,
DOMAIN,
"volvooncall_deprecated",
)

return True
79 changes: 0 additions & 79 deletions homeassistant/components/volvooncall/binary_sensor.py

This file was deleted.

Loading
Loading