diff --git a/homeassistant/components/fronius/__init__.py b/homeassistant/components/fronius/__init__.py
index c05f18107a043fe11816f3dc09dea9f11d1eaf07..d0e13aa79143e41194da43f889b0d3eebeb1a55d 100644
--- a/homeassistant/components/fronius/__init__.py
+++ b/homeassistant/components/fronius/__init__.py
@@ -65,6 +65,13 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
     return unload_ok
 
 
+async def async_remove_config_entry_device(
+    hass: HomeAssistant, config_entry: ConfigEntry, device_entry: dr.DeviceEntry
+) -> bool:
+    """Remove a config entry from a device."""
+    return True
+
+
 class FroniusSolarNet:
     """The FroniusSolarNet class routes received values to sensor entities."""
 
diff --git a/tests/components/fronius/__init__.py b/tests/components/fronius/__init__.py
index 1255ba79388046e9829296b2fcdc66edac18fb3e..2e053f7ccc5b004bc613b292f1694312e5b0df4f 100644
--- a/tests/components/fronius/__init__.py
+++ b/tests/components/fronius/__init__.py
@@ -125,3 +125,17 @@ async def enable_all_entities(hass, freezer, config_entry_id, time_till_next_upd
     freezer.tick(time_till_next_update)
     async_fire_time_changed(hass)
     await hass.async_block_till_done()
+
+
+async def remove_device(ws_client, device_id, config_entry_id):
+    """Remove config entry from a device."""
+    await ws_client.send_json(
+        {
+            "id": 5,
+            "type": "config/device_registry/remove_config_entry",
+            "config_entry_id": config_entry_id,
+            "device_id": device_id,
+        }
+    )
+    response = await ws_client.receive_json()
+    return response["success"]
diff --git a/tests/components/fronius/test_init.py b/tests/components/fronius/test_init.py
index cc56fea24b28fb7397444d44f333863aaca5bd4a..f8d86bac26acdc1e0dd7fbe5de5e241c841b2d58 100644
--- a/tests/components/fronius/test_init.py
+++ b/tests/components/fronius/test_init.py
@@ -7,13 +7,15 @@ from pyfronius import FroniusError
 from homeassistant.components.fronius.const import DOMAIN, SOLAR_NET_RESCAN_TIMER
 from homeassistant.config_entries import ConfigEntryState
 from homeassistant.core import HomeAssistant
-from homeassistant.helpers import device_registry as dr
+from homeassistant.helpers import device_registry as dr, entity_registry as er
+from homeassistant.setup import async_setup_component
 from homeassistant.util import dt as dt_util
 
-from . import mock_responses, setup_fronius_integration
+from . import mock_responses, remove_device, setup_fronius_integration
 
 from tests.common import async_fire_time_changed
 from tests.test_util.aiohttp import AiohttpClientMocker
+from tests.typing import WebSocketGenerator
 
 
 async def test_unload_config_entry(
@@ -138,3 +140,29 @@ async def test_inverter_rescan_interruption(
         len(dr.async_entries_for_config_entry(device_registry, config_entry.entry_id))
         == 2
     )
+
+
+async def test_device_remove_devices(
+    hass: HomeAssistant,
+    aioclient_mock: AiohttpClientMocker,
+    device_registry: dr.DeviceRegistry,
+    entity_registry: er.EntityRegistry,
+    hass_ws_client: WebSocketGenerator,
+) -> None:
+    """Test we can remove a device."""
+    assert await async_setup_component(hass, "config", {})
+
+    mock_responses(aioclient_mock, fixture_set="gen24_storage")
+    config_entry = await setup_fronius_integration(
+        hass, is_logger=False, unique_id="12345678"
+    )
+
+    inverter_1 = device_registry.async_get_device(identifiers={(DOMAIN, "12345678")})
+    assert (
+        await remove_device(
+            await hass_ws_client(hass), inverter_1.id, config_entry.entry_id
+        )
+        is True
+    )
+
+    assert not device_registry.async_get_device(identifiers={(DOMAIN, "12345678")})
diff --git a/tests/components/fronius/test_sensor.py b/tests/components/fronius/test_sensor.py
index 684e9a3ae5f4ce49cabe1f7f0029c422a6060395..a8f48ce2e8800b3480f73914cbe8bf93fe72917e 100644
--- a/tests/components/fronius/test_sensor.py
+++ b/tests/components/fronius/test_sensor.py
@@ -370,6 +370,7 @@ async def test_gen24(
 async def test_gen24_storage(
     hass: HomeAssistant,
     aioclient_mock: AiohttpClientMocker,
+    device_registry: dr.DeviceRegistry,
     freezer: FrozenDateTimeFactory,
 ) -> None:
     """Test Fronius Gen24 inverter with BYD battery and Ohmpilot entities."""
@@ -465,8 +466,6 @@ async def test_gen24_storage(
     assert_state("sensor.byd_battery_box_premium_hv_dc_voltage", 0.0)
 
     # Devices
-    device_registry = dr.async_get(hass)
-
     solar_net = device_registry.async_get_device(
         identifiers={(DOMAIN, "solar_net_12345678")}
     )
@@ -501,6 +500,7 @@ async def test_gen24_storage(
 async def test_primo_s0(
     hass: HomeAssistant,
     aioclient_mock: AiohttpClientMocker,
+    device_registry: dr.DeviceRegistry,
     freezer: FrozenDateTimeFactory,
 ) -> None:
     """Test Fronius Primo dual inverter with S0 meter entities."""
@@ -573,8 +573,6 @@ async def test_primo_s0(
     assert_state("sensor.solarnet_energy_year", 11128933.25)
 
     # Devices
-    device_registry = dr.async_get(hass)
-
     solar_net = device_registry.async_get_device(
         identifiers={(DOMAIN, "solar_net_123.4567890")}
     )