From f343dce418a714af66772891e5bd9a3255fd4fa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=85ke=20Strandberg?= Date: Mon, 9 Dec 2024 07:51:03 +0100 Subject: [PATCH 01/26] Enable additional entities on myUplink model SMO20 (#131688) * Add a couple of entities to SMO 20 * Enable additional entities on SMO20 --- homeassistant/components/myuplink/helpers.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/homeassistant/components/myuplink/helpers.py b/homeassistant/components/myuplink/helpers.py index de5486d8dea204..bd875d8a872035 100644 --- a/homeassistant/components/myuplink/helpers.py +++ b/homeassistant/components/myuplink/helpers.py @@ -95,11 +95,17 @@ def find_matching_platform( ) PARAMETER_ID_TO_INCLUDE_SMO20 = ( + "40013", + "40033", "40940", + "44069", + "44071", + "44073", "47011", "47015", "47028", "47032", + "47398", "50004", ) From 4e56f9c0144d852d9c411202bbe99232acf1b392 Mon Sep 17 00:00:00 2001 From: David Knowles Date: Sun, 1 Dec 2024 15:44:14 -0500 Subject: [PATCH 02/26] Bump pydrawise to 2024.12.0 (#132015) --- 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 9678dc83e5f274..50f803c07dc0de 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==2024.9.0"] + "requirements": ["pydrawise==2024.12.0"] } diff --git a/requirements_all.txt b/requirements_all.txt index bfc9d4da538c62..c429d85dc8aa1b 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1859,7 +1859,7 @@ pydiscovergy==3.0.2 pydoods==1.0.2 # homeassistant.components.hydrawise -pydrawise==2024.9.0 +pydrawise==2024.12.0 # homeassistant.components.android_ip_webcam pydroid-ipcam==2.0.0 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index eeb99062299670..d649d49fdb5470 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -1500,7 +1500,7 @@ pydexcom==0.2.3 pydiscovergy==3.0.2 # homeassistant.components.hydrawise -pydrawise==2024.9.0 +pydrawise==2024.12.0 # homeassistant.components.android_ip_webcam pydroid-ipcam==2.0.0 From 1f6c5b4d8bdb3cb1e8edda25da9395dc859938aa Mon Sep 17 00:00:00 2001 From: Ravaka Razafimanantsoa <3774520+SeraphicRav@users.noreply.github.com> Date: Mon, 9 Dec 2024 07:35:41 +0900 Subject: [PATCH 03/26] Fix API change for AC not supporting floats in SwitchBot Cloud (#132231) --- homeassistant/components/switchbot_cloud/climate.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/switchbot_cloud/climate.py b/homeassistant/components/switchbot_cloud/climate.py index cd60313f37ac7c..7b1c3415a486b8 100644 --- a/homeassistant/components/switchbot_cloud/climate.py +++ b/homeassistant/components/switchbot_cloud/climate.py @@ -79,6 +79,8 @@ class SwitchBotCloudAirConditioner(SwitchBotCloudEntity, ClimateEntity): _attr_hvac_mode = HVACMode.FAN_ONLY _attr_temperature_unit = UnitOfTemperature.CELSIUS _attr_target_temperature = 21 + _attr_target_temperature_step = 1 + _attr_precision = 1 _attr_name = None _enable_turn_on_off_backwards_compatibility = False @@ -97,7 +99,7 @@ async def _do_send_command( ) await self.send_api_command( AirConditionerCommands.SET_ALL, - parameters=f"{new_temperature},{new_mode},{new_fan_speed},on", + parameters=f"{int(new_temperature)},{new_mode},{new_fan_speed},on", ) async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None: From d6a4a7f052f2843300f0641641dfe9a821281362 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 6 Dec 2024 22:43:57 +0100 Subject: [PATCH 04/26] Update pyrisco to 0.6.5 (#132493) --- homeassistant/components/risco/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/risco/manifest.json b/homeassistant/components/risco/manifest.json index c226c1c590d569..149b8761589989 100644 --- a/homeassistant/components/risco/manifest.json +++ b/homeassistant/components/risco/manifest.json @@ -6,5 +6,5 @@ "documentation": "https://www.home-assistant.io/integrations/risco", "iot_class": "local_push", "loggers": ["pyrisco"], - "requirements": ["pyrisco==0.6.4"] + "requirements": ["pyrisco==0.6.5"] } diff --git a/requirements_all.txt b/requirements_all.txt index c429d85dc8aa1b..7b52b630fd8d4a 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -2203,7 +2203,7 @@ pyrecswitch==1.0.2 pyrepetierng==0.1.0 # homeassistant.components.risco -pyrisco==0.6.4 +pyrisco==0.6.5 # homeassistant.components.rituals_perfume_genie pyrituals==0.0.6 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index d649d49fdb5470..f545ef00188859 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -1775,7 +1775,7 @@ pyqwikswitch==0.93 pyrainbird==6.0.1 # homeassistant.components.risco -pyrisco==0.6.4 +pyrisco==0.6.5 # homeassistant.components.rituals_perfume_genie pyrituals==0.0.6 From 5d01f7db859670642c6b430c59681206ce551ce3 Mon Sep 17 00:00:00 2001 From: Erwin Douna Date: Fri, 6 Dec 2024 21:13:26 +0100 Subject: [PATCH 05/26] Fix PyTado dependency (#132510) --- homeassistant/components/tado/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/tado/manifest.json b/homeassistant/components/tado/manifest.json index 652d51f02619b6..b0c00c888b7b6b 100644 --- a/homeassistant/components/tado/manifest.json +++ b/homeassistant/components/tado/manifest.json @@ -14,5 +14,5 @@ }, "iot_class": "cloud_polling", "loggers": ["PyTado"], - "requirements": ["python-tado==0.17.7"] + "requirements": ["python-tado==0.17.6"] } diff --git a/requirements_all.txt b/requirements_all.txt index 7b52b630fd8d4a..1a18dd523b2370 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -2411,7 +2411,7 @@ python-smarttub==0.0.38 python-songpal==0.16.2 # homeassistant.components.tado -python-tado==0.17.7 +python-tado==0.17.6 # homeassistant.components.technove python-technove==1.3.1 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index f545ef00188859..7b831cd8ead46d 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -1932,7 +1932,7 @@ python-smarttub==0.0.38 python-songpal==0.16.2 # homeassistant.components.tado -python-tado==0.17.7 +python-tado==0.17.6 # homeassistant.components.technove python-technove==1.3.1 From b0005cedff2b2478cfcb98d43f41fe5900cdeb22 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Fri, 6 Dec 2024 15:05:27 -0600 Subject: [PATCH 06/26] Bump pycups to 2.0.4 (#132514) --- homeassistant/components/cups/manifest.json | 2 +- requirements_all.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/cups/manifest.json b/homeassistant/components/cups/manifest.json index c4aa596f01e048..c8f19236ce7bb5 100644 --- a/homeassistant/components/cups/manifest.json +++ b/homeassistant/components/cups/manifest.json @@ -5,5 +5,5 @@ "documentation": "https://www.home-assistant.io/integrations/cups", "iot_class": "local_polling", "quality_scale": "legacy", - "requirements": ["pycups==1.9.73"] + "requirements": ["pycups==2.0.4"] } diff --git a/requirements_all.txt b/requirements_all.txt index 1a18dd523b2370..f68c644f31d285 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1832,7 +1832,7 @@ pycountry==24.6.1 pycsspeechtts==1.0.8 # homeassistant.components.cups -# pycups==1.9.73 +# pycups==2.0.4 # homeassistant.components.daikin pydaikin==2.13.7 From f1284178ed21cd8fae4079f79620cb79a7413cc5 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Fri, 6 Dec 2024 23:26:24 +0100 Subject: [PATCH 07/26] Update debugpy to 1.8.8 (#132519) --- homeassistant/components/debugpy/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/debugpy/manifest.json b/homeassistant/components/debugpy/manifest.json index 1e31e002a8178b..c6e7f79be493b7 100644 --- a/homeassistant/components/debugpy/manifest.json +++ b/homeassistant/components/debugpy/manifest.json @@ -6,5 +6,5 @@ "integration_type": "service", "iot_class": "local_push", "quality_scale": "internal", - "requirements": ["debugpy==1.8.6"] + "requirements": ["debugpy==1.8.8"] } diff --git a/requirements_all.txt b/requirements_all.txt index f68c644f31d285..965a44ce16c080 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -729,7 +729,7 @@ datapoint==0.9.9 dbus-fast==2.24.3 # homeassistant.components.debugpy -debugpy==1.8.6 +debugpy==1.8.8 # homeassistant.components.decora_wifi # decora-wifi==1.4 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 7b831cd8ead46d..481f97a39abda4 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -625,7 +625,7 @@ datapoint==0.9.9 dbus-fast==2.24.3 # homeassistant.components.debugpy -debugpy==1.8.6 +debugpy==1.8.8 # homeassistant.components.ecovacs deebot-client==9.2.0 From af5f718a71eb94a3157ae436b7903ba1345f8ff5 Mon Sep 17 00:00:00 2001 From: Austin Mroczek Date: Sat, 7 Dec 2024 01:43:55 -0800 Subject: [PATCH 08/26] bump total_connect_client to 2023.12 (#132531) --- homeassistant/components/totalconnect/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/totalconnect/manifest.json b/homeassistant/components/totalconnect/manifest.json index 87ec14621d9711..33306a7adbac24 100644 --- a/homeassistant/components/totalconnect/manifest.json +++ b/homeassistant/components/totalconnect/manifest.json @@ -6,5 +6,5 @@ "documentation": "https://www.home-assistant.io/integrations/totalconnect", "iot_class": "cloud_polling", "loggers": ["total_connect_client"], - "requirements": ["total-connect-client==2024.5"] + "requirements": ["total-connect-client==2024.12"] } diff --git a/requirements_all.txt b/requirements_all.txt index 965a44ce16c080..58c3fae428c097 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -2858,7 +2858,7 @@ tololib==1.1.0 toonapi==0.3.0 # homeassistant.components.totalconnect -total-connect-client==2024.5 +total-connect-client==2024.12 # homeassistant.components.tplink_lte tp-connected==0.0.4 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 481f97a39abda4..0d723aafc3c491 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -2274,7 +2274,7 @@ tololib==1.1.0 toonapi==0.3.0 # homeassistant.components.totalconnect -total-connect-client==2024.5 +total-connect-client==2024.12 # homeassistant.components.tplink_omada tplink-omada-client==1.4.3 From db141ce44977a12edc299894514dc9928db1a105 Mon Sep 17 00:00:00 2001 From: Robert Svensson Date: Sat, 7 Dec 2024 22:31:11 +0100 Subject: [PATCH 09/26] Bump aiounifi to v81 to fix partitioned cookies on python 3.13 (#132540) --- homeassistant/components/unifi/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/unifi/manifest.json b/homeassistant/components/unifi/manifest.json index 66d0a53284b1ce..ce5735921537b5 100644 --- a/homeassistant/components/unifi/manifest.json +++ b/homeassistant/components/unifi/manifest.json @@ -7,7 +7,7 @@ "integration_type": "hub", "iot_class": "local_push", "loggers": ["aiounifi"], - "requirements": ["aiounifi==80"], + "requirements": ["aiounifi==81"], "ssdp": [ { "manufacturer": "Ubiquiti Networks", diff --git a/requirements_all.txt b/requirements_all.txt index 58c3fae428c097..d46e4a231d9fe4 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -402,7 +402,7 @@ aiotedee==0.2.20 aiotractive==0.6.0 # homeassistant.components.unifi -aiounifi==80 +aiounifi==81 # homeassistant.components.vlc_telnet aiovlc==0.5.1 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 0d723aafc3c491..351313b7088162 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -384,7 +384,7 @@ aiotedee==0.2.20 aiotractive==0.6.0 # homeassistant.components.unifi -aiounifi==80 +aiounifi==81 # homeassistant.components.vlc_telnet aiovlc==0.5.1 From 0096ffb659a17a13c9102b9af722840b4a246a37 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Sun, 8 Dec 2024 23:30:12 +0100 Subject: [PATCH 10/26] Update twentemilieu to 2.2.0 (#132554) --- homeassistant/components/twentemilieu/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/twentemilieu/manifest.json b/homeassistant/components/twentemilieu/manifest.json index a89091948c2814..292887c6c5bdc4 100644 --- a/homeassistant/components/twentemilieu/manifest.json +++ b/homeassistant/components/twentemilieu/manifest.json @@ -7,5 +7,5 @@ "integration_type": "service", "iot_class": "cloud_polling", "loggers": ["twentemilieu"], - "requirements": ["twentemilieu==2.1.0"] + "requirements": ["twentemilieu==2.2.0"] } diff --git a/requirements_all.txt b/requirements_all.txt index d46e4a231d9fe4..097433d07c4c46 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -2882,7 +2882,7 @@ ttn_client==1.2.0 tuya-device-sharing-sdk==0.2.1 # homeassistant.components.twentemilieu -twentemilieu==2.1.0 +twentemilieu==2.2.0 # homeassistant.components.twilio twilio==6.32.0 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 351313b7088162..84a6820e71dfb4 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -2295,7 +2295,7 @@ ttn_client==1.2.0 tuya-device-sharing-sdk==0.2.1 # homeassistant.components.twentemilieu -twentemilieu==2.1.0 +twentemilieu==2.2.0 # homeassistant.components.twilio twilio==6.32.0 From a33c69a2a234d59c27b32474fe8ed59990deee01 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 7 Dec 2024 11:12:58 -0600 Subject: [PATCH 11/26] Bump yalexs-ble to 2.5.2 (#132560) --- homeassistant/components/august/manifest.json | 2 +- homeassistant/components/yale/manifest.json | 2 +- homeassistant/components/yalexs_ble/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/august/manifest.json b/homeassistant/components/august/manifest.json index 96ed982e4ec9b7..99dbbc0ed9c8d7 100644 --- a/homeassistant/components/august/manifest.json +++ b/homeassistant/components/august/manifest.json @@ -28,5 +28,5 @@ "documentation": "https://www.home-assistant.io/integrations/august", "iot_class": "cloud_push", "loggers": ["pubnub", "yalexs"], - "requirements": ["yalexs==8.10.0", "yalexs-ble==2.5.1"] + "requirements": ["yalexs==8.10.0", "yalexs-ble==2.5.2"] } diff --git a/homeassistant/components/yale/manifest.json b/homeassistant/components/yale/manifest.json index 50c2a0af457eb1..474ed36e90cfb9 100644 --- a/homeassistant/components/yale/manifest.json +++ b/homeassistant/components/yale/manifest.json @@ -13,5 +13,5 @@ "documentation": "https://www.home-assistant.io/integrations/yale", "iot_class": "cloud_push", "loggers": ["socketio", "engineio", "yalexs"], - "requirements": ["yalexs==8.10.0", "yalexs-ble==2.5.1"] + "requirements": ["yalexs==8.10.0", "yalexs-ble==2.5.2"] } diff --git a/homeassistant/components/yalexs_ble/manifest.json b/homeassistant/components/yalexs_ble/manifest.json index c3d1a3d97f1437..95d28cd53721db 100644 --- a/homeassistant/components/yalexs_ble/manifest.json +++ b/homeassistant/components/yalexs_ble/manifest.json @@ -12,5 +12,5 @@ "dependencies": ["bluetooth_adapters"], "documentation": "https://www.home-assistant.io/integrations/yalexs_ble", "iot_class": "local_push", - "requirements": ["yalexs-ble==2.5.1"] + "requirements": ["yalexs-ble==2.5.2"] } diff --git a/requirements_all.txt b/requirements_all.txt index 097433d07c4c46..4a4be451b30a18 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -3044,7 +3044,7 @@ yalesmartalarmclient==0.4.3 # homeassistant.components.august # homeassistant.components.yale # homeassistant.components.yalexs_ble -yalexs-ble==2.5.1 +yalexs-ble==2.5.2 # homeassistant.components.august # homeassistant.components.yale diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 84a6820e71dfb4..338cb64868faf0 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -2433,7 +2433,7 @@ yalesmartalarmclient==0.4.3 # homeassistant.components.august # homeassistant.components.yale # homeassistant.components.yalexs_ble -yalexs-ble==2.5.1 +yalexs-ble==2.5.2 # homeassistant.components.august # homeassistant.components.yale From 26012ac922fa7416a6f504cd98539355b08333b8 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk <11290930+bouwew@users.noreply.github.com> Date: Sun, 1 Dec 2024 04:01:33 +0100 Subject: [PATCH 12/26] Bump plugwise to v1.6.1 (#131950) --- homeassistant/components/plugwise/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/plugwise/manifest.json b/homeassistant/components/plugwise/manifest.json index d4d80749a8d1d3..df35777ac54a75 100644 --- a/homeassistant/components/plugwise/manifest.json +++ b/homeassistant/components/plugwise/manifest.json @@ -7,6 +7,6 @@ "integration_type": "hub", "iot_class": "local_polling", "loggers": ["plugwise"], - "requirements": ["plugwise==1.6.0"], + "requirements": ["plugwise==1.6.1"], "zeroconf": ["_plugwise._tcp.local."] } diff --git a/requirements_all.txt b/requirements_all.txt index 4a4be451b30a18..711ea7322d76d0 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1622,7 +1622,7 @@ plexauth==0.0.6 plexwebsocket==0.0.14 # homeassistant.components.plugwise -plugwise==1.6.0 +plugwise==1.6.1 # homeassistant.components.plum_lightpad plumlightpad==0.0.11 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 338cb64868faf0..9338290250866d 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -1329,7 +1329,7 @@ plexauth==0.0.6 plexwebsocket==0.0.14 # homeassistant.components.plugwise -plugwise==1.6.0 +plugwise==1.6.1 # homeassistant.components.plum_lightpad plumlightpad==0.0.11 From ef89563badd897d400162bc070c6a438a2e6aaa9 Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk <11290930+bouwew@users.noreply.github.com> Date: Sun, 8 Dec 2024 23:36:55 +0100 Subject: [PATCH 13/26] Bump plugwise to v1.6.2 and adapt (#132608) --- homeassistant/components/plugwise/climate.py | 13 ++----------- homeassistant/components/plugwise/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- .../plugwise/fixtures/m_adam_heating/all_data.json | 2 +- .../plugwise/fixtures/m_adam_jip/all_data.json | 8 ++++---- .../m_adam_multiple_devices_per_zone/all_data.json | 7 ++++++- .../plugwise/snapshots/test_diagnostics.ambr | 7 ++++++- tests/components/plugwise/test_climate.py | 12 ++++-------- 9 files changed, 26 insertions(+), 29 deletions(-) diff --git a/homeassistant/components/plugwise/climate.py b/homeassistant/components/plugwise/climate.py index 242b0944782b2c..0cc0a76bd77eeb 100644 --- a/homeassistant/components/plugwise/climate.py +++ b/homeassistant/components/plugwise/climate.py @@ -191,17 +191,8 @@ def hvac_action(self) -> HVACAction: self._previous_action_mode(self.coordinator) # Adam provides the hvac_action for each thermostat - if self._gateway["smile_name"] == "Adam": - if (control_state := self.device.get("control_state")) == "cooling": - return HVACAction.COOLING - if control_state == "heating": - return HVACAction.HEATING - if control_state == "preheating": - return HVACAction.PREHEATING - if control_state == "off": - return HVACAction.IDLE - - return HVACAction.IDLE + if (action := self.device.get("control_state")) is not None: + return HVACAction(action) # Anna heater: str = self._gateway["heater_id"] diff --git a/homeassistant/components/plugwise/manifest.json b/homeassistant/components/plugwise/manifest.json index df35777ac54a75..d7fcec3bbae91f 100644 --- a/homeassistant/components/plugwise/manifest.json +++ b/homeassistant/components/plugwise/manifest.json @@ -7,6 +7,6 @@ "integration_type": "hub", "iot_class": "local_polling", "loggers": ["plugwise"], - "requirements": ["plugwise==1.6.1"], + "requirements": ["plugwise==1.6.2"], "zeroconf": ["_plugwise._tcp.local."] } diff --git a/requirements_all.txt b/requirements_all.txt index 711ea7322d76d0..6d3ae285f6c1b3 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1622,7 +1622,7 @@ plexauth==0.0.6 plexwebsocket==0.0.14 # homeassistant.components.plugwise -plugwise==1.6.1 +plugwise==1.6.2 # homeassistant.components.plum_lightpad plumlightpad==0.0.11 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 9338290250866d..15ea88827b0700 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -1329,7 +1329,7 @@ plexauth==0.0.6 plexwebsocket==0.0.14 # homeassistant.components.plugwise -plugwise==1.6.1 +plugwise==1.6.2 # homeassistant.components.plum_lightpad plumlightpad==0.0.11 diff --git a/tests/components/plugwise/fixtures/m_adam_heating/all_data.json b/tests/components/plugwise/fixtures/m_adam_heating/all_data.json index fab2cea5fdc6b1..bb24faeebfa026 100644 --- a/tests/components/plugwise/fixtures/m_adam_heating/all_data.json +++ b/tests/components/plugwise/fixtures/m_adam_heating/all_data.json @@ -176,7 +176,7 @@ "off" ], "climate_mode": "auto", - "control_state": "off", + "control_state": "idle", "dev_class": "climate", "model": "ThermoZone", "name": "Bathroom", diff --git a/tests/components/plugwise/fixtures/m_adam_jip/all_data.json b/tests/components/plugwise/fixtures/m_adam_jip/all_data.json index 4516ce2c2d0d2d..1ca9e77010f409 100644 --- a/tests/components/plugwise/fixtures/m_adam_jip/all_data.json +++ b/tests/components/plugwise/fixtures/m_adam_jip/all_data.json @@ -3,7 +3,7 @@ "06aecb3d00354375924f50c47af36bd2": { "active_preset": "no_frost", "climate_mode": "off", - "control_state": "off", + "control_state": "idle", "dev_class": "climate", "model": "ThermoZone", "name": "Slaapkamer", @@ -26,7 +26,7 @@ "13228dab8ce04617af318a2888b3c548": { "active_preset": "home", "climate_mode": "heat", - "control_state": "off", + "control_state": "idle", "dev_class": "climate", "model": "ThermoZone", "name": "Woonkamer", @@ -238,7 +238,7 @@ "d27aede973b54be484f6842d1b2802ad": { "active_preset": "home", "climate_mode": "heat", - "control_state": "off", + "control_state": "idle", "dev_class": "climate", "model": "ThermoZone", "name": "Kinderkamer", @@ -285,7 +285,7 @@ "d58fec52899f4f1c92e4f8fad6d8c48c": { "active_preset": "home", "climate_mode": "heat", - "control_state": "off", + "control_state": "idle", "dev_class": "climate", "model": "ThermoZone", "name": "Logeerkamer", diff --git a/tests/components/plugwise/fixtures/m_adam_multiple_devices_per_zone/all_data.json b/tests/components/plugwise/fixtures/m_adam_multiple_devices_per_zone/all_data.json index 67e8c235cc3b96..8da184a7a3e9f7 100644 --- a/tests/components/plugwise/fixtures/m_adam_multiple_devices_per_zone/all_data.json +++ b/tests/components/plugwise/fixtures/m_adam_multiple_devices_per_zone/all_data.json @@ -32,6 +32,7 @@ "off" ], "climate_mode": "auto", + "control_state": "idle", "dev_class": "climate", "model": "ThermoZone", "name": "Badkamer", @@ -66,6 +67,7 @@ "off" ], "climate_mode": "heat", + "control_state": "idle", "dev_class": "climate", "model": "ThermoZone", "name": "Bios", @@ -112,6 +114,7 @@ "446ac08dd04d4eff8ac57489757b7314": { "active_preset": "no_frost", "climate_mode": "heat", + "control_state": "idle", "dev_class": "climate", "model": "ThermoZone", "name": "Garage", @@ -258,6 +261,7 @@ "off" ], "climate_mode": "auto", + "control_state": "idle", "dev_class": "climate", "model": "ThermoZone", "name": "Jessie", @@ -402,6 +406,7 @@ "off" ], "climate_mode": "auto", + "control_state": "heating", "dev_class": "climate", "model": "ThermoZone", "name": "Woonkamer", @@ -577,7 +582,7 @@ "cooling_present": false, "gateway_id": "fe799307f1624099878210aa0b9f1475", "heater_id": "90986d591dcd426cae3ec3e8111ff730", - "item_count": 364, + "item_count": 369, "notifications": { "af82e4ccf9c548528166d38e560662a4": { "warning": "Node Plug (with MAC address 000D6F000D13CB01, in room 'n.a.') has been unreachable since 23:03 2020-01-18. Please check the connection and restart the device." diff --git a/tests/components/plugwise/snapshots/test_diagnostics.ambr b/tests/components/plugwise/snapshots/test_diagnostics.ambr index bf7d4260a32c6b..806c92fe7cb7f9 100644 --- a/tests/components/plugwise/snapshots/test_diagnostics.ambr +++ b/tests/components/plugwise/snapshots/test_diagnostics.ambr @@ -34,6 +34,7 @@ 'off', ]), 'climate_mode': 'auto', + 'control_state': 'idle', 'dev_class': 'climate', 'model': 'ThermoZone', 'name': 'Badkamer', @@ -75,6 +76,7 @@ 'off', ]), 'climate_mode': 'heat', + 'control_state': 'idle', 'dev_class': 'climate', 'model': 'ThermoZone', 'name': 'Bios', @@ -131,6 +133,7 @@ '446ac08dd04d4eff8ac57489757b7314': dict({ 'active_preset': 'no_frost', 'climate_mode': 'heat', + 'control_state': 'idle', 'dev_class': 'climate', 'model': 'ThermoZone', 'name': 'Garage', @@ -286,6 +289,7 @@ 'off', ]), 'climate_mode': 'auto', + 'control_state': 'idle', 'dev_class': 'climate', 'model': 'ThermoZone', 'name': 'Jessie', @@ -440,6 +444,7 @@ 'off', ]), 'climate_mode': 'auto', + 'control_state': 'heating', 'dev_class': 'climate', 'model': 'ThermoZone', 'name': 'Woonkamer', @@ -625,7 +630,7 @@ 'cooling_present': False, 'gateway_id': 'fe799307f1624099878210aa0b9f1475', 'heater_id': '90986d591dcd426cae3ec3e8111ff730', - 'item_count': 364, + 'item_count': 369, 'notifications': dict({ 'af82e4ccf9c548528166d38e560662a4': dict({ 'warning': "Node Plug (with MAC address 000D6F000D13CB01, in room 'n.a.') has been unreachable since 23:03 2020-01-18. Please check the connection and restart the device.", diff --git a/tests/components/plugwise/test_climate.py b/tests/components/plugwise/test_climate.py index c0c1c00c68dbc3..17c4300e6850b4 100644 --- a/tests/components/plugwise/test_climate.py +++ b/tests/components/plugwise/test_climate.py @@ -31,15 +31,13 @@ async def test_adam_climate_entity_attributes( state = hass.states.get("climate.woonkamer") assert state assert state.state == HVACMode.AUTO + assert state.attributes["hvac_action"] == "heating" assert state.attributes["hvac_modes"] == [HVACMode.AUTO, HVACMode.HEAT] - # hvac_action is not asserted as the fixture is not in line with recent firmware functionality - assert "preset_modes" in state.attributes assert "no_frost" in state.attributes["preset_modes"] assert "home" in state.attributes["preset_modes"] - - assert state.attributes["current_temperature"] == 20.9 assert state.attributes["preset_mode"] == "home" + assert state.attributes["current_temperature"] == 20.9 assert state.attributes["supported_features"] == 17 assert state.attributes["temperature"] == 21.5 assert state.attributes["min_temp"] == 0.0 @@ -49,15 +47,13 @@ async def test_adam_climate_entity_attributes( state = hass.states.get("climate.jessie") assert state assert state.state == HVACMode.AUTO + assert state.attributes["hvac_action"] == "idle" assert state.attributes["hvac_modes"] == [HVACMode.AUTO, HVACMode.HEAT] - # hvac_action is not asserted as the fixture is not in line with recent firmware functionality - assert "preset_modes" in state.attributes assert "no_frost" in state.attributes["preset_modes"] assert "home" in state.attributes["preset_modes"] - - assert state.attributes["current_temperature"] == 17.2 assert state.attributes["preset_mode"] == "asleep" + assert state.attributes["current_temperature"] == 17.2 assert state.attributes["temperature"] == 15.0 assert state.attributes["min_temp"] == 0.0 assert state.attributes["max_temp"] == 35.0 From 382d32c7a73d38f269eafbe1b74411853e8953dc Mon Sep 17 00:00:00 2001 From: Thomas55555 <59625598+Thomas55555@users.noreply.github.com> Date: Sun, 8 Dec 2024 15:59:27 +0100 Subject: [PATCH 14/26] Fix config flow in Husqvarna Automower (#132615) --- homeassistant/components/husqvarna_automower/config_flow.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/husqvarna_automower/config_flow.py b/homeassistant/components/husqvarna_automower/config_flow.py index 4da3bd14089175..7efed529453b47 100644 --- a/homeassistant/components/husqvarna_automower/config_flow.py +++ b/homeassistant/components/husqvarna_automower/config_flow.py @@ -53,10 +53,10 @@ async def async_oauth_create_entry(self, data: dict[str, Any]) -> ConfigFlowResu tz = await dt_util.async_get_time_zone(str(dt_util.DEFAULT_TIME_ZONE)) automower_api = AutomowerSession(AsyncConfigFlowAuth(websession, token), tz) try: - data = await automower_api.get_status() + status_data = await automower_api.get_status() except Exception: # noqa: BLE001 return self.async_abort(reason="unknown") - if data == {}: + if status_data == {}: return self.async_abort(reason="no_mower_connected") structured_token = structure_token(token[CONF_ACCESS_TOKEN]) From 1993142e449c1a972844b9425675e96ffb898e92 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Sun, 8 Dec 2024 15:32:39 -0500 Subject: [PATCH 15/26] Bump ZHA dependencies (#132630) --- homeassistant/components/zha/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/zha/manifest.json b/homeassistant/components/zha/manifest.json index 1fbbd83bb9c005..3a301be9b02f2c 100644 --- a/homeassistant/components/zha/manifest.json +++ b/homeassistant/components/zha/manifest.json @@ -21,7 +21,7 @@ "zha", "universal_silabs_flasher" ], - "requirements": ["universal-silabs-flasher==0.0.25", "zha==0.0.41"], + "requirements": ["universal-silabs-flasher==0.0.25", "zha==0.0.42"], "usb": [ { "vid": "10C4", diff --git a/requirements_all.txt b/requirements_all.txt index 6d3ae285f6c1b3..6f78faea4588aa 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -3081,7 +3081,7 @@ zeroconf==0.136.2 zeversolar==0.3.2 # homeassistant.components.zha -zha==0.0.41 +zha==0.0.42 # homeassistant.components.zhong_hong zhong-hong-hvac==1.0.13 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 15ea88827b0700..15afd06eace1a1 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -2464,7 +2464,7 @@ zeroconf==0.136.2 zeversolar==0.3.2 # homeassistant.components.zha -zha==0.0.41 +zha==0.0.42 # homeassistant.components.zwave_js zwave-js-server-python==0.59.1 From da344a44e58396079f40d8fbbf140b677da82bff Mon Sep 17 00:00:00 2001 From: Bouwe Westerdijk <11290930+bouwew@users.noreply.github.com> Date: Mon, 9 Dec 2024 12:27:15 +0100 Subject: [PATCH 16/26] Bump plugwise to v1.6.3 (#132673) --- homeassistant/components/plugwise/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/plugwise/manifest.json b/homeassistant/components/plugwise/manifest.json index d7fcec3bbae91f..60de449677982c 100644 --- a/homeassistant/components/plugwise/manifest.json +++ b/homeassistant/components/plugwise/manifest.json @@ -7,6 +7,6 @@ "integration_type": "hub", "iot_class": "local_polling", "loggers": ["plugwise"], - "requirements": ["plugwise==1.6.2"], + "requirements": ["plugwise==1.6.3"], "zeroconf": ["_plugwise._tcp.local."] } diff --git a/requirements_all.txt b/requirements_all.txt index 6f78faea4588aa..420c11916d9044 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1622,7 +1622,7 @@ plexauth==0.0.6 plexwebsocket==0.0.14 # homeassistant.components.plugwise -plugwise==1.6.2 +plugwise==1.6.3 # homeassistant.components.plum_lightpad plumlightpad==0.0.11 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 15afd06eace1a1..6b02a7d8721207 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -1329,7 +1329,7 @@ plexauth==0.0.6 plexwebsocket==0.0.14 # homeassistant.components.plugwise -plugwise==1.6.2 +plugwise==1.6.3 # homeassistant.components.plum_lightpad plumlightpad==0.0.11 From 8fc50c776eceb945666e40c503f05d349e4beb37 Mon Sep 17 00:00:00 2001 From: Joost Lekkerkerker Date: Mon, 9 Dec 2024 17:09:17 +0100 Subject: [PATCH 17/26] Bump yt-dlp to 2024.12.06 (#132684) --- homeassistant/components/media_extractor/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/media_extractor/manifest.json b/homeassistant/components/media_extractor/manifest.json index f85f1561bb95d3..195dc678bc2cad 100644 --- a/homeassistant/components/media_extractor/manifest.json +++ b/homeassistant/components/media_extractor/manifest.json @@ -8,6 +8,6 @@ "iot_class": "calculated", "loggers": ["yt_dlp"], "quality_scale": "internal", - "requirements": ["yt-dlp[default]==2024.12.03"], + "requirements": ["yt-dlp[default]==2024.12.06"], "single_config_entry": true } diff --git a/requirements_all.txt b/requirements_all.txt index 420c11916d9044..c0fe66eb215bc3 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -3066,7 +3066,7 @@ youless-api==2.1.2 youtubeaio==1.1.5 # homeassistant.components.media_extractor -yt-dlp[default]==2024.12.03 +yt-dlp[default]==2024.12.06 # homeassistant.components.zamg zamg==0.3.6 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 6b02a7d8721207..a19c364ddf6b38 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -2452,7 +2452,7 @@ youless-api==2.1.2 youtubeaio==1.1.5 # homeassistant.components.media_extractor -yt-dlp[default]==2024.12.03 +yt-dlp[default]==2024.12.06 # homeassistant.components.zamg zamg==0.3.6 From cac4eef7958efde24072c4a4daff28cfbf63e269 Mon Sep 17 00:00:00 2001 From: Simone Rescio Date: Mon, 9 Dec 2024 17:19:10 +0100 Subject: [PATCH 18/26] Revert "Bump pyezviz to 0.2.2.3" (#132715) --- homeassistant/components/ezviz/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/ezviz/manifest.json b/homeassistant/components/ezviz/manifest.json index 7c796c74ef7326..53976bf3002a64 100644 --- a/homeassistant/components/ezviz/manifest.json +++ b/homeassistant/components/ezviz/manifest.json @@ -7,5 +7,5 @@ "documentation": "https://www.home-assistant.io/integrations/ezviz", "iot_class": "cloud_polling", "loggers": ["paho_mqtt", "pyezviz"], - "requirements": ["pyezviz==0.2.2.3"] + "requirements": ["pyezviz==0.2.1.2"] } diff --git a/requirements_all.txt b/requirements_all.txt index c0fe66eb215bc3..ee3df556c35d49 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1907,7 +1907,7 @@ pyeverlights==0.1.0 pyevilgenius==2.0.0 # homeassistant.components.ezviz -pyezviz==0.2.2.3 +pyezviz==0.2.1.2 # homeassistant.components.fibaro pyfibaro==0.8.0 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index a19c364ddf6b38..57d1b378f62983 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -1536,7 +1536,7 @@ pyeverlights==0.1.0 pyevilgenius==2.0.0 # homeassistant.components.ezviz -pyezviz==0.2.2.3 +pyezviz==0.2.1.2 # homeassistant.components.fibaro pyfibaro==0.8.0 From c8e5a6df5da3f66856adbebf903aac7c19b053d0 Mon Sep 17 00:00:00 2001 From: Michael Hansen Date: Mon, 9 Dec 2024 10:08:58 -0600 Subject: [PATCH 19/26] Bump intents to 2024.12.9 (#132726) --- homeassistant/components/conversation/manifest.json | 2 +- homeassistant/package_constraints.txt | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- script/hassfest/docker/Dockerfile | 2 +- tests/components/conversation/snapshots/test_http.ambr | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/homeassistant/components/conversation/manifest.json b/homeassistant/components/conversation/manifest.json index 72e1cebf462d9e..41c9a2d2691214 100644 --- a/homeassistant/components/conversation/manifest.json +++ b/homeassistant/components/conversation/manifest.json @@ -6,5 +6,5 @@ "documentation": "https://www.home-assistant.io/integrations/conversation", "integration_type": "system", "quality_scale": "internal", - "requirements": ["hassil==2.0.5", "home-assistant-intents==2024.12.4"] + "requirements": ["hassil==2.0.5", "home-assistant-intents==2024.12.9"] } diff --git a/homeassistant/package_constraints.txt b/homeassistant/package_constraints.txt index 9e6d2d58927362..5d84ccd581562e 100644 --- a/homeassistant/package_constraints.txt +++ b/homeassistant/package_constraints.txt @@ -35,7 +35,7 @@ hass-nabucasa==0.86.0 hassil==2.0.5 home-assistant-bluetooth==1.13.0 home-assistant-frontend==20241127.6 -home-assistant-intents==2024.12.4 +home-assistant-intents==2024.12.9 httpx==0.27.2 ifaddr==0.2.0 Jinja2==3.1.4 diff --git a/requirements_all.txt b/requirements_all.txt index ee3df556c35d49..f00f72bfa53d1d 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1133,7 +1133,7 @@ holidays==0.62 home-assistant-frontend==20241127.6 # homeassistant.components.conversation -home-assistant-intents==2024.12.4 +home-assistant-intents==2024.12.9 # homeassistant.components.home_connect homeconnect==0.8.0 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 57d1b378f62983..f558e120a879f1 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -959,7 +959,7 @@ holidays==0.62 home-assistant-frontend==20241127.6 # homeassistant.components.conversation -home-assistant-intents==2024.12.4 +home-assistant-intents==2024.12.9 # homeassistant.components.home_connect homeconnect==0.8.0 diff --git a/script/hassfest/docker/Dockerfile b/script/hassfest/docker/Dockerfile index 100be4fdec9400..de58d7b07b5c5a 100644 --- a/script/hassfest/docker/Dockerfile +++ b/script/hassfest/docker/Dockerfile @@ -23,7 +23,7 @@ RUN --mount=from=ghcr.io/astral-sh/uv:0.5.4,source=/uv,target=/bin/uv \ -c /usr/src/homeassistant/homeassistant/package_constraints.txt \ -r /usr/src/homeassistant/requirements.txt \ stdlib-list==0.10.0 pipdeptree==2.23.4 tqdm==4.66.5 ruff==0.8.0 \ - PyTurboJPEG==1.7.5 go2rtc-client==0.1.1 ha-ffmpeg==3.2.2 hassil==2.0.5 home-assistant-intents==2024.12.4 mutagen==1.47.0 pymicro-vad==1.0.1 pyspeex-noise==1.0.2 + PyTurboJPEG==1.7.5 go2rtc-client==0.1.1 ha-ffmpeg==3.2.2 hassil==2.0.5 home-assistant-intents==2024.12.9 mutagen==1.47.0 pymicro-vad==1.0.1 pyspeex-noise==1.0.2 LABEL "name"="hassfest" LABEL "maintainer"="Home Assistant " diff --git a/tests/components/conversation/snapshots/test_http.ambr b/tests/components/conversation/snapshots/test_http.ambr index a3edd4fa51c8a0..8023d1ee6fa834 100644 --- a/tests/components/conversation/snapshots/test_http.ambr +++ b/tests/components/conversation/snapshots/test_http.ambr @@ -571,7 +571,7 @@ 'name': 'HassGetState', }), 'match': True, - 'sentence_template': '[tell me] how many {on_off_domains:domain} (is|are) {on_off_states:state} [in ]', + 'sentence_template': '[tell me] how many {on_off_domains:domain} (is|are) {on_off_states:state} []', 'slots': dict({ 'area': 'kitchen', 'domain': 'lights', From e23987156645ab1b46877d0ea9989b81d02d4959 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Mon, 9 Dec 2024 17:10:52 +0100 Subject: [PATCH 20/26] Update frontend to 20241127.7 (#132729) Co-authored-by: Franck Nijhof --- homeassistant/components/frontend/manifest.json | 2 +- homeassistant/package_constraints.txt | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/frontend/manifest.json b/homeassistant/components/frontend/manifest.json index e68b9312081a32..bfc08c6e11edf6 100644 --- a/homeassistant/components/frontend/manifest.json +++ b/homeassistant/components/frontend/manifest.json @@ -20,5 +20,5 @@ "documentation": "https://www.home-assistant.io/integrations/frontend", "integration_type": "system", "quality_scale": "internal", - "requirements": ["home-assistant-frontend==20241127.6"] + "requirements": ["home-assistant-frontend==20241127.7"] } diff --git a/homeassistant/package_constraints.txt b/homeassistant/package_constraints.txt index 5d84ccd581562e..aef46c0ffc6816 100644 --- a/homeassistant/package_constraints.txt +++ b/homeassistant/package_constraints.txt @@ -34,7 +34,7 @@ habluetooth==3.6.0 hass-nabucasa==0.86.0 hassil==2.0.5 home-assistant-bluetooth==1.13.0 -home-assistant-frontend==20241127.6 +home-assistant-frontend==20241127.7 home-assistant-intents==2024.12.9 httpx==0.27.2 ifaddr==0.2.0 diff --git a/requirements_all.txt b/requirements_all.txt index f00f72bfa53d1d..4e8905765e9db2 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1130,7 +1130,7 @@ hole==0.8.0 holidays==0.62 # homeassistant.components.frontend -home-assistant-frontend==20241127.6 +home-assistant-frontend==20241127.7 # homeassistant.components.conversation home-assistant-intents==2024.12.9 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index f558e120a879f1..932c39414869a7 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -956,7 +956,7 @@ hole==0.8.0 holidays==0.62 # homeassistant.components.frontend -home-assistant-frontend==20241127.6 +home-assistant-frontend==20241127.7 # homeassistant.components.conversation home-assistant-intents==2024.12.9 From e4765c40fe9313475941a10d2da543ceb137028b Mon Sep 17 00:00:00 2001 From: starkillerOG Date: Mon, 9 Dec 2024 22:53:17 +0100 Subject: [PATCH 21/26] Bump reolink-aio to 0.11.5 (#132757) --- homeassistant/components/reolink/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/reolink/manifest.json b/homeassistant/components/reolink/manifest.json index 913864a92fa4d8..a14fea6ac0a43e 100644 --- a/homeassistant/components/reolink/manifest.json +++ b/homeassistant/components/reolink/manifest.json @@ -18,5 +18,5 @@ "documentation": "https://www.home-assistant.io/integrations/reolink", "iot_class": "local_push", "loggers": ["reolink_aio"], - "requirements": ["reolink-aio==0.11.4"] + "requirements": ["reolink-aio==0.11.5"] } diff --git a/requirements_all.txt b/requirements_all.txt index 4e8905765e9db2..b7fa39280da597 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -2556,7 +2556,7 @@ renault-api==0.2.7 renson-endura-delta==1.7.1 # homeassistant.components.reolink -reolink-aio==0.11.4 +reolink-aio==0.11.5 # homeassistant.components.idteck_prox rfk101py==0.0.1 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 932c39414869a7..f4c4a06f2e7119 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -2047,7 +2047,7 @@ renault-api==0.2.7 renson-endura-delta==1.7.1 # homeassistant.components.reolink -reolink-aio==0.11.4 +reolink-aio==0.11.5 # homeassistant.components.rflink rflink==0.0.66 From 60e8a38ba3e3caa52f649afc57fd6682377bfa89 Mon Sep 17 00:00:00 2001 From: David Knowles Date: Tue, 10 Dec 2024 02:38:34 -0500 Subject: [PATCH 22/26] Catch Hydrawise authorization errors in the correct place (#132727) --- .../components/hydrawise/config_flow.py | 15 ++++--- tests/components/hydrawise/conftest.py | 1 - .../components/hydrawise/test_config_flow.py | 39 +++++++++++++++---- 3 files changed, 41 insertions(+), 14 deletions(-) diff --git a/homeassistant/components/hydrawise/config_flow.py b/homeassistant/components/hydrawise/config_flow.py index 242763e81e3b78..419927d6d42262 100644 --- a/homeassistant/components/hydrawise/config_flow.py +++ b/homeassistant/components/hydrawise/config_flow.py @@ -6,7 +6,7 @@ from typing import Any from aiohttp import ClientError -from pydrawise import auth, client +from pydrawise import auth as pydrawise_auth, client from pydrawise.exceptions import NotAuthorizedError import voluptuous as vol @@ -29,16 +29,21 @@ async def _create_or_update_entry( on_failure: Callable[[str], ConfigFlowResult], ) -> ConfigFlowResult: """Create the config entry.""" - # Verify that the provided credentials work.""" - api = client.Hydrawise(auth.Auth(username, password)) + auth = pydrawise_auth.Auth(username, password) try: - # Don't fetch zones because we don't need them yet. - user = await api.get_user(fetch_zones=False) + await auth.token() except NotAuthorizedError: return on_failure("invalid_auth") except TimeoutError: return on_failure("timeout_connect") + + try: + api = client.Hydrawise(auth) + # Don't fetch zones because we don't need them yet. + user = await api.get_user(fetch_zones=False) + except TimeoutError: + return on_failure("timeout_connect") except ClientError as ex: LOGGER.error("Unable to connect to Hydrawise cloud service: %s", ex) return on_failure("cannot_connect") diff --git a/tests/components/hydrawise/conftest.py b/tests/components/hydrawise/conftest.py index a938322414bafc..2de7fb1da9a5e3 100644 --- a/tests/components/hydrawise/conftest.py +++ b/tests/components/hydrawise/conftest.py @@ -56,7 +56,6 @@ def mock_legacy_pydrawise( @pytest.fixture def mock_pydrawise( - mock_auth: AsyncMock, user: User, controller: Controller, zones: list[Zone], diff --git a/tests/components/hydrawise/test_config_flow.py b/tests/components/hydrawise/test_config_flow.py index e85b1b9b24905b..4d25fd5840ba41 100644 --- a/tests/components/hydrawise/test_config_flow.py +++ b/tests/components/hydrawise/test_config_flow.py @@ -21,6 +21,7 @@ async def test_form( hass: HomeAssistant, mock_setup_entry: AsyncMock, + mock_auth: AsyncMock, mock_pydrawise: AsyncMock, user: User, ) -> None: @@ -46,11 +47,12 @@ async def test_form( CONF_PASSWORD: "__password__", } assert len(mock_setup_entry.mock_calls) == 1 - mock_pydrawise.get_user.assert_called_once_with(fetch_zones=False) + mock_auth.token.assert_awaited_once_with() + mock_pydrawise.get_user.assert_awaited_once_with(fetch_zones=False) async def test_form_api_error( - hass: HomeAssistant, mock_pydrawise: AsyncMock, user: User + hass: HomeAssistant, mock_auth: AsyncMock, mock_pydrawise: AsyncMock, user: User ) -> None: """Test we handle API errors.""" mock_pydrawise.get_user.side_effect = ClientError("XXX") @@ -71,8 +73,29 @@ async def test_form_api_error( assert result2["type"] is FlowResultType.CREATE_ENTRY -async def test_form_connect_timeout( - hass: HomeAssistant, mock_pydrawise: AsyncMock, user: User +async def test_form_auth_connect_timeout( + hass: HomeAssistant, mock_auth: AsyncMock, mock_pydrawise: AsyncMock +) -> None: + """Test we handle API errors.""" + mock_auth.token.side_effect = TimeoutError + init_result = await hass.config_entries.flow.async_init( + DOMAIN, context={"source": config_entries.SOURCE_USER} + ) + data = {CONF_USERNAME: "asdf@asdf.com", CONF_PASSWORD: "__password__"} + result = await hass.config_entries.flow.async_configure( + init_result["flow_id"], data + ) + + assert result["type"] is FlowResultType.FORM + assert result["errors"] == {"base": "timeout_connect"} + + mock_auth.token.reset_mock(side_effect=True) + result2 = await hass.config_entries.flow.async_configure(result["flow_id"], data) + assert result2["type"] is FlowResultType.CREATE_ENTRY + + +async def test_form_client_connect_timeout( + hass: HomeAssistant, mock_auth: AsyncMock, mock_pydrawise: AsyncMock, user: User ) -> None: """Test we handle API errors.""" mock_pydrawise.get_user.side_effect = TimeoutError @@ -94,10 +117,10 @@ async def test_form_connect_timeout( async def test_form_not_authorized_error( - hass: HomeAssistant, mock_pydrawise: AsyncMock, user: User + hass: HomeAssistant, mock_auth: AsyncMock, mock_pydrawise: AsyncMock ) -> None: """Test we handle API errors.""" - mock_pydrawise.get_user.side_effect = NotAuthorizedError + mock_auth.token.side_effect = NotAuthorizedError init_result = await hass.config_entries.flow.async_init( DOMAIN, context={"source": config_entries.SOURCE_USER} @@ -109,8 +132,7 @@ async def test_form_not_authorized_error( assert result["type"] is FlowResultType.FORM assert result["errors"] == {"base": "invalid_auth"} - mock_pydrawise.get_user.reset_mock(side_effect=True) - mock_pydrawise.get_user.return_value = user + mock_auth.token.reset_mock(side_effect=True) result2 = await hass.config_entries.flow.async_configure(result["flow_id"], data) assert result2["type"] is FlowResultType.CREATE_ENTRY @@ -118,6 +140,7 @@ async def test_form_not_authorized_error( async def test_reauth( hass: HomeAssistant, user: User, + mock_auth: AsyncMock, mock_pydrawise: AsyncMock, ) -> None: """Test that re-authorization works.""" From fc34c6181c620c080757a20c00e4d6771848af4c Mon Sep 17 00:00:00 2001 From: David Knowles Date: Tue, 10 Dec 2024 08:23:14 -0500 Subject: [PATCH 23/26] Pass an application identifier to the Hydrawise API (#132779) --- homeassistant/components/hydrawise/__init__.py | 5 +++-- homeassistant/components/hydrawise/config_flow.py | 4 ++-- homeassistant/components/hydrawise/const.py | 4 ++++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/hydrawise/__init__.py b/homeassistant/components/hydrawise/__init__.py index 9e402cd49326c0..ea5a5801e69e5b 100644 --- a/homeassistant/components/hydrawise/__init__.py +++ b/homeassistant/components/hydrawise/__init__.py @@ -7,7 +7,7 @@ from homeassistant.core import HomeAssistant from homeassistant.exceptions import ConfigEntryAuthFailed -from .const import DOMAIN +from .const import APP_ID, DOMAIN from .coordinator import ( HydrawiseMainDataUpdateCoordinator, HydrawiseUpdateCoordinators, @@ -30,7 +30,8 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> b raise ConfigEntryAuthFailed hydrawise = client.Hydrawise( - auth.Auth(config_entry.data[CONF_USERNAME], config_entry.data[CONF_PASSWORD]) + auth.Auth(config_entry.data[CONF_USERNAME], config_entry.data[CONF_PASSWORD]), + app_id=APP_ID, ) main_coordinator = HydrawiseMainDataUpdateCoordinator(hass, hydrawise) diff --git a/homeassistant/components/hydrawise/config_flow.py b/homeassistant/components/hydrawise/config_flow.py index 419927d6d42262..5af32af3951d62 100644 --- a/homeassistant/components/hydrawise/config_flow.py +++ b/homeassistant/components/hydrawise/config_flow.py @@ -13,7 +13,7 @@ from homeassistant.config_entries import SOURCE_REAUTH, ConfigFlow, ConfigFlowResult from homeassistant.const import CONF_PASSWORD, CONF_USERNAME -from .const import DOMAIN, LOGGER +from .const import APP_ID, DOMAIN, LOGGER class HydrawiseConfigFlow(ConfigFlow, domain=DOMAIN): @@ -39,7 +39,7 @@ async def _create_or_update_entry( return on_failure("timeout_connect") try: - api = client.Hydrawise(auth) + api = client.Hydrawise(auth, app_id=APP_ID) # Don't fetch zones because we don't need them yet. user = await api.get_user(fetch_zones=False) except TimeoutError: diff --git a/homeassistant/components/hydrawise/const.py b/homeassistant/components/hydrawise/const.py index 6d846dd612702d..beaf450a5867d6 100644 --- a/homeassistant/components/hydrawise/const.py +++ b/homeassistant/components/hydrawise/const.py @@ -3,8 +3,12 @@ from datetime import timedelta import logging +from homeassistant.const import __version__ as HA_VERSION + LOGGER = logging.getLogger(__package__) +APP_ID = f"homeassistant-{HA_VERSION}" + DOMAIN = "hydrawise" DEFAULT_WATERING_TIME = timedelta(minutes=15) From 01a9a5832700fa63ec88689f0d150760273dbe66 Mon Sep 17 00:00:00 2001 From: Robert Resch Date: Tue, 10 Dec 2024 13:31:22 +0100 Subject: [PATCH 24/26] Bump deebot-client to 9.3.0 (#132834) --- homeassistant/components/ecovacs/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/ecovacs/manifest.json b/homeassistant/components/ecovacs/manifest.json index ad154b8f284681..b9315e0c1c65ac 100644 --- a/homeassistant/components/ecovacs/manifest.json +++ b/homeassistant/components/ecovacs/manifest.json @@ -6,5 +6,5 @@ "documentation": "https://www.home-assistant.io/integrations/ecovacs", "iot_class": "cloud_push", "loggers": ["sleekxmppfs", "sucks", "deebot_client"], - "requirements": ["py-sucks==0.9.10", "deebot-client==9.2.0"] + "requirements": ["py-sucks==0.9.10", "deebot-client==9.3.0"] } diff --git a/requirements_all.txt b/requirements_all.txt index b7fa39280da597..b167c45bc41408 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -738,7 +738,7 @@ debugpy==1.8.8 # decora==0.6 # homeassistant.components.ecovacs -deebot-client==9.2.0 +deebot-client==9.3.0 # homeassistant.components.ihc # homeassistant.components.namecheapdns diff --git a/requirements_test_all.txt b/requirements_test_all.txt index f4c4a06f2e7119..f0bfe821780408 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -628,7 +628,7 @@ dbus-fast==2.24.3 debugpy==1.8.8 # homeassistant.components.ecovacs -deebot-client==9.2.0 +deebot-client==9.3.0 # homeassistant.components.ihc # homeassistant.components.namecheapdns From 5a5bb139fa8c33f78bb4953f1125701b92c7330c Mon Sep 17 00:00:00 2001 From: Josef Zweck Date: Tue, 10 Dec 2024 14:22:49 +0100 Subject: [PATCH 25/26] Bump aioacaia to 0.1.11 (#132838) --- homeassistant/components/acaia/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/acaia/manifest.json b/homeassistant/components/acaia/manifest.json index 3f3e1c14d58d17..c1f1fdd7a816af 100644 --- a/homeassistant/components/acaia/manifest.json +++ b/homeassistant/components/acaia/manifest.json @@ -25,5 +25,5 @@ "integration_type": "device", "iot_class": "local_push", "loggers": ["aioacaia"], - "requirements": ["aioacaia==0.1.10"] + "requirements": ["aioacaia==0.1.11"] } diff --git a/requirements_all.txt b/requirements_all.txt index b167c45bc41408..a8a7185a22a059 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -173,7 +173,7 @@ aio-geojson-usgs-earthquakes==0.3 aio-georss-gdacs==0.10 # homeassistant.components.acaia -aioacaia==0.1.10 +aioacaia==0.1.11 # homeassistant.components.airq aioairq==0.4.3 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index f0bfe821780408..adf1c83b2367a9 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -161,7 +161,7 @@ aio-geojson-usgs-earthquakes==0.3 aio-georss-gdacs==0.10 # homeassistant.components.acaia -aioacaia==0.1.10 +aioacaia==0.1.11 # homeassistant.components.airq aioairq==0.4.3 From 238cf691a4fc7c483bb1bfb81bb17b09154a7ed3 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Tue, 10 Dec 2024 15:07:18 +0100 Subject: [PATCH 26/26] Bump version to 2024.12.2 --- homeassistant/const.py | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/homeassistant/const.py b/homeassistant/const.py index ce9fcf45b76178..412b4b2eb1943b 100644 --- a/homeassistant/const.py +++ b/homeassistant/const.py @@ -25,7 +25,7 @@ APPLICATION_NAME: Final = "HomeAssistant" MAJOR_VERSION: Final = 2024 MINOR_VERSION: Final = 12 -PATCH_VERSION: Final = "1" +PATCH_VERSION: Final = "2" __short_version__: Final = f"{MAJOR_VERSION}.{MINOR_VERSION}" __version__: Final = f"{__short_version__}.{PATCH_VERSION}" REQUIRED_PYTHON_VER: Final[tuple[int, int, int]] = (3, 12, 0) diff --git a/pyproject.toml b/pyproject.toml index f4ae0f39ded011..56347fbd31b96d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "homeassistant" -version = "2024.12.1" +version = "2024.12.2" license = {text = "Apache-2.0"} description = "Open-source home automation platform running on Python 3." readme = "README.rst"