From 143eb20d99ada5dd495d95144f410e5799a3578a Mon Sep 17 00:00:00 2001 From: Norbert Rittel Date: Sat, 6 Sep 2025 17:56:54 +0200 Subject: [PATCH 1/8] Fix sentence-casing of two `tesla_fleet` user-facing strings (#151829) --- homeassistant/components/tesla_fleet/strings.json | 4 ++-- tests/components/tesla_fleet/snapshots/test_sensor.ambr | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/tesla_fleet/strings.json b/homeassistant/components/tesla_fleet/strings.json index a5a6cc1841178..05e4d2b85ff00 100644 --- a/homeassistant/components/tesla_fleet/strings.json +++ b/homeassistant/components/tesla_fleet/strings.json @@ -442,7 +442,7 @@ "name": "Odometer" }, "island_status": { - "name": "Grid Status", + "name": "Grid status", "state": { "island_status_unknown": "Unknown", "on_grid": "[%key:common::state::connected%]", @@ -452,7 +452,7 @@ } }, "storm_mode_active": { - "name": "Storm Watch active" + "name": "Storm watch active" }, "vehicle_state_tpms_pressure_fl": { "name": "Tire pressure front left" diff --git a/tests/components/tesla_fleet/snapshots/test_sensor.ambr b/tests/components/tesla_fleet/snapshots/test_sensor.ambr index f7ac1ef8b6011..eab1441399fb7 100644 --- a/tests/components/tesla_fleet/snapshots/test_sensor.ambr +++ b/tests/components/tesla_fleet/snapshots/test_sensor.ambr @@ -1757,7 +1757,7 @@ }), 'original_device_class': , 'original_icon': None, - 'original_name': 'Grid Status', + 'original_name': 'Grid status', 'platform': 'tesla_fleet', 'previous_unique_id': None, 'suggested_object_id': None, @@ -1771,7 +1771,7 @@ StateSnapshot({ 'attributes': ReadOnlyDict({ 'device_class': 'enum', - 'friendly_name': 'Energy Site Grid Status', + 'friendly_name': 'Energy Site Grid status', 'options': list([ 'island_status_unknown', 'on_grid', @@ -1792,7 +1792,7 @@ StateSnapshot({ 'attributes': ReadOnlyDict({ 'device_class': 'enum', - 'friendly_name': 'Energy Site Grid Status', + 'friendly_name': 'Energy Site Grid status', 'options': list([ 'island_status_unknown', 'on_grid', From 89f424e1d33b900976331a19f54d3460a53833f7 Mon Sep 17 00:00:00 2001 From: Norbert Rittel Date: Sat, 6 Sep 2025 19:21:33 +0200 Subject: [PATCH 2/8] Fix sentence-casing of "Application credentials" in `common` strings (#151828) --- homeassistant/strings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homeassistant/strings.json b/homeassistant/strings.json index 8e23249817790..dbd8b789e2708 100644 --- a/homeassistant/strings.json +++ b/homeassistant/strings.json @@ -53,7 +53,7 @@ "email": "Email", "host": "Host", "ip": "IP address", - "implementation": "Application Credentials", + "implementation": "Application credentials", "language": "Language", "latitude": "Latitude", "llm_hass_api": "Control Home Assistant", From 0922f12ec0dedbe0e5246245d5aba799cbd493d6 Mon Sep 17 00:00:00 2001 From: Norbert Rittel Date: Sat, 6 Sep 2025 20:19:52 +0200 Subject: [PATCH 3/8] Use "credentials" only for username and password in `overkiz` (#151837) --- homeassistant/components/overkiz/strings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homeassistant/components/overkiz/strings.json b/homeassistant/components/overkiz/strings.json index 335ae7ba4ef11..b82b45de16c7b 100644 --- a/homeassistant/components/overkiz/strings.json +++ b/homeassistant/components/overkiz/strings.json @@ -21,7 +21,7 @@ } }, "cloud": { - "description": "Enter your application credentials.", + "description": "Enter your credentials.", "data": { "username": "[%key:common::config_flow::data::username%]", "password": "[%key:common::config_flow::data::password%]" From e5be9426a4938183f90d83c6323f75e1d79afca5 Mon Sep 17 00:00:00 2001 From: jan iversen Date: Sat, 6 Sep 2025 20:20:21 +0200 Subject: [PATCH 4/8] removed assert fron entity in modbus. (#151834) --- homeassistant/components/modbus/entity.py | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/homeassistant/components/modbus/entity.py b/homeassistant/components/modbus/entity.py index 8667bc17a796a..f719d61828000 100644 --- a/homeassistant/components/modbus/entity.py +++ b/homeassistant/components/modbus/entity.py @@ -94,18 +94,10 @@ def __init__( self._attr_name = entry[CONF_NAME] self._attr_device_class = entry.get(CONF_DEVICE_CLASS) - def get_optional_numeric_config(config_name: str) -> int | float | None: - if (val := entry.get(config_name)) is None: - return None - assert isinstance(val, (float, int)), ( - f"Expected float or int but {config_name} was {type(val)}" - ) - return val - - self._min_value = get_optional_numeric_config(CONF_MIN_VALUE) - self._max_value = get_optional_numeric_config(CONF_MAX_VALUE) + self._min_value = entry.get(CONF_MIN_VALUE) + self._max_value = entry.get(CONF_MAX_VALUE) self._nan_value = entry.get(CONF_NAN_VALUE) - self._zero_suppress = get_optional_numeric_config(CONF_ZERO_SUPPRESS) + self._zero_suppress = entry.get(CONF_ZERO_SUPPRESS) @abstractmethod async def _async_update(self) -> None: From 76d72ad2802850cc542c173c5342783e15b8da2b Mon Sep 17 00:00:00 2001 From: jan iversen Date: Sat, 6 Sep 2025 20:20:49 +0200 Subject: [PATCH 5/8] max_temp / min_temp in modbus light could only be int, otherwise an assert was provoked. (#151833) --- homeassistant/components/modbus/__init__.py | 4 ++-- homeassistant/components/modbus/light.py | 9 ++------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/homeassistant/components/modbus/__init__.py b/homeassistant/components/modbus/__init__.py index f4a1912f509e0..d933eed82cd2d 100644 --- a/homeassistant/components/modbus/__init__.py +++ b/homeassistant/components/modbus/__init__.py @@ -267,8 +267,8 @@ { vol.Required(CONF_TARGET_TEMP): hvac_fixedsize_reglist_validator, vol.Optional(CONF_TARGET_TEMP_WRITE_REGISTERS, default=False): cv.boolean, - vol.Optional(CONF_MAX_TEMP, default=35): vol.Coerce(float), - vol.Optional(CONF_MIN_TEMP, default=5): vol.Coerce(float), + vol.Optional(CONF_MAX_TEMP, default=35): vol.Coerce(int), + vol.Optional(CONF_MIN_TEMP, default=5): vol.Coerce(int), vol.Optional(CONF_STEP, default=0.5): vol.Coerce(float), vol.Optional(CONF_TEMPERATURE_UNIT, default=DEFAULT_TEMP_UNIT): cv.string, vol.Exclusive(CONF_HVAC_ONOFF_COIL, "hvac_onoff_type"): cv.positive_int, diff --git a/homeassistant/components/modbus/light.py b/homeassistant/components/modbus/light.py index 7b1035c702bab..b5098cb6c4699 100644 --- a/homeassistant/components/modbus/light.py +++ b/homeassistant/components/modbus/light.py @@ -64,7 +64,8 @@ def __init__( self._attr_color_mode = self._detect_color_mode(config) self._attr_supported_color_modes = {self._attr_color_mode} - # Set min/max kelvin values if the mode is COLOR_TEMP + self._attr_min_color_temp_kelvin: int = LIGHT_DEFAULT_MIN_KELVIN + self._attr_max_color_temp_kelvin: int = LIGHT_DEFAULT_MAX_KELVIN if self._attr_color_mode == ColorMode.COLOR_TEMP: self._attr_min_color_temp_kelvin = config.get( CONF_MIN_TEMP, LIGHT_DEFAULT_MIN_KELVIN @@ -193,9 +194,6 @@ def _convert_modbus_percent_to_brightness(percent: int) -> int: def _convert_modbus_percent_to_temperature(self, percent: int) -> int: """Convert Modbus scale (0-100) to the color temperature in Kelvin (2000-7000 К).""" - assert isinstance(self._attr_min_color_temp_kelvin, int) and isinstance( - self._attr_max_color_temp_kelvin, int - ) return round( self._attr_min_color_temp_kelvin + ( @@ -216,9 +214,6 @@ def _convert_brightness_to_modbus(brightness: int) -> int: def _convert_color_temp_to_modbus(self, kelvin: int) -> int: """Convert color temperature from Kelvin to the Modbus scale (0-100).""" - assert isinstance(self._attr_min_color_temp_kelvin, int) and isinstance( - self._attr_max_color_temp_kelvin, int - ) return round( LIGHT_MODBUS_SCALE_MIN + (kelvin - self._attr_min_color_temp_kelvin) From 78b009dd8ff39f42a075c2464e967636eb47fd7f Mon Sep 17 00:00:00 2001 From: jan iversen Date: Sat, 6 Sep 2025 20:21:12 +0200 Subject: [PATCH 6/8] Allow delay > 1 in modbus. (#151832) --- homeassistant/components/modbus/entity.py | 1 - 1 file changed, 1 deletion(-) diff --git a/homeassistant/components/modbus/entity.py b/homeassistant/components/modbus/entity.py index f719d61828000..2bd81ac2ef88b 100644 --- a/homeassistant/components/modbus/entity.py +++ b/homeassistant/components/modbus/entity.py @@ -337,7 +337,6 @@ async def async_turn(self, command: int) -> None: return if self._verify_delay: - assert self._verify_delay == 1 if self._cancel_call: self._cancel_call() self._cancel_call = None From 8e3780264afa9468dee05f814e121562c0be2926 Mon Sep 17 00:00:00 2001 From: Norbert Rittel Date: Sat, 6 Sep 2025 20:25:42 +0200 Subject: [PATCH 7/8] Capitalize "AC" in `nut` (#151831) --- homeassistant/components/nut/strings.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homeassistant/components/nut/strings.json b/homeassistant/components/nut/strings.json index 8f993d5fbb16b..560fc463fa695 100644 --- a/homeassistant/components/nut/strings.json +++ b/homeassistant/components/nut/strings.json @@ -295,7 +295,7 @@ "ups_realpower": { "name": "Real power" }, "ups_realpower_nominal": { "name": "Nominal real power" }, "ups_shutdown": { "name": "Shutdown ability" }, - "ups_start_auto": { "name": "Start on ac" }, + "ups_start_auto": { "name": "Start on AC" }, "ups_start_battery": { "name": "Start on battery" }, "ups_start_reboot": { "name": "Reboot on battery" }, "ups_status": { "name": "Status data" }, From 6c6ec7534f6e0f4396b692cc23041012ca51d7ab Mon Sep 17 00:00:00 2001 From: David Knowles Date: Sat, 6 Sep 2025 16:07:56 -0400 Subject: [PATCH 8/8] Bump pydrawise to 2025.9.0 (#151842) --- homeassistant/components/hydrawise/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/hydrawise/manifest.json b/homeassistant/components/hydrawise/manifest.json index a599ffa888e7d..703fed8d41580 100644 --- a/homeassistant/components/hydrawise/manifest.json +++ b/homeassistant/components/hydrawise/manifest.json @@ -6,5 +6,5 @@ "documentation": "https://www.home-assistant.io/integrations/hydrawise", "iot_class": "cloud_polling", "loggers": ["pydrawise"], - "requirements": ["pydrawise==2025.7.0"] + "requirements": ["pydrawise==2025.9.0"] } diff --git a/requirements_all.txt b/requirements_all.txt index 21dc469ee259d..9ee7748aa14ec 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1940,7 +1940,7 @@ pydiscovergy==3.0.2 pydoods==1.0.2 # homeassistant.components.hydrawise -pydrawise==2025.7.0 +pydrawise==2025.9.0 # homeassistant.components.android_ip_webcam pydroid-ipcam==3.0.0 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 65fb1a340f292..cebcacd045e92 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -1621,7 +1621,7 @@ pydexcom==0.2.3 pydiscovergy==3.0.2 # homeassistant.components.hydrawise -pydrawise==2025.7.0 +pydrawise==2025.9.0 # homeassistant.components.android_ip_webcam pydroid-ipcam==3.0.0