Cache entity properties that are never expected to change in the base class (#95315)
This commit is contained in:
parent
5f20725fd5
commit
042776ebb8
35 changed files with 146 additions and 48 deletions
|
@ -645,6 +645,13 @@ class ZwaveSensor(ZWaveBaseEntity, SensorEntity):
|
|||
return None
|
||||
return str(self.info.primary_value.metadata.unit)
|
||||
|
||||
@property # type: ignore[override]
|
||||
# fget is used in the child classes which is not compatible with cached_property
|
||||
# mypy also doesn't know about fget: https://github.com/python/mypy/issues/6185
|
||||
def device_class(self) -> SensorDeviceClass | None:
|
||||
"""Return device class of sensor."""
|
||||
return super().device_class
|
||||
|
||||
|
||||
class ZWaveNumericSensor(ZwaveSensor):
|
||||
"""Representation of a Z-Wave Numeric sensor."""
|
||||
|
@ -737,7 +744,9 @@ class ZWaveListSensor(ZwaveSensor):
|
|||
return list(self.info.primary_value.metadata.states.values())
|
||||
return None
|
||||
|
||||
@property
|
||||
@property # type: ignore[override]
|
||||
# fget is used which is not compatible with cached_property
|
||||
# mypy also doesn't know about fget: https://github.com/python/mypy/issues/6185
|
||||
def device_class(self) -> SensorDeviceClass | None:
|
||||
"""Return sensor device class."""
|
||||
if (device_class := super().device_class) is not None:
|
||||
|
@ -781,7 +790,7 @@ class ZWaveConfigParameterSensor(ZWaveListSensor):
|
|||
additional_info=[property_key_name] if property_key_name else None,
|
||||
)
|
||||
|
||||
@property
|
||||
@property # type: ignore[override]
|
||||
def device_class(self) -> SensorDeviceClass | None:
|
||||
"""Return sensor device class."""
|
||||
# mypy doesn't know about fget: https://github.com/python/mypy/issues/6185
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue