Avoid recreating a set each time sensor unit_of_measurement is called (#106401)

This commit is contained in:
J. Nick Koston 2023-12-25 21:11:48 -10:00 committed by GitHub
parent b17bec2b0a
commit 1c96cf33b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -198,6 +198,8 @@ CACHED_PROPERTIES_WITH_ATTR_ = {
"suggested_unit_of_measurement",
}
TEMPERATURE_UNITS = {UnitOfTemperature.CELSIUS, UnitOfTemperature.FAHRENHEIT}
class SensorEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
"""Base class for sensor entities."""
@ -509,8 +511,7 @@ class SensorEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_ATTR_):
native_unit_of_measurement = self.native_unit_of_measurement
if (
native_unit_of_measurement
in {UnitOfTemperature.CELSIUS, UnitOfTemperature.FAHRENHEIT}
native_unit_of_measurement in TEMPERATURE_UNITS
and self.device_class is SensorDeviceClass.TEMPERATURE
):
return self.hass.config.units.temperature_unit