From e15166cbf3d86c79a9560c3cfb1cafda8980f623 Mon Sep 17 00:00:00 2001 From: puddly <32534428+puddly@users.noreply.github.com> Date: Fri, 22 Aug 2025 00:49:38 -0400 Subject: [PATCH 1/5] Bump ZHA to 0.0.69 (#151010) --- 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 e980d34402b7d6..9f5e6a9190553c 100644 --- a/homeassistant/components/zha/manifest.json +++ b/homeassistant/components/zha/manifest.json @@ -21,7 +21,7 @@ "zha", "universal_silabs_flasher" ], - "requirements": ["zha==0.0.68"], + "requirements": ["zha==0.0.69"], "usb": [ { "vid": "10C4", diff --git a/requirements_all.txt b/requirements_all.txt index 60d75ce6936bbf..3c141c24bc2eff 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -3198,7 +3198,7 @@ zeroconf==0.147.0 zeversolar==0.3.2 # homeassistant.components.zha -zha==0.0.68 +zha==0.0.69 # homeassistant.components.zhong_hong zhong-hong-hvac==1.0.13 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 88999bff3cc059..172eee82795c47 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -2642,7 +2642,7 @@ zeroconf==0.147.0 zeversolar==0.3.2 # homeassistant.components.zha -zha==0.0.68 +zha==0.0.69 # homeassistant.components.zwave_js zwave-js-server-python==0.67.1 From 80d2e0857245047e7a86ef3c61aa94a8045e3182 Mon Sep 17 00:00:00 2001 From: Aidan Timson Date: Fri, 22 Aug 2025 05:55:13 +0100 Subject: [PATCH 2/5] Update aioazuredevops to 2.2.2 (#151000) --- homeassistant/components/azure_devops/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- script/hassfest/requirements.py | 5 ----- 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/homeassistant/components/azure_devops/manifest.json b/homeassistant/components/azure_devops/manifest.json index 5086e44ab0fff7..531c9dac48e022 100644 --- a/homeassistant/components/azure_devops/manifest.json +++ b/homeassistant/components/azure_devops/manifest.json @@ -6,5 +6,5 @@ "documentation": "https://www.home-assistant.io/integrations/azure_devops", "iot_class": "cloud_polling", "loggers": ["aioazuredevops"], - "requirements": ["aioazuredevops==2.2.1"] + "requirements": ["aioazuredevops==2.2.2"] } diff --git a/requirements_all.txt b/requirements_all.txt index 3c141c24bc2eff..035f404d09a179 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -207,7 +207,7 @@ aioasuswrt==1.4.0 aioautomower==2.1.2 # homeassistant.components.azure_devops -aioazuredevops==2.2.1 +aioazuredevops==2.2.2 # homeassistant.components.baf aiobafi6==0.9.0 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 172eee82795c47..0dd87889e2055f 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -195,7 +195,7 @@ aioasuswrt==1.4.0 aioautomower==2.1.2 # homeassistant.components.azure_devops -aioazuredevops==2.2.1 +aioazuredevops==2.2.2 # homeassistant.components.baf aiobafi6==0.9.0 diff --git a/script/hassfest/requirements.py b/script/hassfest/requirements.py index a2d305f76efdab..1a53e837a2155c 100644 --- a/script/hassfest/requirements.py +++ b/script/hassfest/requirements.py @@ -98,11 +98,6 @@ "ampio": {"asmog": {"async-timeout"}}, "apache_kafka": {"aiokafka": {"async-timeout"}}, "apple_tv": {"pyatv": {"async-timeout"}}, - "azure_devops": { - # https://github.com/timmo001/aioazuredevops/issues/67 - # aioazuredevops > incremental > setuptools - "incremental": {"setuptools"} - }, "blackbird": { # https://github.com/koolsb/pyblackbird/issues/12 # pyblackbird > pyserial-asyncio From 2b80a621af85f1c11abe72215f3857294b7c4ecb Mon Sep 17 00:00:00 2001 From: Aidan Timson Date: Fri, 22 Aug 2025 07:12:49 +0100 Subject: [PATCH 3/5] Update aiolyric to 2.0.2 (#150998) --- homeassistant/components/lyric/manifest.json | 2 +- requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- script/hassfest/requirements.py | 5 ----- 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/homeassistant/components/lyric/manifest.json b/homeassistant/components/lyric/manifest.json index cca69969f7008c..bc6b34ee970e82 100644 --- a/homeassistant/components/lyric/manifest.json +++ b/homeassistant/components/lyric/manifest.json @@ -21,5 +21,5 @@ "documentation": "https://www.home-assistant.io/integrations/lyric", "iot_class": "cloud_polling", "loggers": ["aiolyric"], - "requirements": ["aiolyric==2.0.1"] + "requirements": ["aiolyric==2.0.2"] } diff --git a/requirements_all.txt b/requirements_all.txt index 035f404d09a179..d319add19a6c08 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -307,7 +307,7 @@ aiolifx==1.2.1 aiolookin==1.0.0 # homeassistant.components.lyric -aiolyric==2.0.1 +aiolyric==2.0.2 # homeassistant.components.mealie aiomealie==0.10.1 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index 0dd87889e2055f..90b1e3bf2b209e 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -289,7 +289,7 @@ aiolifx==1.2.1 aiolookin==1.0.0 # homeassistant.components.lyric -aiolyric==2.0.1 +aiolyric==2.0.2 # homeassistant.components.mealie aiomealie==0.10.1 diff --git a/script/hassfest/requirements.py b/script/hassfest/requirements.py index 1a53e837a2155c..00a81b93ef2e84 100644 --- a/script/hassfest/requirements.py +++ b/script/hassfest/requirements.py @@ -199,11 +199,6 @@ "async-upnp-client": {"async-timeout"}, }, "loqed": {"loqedapi": {"async-timeout"}}, - "lyric": { - # https://github.com/timmo001/aiolyric/issues/115 - # aiolyric > incremental > setuptools - "incremental": {"setuptools"} - }, "matter": {"python-matter-server": {"async-timeout"}}, "mediaroom": {"pymediaroom": {"async-timeout"}}, "met": {"pymetno": {"async-timeout"}}, From e16eff6f28cd3b2ebd7d0a8d224d094383534937 Mon Sep 17 00:00:00 2001 From: Christopher Fenner <9592452+CFenner@users.noreply.github.com> Date: Fri, 22 Aug 2025 08:15:35 +0200 Subject: [PATCH 4/5] Improve device details for Husqvarna BLE mower device (#150993) --- .../components/husqvarna_automower_ble/entity.py | 8 +++++++- .../husqvarna_automower_ble/snapshots/test_init.ambr | 6 +++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/husqvarna_automower_ble/entity.py b/homeassistant/components/husqvarna_automower_ble/entity.py index cb62f36027a957..32e5873ab0e89a 100644 --- a/homeassistant/components/husqvarna_automower_ble/entity.py +++ b/homeassistant/components/husqvarna_automower_ble/entity.py @@ -2,7 +2,11 @@ from __future__ import annotations -from homeassistant.helpers.device_registry import DeviceInfo +from homeassistant.helpers.device_registry import ( + CONNECTION_BLUETOOTH, + DeviceInfo, + format_mac, +) from homeassistant.helpers.entity import EntityDescription from homeassistant.helpers.update_coordinator import CoordinatorEntity @@ -23,6 +27,8 @@ def __init__(self, coordinator: HusqvarnaCoordinator) -> None: identifiers={(DOMAIN, f"{coordinator.address}_{coordinator.channel_id}")}, manufacturer=MANUFACTURER, model_id=coordinator.model, + suggested_area="Garden", + connections={(CONNECTION_BLUETOOTH, format_mac(coordinator.address))}, ) @property diff --git a/tests/components/husqvarna_automower_ble/snapshots/test_init.ambr b/tests/components/husqvarna_automower_ble/snapshots/test_init.ambr index 6b4ab8236f9d55..2e7369e8a6d4df 100644 --- a/tests/components/husqvarna_automower_ble/snapshots/test_init.ambr +++ b/tests/components/husqvarna_automower_ble/snapshots/test_init.ambr @@ -1,11 +1,15 @@ # serializer version: 1 # name: test_setup DeviceRegistryEntrySnapshot({ - 'area_id': None, + 'area_id': 'garden', 'config_entries': , 'config_entries_subentries': , 'configuration_url': None, 'connections': set({ + tuple( + 'bluetooth', + '00000000-0000-0000-0000-000000000003', + ), }), 'disabled_by': None, 'entry_type': None, From f6bb32c44b47b9c423eaf264d090ef26a58a2ec8 Mon Sep 17 00:00:00 2001 From: Billy Rowell Date: Fri, 22 Aug 2025 02:57:16 -0400 Subject: [PATCH 5/5] Add Tuya test fixtures for bzyd category (#150923) Co-authored-by: epenet <6771947+epenet@users.noreply.github.com> --- tests/components/tuya/__init__.py | 2 + .../tuya/fixtures/bzyd_45idzfufidgee7ir.json | 137 ++++++++++++++++++ .../tuya/fixtures/bzyd_ssimhf6r8kgwepfb.json | 76 ++++++++++ .../components/tuya/snapshots/test_init.ambr | 62 ++++++++ 4 files changed, 277 insertions(+) create mode 100644 tests/components/tuya/fixtures/bzyd_45idzfufidgee7ir.json create mode 100644 tests/components/tuya/fixtures/bzyd_ssimhf6r8kgwepfb.json diff --git a/tests/components/tuya/__init__.py b/tests/components/tuya/__init__.py index 246a4388c76681..cea7d633245d84 100644 --- a/tests/components/tuya/__init__.py +++ b/tests/components/tuya/__init__.py @@ -13,6 +13,8 @@ from tests.common import MockConfigEntry DEVICE_MOCKS = [ + "bzyd_45idzfufidgee7ir", # https://github.com/orgs/home-assistant/discussions/717 + "bzyd_ssimhf6r8kgwepfb", # https://github.com/orgs/home-assistant/discussions/718 "cl_3r8gc33pnqsxfe1g", # https://github.com/tuya/tuya-home-assistant/issues/754 "cl_cpbo62rn", # https://github.com/orgs/home-assistant/discussions/539 "cl_ebt12ypvexnixvtf", # https://github.com/tuya/tuya-home-assistant/issues/754 diff --git a/tests/components/tuya/fixtures/bzyd_45idzfufidgee7ir.json b/tests/components/tuya/fixtures/bzyd_45idzfufidgee7ir.json new file mode 100644 index 00000000000000..21fc451d392f43 --- /dev/null +++ b/tests/components/tuya/fixtures/bzyd_45idzfufidgee7ir.json @@ -0,0 +1,137 @@ +{ + "name": "Smart White Noise Machine", + "category": "bzyd", + "product_id": "45idzfufidgee7ir", + "product_name": "Smart White Noise Machine", + "online": true, + "sub": false, + "function": { + "switch": { + "type": "Boolean", + "value": {} + }, + "work_mode": { + "type": "Enum", + "value": { + "range": ["scene", "customize_scene", "colour"] + } + }, + "switch_led": { + "type": "Boolean", + "value": {} + }, + "colour_data": { + "type": "Json", + "value": {} + }, + "switch_music": { + "type": "Boolean", + "value": {} + }, + "volume_set": { + "type": "Integer", + "value": { + "unit": "", + "min": 0, + "max": 100, + "scale": 0, + "step": 1 + } + }, + "stop": { + "type": "Boolean", + "value": {} + }, + "countdown": { + "type": "Integer", + "value": { + "unit": "min", + "min": 0, + "max": 1440, + "scale": 0, + "step": 1 + } + } + }, + "status_range": { + "switch": { + "type": "Boolean", + "value": {} + }, + "work_mode": { + "type": "Enum", + "value": { + "range": ["scene", "customize_scene", "colour"] + } + }, + "switch_led": { + "type": "Boolean", + "value": {} + }, + "colour_data": { + "type": "String", + "value": {} + }, + "switch_music": { + "type": "Boolean", + "value": {} + }, + "volume_set": { + "type": "Integer", + "value": { + "unit": "", + "min": 0, + "max": 100, + "scale": 0, + "step": 1 + } + }, + "stop": { + "type": "Boolean", + "value": {} + }, + "status": { + "type": "Enum", + "value": { + "range": [ + "manual", + "wake_up_1", + "wake_up_2", + "wake_up_3", + "wake_up_4", + "sleep_1", + "sleep_2", + "sleep_3", + "sleep_4" + ] + } + }, + "countdown": { + "type": "Integer", + "value": { + "unit": "min", + "min": 0, + "max": 1440, + "scale": 0, + "step": 1 + } + } + }, + "status": { + "switch": false, + "work_mode": "scene", + "switch_led": true, + "colour_data": { + "h": 240, + "s": 1000, + "v": 1000 + }, + "switch_music": true, + "volume_set": 17, + "stop": false, + "status": "manual", + "countdown": 0 + }, + "set_up": false, + "support_local": true +} diff --git a/tests/components/tuya/fixtures/bzyd_ssimhf6r8kgwepfb.json b/tests/components/tuya/fixtures/bzyd_ssimhf6r8kgwepfb.json new file mode 100644 index 00000000000000..8490d115409e5a --- /dev/null +++ b/tests/components/tuya/fixtures/bzyd_ssimhf6r8kgwepfb.json @@ -0,0 +1,76 @@ +{ + "endpoint": "https://apigw.tuyaus.com", + "mqtt_connected": true, + "disabled_by": null, + "disabled_polling": false, + "name": "BlissRadia ", + "category": "bzyd", + "product_id": "ssimhf6r8kgwepfb", + "product_name": "BlissRadia ", + "online": true, + "sub": false, + "time_zone": "-04:00", + "active_time": "2025-08-19T14:01:37+00:00", + "create_time": "2025-08-19T14:01:37+00:00", + "update_time": "2025-08-19T14:01:37+00:00", + "function": { + "switch_led": { + "type": "Boolean", + "value": {} + }, + "volume_set": { + "type": "Integer", + "value": { + "unit": "", + "min": 5, + "max": 100, + "scale": 0, + "step": 1 + } + }, + "snooze": { + "type": "Boolean", + "value": {} + }, + "colour_data": { + "type": "Json", + "value": {} + } + }, + "status_range": { + "switch_led": { + "type": "Boolean", + "value": {} + }, + "volume_set": { + "type": "Integer", + "value": { + "unit": "", + "min": 5, + "max": 100, + "scale": 0, + "step": 1 + } + }, + "snooze": { + "type": "Boolean", + "value": {} + }, + "colour_data": { + "type": "String", + "value": {} + } + }, + "status": { + "switch_led": false, + "volume_set": 5, + "snooze": false, + "colour_data": { + "h": 0, + "s": 900, + "v": 1000 + } + }, + "set_up": false, + "support_local": true +} diff --git a/tests/components/tuya/snapshots/test_init.ambr b/tests/components/tuya/snapshots/test_init.ambr index 5eb43abd365f74..62e849a5509b7d 100644 --- a/tests/components/tuya/snapshots/test_init.ambr +++ b/tests/components/tuya/snapshots/test_init.ambr @@ -1673,6 +1673,37 @@ 'via_device_id': None, }) # --- +# name: test_device_registry[bfpewgk8r6fhmissdyzb] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'tuya', + 'bfpewgk8r6fhmissdyzb', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Tuya', + 'model': 'BlissRadia (unsupported)', + 'model_id': 'ssimhf6r8kgwepfb', + 'name': 'BlissRadia ', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- # name: test_device_registry[bgnj6bafrdgb1xmajd] DeviceRegistryEntrySnapshot({ 'area_id': None, @@ -4711,6 +4742,37 @@ 'via_device_id': None, }) # --- +# name: test_device_registry[ri7eegdifufzdi54dyzb] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'tuya', + 'ri7eegdifufzdi54dyzb', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Tuya', + 'model': 'Smart White Noise Machine (unsupported)', + 'model_id': '45idzfufidgee7ir', + 'name': 'Smart White Noise Machine', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- # name: test_device_registry[rl39uwgaqwjwc] DeviceRegistryEntrySnapshot({ 'area_id': None,