diff --git a/homeassistant/components/esphome/entity.py b/homeassistant/components/esphome/entity.py
index 8241d0f456348306fb7e33f4eb94838cd8239480..6e02f8de8691c8f9f916f115a95b436147737abf 100644
--- a/homeassistant/components/esphome/entity.py
+++ b/homeassistant/components/esphome/entity.py
@@ -190,13 +190,13 @@ class EsphomeEntity(Entity, Generic[_InfoT, _StateT]):
     ) -> None:
         """Initialize."""
         self._entry_data = entry_data
+        assert entry_data.device_info is not None
+        device_info = entry_data.device_info
+        self._device_info = device_info
         self._on_entry_data_changed()
         self._key = entity_info.key
         self._state_type = state_type
         self._on_static_info_update(entity_info)
-        assert entry_data.device_info is not None
-        device_info = entry_data.device_info
-        self._device_info = device_info
         self._attr_device_info = DeviceInfo(
             connections={(dr.CONNECTION_NETWORK_MAC, device_info.mac_address)}
         )
@@ -288,6 +288,12 @@ class EsphomeEntity(Entity, Generic[_InfoT, _StateT]):
         entry_data = self._entry_data
         self._api_version = entry_data.api_version
         self._client = entry_data.client
+        if self._device_info.has_deep_sleep:
+            # During deep sleep the ESP will not be connectable (by design)
+            # For these cases, show it as available
+            self._attr_available = entry_data.expected_disconnect
+        else:
+            self._attr_available = entry_data.available
 
     @callback
     def _on_device_update(self) -> None:
@@ -300,16 +306,6 @@ class EsphomeEntity(Entity, Generic[_InfoT, _StateT]):
             # through the next entity state packet.
             self.async_write_ha_state()
 
-    @property
-    def available(self) -> bool:
-        """Return if the entity is available."""
-        if self._device_info.has_deep_sleep:
-            # During deep sleep the ESP will not be connectable (by design)
-            # For these cases, show it as available
-            return self._entry_data.expected_disconnect
-
-        return self._entry_data.available
-
 
 class EsphomeAssistEntity(Entity):
     """Define a base entity for Assist Pipeline entities."""