From 6a4c8a550ad1a5975581a61efa44b49ddaddd1db Mon Sep 17 00:00:00 2001 From: PaulCavill <108971756+PaulCavill@users.noreply.github.com> Date: Sun, 14 Sep 2025 21:34:14 +1200 Subject: [PATCH 1/5] Fix login issue with pyicloud (#129059) Co-authored-by: Joost Lekkerkerker --- homeassistant/components/icloud/manifest.json | 2 +- homeassistant/components/icloud/strings.json | 5 +++-- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- tests/components/icloud/test_config_flow.py | 4 ++-- 5 files changed, 8 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/icloud/manifest.json b/homeassistant/components/icloud/manifest.json index 52d9004bc3f591..339404ba55853a 100644 --- a/homeassistant/components/icloud/manifest.json +++ b/homeassistant/components/icloud/manifest.json @@ -6,5 +6,5 @@ "documentation": "https://www.home-assistant.io/integrations/icloud", "iot_class": "cloud_polling", "loggers": ["keyrings.alt", "pyicloud"], - "requirements": ["pyicloud==1.0.0"] + "requirements": ["pyicloud==2.0.3"] } diff --git a/homeassistant/components/icloud/strings.json b/homeassistant/components/icloud/strings.json index fc78e8c2ba62ea..83c45f10b0519d 100644 --- a/homeassistant/components/icloud/strings.json +++ b/homeassistant/components/icloud/strings.json @@ -6,7 +6,7 @@ "description": "Enter your credentials", "data": { "username": "[%key:common::config_flow::data::email%]", - "password": "App-specific password", + "password": "Main Password (MFA)", "with_family": "With family" } }, @@ -14,7 +14,8 @@ "title": "[%key:common::config_flow::title::reauth%]", "description": "Your previously entered password for {username} is no longer working. Update your password to keep using this integration.", "data": { - "password": "App-specific password" + "username": "[%key:common::config_flow::data::email%]", + "password": "[%key:component::icloud::config::step::user::data::password%]" } }, "trusted_device": { diff --git a/requirements_all.txt b/requirements_all.txt index dbcd081aed7f65..531cdfb4c8ff79 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -2046,7 +2046,7 @@ pyhomeworks==1.1.2 pyialarm==2.2.0 # homeassistant.components.icloud -pyicloud==1.0.0 +pyicloud==2.0.3 # homeassistant.components.insteon pyinsteon==1.6.3 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 12386cc708fb08..7cb8932105f1c7 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -1706,7 +1706,7 @@ pyhomeworks==1.1.2 pyialarm==2.2.0 # homeassistant.components.icloud -pyicloud==1.0.0 +pyicloud==2.0.3 # homeassistant.components.insteon pyinsteon==1.6.3 diff --git a/tests/components/icloud/test_config_flow.py b/tests/components/icloud/test_config_flow.py index c0bc5d7ed2e3f9..427fad6380655c 100644 --- a/tests/components/icloud/test_config_flow.py +++ b/tests/components/icloud/test_config_flow.py @@ -199,7 +199,7 @@ async def test_user_with_cookie( async def test_login_failed(hass: HomeAssistant) -> None: """Test when we have errors during login.""" with patch( - "homeassistant.components.icloud.config_flow.PyiCloudService.authenticate", + "homeassistant.components.icloud.config_flow.PyiCloudService", side_effect=PyiCloudFailedLoginException(), ): result = await hass.config_entries.flow.async_init( @@ -409,7 +409,7 @@ async def test_password_update_wrong_password(hass: HomeAssistant) -> None: assert result["type"] is FlowResultType.FORM with patch( - "homeassistant.components.icloud.config_flow.PyiCloudService.authenticate", + "homeassistant.components.icloud.config_flow.PyiCloudService", side_effect=PyiCloudFailedLoginException(), ): result = await hass.config_entries.flow.async_configure( From beb9d7856ca846831dd405370b95b21ed104a351 Mon Sep 17 00:00:00 2001 From: Todd Fast Date: Sun, 14 Sep 2025 02:59:48 -0700 Subject: [PATCH 2/5] Reduce PurpleAir sensor polling rate from every 2m to every 5m (#152271) --- homeassistant/components/purpleair/coordinator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homeassistant/components/purpleair/coordinator.py b/homeassistant/components/purpleair/coordinator.py index 4ed0c0340c6153..1d51e402ef4d41 100644 --- a/homeassistant/components/purpleair/coordinator.py +++ b/homeassistant/components/purpleair/coordinator.py @@ -43,7 +43,7 @@ "voc", ] -UPDATE_INTERVAL = timedelta(minutes=2) +UPDATE_INTERVAL = timedelta(minutes=5) type PurpleAirConfigEntry = ConfigEntry[PurpleAirDataUpdateCoordinator] From 2bb6d745ca9b364e324a02cc317a4a26e31d4109 Mon Sep 17 00:00:00 2001 From: jan iversen Date: Sun, 14 Sep 2025 12:04:07 +0200 Subject: [PATCH 3/5] Flexit: Fix wrong import from modbus. (#152225) --- homeassistant/components/flexit/climate.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/homeassistant/components/flexit/climate.py b/homeassistant/components/flexit/climate.py index 32c94638b1fb55..c645c9d08e5e46 100644 --- a/homeassistant/components/flexit/climate.py +++ b/homeassistant/components/flexit/climate.py @@ -14,13 +14,7 @@ HVACAction, HVACMode, ) -from homeassistant.components.modbus import ( - CALL_TYPE_REGISTER_HOLDING, - CALL_TYPE_REGISTER_INPUT, - DEFAULT_HUB, - ModbusHub, - get_hub, -) +from homeassistant.components.modbus import ModbusHub, get_hub from homeassistant.const import ( ATTR_TEMPERATURE, CONF_NAME, @@ -33,7 +27,13 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType +# These constants are not offered by modbus, because modbus do not have +# an official API. +CALL_TYPE_REGISTER_HOLDING = "holding" +CALL_TYPE_REGISTER_INPUT = "input" CALL_TYPE_WRITE_REGISTER = "write_register" +DEFAULT_HUB = "modbus_hub" + CONF_HUB = "hub" PLATFORM_SCHEMA = CLIMATE_PLATFORM_SCHEMA.extend( From 7d6e0d44b0c4dd1fecaf6e3607c57e0b67c641f0 Mon Sep 17 00:00:00 2001 From: Norbert Rittel Date: Sun, 14 Sep 2025 16:14:08 +0200 Subject: [PATCH 4/5] Capitalize "Core" and "Supervisor" in `backup` issue strings (#152292) --- homeassistant/components/backup/strings.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/backup/strings.json b/homeassistant/components/backup/strings.json index 1b04542dbae03c..e2a3ad844b8f53 100644 --- a/homeassistant/components/backup/strings.json +++ b/homeassistant/components/backup/strings.json @@ -14,15 +14,15 @@ }, "automatic_backup_failed_addons": { "title": "Not all add-ons could be included in automatic backup", - "description": "Add-ons {failed_addons} could not be included in automatic backup. Please check the supervisor logs for more information. Another attempt will be made at the next scheduled time if a backup schedule is configured." + "description": "Add-ons {failed_addons} could not be included in automatic backup. Please check the Supervisor logs for more information. Another attempt will be made at the next scheduled time if a backup schedule is configured." }, "automatic_backup_failed_agents_addons_folders": { "title": "Automatic backup was created with errors", - "description": "The automatic backup was created with errors:\n* Locations which the backup could not be uploaded to: {failed_agents}\n* Add-ons which could not be backed up: {failed_addons}\n* Folders which could not be backed up: {failed_folders}\n\nPlease check the core and supervisor logs for more information. Another attempt will be made at the next scheduled time if a backup schedule is configured." + "description": "The automatic backup was created with errors:\n* Locations which the backup could not be uploaded to: {failed_agents}\n* Add-ons which could not be backed up: {failed_addons}\n* Folders which could not be backed up: {failed_folders}\n\nPlease check the Core and Supervisor logs for more information. Another attempt will be made at the next scheduled time if a backup schedule is configured." }, "automatic_backup_failed_folders": { "title": "Not all folders could be included in automatic backup", - "description": "Folders {failed_folders} could not be included in automatic backup. Please check the supervisor logs for more information. Another attempt will be made at the next scheduled time if a backup schedule is configured." + "description": "Folders {failed_folders} could not be included in automatic backup. Please check the Supervisor logs for more information. Another attempt will be made at the next scheduled time if a backup schedule is configured." } }, "services": { From 1cd3a1eede731469ceb477fe2ec628c12e1d6c5f Mon Sep 17 00:00:00 2001 From: Galorhallen <12990764+Galorhallen@users.noreply.github.com> Date: Sun, 14 Sep 2025 16:16:26 +0200 Subject: [PATCH 5/5] Updated govee local api to 2.2.0 (#152289) --- homeassistant/components/govee_light_local/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/govee_light_local/manifest.json b/homeassistant/components/govee_light_local/manifest.json index 55a6b9e8578fe8..0b108758c02dde 100644 --- a/homeassistant/components/govee_light_local/manifest.json +++ b/homeassistant/components/govee_light_local/manifest.json @@ -6,5 +6,5 @@ "dependencies": ["network"], "documentation": "https://www.home-assistant.io/integrations/govee_light_local", "iot_class": "local_push", - "requirements": ["govee-local-api==2.1.0"] + "requirements": ["govee-local-api==2.2.0"] } diff --git a/requirements_all.txt b/requirements_all.txt index 531cdfb4c8ff79..5494ed4d89b09e 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1086,7 +1086,7 @@ gotailwind==0.3.0 govee-ble==0.44.0 # homeassistant.components.govee_light_local -govee-local-api==2.1.0 +govee-local-api==2.2.0 # homeassistant.components.remote_rpi_gpio gpiozero==1.6.2 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 7cb8932105f1c7..a1fb4afe54039b 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -953,7 +953,7 @@ gotailwind==0.3.0 govee-ble==0.44.0 # homeassistant.components.govee_light_local -govee-local-api==2.1.0 +govee-local-api==2.2.0 # homeassistant.components.gpsd gps3==0.33.3