From 89cd55c878acf493a3daef97557743c6705f64ae Mon Sep 17 00:00:00 2001 From: Manu <4445816+tr4nt0r@users.noreply.github.com> Date: Thu, 4 Sep 2025 23:58:28 +0200 Subject: [PATCH 1/6] Bump habiticalib to v0.4.5 (#151720) --- homeassistant/components/habitica/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/habitica/manifest.json b/homeassistant/components/habitica/manifest.json index 86002107a6873..30443f1d1da82 100644 --- a/homeassistant/components/habitica/manifest.json +++ b/homeassistant/components/habitica/manifest.json @@ -7,5 +7,5 @@ "iot_class": "cloud_polling", "loggers": ["habiticalib"], "quality_scale": "platinum", - "requirements": ["habiticalib==0.4.4"] + "requirements": ["habiticalib==0.4.5"] } diff --git a/requirements_all.txt b/requirements_all.txt index c0d8e4770d4b3..7f3bc9baa0964 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1131,7 +1131,7 @@ ha-philipsjs==3.2.2 ha-silabs-firmware-client==0.2.0 # homeassistant.components.habitica -habiticalib==0.4.4 +habiticalib==0.4.5 # homeassistant.components.bluetooth habluetooth==5.3.0 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 600e7c79ffd2c..737adc99fa911 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -992,7 +992,7 @@ ha-philipsjs==3.2.2 ha-silabs-firmware-client==0.2.0 # homeassistant.components.habitica -habiticalib==0.4.4 +habiticalib==0.4.5 # homeassistant.components.bluetooth habluetooth==5.3.0 From b875af9667e3fed1ac7f3651a846159f34e20737 Mon Sep 17 00:00:00 2001 From: Manu <4445816+tr4nt0r@users.noreply.github.com> Date: Fri, 5 Sep 2025 00:09:23 +0200 Subject: [PATCH 2/6] Bump pyotp to v2.9.0 (#151721) --- homeassistant/auth/mfa_modules/notify.py | 2 +- homeassistant/auth/mfa_modules/totp.py | 2 +- homeassistant/components/otp/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/homeassistant/auth/mfa_modules/notify.py b/homeassistant/auth/mfa_modules/notify.py index 978758bebb1c3..fffee79da66fa 100644 --- a/homeassistant/auth/mfa_modules/notify.py +++ b/homeassistant/auth/mfa_modules/notify.py @@ -27,7 +27,7 @@ SetupFlow, ) -REQUIREMENTS = ["pyotp==2.8.0"] +REQUIREMENTS = ["pyotp==2.9.0"] CONF_MESSAGE = "message" diff --git a/homeassistant/auth/mfa_modules/totp.py b/homeassistant/auth/mfa_modules/totp.py index b344043b83202..2128d874390f8 100644 --- a/homeassistant/auth/mfa_modules/totp.py +++ b/homeassistant/auth/mfa_modules/totp.py @@ -20,7 +20,7 @@ SetupFlow, ) -REQUIREMENTS = ["pyotp==2.8.0", "PyQRCode==1.2.1"] +REQUIREMENTS = ["pyotp==2.9.0", "PyQRCode==1.2.1"] CONFIG_SCHEMA = MULTI_FACTOR_AUTH_MODULE_SCHEMA.extend({}, extra=vol.PREVENT_EXTRA) diff --git a/homeassistant/components/otp/manifest.json b/homeassistant/components/otp/manifest.json index f62f89cff405e..f6adbb20427ef 100644 --- a/homeassistant/components/otp/manifest.json +++ b/homeassistant/components/otp/manifest.json @@ -7,5 +7,5 @@ "iot_class": "local_polling", "loggers": ["pyotp"], "quality_scale": "internal", - "requirements": ["pyotp==2.8.0"] + "requirements": ["pyotp==2.9.0"] } diff --git a/requirements_all.txt b/requirements_all.txt index 7f3bc9baa0964..f128bd2e201f2 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -2228,7 +2228,7 @@ pyotgw==2.2.2 # homeassistant.auth.mfa_modules.notify # homeassistant.auth.mfa_modules.totp # homeassistant.components.otp -pyotp==2.8.0 +pyotp==2.9.0 # homeassistant.components.overkiz pyoverkiz==1.17.2 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 737adc99fa911..89b3bc9c9eaca 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -1855,7 +1855,7 @@ pyotgw==2.2.2 # homeassistant.auth.mfa_modules.notify # homeassistant.auth.mfa_modules.totp # homeassistant.components.otp -pyotp==2.8.0 +pyotp==2.9.0 # homeassistant.components.overkiz pyoverkiz==1.17.2 From 71981975a409af0b69af9a78931c9d1559f7b113 Mon Sep 17 00:00:00 2001 From: Louis Christ Date: Fri, 5 Sep 2025 00:34:59 +0200 Subject: [PATCH 3/6] Update pyblu to 2.0.5 and fix code (#151728) --- .../components/bluesound/manifest.json | 2 +- .../components/bluesound/media_player.py | 14 ++++++++++---- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- tests/components/bluesound/conftest.py | 3 +++ .../snapshots/test_media_player.ambr | 6 ++++-- .../components/bluesound/test_media_player.py | 19 ++++++++++++++++--- 7 files changed, 36 insertions(+), 12 deletions(-) diff --git a/homeassistant/components/bluesound/manifest.json b/homeassistant/components/bluesound/manifest.json index 54fb061676d61..f4e49e00175fe 100644 --- a/homeassistant/components/bluesound/manifest.json +++ b/homeassistant/components/bluesound/manifest.json @@ -6,7 +6,7 @@ "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/bluesound", "iot_class": "local_polling", - "requirements": ["pyblu==2.0.4"], + "requirements": ["pyblu==2.0.5"], "zeroconf": [ { "type": "_musc._tcp.local." diff --git a/homeassistant/components/bluesound/media_player.py b/homeassistant/components/bluesound/media_player.py index 2662562f575ee..115c6d054af21 100644 --- a/homeassistant/components/bluesound/media_player.py +++ b/homeassistant/components/bluesound/media_player.py @@ -321,8 +321,14 @@ def source_list(self) -> list[str] | None: if self.available is False or (self.is_grouped and not self.is_leader): return None - sources = [x.text for x in self._inputs] - sources += [x.name for x in self._presets] + sources = [x.name for x in self._presets] + + # ignore if both id and text are None + for input_ in self._inputs: + if input_.text is not None: + sources.append(input_.text) + elif input_.id is not None: + sources.append(input_.id) return sources @@ -340,7 +346,7 @@ def source(self) -> str | None: input_.id == self._status.input_id or input_.url == self._status.stream_url ): - return input_.text + return input_.text if input_.text is not None else input_.id for preset in self._presets: if preset.url == self._status.stream_url: @@ -537,7 +543,7 @@ async def async_select_source(self, source: str) -> None: # presets and inputs might have the same name; presets have priority for input_ in self._inputs: - if input_.text == source: + if source in (input_.text, input_.id): await self._player.play_url(input_.url) return for preset in self._presets: diff --git a/requirements_all.txt b/requirements_all.txt index f128bd2e201f2..41fc3cda9cf4a 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1871,7 +1871,7 @@ pybbox==0.0.5-alpha pyblackbird==0.6 # homeassistant.components.bluesound -pyblu==2.0.4 +pyblu==2.0.5 # homeassistant.components.neato pybotvac==0.0.28 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 89b3bc9c9eaca..ead7adb0efa16 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -1573,7 +1573,7 @@ pybalboa==1.1.3 pyblackbird==0.6 # homeassistant.components.bluesound -pyblu==2.0.4 +pyblu==2.0.5 # homeassistant.components.neato pybotvac==0.0.28 diff --git a/tests/components/bluesound/conftest.py b/tests/components/bluesound/conftest.py index 63597ed05321d..4a79396764539 100644 --- a/tests/components/bluesound/conftest.py +++ b/tests/components/bluesound/conftest.py @@ -98,6 +98,9 @@ async def generate(host: str) -> "PlayerMockData": return_value=[ Input("1", "input1", "image1", "url1"), Input("2", "input2", "image2", "url2"), + Input(None, "input3", "image3", "url3"), + Input("4", None, "image4", "url4"), + Input(None, None, "image5", "url5"), ] ) player.presets = AsyncMock( diff --git a/tests/components/bluesound/snapshots/test_media_player.ambr b/tests/components/bluesound/snapshots/test_media_player.ambr index f71302f286d43..24e04160e90c9 100644 --- a/tests/components/bluesound/snapshots/test_media_player.ambr +++ b/tests/components/bluesound/snapshots/test_media_player.ambr @@ -12,10 +12,12 @@ 'media_title': 'song', 'shuffle': False, 'source_list': list([ - 'input1', - 'input2', 'preset1', 'preset2', + 'input1', + 'input2', + 'input3', + '4', ]), 'supported_features': , 'volume_level': 0.1, diff --git a/tests/components/bluesound/test_media_player.py b/tests/components/bluesound/test_media_player.py index d2a72200423a3..b534c7aafb083 100644 --- a/tests/components/bluesound/test_media_player.py +++ b/tests/components/bluesound/test_media_player.py @@ -121,17 +121,30 @@ async def test_volume_down( player_mocks.player_data.player.volume.assert_called_once_with(level=9) +@pytest.mark.parametrize( + ("input", "url"), + [ + ("input1", "url1"), + ("input2", "url2"), + ("input3", "url3"), + ("4", "url4"), + ], +) async def test_select_input_source( - hass: HomeAssistant, setup_config_entry: None, player_mocks: PlayerMocks + hass: HomeAssistant, + setup_config_entry: None, + player_mocks: PlayerMocks, + input: str, + url: str, ) -> None: """Test the media player select input source.""" await hass.services.async_call( MEDIA_PLAYER_DOMAIN, SERVICE_SELECT_SOURCE, - {ATTR_ENTITY_ID: "media_player.player_name1111", ATTR_INPUT_SOURCE: "input1"}, + {ATTR_ENTITY_ID: "media_player.player_name1111", ATTR_INPUT_SOURCE: input}, ) - player_mocks.player_data.player.play_url.assert_called_once_with("url1") + player_mocks.player_data.player.play_url.assert_called_once_with(url) async def test_select_preset_source( From 8cc66ee96cf78e77090900fc48fc699bec271d75 Mon Sep 17 00:00:00 2001 From: David Knowles Date: Thu, 4 Sep 2025 22:21:09 -0400 Subject: [PATCH 4/6] Bump pyschlage to 2025.9.0 (#151731) --- homeassistant/components/schlage/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/schlage/manifest.json b/homeassistant/components/schlage/manifest.json index b71afe01e5609..eadf5585f3074 100644 --- a/homeassistant/components/schlage/manifest.json +++ b/homeassistant/components/schlage/manifest.json @@ -5,5 +5,5 @@ "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/schlage", "iot_class": "cloud_polling", - "requirements": ["pyschlage==2025.7.3"] + "requirements": ["pyschlage==2025.9.0"] } diff --git a/requirements_all.txt b/requirements_all.txt index 41fc3cda9cf4a..f55a7f333fbf9 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -2315,7 +2315,7 @@ pysabnzbd==1.1.1 pysaj==0.0.16 # homeassistant.components.schlage -pyschlage==2025.7.3 +pyschlage==2025.9.0 # homeassistant.components.sensibo pysensibo==1.2.1 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index ead7adb0efa16..7c2b17a285997 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -1927,7 +1927,7 @@ pyrympro==0.0.9 pysabnzbd==1.1.1 # homeassistant.components.schlage -pyschlage==2025.7.3 +pyschlage==2025.9.0 # homeassistant.components.sensibo pysensibo==1.2.1 From 50c0f41e8fc62ba567aa3827b7d3bef9be653a75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Hjelseth=20H=C3=B8yer?= Date: Fri, 5 Sep 2025 04:23:08 +0200 Subject: [PATCH 5/6] Update Mill library 0.13.1 (#151712) --- homeassistant/components/mill/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/mill/manifest.json b/homeassistant/components/mill/manifest.json index c5cc94ead3055..4ae2ac8bbbfb6 100644 --- a/homeassistant/components/mill/manifest.json +++ b/homeassistant/components/mill/manifest.json @@ -7,5 +7,5 @@ "documentation": "https://www.home-assistant.io/integrations/mill", "iot_class": "local_polling", "loggers": ["mill", "mill_local"], - "requirements": ["millheater==0.12.5", "mill-local==0.3.0"] + "requirements": ["millheater==0.13.1", "mill-local==0.3.0"] } diff --git a/requirements_all.txt b/requirements_all.txt index f55a7f333fbf9..6ffc4869f97b9 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1444,7 +1444,7 @@ microBeesPy==0.3.5 mill-local==0.3.0 # homeassistant.components.mill -millheater==0.12.5 +millheater==0.13.1 # homeassistant.components.minio minio==7.1.12 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 7c2b17a285997..f785c8260041c 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -1236,7 +1236,7 @@ microBeesPy==0.3.5 mill-local==0.3.0 # homeassistant.components.mill -millheater==0.12.5 +millheater==0.13.1 # homeassistant.components.minio minio==7.1.12 From b9db828df3e354beda5f0fd3b482ab88a54e9987 Mon Sep 17 00:00:00 2001 From: Dan Raper Date: Fri, 5 Sep 2025 03:23:57 +0100 Subject: [PATCH 6/6] Bump ohmepy version to 1.5.2 (#151707) --- homeassistant/components/ohme/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/ohme/manifest.json b/homeassistant/components/ohme/manifest.json index 786c615d68a3c..14612fff6eb89 100644 --- a/homeassistant/components/ohme/manifest.json +++ b/homeassistant/components/ohme/manifest.json @@ -7,5 +7,5 @@ "integration_type": "device", "iot_class": "cloud_polling", "quality_scale": "platinum", - "requirements": ["ohme==1.5.1"] + "requirements": ["ohme==1.5.2"] } diff --git a/requirements_all.txt b/requirements_all.txt index 6ffc4869f97b9..fcce1a87dbf90 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1583,7 +1583,7 @@ odp-amsterdam==6.1.2 oemthermostat==1.1.1 # homeassistant.components.ohme -ohme==1.5.1 +ohme==1.5.2 # homeassistant.components.ollama ollama==0.5.1 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index f785c8260041c..d9adddc196943 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -1351,7 +1351,7 @@ objgraph==3.5.0 odp-amsterdam==6.1.2 # homeassistant.components.ohme -ohme==1.5.1 +ohme==1.5.2 # homeassistant.components.ollama ollama==0.5.1