diff --git a/homeassistant/components/dyson/sensor.py b/homeassistant/components/dyson/sensor.py index f4df4c83ab0..b7235bd1797 100644 --- a/homeassistant/components/dyson/sensor.py +++ b/homeassistant/components/dyson/sensor.py @@ -4,14 +4,19 @@ import logging from libpurecool.dyson_pure_cool import DysonPureCool from libpurecool.dyson_pure_cool_link import DysonPureCoolLink -from homeassistant.const import PERCENTAGE, STATE_OFF, TEMP_CELSIUS, TIME_HOURS +from homeassistant.const import ( + DEVICE_CLASS_HUMIDITY, + DEVICE_CLASS_TEMPERATURE, + PERCENTAGE, + STATE_OFF, + TEMP_CELSIUS, + TIME_HOURS, +) from homeassistant.helpers.entity import Entity from . import DYSON_DEVICES, DysonEntity SENSOR_UNITS = { - "air_quality": None, - "dust": None, "filter_life": TIME_HOURS, "carbon_filter_state": PERCENTAGE, "hepa_filter_state": PERCENTAGE, @@ -26,8 +31,6 @@ SENSOR_ICONS = { "carbon_filter_state": "mdi:filter-outline", "hepa_filter_state": "mdi:filter-outline", "combi_filter_state": "mdi:filter-outline", - "humidity": "mdi:water-percent", - "temperature": "mdi:thermometer", } SENSOR_NAMES = { @@ -41,6 +44,11 @@ SENSOR_NAMES = { "temperature": "Temperature", } +SENSOR_DEVICE_CLASSES = { + "humidity": DEVICE_CLASS_HUMIDITY, + "temperature": DEVICE_CLASS_TEMPERATURE, +} + DYSON_SENSOR_DEVICES = "dyson_sensor_devices" _LOGGER = logging.getLogger(__name__) @@ -119,12 +127,17 @@ class DysonSensor(DysonEntity, Entity): @property def unit_of_measurement(self): """Return the unit the value is expressed in.""" - return SENSOR_UNITS[self._sensor_type] + return SENSOR_UNITS.get(self._sensor_type) @property def icon(self): """Return the icon for this sensor.""" - return SENSOR_ICONS[self._sensor_type] + return SENSOR_ICONS.get(self._sensor_type) + + @property + def device_class(self): + """Return the device class of this sensor.""" + return SENSOR_DEVICE_CLASSES.get(self._sensor_type) class DysonFilterLifeSensor(DysonSensor): diff --git a/tests/components/dyson/test_sensor.py b/tests/components/dyson/test_sensor.py index 7ad6ab6c2f2..0d2fbaf75fd 100644 --- a/tests/components/dyson/test_sensor.py +++ b/tests/components/dyson/test_sensor.py @@ -10,6 +10,8 @@ from homeassistant.components import dyson as dyson_parent from homeassistant.components.dyson import sensor as dyson from homeassistant.const import ( ATTR_UNIT_OF_MEASUREMENT, + DEVICE_CLASS_HUMIDITY, + DEVICE_CLASS_TEMPERATURE, PERCENTAGE, STATE_OFF, TEMP_CELSIUS, @@ -203,6 +205,7 @@ class DysonTest(unittest.TestCase): assert sensor.unit_of_measurement == PERCENTAGE assert sensor.name == "Device_name Humidity" assert sensor.entity_id == "sensor.dyson_1" + assert sensor.device_class == DEVICE_CLASS_HUMIDITY def test_dyson_humidity_sensor_with_values(self): """Test humidity sensor with values.""" @@ -236,6 +239,7 @@ class DysonTest(unittest.TestCase): assert sensor.unit_of_measurement == TEMP_CELSIUS assert sensor.name == "Device_name Temperature" assert sensor.entity_id == "sensor.dyson_1" + assert sensor.device_class == DEVICE_CLASS_TEMPERATURE def test_dyson_temperature_sensor_with_values(self): """Test temperature sensor with values."""