diff --git a/homeassistant/components/huawei_lte/sensor.py b/homeassistant/components/huawei_lte/sensor.py
index 4479f3835248e80b12f3a166df54c6b098a57136..57963046cbc732188133a8944756fee884d7e658 100644
--- a/homeassistant/components/huawei_lte/sensor.py
+++ b/homeassistant/components/huawei_lte/sensor.py
@@ -21,6 +21,8 @@ from homeassistant.config_entries import ConfigEntry
 from homeassistant.const import (
     DATA_BYTES,
     DATA_RATE_BYTES_PER_SECOND,
+    ENTITY_CATEGORY_CONFIG,
+    ENTITY_CATEGORY_DIAGNOSTIC,
     FREQUENCY_MEGAHERTZ,
     PERCENTAGE,
     STATE_UNKNOWN,
@@ -58,6 +60,7 @@ class SensorMeta(NamedTuple):
     unit: str | None = None
     state_class: str | None = None
     enabled_default: bool = False
+    entity_category: str | None = None
     include: re.Pattern[str] | None = None
     exclude: re.Pattern[str] | None = None
     formatter: Callable[[str], tuple[StateType, str | None]] | None = None
@@ -65,19 +68,38 @@ class SensorMeta(NamedTuple):
 
 SENSOR_META: dict[str | tuple[str, str], SensorMeta] = {
     KEY_DEVICE_INFORMATION: SensorMeta(
-        include=re.compile(r"^WanIP.*Address$", re.IGNORECASE)
+        include=re.compile(r"^(WanIP.*Address|uptime)$", re.IGNORECASE)
     ),
     (KEY_DEVICE_INFORMATION, "WanIPAddress"): SensorMeta(
-        name="WAN IP address", icon="mdi:ip", enabled_default=True
+        name="WAN IP address",
+        icon="mdi:ip",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
+        enabled_default=True,
     ),
     (KEY_DEVICE_INFORMATION, "WanIPv6Address"): SensorMeta(
-        name="WAN IPv6 address", icon="mdi:ip"
+        name="WAN IPv6 address",
+        icon="mdi:ip",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
+    ),
+    (KEY_DEVICE_INFORMATION, "uptime"): SensorMeta(
+        name="Uptime",
+        icon="mdi:timer-outline",
+        unit=TIME_SECONDS,
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
+    ),
+    (KEY_DEVICE_SIGNAL, "band"): SensorMeta(
+        name="Band",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
     ),
-    (KEY_DEVICE_SIGNAL, "band"): SensorMeta(name="Band"),
     (KEY_DEVICE_SIGNAL, "cell_id"): SensorMeta(
-        name="Cell ID", icon="mdi:transmission-tower"
+        name="Cell ID",
+        icon="mdi:transmission-tower",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
+    ),
+    (KEY_DEVICE_SIGNAL, "dl_mcs"): SensorMeta(
+        name="Downlink MCS",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
     ),
-    (KEY_DEVICE_SIGNAL, "dl_mcs"): SensorMeta(name="Downlink MCS"),
     (KEY_DEVICE_SIGNAL, "dlbandwidth"): SensorMeta(
         name="Downlink bandwidth",
         icon=lambda x: (
@@ -85,19 +107,48 @@ SENSOR_META: dict[str | tuple[str, str], SensorMeta] = {
             "mdi:speedometer-medium",
             "mdi:speedometer",
         )[bisect((8, 15), x if x is not None else -1000)],
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
+    ),
+    (KEY_DEVICE_SIGNAL, "earfcn"): SensorMeta(
+        name="EARFCN",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
+    ),
+    (KEY_DEVICE_SIGNAL, "lac"): SensorMeta(
+        name="LAC",
+        icon="mdi:map-marker",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
+    ),
+    (KEY_DEVICE_SIGNAL, "plmn"): SensorMeta(
+        name="PLMN",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
+    ),
+    (KEY_DEVICE_SIGNAL, "rac"): SensorMeta(
+        name="RAC",
+        icon="mdi:map-marker",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
+    ),
+    (KEY_DEVICE_SIGNAL, "rrc_status"): SensorMeta(
+        name="RRC status",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
+    ),
+    (KEY_DEVICE_SIGNAL, "tac"): SensorMeta(
+        name="TAC",
+        icon="mdi:map-marker",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
+    ),
+    (KEY_DEVICE_SIGNAL, "tdd"): SensorMeta(
+        name="TDD",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
     ),
-    (KEY_DEVICE_SIGNAL, "earfcn"): SensorMeta(name="EARFCN"),
-    (KEY_DEVICE_SIGNAL, "lac"): SensorMeta(name="LAC", icon="mdi:map-marker"),
-    (KEY_DEVICE_SIGNAL, "plmn"): SensorMeta(name="PLMN"),
-    (KEY_DEVICE_SIGNAL, "rac"): SensorMeta(name="RAC", icon="mdi:map-marker"),
-    (KEY_DEVICE_SIGNAL, "rrc_status"): SensorMeta(name="RRC status"),
-    (KEY_DEVICE_SIGNAL, "tac"): SensorMeta(name="TAC", icon="mdi:map-marker"),
-    (KEY_DEVICE_SIGNAL, "tdd"): SensorMeta(name="TDD"),
     (KEY_DEVICE_SIGNAL, "txpower"): SensorMeta(
         name="Transmit power",
         device_class=DEVICE_CLASS_SIGNAL_STRENGTH,
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
+    ),
+    (KEY_DEVICE_SIGNAL, "ul_mcs"): SensorMeta(
+        name="Uplink MCS",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
     ),
-    (KEY_DEVICE_SIGNAL, "ul_mcs"): SensorMeta(name="Uplink MCS"),
     (KEY_DEVICE_SIGNAL, "ulbandwidth"): SensorMeta(
         name="Uplink bandwidth",
         icon=lambda x: (
@@ -105,6 +156,7 @@ SENSOR_META: dict[str | tuple[str, str], SensorMeta] = {
             "mdi:speedometer-medium",
             "mdi:speedometer",
         )[bisect((8, 15), x if x is not None else -1000)],
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
     ),
     (KEY_DEVICE_SIGNAL, "mode"): SensorMeta(
         name="Mode",
@@ -114,8 +166,13 @@ SENSOR_META: dict[str | tuple[str, str], SensorMeta] = {
                 str(x), "mdi:signal"
             )
         ),
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
+    ),
+    (KEY_DEVICE_SIGNAL, "pci"): SensorMeta(
+        name="PCI",
+        icon="mdi:transmission-tower",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
     ),
-    (KEY_DEVICE_SIGNAL, "pci"): SensorMeta(name="PCI", icon="mdi:transmission-tower"),
     (KEY_DEVICE_SIGNAL, "rsrq"): SensorMeta(
         name="RSRQ",
         device_class=DEVICE_CLASS_SIGNAL_STRENGTH,
@@ -127,6 +184,7 @@ SENSOR_META: dict[str | tuple[str, str], SensorMeta] = {
             "mdi:signal-cellular-3",
         )[bisect((-11, -8, -5), x if x is not None else -1000)],
         state_class=STATE_CLASS_MEASUREMENT,
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
         enabled_default=True,
     ),
     (KEY_DEVICE_SIGNAL, "rsrp"): SensorMeta(
@@ -140,6 +198,7 @@ SENSOR_META: dict[str | tuple[str, str], SensorMeta] = {
             "mdi:signal-cellular-3",
         )[bisect((-110, -95, -80), x if x is not None else -1000)],
         state_class=STATE_CLASS_MEASUREMENT,
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
         enabled_default=True,
     ),
     (KEY_DEVICE_SIGNAL, "rssi"): SensorMeta(
@@ -153,6 +212,7 @@ SENSOR_META: dict[str | tuple[str, str], SensorMeta] = {
             "mdi:signal-cellular-3",
         )[bisect((-80, -70, -60), x if x is not None else -1000)],
         state_class=STATE_CLASS_MEASUREMENT,
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
         enabled_default=True,
     ),
     (KEY_DEVICE_SIGNAL, "sinr"): SensorMeta(
@@ -166,6 +226,7 @@ SENSOR_META: dict[str | tuple[str, str], SensorMeta] = {
             "mdi:signal-cellular-3",
         )[bisect((0, 5, 10), x if x is not None else -1000)],
         state_class=STATE_CLASS_MEASUREMENT,
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
         enabled_default=True,
     ),
     (KEY_DEVICE_SIGNAL, "rscp"): SensorMeta(
@@ -179,6 +240,7 @@ SENSOR_META: dict[str | tuple[str, str], SensorMeta] = {
             "mdi:signal-cellular-3",
         )[bisect((-95, -85, -75), x if x is not None else -1000)],
         state_class=STATE_CLASS_MEASUREMENT,
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
     ),
     (KEY_DEVICE_SIGNAL, "ecio"): SensorMeta(
         name="EC/IO",
@@ -191,22 +253,32 @@ SENSOR_META: dict[str | tuple[str, str], SensorMeta] = {
             "mdi:signal-cellular-3",
         )[bisect((-20, -10, -6), x if x is not None else -1000)],
         state_class=STATE_CLASS_MEASUREMENT,
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
+    ),
+    (KEY_DEVICE_SIGNAL, "transmode"): SensorMeta(
+        name="Transmission mode",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
     ),
-    (KEY_DEVICE_SIGNAL, "transmode"): SensorMeta(name="Transmission mode"),
     (KEY_DEVICE_SIGNAL, "cqi0"): SensorMeta(
         name="CQI 0",
         icon="mdi:speedometer",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
     ),
     (KEY_DEVICE_SIGNAL, "cqi1"): SensorMeta(
         name="CQI 1",
         icon="mdi:speedometer",
     ),
+    (KEY_DEVICE_SIGNAL, "enodeb_id"): SensorMeta(
+        name="eNodeB ID",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
+    ),
     (KEY_DEVICE_SIGNAL, "ltedlfreq"): SensorMeta(
         name="Downlink frequency",
         formatter=lambda x: (
             round(int(x) / 10) if x is not None else None,
             FREQUENCY_MEGAHERTZ,
         ),
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
     ),
     (KEY_DEVICE_SIGNAL, "lteulfreq"): SensorMeta(
         name="Uplink frequency",
@@ -214,6 +286,7 @@ SENSOR_META: dict[str | tuple[str, str], SensorMeta] = {
             round(int(x) / 10) if x is not None else None,
             FREQUENCY_MEGAHERTZ,
         ),
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
     ),
     KEY_MONITORING_CHECK_NOTIFICATIONS: SensorMeta(
         exclude=re.compile(
@@ -250,23 +323,33 @@ SENSOR_META: dict[str | tuple[str, str], SensorMeta] = {
         device_class=DEVICE_CLASS_BATTERY,
         unit=PERCENTAGE,
         state_class=STATE_CLASS_MEASUREMENT,
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
     ),
     (KEY_MONITORING_STATUS, "CurrentWifiUser"): SensorMeta(
         name="WiFi clients connected",
         icon="mdi:wifi",
         state_class=STATE_CLASS_MEASUREMENT,
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
     ),
     (KEY_MONITORING_STATUS, "PrimaryDns"): SensorMeta(
-        name="Primary DNS server", icon="mdi:ip"
+        name="Primary DNS server",
+        icon="mdi:ip",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
     ),
     (KEY_MONITORING_STATUS, "SecondaryDns"): SensorMeta(
-        name="Secondary DNS server", icon="mdi:ip"
+        name="Secondary DNS server",
+        icon="mdi:ip",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
     ),
     (KEY_MONITORING_STATUS, "PrimaryIPv6Dns"): SensorMeta(
-        name="Primary IPv6 DNS server", icon="mdi:ip"
+        name="Primary IPv6 DNS server",
+        icon="mdi:ip",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
     ),
     (KEY_MONITORING_STATUS, "SecondaryIPv6Dns"): SensorMeta(
-        name="Secondary IPv6 DNS server", icon="mdi:ip"
+        name="Secondary IPv6 DNS server",
+        icon="mdi:ip",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
     ),
     KEY_MONITORING_TRAFFIC_STATISTICS: SensorMeta(
         exclude=re.compile(r"^showtraffic$", re.IGNORECASE)
@@ -322,12 +405,15 @@ SENSOR_META: dict[str | tuple[str, str], SensorMeta] = {
     (KEY_NET_CURRENT_PLMN, "State"): SensorMeta(
         name="Operator search mode",
         formatter=lambda x: ({"0": "Auto", "1": "Manual"}.get(x, "Unknown"), None),
+        entity_category=ENTITY_CATEGORY_CONFIG,
     ),
     (KEY_NET_CURRENT_PLMN, "FullName"): SensorMeta(
         name="Operator name",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
     ),
     (KEY_NET_CURRENT_PLMN, "Numeric"): SensorMeta(
         name="Operator code",
+        entity_category=ENTITY_CATEGORY_DIAGNOSTIC,
     ),
     KEY_NET_NET_MODE: SensorMeta(include=re.compile(r"^NetworkMode$", re.IGNORECASE)),
     (KEY_NET_NET_MODE, "NetworkMode"): SensorMeta(
@@ -344,6 +430,7 @@ SENSOR_META: dict[str | tuple[str, str], SensorMeta] = {
             }.get(x, "Unknown"),
             None,
         ),
+        entity_category=ENTITY_CATEGORY_CONFIG,
     ),
     (KEY_SMS_SMS_COUNT, "LocalDeleted"): SensorMeta(
         name="SMS deleted (device)",
@@ -514,3 +601,8 @@ class HuaweiLteSensor(HuaweiLteBaseEntity, SensorEntity):
 
         self._state, self._unit = formatter(value)
         self._available = value is not None
+
+    @property
+    def entity_category(self) -> str | None:
+        """Return category of entity, if any."""
+        return self.meta.entity_category