From 1c96cf33b894f1d6ba5d5a65405d2a49946028fe Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Mon, 25 Dec 2023 21:11:48 -1000 Subject: [PATCH] Avoid recreating a set each time sensor unit_of_measurement is called (#106401) --- homeassistant/components/sensor/__init__.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/sensor/__init__.py b/homeassistant/components/sensor/__init__.py index 9965fae9d59..5fca119d5b5 100644 --- a/homeassistant/components/sensor/__init__.py +++ b/homeassistant/components/sensor/__init__.py @@ -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