mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Remove signal strength state class from Huawei LTE transmit power sensor (#85973)
Co-authored-by: Franck Nijhof <git@frenck.dev>
This commit is contained in:
parent
abc8b891be
commit
f0e6f45e43
@ -118,6 +118,7 @@ class HuaweiSensorEntityDescription(SensorEntityDescription):
|
|||||||
|
|
||||||
format_fn: Callable[[str], tuple[StateType, str | None]] = format_default
|
format_fn: Callable[[str], tuple[StateType, str | None]] = format_default
|
||||||
icon_fn: Callable[[StateType], str] | None = None
|
icon_fn: Callable[[StateType], str] | None = None
|
||||||
|
device_class_fn: Callable[[StateType], SensorDeviceClass | None] | None = None
|
||||||
last_reset_item: str | None = None
|
last_reset_item: str | None = None
|
||||||
last_reset_format_fn: Callable[[str | None], datetime | None] | None = None
|
last_reset_format_fn: Callable[[str | None], datetime | None] | None = None
|
||||||
|
|
||||||
@ -351,7 +352,15 @@ SENSOR_META: dict[str, HuaweiSensorGroup] = {
|
|||||||
"txpower": HuaweiSensorEntityDescription(
|
"txpower": HuaweiSensorEntityDescription(
|
||||||
key="txpower",
|
key="txpower",
|
||||||
name="Transmit power",
|
name="Transmit power",
|
||||||
device_class=SensorDeviceClass.SIGNAL_STRENGTH,
|
# The value we get from the API tends to consist of several, e.g.
|
||||||
|
# PPusch:15dBm PPucch:2dBm PSrs:42dBm PPrach:1dBm
|
||||||
|
# Present as SIGNAL_STRENGTH only if it was parsed to a number.
|
||||||
|
# We could try to parse this to separate component sensors sometime.
|
||||||
|
device_class_fn=lambda x: (
|
||||||
|
SensorDeviceClass.SIGNAL_STRENGTH
|
||||||
|
if isinstance(x, (float, int))
|
||||||
|
else None
|
||||||
|
),
|
||||||
entity_category=EntityCategory.DIAGNOSTIC,
|
entity_category=EntityCategory.DIAGNOSTIC,
|
||||||
),
|
),
|
||||||
"ul_mcs": HuaweiSensorEntityDescription(
|
"ul_mcs": HuaweiSensorEntityDescription(
|
||||||
@ -744,6 +753,14 @@ class HuaweiLteSensor(HuaweiLteBaseEntityWithDevice, SensorEntity):
|
|||||||
return self.entity_description.icon_fn(self.state)
|
return self.entity_description.icon_fn(self.state)
|
||||||
return self.entity_description.icon
|
return self.entity_description.icon
|
||||||
|
|
||||||
|
@property
|
||||||
|
def device_class(self) -> SensorDeviceClass | None:
|
||||||
|
"""Return device class for sensor."""
|
||||||
|
if self.entity_description.device_class_fn:
|
||||||
|
# Note: using self.state could infloop here.
|
||||||
|
return self.entity_description.device_class_fn(self.native_value)
|
||||||
|
return super().device_class
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def last_reset(self) -> datetime | None:
|
def last_reset(self) -> datetime | None:
|
||||||
"""Return the time when the sensor was last reset, if any."""
|
"""Return the time when the sensor was last reset, if any."""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user