diff --git a/homeassistant/components/lametric/entity.py b/homeassistant/components/lametric/entity.py index 4764974b5e0..f0c0d14e0e4 100644 --- a/homeassistant/components/lametric/entity.py +++ b/homeassistant/components/lametric/entity.py @@ -3,6 +3,7 @@ from __future__ import annotations from homeassistant.helpers.device_registry import ( + CONNECTION_BLUETOOTH, CONNECTION_NETWORK_MAC, DeviceInfo, format_mac, @@ -21,10 +22,13 @@ class LaMetricEntity(CoordinatorEntity[LaMetricDataUpdateCoordinator]): def __init__(self, coordinator: LaMetricDataUpdateCoordinator) -> None: """Initialize the LaMetric entity.""" super().__init__(coordinator=coordinator) + connections = {(CONNECTION_NETWORK_MAC, format_mac(coordinator.data.wifi.mac))} + if coordinator.data.bluetooth is not None: + connections.add( + (CONNECTION_BLUETOOTH, format_mac(coordinator.data.bluetooth.address)) + ) self._attr_device_info = DeviceInfo( - connections={ - (CONNECTION_NETWORK_MAC, format_mac(coordinator.data.wifi.mac)) - }, + connections=connections, identifiers={(DOMAIN, coordinator.data.serial_number)}, manufacturer="LaMetric Inc.", model_id=coordinator.data.model, diff --git a/tests/components/lametric/fixtures/device.json b/tests/components/lametric/fixtures/device.json index a184d9f0aa1..bf2580a0c5d 100644 --- a/tests/components/lametric/fixtures/device.json +++ b/tests/components/lametric/fixtures/device.json @@ -12,7 +12,7 @@ }, "bluetooth": { "active": false, - "address": "AA:BB:CC:DD:EE:FF", + "address": "AA:BB:CC:DD:EE:EE", "available": true, "discoverable": true, "low_energy": { diff --git a/tests/components/lametric/snapshots/test_diagnostics.ambr b/tests/components/lametric/snapshots/test_diagnostics.ambr index bc16e318a73..ea9dfdde92f 100644 --- a/tests/components/lametric/snapshots/test_diagnostics.ambr +++ b/tests/components/lametric/snapshots/test_diagnostics.ambr @@ -15,7 +15,7 @@ }), 'bluetooth': dict({ 'active': False, - 'address': 'AA:BB:CC:DD:EE:FF', + 'address': 'AA:BB:CC:DD:EE:EE', 'available': True, 'discoverable': True, 'name': '**REDACTED**', diff --git a/tests/components/lametric/test_button.py b/tests/components/lametric/test_button.py index cf8d76ca5f3..e42e3248a73 100644 --- a/tests/components/lametric/test_button.py +++ b/tests/components/lametric/test_button.py @@ -44,7 +44,8 @@ async def test_button_app_next( assert device_entry assert device_entry.configuration_url == "https://127.0.0.1/" assert device_entry.connections == { - (dr.CONNECTION_NETWORK_MAC, "aa:bb:cc:dd:ee:ff") + (dr.CONNECTION_NETWORK_MAC, "aa:bb:cc:dd:ee:ff"), + (dr.CONNECTION_BLUETOOTH, "aa:bb:cc:dd:ee:ee"), } assert device_entry.entry_type is None assert device_entry.identifiers == {(DOMAIN, "SA110405124500W00BS9")} @@ -91,7 +92,8 @@ async def test_button_app_previous( assert device_entry assert device_entry.configuration_url == "https://127.0.0.1/" assert device_entry.connections == { - (dr.CONNECTION_NETWORK_MAC, "aa:bb:cc:dd:ee:ff") + (dr.CONNECTION_NETWORK_MAC, "aa:bb:cc:dd:ee:ff"), + (dr.CONNECTION_BLUETOOTH, "aa:bb:cc:dd:ee:ee"), } assert device_entry.entry_type is None assert device_entry.identifiers == {(DOMAIN, "SA110405124500W00BS9")} @@ -139,7 +141,8 @@ async def test_button_dismiss_current_notification( assert device_entry assert device_entry.configuration_url == "https://127.0.0.1/" assert device_entry.connections == { - (dr.CONNECTION_NETWORK_MAC, "aa:bb:cc:dd:ee:ff") + (dr.CONNECTION_NETWORK_MAC, "aa:bb:cc:dd:ee:ff"), + (dr.CONNECTION_BLUETOOTH, "aa:bb:cc:dd:ee:ee"), } assert device_entry.entry_type is None assert device_entry.identifiers == {(DOMAIN, "SA110405124500W00BS9")} @@ -187,7 +190,8 @@ async def test_button_dismiss_all_notifications( assert device_entry assert device_entry.configuration_url == "https://127.0.0.1/" assert device_entry.connections == { - (dr.CONNECTION_NETWORK_MAC, "aa:bb:cc:dd:ee:ff") + (dr.CONNECTION_NETWORK_MAC, "aa:bb:cc:dd:ee:ff"), + (dr.CONNECTION_BLUETOOTH, "aa:bb:cc:dd:ee:ee"), } assert device_entry.entry_type is None assert device_entry.identifiers == {(DOMAIN, "SA110405124500W00BS9")} diff --git a/tests/components/lametric/test_number.py b/tests/components/lametric/test_number.py index f34cf04aed9..dea693e86aa 100644 --- a/tests/components/lametric/test_number.py +++ b/tests/components/lametric/test_number.py @@ -56,7 +56,10 @@ async def test_brightness( device = device_registry.async_get(entry.device_id) assert device assert device.configuration_url == "https://127.0.0.1/" - assert device.connections == {(dr.CONNECTION_NETWORK_MAC, "aa:bb:cc:dd:ee:ff")} + assert device.connections == { + (dr.CONNECTION_NETWORK_MAC, "aa:bb:cc:dd:ee:ff"), + (dr.CONNECTION_BLUETOOTH, "aa:bb:cc:dd:ee:ee"), + } assert device.entry_type is None assert device.hw_version is None assert device.identifiers == {(DOMAIN, "SA110405124500W00BS9")} @@ -105,7 +108,10 @@ async def test_volume( device = device_registry.async_get(entry.device_id) assert device assert device.configuration_url == "https://127.0.0.1/" - assert device.connections == {(dr.CONNECTION_NETWORK_MAC, "aa:bb:cc:dd:ee:ff")} + assert device.connections == { + (dr.CONNECTION_NETWORK_MAC, "aa:bb:cc:dd:ee:ff"), + (dr.CONNECTION_BLUETOOTH, "aa:bb:cc:dd:ee:ee"), + } assert device.entry_type is None assert device.hw_version is None assert device.identifiers == {(DOMAIN, "SA110405124500W00BS9")} diff --git a/tests/components/lametric/test_select.py b/tests/components/lametric/test_select.py index 177092f061e..e7a2ad52670 100644 --- a/tests/components/lametric/test_select.py +++ b/tests/components/lametric/test_select.py @@ -49,7 +49,10 @@ async def test_brightness_mode( device = device_registry.async_get(entry.device_id) assert device assert device.configuration_url == "https://127.0.0.1/" - assert device.connections == {(dr.CONNECTION_NETWORK_MAC, "aa:bb:cc:dd:ee:ff")} + assert device.connections == { + (dr.CONNECTION_NETWORK_MAC, "aa:bb:cc:dd:ee:ff"), + (dr.CONNECTION_BLUETOOTH, "aa:bb:cc:dd:ee:ee"), + } assert device.entry_type is None assert device.hw_version is None assert device.identifiers == {(DOMAIN, "SA110405124500W00BS9")} diff --git a/tests/components/lametric/test_sensor.py b/tests/components/lametric/test_sensor.py index a0719edfc9d..9915b31d283 100644 --- a/tests/components/lametric/test_sensor.py +++ b/tests/components/lametric/test_sensor.py @@ -42,7 +42,10 @@ async def test_wifi_signal( device = device_registry.async_get(entry.device_id) assert device assert device.configuration_url == "https://127.0.0.1/" - assert device.connections == {(dr.CONNECTION_NETWORK_MAC, "aa:bb:cc:dd:ee:ff")} + assert device.connections == { + (dr.CONNECTION_NETWORK_MAC, "aa:bb:cc:dd:ee:ff"), + (dr.CONNECTION_BLUETOOTH, "aa:bb:cc:dd:ee:ee"), + } assert device.entry_type is None assert device.hw_version is None assert device.identifiers == {(DOMAIN, "SA110405124500W00BS9")} diff --git a/tests/components/lametric/test_switch.py b/tests/components/lametric/test_switch.py index 155a315881f..252ced706d3 100644 --- a/tests/components/lametric/test_switch.py +++ b/tests/components/lametric/test_switch.py @@ -51,7 +51,10 @@ async def test_bluetooth( device = device_registry.async_get(entry.device_id) assert device assert device.configuration_url == "https://127.0.0.1/" - assert device.connections == {(dr.CONNECTION_NETWORK_MAC, "aa:bb:cc:dd:ee:ff")} + assert device.connections == { + (dr.CONNECTION_NETWORK_MAC, "aa:bb:cc:dd:ee:ff"), + (dr.CONNECTION_BLUETOOTH, "aa:bb:cc:dd:ee:ee"), + } assert device.entry_type is None assert device.hw_version is None assert device.identifiers == {(DOMAIN, "SA110405124500W00BS9")}