diff --git a/homeassistant/components/update/__init__.py b/homeassistant/components/update/__init__.py
index 0ff8c4481978489764576effca53c6ef02bbe465..47cc5aa369b2b38c8f51c314356196dba342fee5 100644
--- a/homeassistant/components/update/__init__.py
+++ b/homeassistant/components/update/__init__.py
@@ -226,7 +226,7 @@ class UpdateEntity(
     _attr_installed_version: str | None = None
     _attr_device_class: UpdateDeviceClass | None
     _attr_display_precision: int
-    _attr_in_progress: bool | int = False
+    _attr_in_progress: bool = False
     _attr_latest_version: str | None = None
     _attr_release_summary: str | None = None
     _attr_release_url: str | None = None
@@ -295,7 +295,7 @@ class UpdateEntity(
         )
 
     @cached_property
-    def in_progress(self) -> bool | int | None:
+    def in_progress(self) -> bool | None:
         """Update installation progress.
 
         Needs UpdateEntityFeature.PROGRESS flag to be set for it to be used.
@@ -442,7 +442,7 @@ class UpdateEntity(
             in_progress = self.in_progress
             update_percentage = self.update_percentage if in_progress else None
             if type(in_progress) is not bool and isinstance(in_progress, int):
-                update_percentage = in_progress
+                update_percentage = in_progress  # type: ignore[unreachable]
                 in_progress = True
         else:
             in_progress = self.__in_progress
diff --git a/pylint/plugins/hass_enforce_type_hints.py b/pylint/plugins/hass_enforce_type_hints.py
index a4590207294f8fe7fc8f034a4e6301c2797f714c..ca7777da959fde531347f6b74500c9329d3164b1 100644
--- a/pylint/plugins/hass_enforce_type_hints.py
+++ b/pylint/plugins/hass_enforce_type_hints.py
@@ -2568,7 +2568,7 @@ _INHERITANCE_MATCH: dict[str, list[ClassTypeHintMatch]] = {
                 ),
                 TypeHintMatch(
                     function_name="in_progress",
-                    return_type=["bool", "int", None],
+                    return_type=["bool", None],
                 ),
                 TypeHintMatch(
                     function_name="latest_version",
@@ -2590,6 +2590,10 @@ _INHERITANCE_MATCH: dict[str, list[ClassTypeHintMatch]] = {
                     function_name="title",
                     return_type=["str", None],
                 ),
+                TypeHintMatch(
+                    function_name="update_percentage",
+                    return_type=["int", "float", None],
+                ),
                 TypeHintMatch(
                     function_name="install",
                     arg_types={1: "str | None", 2: "bool"},