diff --git a/homeassistant/components/adguard/__init__.py b/homeassistant/components/adguard/__init__.py
index b3cbb3300bf3cd3a8bf066a4300e1dde7bb840e3..874a4cae963f901896c309e87f7f8a42ba48b90d 100644
--- a/homeassistant/components/adguard/__init__.py
+++ b/homeassistant/components/adguard/__init__.py
@@ -2,6 +2,8 @@
 
 from __future__ import annotations
 
+from dataclasses import dataclass
+
 from adguardhome import AdGuardHome, AdGuardHomeConnectionError
 import voluptuous as vol
 
@@ -24,7 +26,6 @@ from homeassistant.helpers.aiohttp_client import async_get_clientsession
 
 from .const import (
     CONF_FORCE,
-    DATA_ADGUARD_CLIENT,
     DOMAIN,
     SERVICE_ADD_URL,
     SERVICE_DISABLE_URL,
@@ -44,6 +45,14 @@ SERVICE_REFRESH_SCHEMA = vol.Schema(
 PLATFORMS = [Platform.SENSOR, Platform.SWITCH]
 
 
+@dataclass
+class AdGuardData:
+    """Adguard data type."""
+
+    client: AdGuardHome
+    version: str
+
+
 async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
     """Set up AdGuard Home from a config entry."""
     session = async_get_clientsession(hass, entry.data[CONF_VERIFY_SSL])
@@ -57,13 +66,13 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
         session=session,
     )
 
-    hass.data.setdefault(DOMAIN, {})[entry.entry_id] = {DATA_ADGUARD_CLIENT: adguard}
-
     try:
-        await adguard.version()
+        version = await adguard.version()
     except AdGuardHomeConnectionError as exception:
         raise ConfigEntryNotReady from exception
 
+    hass.data.setdefault(DOMAIN, {})[entry.entry_id] = AdGuardData(adguard, version)
+
     await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
 
     async def add_url(call: ServiceCall) -> None:
diff --git a/homeassistant/components/adguard/const.py b/homeassistant/components/adguard/const.py
index 7b6827c19d46b0d87f4642b69632594754e5b622..5af739a8f0b863b82dc7d4680c055b2b0f4bf720 100644
--- a/homeassistant/components/adguard/const.py
+++ b/homeassistant/components/adguard/const.py
@@ -6,9 +6,6 @@ DOMAIN = "adguard"
 
 LOGGER = logging.getLogger(__package__)
 
-DATA_ADGUARD_CLIENT = "adguard_client"
-DATA_ADGUARD_VERSION = "adguard_version"
-
 CONF_FORCE = "force"
 
 SERVICE_ADD_URL = "add_url"
diff --git a/homeassistant/components/adguard/entity.py b/homeassistant/components/adguard/entity.py
index 8cb71a861e8def239180acb4f992319e38d3f3d7..a4e16f1b9950a2925eb3c97354cc2614cafa3f85 100644
--- a/homeassistant/components/adguard/entity.py
+++ b/homeassistant/components/adguard/entity.py
@@ -2,13 +2,14 @@
 
 from __future__ import annotations
 
-from adguardhome import AdGuardHome, AdGuardHomeError
+from adguardhome import AdGuardHomeError
 
 from homeassistant.config_entries import SOURCE_HASSIO, ConfigEntry
 from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
 from homeassistant.helpers.entity import Entity
 
-from .const import DATA_ADGUARD_VERSION, DOMAIN, LOGGER
+from . import AdGuardData
+from .const import DOMAIN, LOGGER
 
 
 class AdGuardHomeEntity(Entity):
@@ -19,12 +20,13 @@ class AdGuardHomeEntity(Entity):
 
     def __init__(
         self,
-        adguard: AdGuardHome,
+        data: AdGuardData,
         entry: ConfigEntry,
     ) -> None:
         """Initialize the AdGuard Home entity."""
         self._entry = entry
-        self.adguard = adguard
+        self.data = data
+        self.adguard = data.client
 
     async def async_update(self) -> None:
         """Update AdGuard Home entity."""
@@ -68,8 +70,6 @@ class AdGuardHomeEntity(Entity):
             },
             manufacturer="AdGuard Team",
             name="AdGuard Home",
-            sw_version=self.hass.data[DOMAIN][self._entry.entry_id].get(
-                DATA_ADGUARD_VERSION
-            ),
+            sw_version=self.data.version,
             configuration_url=config_url,
         )
diff --git a/homeassistant/components/adguard/sensor.py b/homeassistant/components/adguard/sensor.py
index 1e95a07bffa2378b6e81ca408bb8056da971d84c..ce112f49531d3316738334bf85bd2853f7743bda 100644
--- a/homeassistant/components/adguard/sensor.py
+++ b/homeassistant/components/adguard/sensor.py
@@ -7,16 +7,16 @@ from dataclasses import dataclass
 from datetime import timedelta
 from typing import Any
 
-from adguardhome import AdGuardHome, AdGuardHomeConnectionError
+from adguardhome import AdGuardHome
 
 from homeassistant.components.sensor import SensorEntity, SensorEntityDescription
 from homeassistant.config_entries import ConfigEntry
 from homeassistant.const import PERCENTAGE, UnitOfTime
 from homeassistant.core import HomeAssistant
-from homeassistant.exceptions import PlatformNotReady
 from homeassistant.helpers.entity_platform import AddEntitiesCallback
 
-from .const import DATA_ADGUARD_CLIENT, DATA_ADGUARD_VERSION, DOMAIN
+from . import AdGuardData
+from .const import DOMAIN
 from .entity import AdGuardHomeEntity
 
 SCAN_INTERVAL = timedelta(seconds=300)
@@ -89,17 +89,10 @@ async def async_setup_entry(
     async_add_entities: AddEntitiesCallback,
 ) -> None:
     """Set up AdGuard Home sensor based on a config entry."""
-    adguard = hass.data[DOMAIN][entry.entry_id][DATA_ADGUARD_CLIENT]
-
-    try:
-        version = await adguard.version()
-    except AdGuardHomeConnectionError as exception:
-        raise PlatformNotReady from exception
-
-    hass.data[DOMAIN][entry.entry_id][DATA_ADGUARD_VERSION] = version
+    data: AdGuardData = hass.data[DOMAIN][entry.entry_id]
 
     async_add_entities(
-        [AdGuardHomeSensor(adguard, entry, description) for description in SENSORS],
+        [AdGuardHomeSensor(data, entry, description) for description in SENSORS],
         True,
     )
 
@@ -111,18 +104,18 @@ class AdGuardHomeSensor(AdGuardHomeEntity, SensorEntity):
 
     def __init__(
         self,
-        adguard: AdGuardHome,
+        data: AdGuardData,
         entry: ConfigEntry,
         description: AdGuardHomeEntityDescription,
     ) -> None:
         """Initialize AdGuard Home sensor."""
-        super().__init__(adguard, entry)
+        super().__init__(data, entry)
         self.entity_description = description
         self._attr_unique_id = "_".join(
             [
                 DOMAIN,
-                adguard.host,
-                str(adguard.port),
+                self.adguard.host,
+                str(self.adguard.port),
                 "sensor",
                 description.key,
             ]
diff --git a/homeassistant/components/adguard/switch.py b/homeassistant/components/adguard/switch.py
index ae4bee85d2347604169632556d067f26130680d2..e084ed2f34982f691ac76abc8ce6b42e7da8946e 100644
--- a/homeassistant/components/adguard/switch.py
+++ b/homeassistant/components/adguard/switch.py
@@ -7,15 +7,15 @@ from dataclasses import dataclass
 from datetime import timedelta
 from typing import Any
 
-from adguardhome import AdGuardHome, AdGuardHomeConnectionError, AdGuardHomeError
+from adguardhome import AdGuardHome, AdGuardHomeError
 
 from homeassistant.components.switch import SwitchEntity, SwitchEntityDescription
 from homeassistant.config_entries import ConfigEntry
 from homeassistant.core import HomeAssistant
-from homeassistant.exceptions import PlatformNotReady
 from homeassistant.helpers.entity_platform import AddEntitiesCallback
 
-from .const import DATA_ADGUARD_CLIENT, DATA_ADGUARD_VERSION, DOMAIN, LOGGER
+from . import AdGuardData
+from .const import DOMAIN, LOGGER
 from .entity import AdGuardHomeEntity
 
 SCAN_INTERVAL = timedelta(seconds=10)
@@ -83,17 +83,10 @@ async def async_setup_entry(
     async_add_entities: AddEntitiesCallback,
 ) -> None:
     """Set up AdGuard Home switch based on a config entry."""
-    adguard = hass.data[DOMAIN][entry.entry_id][DATA_ADGUARD_CLIENT]
-
-    try:
-        version = await adguard.version()
-    except AdGuardHomeConnectionError as exception:
-        raise PlatformNotReady from exception
-
-    hass.data[DOMAIN][entry.entry_id][DATA_ADGUARD_VERSION] = version
+    data: AdGuardData = hass.data[DOMAIN][entry.entry_id]
 
     async_add_entities(
-        [AdGuardHomeSwitch(adguard, entry, description) for description in SWITCHES],
+        [AdGuardHomeSwitch(data, entry, description) for description in SWITCHES],
         True,
     )
 
@@ -105,15 +98,21 @@ class AdGuardHomeSwitch(AdGuardHomeEntity, SwitchEntity):
 
     def __init__(
         self,
-        adguard: AdGuardHome,
+        data: AdGuardData,
         entry: ConfigEntry,
         description: AdGuardHomeSwitchEntityDescription,
     ) -> None:
         """Initialize AdGuard Home switch."""
-        super().__init__(adguard, entry)
+        super().__init__(data, entry)
         self.entity_description = description
         self._attr_unique_id = "_".join(
-            [DOMAIN, adguard.host, str(adguard.port), "switch", description.key]
+            [
+                DOMAIN,
+                self.adguard.host,
+                str(self.adguard.port),
+                "switch",
+                description.key,
+            ]
         )
 
     async def async_turn_off(self, **kwargs: Any) -> None: