From 4612f4da193486c44259c6de05208c54488a80f6 Mon Sep 17 00:00:00 2001 From: Maikel Punie Date: Sun, 19 Jan 2025 20:07:32 +0100 Subject: [PATCH] Fix velbus via devices (#135986) --- homeassistant/components/velbus/__init__.py | 15 +++++++++++++++ tests/components/velbus/conftest.py | 2 +- .../velbus/snapshots/test_diagnostics.ambr | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/velbus/__init__.py b/homeassistant/components/velbus/__init__.py index ad1c35a124b..41b8730eeb0 100644 --- a/homeassistant/components/velbus/__init__.py +++ b/homeassistant/components/velbus/__init__.py @@ -58,6 +58,21 @@ async def velbus_scan_task( raise PlatformNotReady( f"Connection error while connecting to Velbus {entry_id}: {ex}" ) from ex + # create all modules + dev_reg = dr.async_get(hass) + for module in controller.get_modules().values(): + dev_reg.async_get_or_create( + config_entry_id=entry_id, + identifiers={ + (DOMAIN, str(module.get_addresses()[0])), + }, + manufacturer="Velleman", + model=module.get_type_name(), + model_id=str(module.get_type()), + name=f"{module.get_name()} ({module.get_type_name()})", + sw_version=module.get_sw_version(), + serial_number=module.get_serial(), + ) def _migrate_device_identifiers(hass: HomeAssistant, entry_id: str) -> None: diff --git a/tests/components/velbus/conftest.py b/tests/components/velbus/conftest.py index 5094b35d0aa..65418790280 100644 --- a/tests/components/velbus/conftest.py +++ b/tests/components/velbus/conftest.py @@ -96,7 +96,7 @@ def mock_module_subdevices() -> AsyncMock: """Mock a velbus module.""" module = AsyncMock(spec=Module) module.get_type_name.return_value = "VMB2BLE" - module.get_addresses.return_value = [99] + module.get_addresses.return_value = [88] module.get_name.return_value = "Kitchen" module.get_sw_version.return_value = "2.0.0" module.is_loaded.return_value = True diff --git a/tests/components/velbus/snapshots/test_diagnostics.ambr b/tests/components/velbus/snapshots/test_diagnostics.ambr index 3359cb78590..406a5f2d84e 100644 --- a/tests/components/velbus/snapshots/test_diagnostics.ambr +++ b/tests/components/velbus/snapshots/test_diagnostics.ambr @@ -79,7 +79,7 @@ }), dict({ 'address': list([ - 99, + 88, ]), 'channels': dict({ }),