From 2d34ebc506e2b7d6c99bfde584218e909f0381d7 Mon Sep 17 00:00:00 2001 From: Jonas Pedersen Date: Sun, 22 Aug 2021 19:59:59 +0200 Subject: [PATCH] Add state_class to relevant sensors in Danfoss Air (#54847) Co-authored-by: Franck Nijhof --- .../components/danfoss_air/sensor.py | 34 +++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/homeassistant/components/danfoss_air/sensor.py b/homeassistant/components/danfoss_air/sensor.py index 25db56a1624..264e69739af 100644 --- a/homeassistant/components/danfoss_air/sensor.py +++ b/homeassistant/components/danfoss_air/sensor.py @@ -3,7 +3,7 @@ import logging from pydanfossair.commands import ReadCommand -from homeassistant.components.sensor import SensorEntity +from homeassistant.components.sensor import STATE_CLASS_MEASUREMENT, SensorEntity from homeassistant.const import ( DEVICE_CLASS_BATTERY, DEVICE_CLASS_HUMIDITY, @@ -27,52 +27,73 @@ def setup_platform(hass, config, add_entities, discovery_info=None): TEMP_CELSIUS, ReadCommand.exhaustTemperature, DEVICE_CLASS_TEMPERATURE, + STATE_CLASS_MEASUREMENT, ], [ "Danfoss Air Outdoor Temperature", TEMP_CELSIUS, ReadCommand.outdoorTemperature, DEVICE_CLASS_TEMPERATURE, + STATE_CLASS_MEASUREMENT, ], [ "Danfoss Air Supply Temperature", TEMP_CELSIUS, ReadCommand.supplyTemperature, DEVICE_CLASS_TEMPERATURE, + STATE_CLASS_MEASUREMENT, ], [ "Danfoss Air Extract Temperature", TEMP_CELSIUS, ReadCommand.extractTemperature, DEVICE_CLASS_TEMPERATURE, + STATE_CLASS_MEASUREMENT, ], [ "Danfoss Air Remaining Filter", PERCENTAGE, ReadCommand.filterPercent, None, + None, ], [ "Danfoss Air Humidity", PERCENTAGE, ReadCommand.humidity, DEVICE_CLASS_HUMIDITY, + STATE_CLASS_MEASUREMENT, + ], + ["Danfoss Air Fan Step", PERCENTAGE, ReadCommand.fan_step, None, None], + [ + "Danfoss Air Exhaust Fan Speed", + "RPM", + ReadCommand.exhaust_fan_speed, + None, + None, + ], + [ + "Danfoss Air Supply Fan Speed", + "RPM", + ReadCommand.supply_fan_speed, + None, + None, ], - ["Danfoss Air Fan Step", PERCENTAGE, ReadCommand.fan_step, None], - ["Danfoss Air Exhaust Fan Speed", "RPM", ReadCommand.exhaust_fan_speed, None], - ["Danfoss Air Supply Fan Speed", "RPM", ReadCommand.supply_fan_speed, None], [ "Danfoss Air Dial Battery", PERCENTAGE, ReadCommand.battery_percent, DEVICE_CLASS_BATTERY, + None, ], ] dev = [] for sensor in sensors: - dev.append(DanfossAir(data, sensor[0], sensor[1], sensor[2], sensor[3])) + dev.append( + DanfossAir(data, sensor[0], sensor[1], sensor[2], sensor[3], sensor[4]) + ) add_entities(dev, True) @@ -80,7 +101,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None): class DanfossAir(SensorEntity): """Representation of a Sensor.""" - def __init__(self, data, name, sensor_unit, sensor_type, device_class): + def __init__(self, data, name, sensor_unit, sensor_type, device_class, state_class): """Initialize the sensor.""" self._data = data self._name = name @@ -88,6 +109,7 @@ class DanfossAir(SensorEntity): self._type = sensor_type self._unit = sensor_unit self._device_class = device_class + self._attr_state_class = state_class @property def name(self):