Set device_class on temperature sensors R-Z (#52920)

This commit is contained in:
Erik Montnemery 2021-07-12 18:53:52 +02:00 committed by GitHub
parent ad0ccc1b70
commit 1a74fd7a14
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 123 additions and 36 deletions

View file

@ -5,7 +5,11 @@ from regenmaschine.controller import Controller
from homeassistant.components.sensor import SensorEntity from homeassistant.components.sensor import SensorEntity
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import TEMP_CELSIUS, VOLUME_CUBIC_METERS from homeassistant.const import (
DEVICE_CLASS_TEMPERATURE,
TEMP_CELSIUS,
VOLUME_CUBIC_METERS,
)
from homeassistant.core import HomeAssistant, callback from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
@ -62,7 +66,7 @@ SENSORS = {
"Freeze Protect Temperature", "Freeze Protect Temperature",
"mdi:thermometer", "mdi:thermometer",
TEMP_CELSIUS, TEMP_CELSIUS,
"temperature", DEVICE_CLASS_TEMPERATURE,
True, True,
DATA_RESTRICTIONS_UNIVERSAL, DATA_RESTRICTIONS_UNIVERSAL,
), ),

View file

@ -12,6 +12,7 @@ from homeassistant.const import (
CONF_NAME, CONF_NAME,
CONF_PORT, CONF_PORT,
CONF_SENSORS, CONF_SENSORS,
DEVICE_CLASS_TEMPERATURE,
PERCENTAGE, PERCENTAGE,
TEMP_CELSIUS, TEMP_CELSIUS,
) )
@ -110,23 +111,31 @@ def has_all_unique_names(value):
SENSOR_TYPES = { SENSOR_TYPES = {
# Type, Unit, Icon, post # Type, Unit, Icon, post
"bed_temperature": ["temperature", TEMP_CELSIUS, "mdi:thermometer", "_bed_"], "bed_temperature": [
"temperature",
TEMP_CELSIUS,
None,
"_bed_",
DEVICE_CLASS_TEMPERATURE,
],
"extruder_temperature": [ "extruder_temperature": [
"temperature", "temperature",
TEMP_CELSIUS, TEMP_CELSIUS,
"mdi:thermometer", None,
"_extruder_", "_extruder_",
DEVICE_CLASS_TEMPERATURE,
], ],
"chamber_temperature": [ "chamber_temperature": [
"temperature", "temperature",
TEMP_CELSIUS, TEMP_CELSIUS,
"mdi:thermometer", None,
"_chamber_", "_chamber_",
DEVICE_CLASS_TEMPERATURE,
], ],
"current_state": ["state", None, "mdi:printer-3d", ""], "current_state": ["state", None, "mdi:printer-3d", "", None],
"current_job": ["progress", PERCENTAGE, "mdi:file-percent", "_current_job"], "current_job": ["progress", PERCENTAGE, "mdi:file-percent", "_current_job", None],
"job_end": ["progress", None, "mdi:clock-end", "_job_end"], "job_end": ["progress", None, "mdi:clock-end", "_job_end", None],
"job_start": ["progress", None, "mdi:clock-start", "_job_start"], "job_start": ["progress", None, "mdi:clock-start", "_job_start", None],
} }
SENSOR_SCHEMA = vol.Schema( SENSOR_SCHEMA = vol.Schema(

View file

@ -59,6 +59,7 @@ class RepetierSensor(SensorEntity):
self._printer_id = printer_id self._printer_id = printer_id
self._sensor_type = sensor_type self._sensor_type = sensor_type
self._state = None self._state = None
self._attr_device_class = SENSOR_TYPES[self._sensor_type][4]
@property @property
def available(self) -> bool: def available(self) -> bool:

View file

@ -10,6 +10,7 @@ from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity
from homeassistant.const import ( from homeassistant.const import (
CONF_DISPLAY_OPTIONS, CONF_DISPLAY_OPTIONS,
CONF_NAME, CONF_NAME,
DEVICE_CLASS_TEMPERATURE,
PERCENTAGE, PERCENTAGE,
TEMP_CELSIUS, TEMP_CELSIUS,
) )
@ -24,9 +25,9 @@ CONF_IS_HAT_ATTACHED = "is_hat_attached"
MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=60) MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=60)
SENSOR_TYPES = { SENSOR_TYPES = {
"temperature": ["temperature", TEMP_CELSIUS], "temperature": ["temperature", TEMP_CELSIUS, DEVICE_CLASS_TEMPERATURE],
"humidity": ["humidity", PERCENTAGE], "humidity": ["humidity", PERCENTAGE, None],
"pressure": ["pressure", "mb"], "pressure": ["pressure", "mb", None],
} }
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend(
@ -77,6 +78,7 @@ class SenseHatSensor(SensorEntity):
self._unit_of_measurement = SENSOR_TYPES[sensor_types][1] self._unit_of_measurement = SENSOR_TYPES[sensor_types][1]
self.type = sensor_types self.type = sensor_types
self._state = None self._state = None
self._attr_device_class = SENSOR_TYPES[sensor_types][2]
@property @property
def name(self): def name(self):

View file

@ -11,6 +11,7 @@ from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity
from homeassistant.const import ( from homeassistant.const import (
CONF_MONITORED_CONDITIONS, CONF_MONITORED_CONDITIONS,
CONF_NAME, CONF_NAME,
DEVICE_CLASS_TEMPERATURE,
PERCENTAGE, PERCENTAGE,
PRECISION_TENTHS, PRECISION_TENTHS,
TEMP_CELSIUS, TEMP_CELSIUS,
@ -119,6 +120,8 @@ class SHTSensor(SensorEntity):
class SHTSensorTemperature(SHTSensor): class SHTSensorTemperature(SHTSensor):
"""Representation of a temperature sensor.""" """Representation of a temperature sensor."""
_attr_device_class = DEVICE_CLASS_TEMPERATURE
@property @property
def unit_of_measurement(self): def unit_of_measurement(self):
"""Return the unit of measurement.""" """Return the unit of measurement."""

View file

@ -12,6 +12,7 @@ from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity
from homeassistant.const import ( from homeassistant.const import (
CONF_MAC, CONF_MAC,
CONF_NAME, CONF_NAME,
DEVICE_CLASS_TEMPERATURE,
EVENT_HOMEASSISTANT_STOP, EVENT_HOMEASSISTANT_STOP,
PERCENTAGE, PERCENTAGE,
STATE_UNKNOWN, STATE_UNKNOWN,
@ -90,6 +91,7 @@ class SkybeaconHumid(SensorEntity):
class SkybeaconTemp(SensorEntity): class SkybeaconTemp(SensorEntity):
"""Representation of a Skybeacon temperature sensor.""" """Representation of a Skybeacon temperature sensor."""
_attr_device_class = DEVICE_CLASS_TEMPERATURE
_attr_unit_of_measurement = TEMP_CELSIUS _attr_unit_of_measurement = TEMP_CELSIUS
def __init__(self, name, mon): def __init__(self, name, mon):

View file

@ -13,6 +13,7 @@ from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity
from homeassistant.const import ( from homeassistant.const import (
CONF_IP_ADDRESS, CONF_IP_ADDRESS,
CONF_NAME, CONF_NAME,
DEVICE_CLASS_TEMPERATURE,
ELECTRICAL_CURRENT_AMPERE, ELECTRICAL_CURRENT_AMPERE,
ENERGY_WATT_HOUR, ENERGY_WATT_HOUR,
FREQUENCY_HERTZ, FREQUENCY_HERTZ,
@ -51,6 +52,7 @@ SENSOR_TYPES = {
FREQUENCY_HERTZ, FREQUENCY_HERTZ,
"mdi:current-ac", "mdi:current-ac",
None, None,
None,
], ],
"current_power": [ "current_power": [
"currentPower", "currentPower",
@ -58,6 +60,7 @@ SENSOR_TYPES = {
POWER_WATT, POWER_WATT,
"mdi:solar-power", "mdi:solar-power",
None, None,
None,
], ],
"energy_this_month": [ "energy_this_month": [
"energyThisMonth", "energyThisMonth",
@ -65,6 +68,7 @@ SENSOR_TYPES = {
ENERGY_WATT_HOUR, ENERGY_WATT_HOUR,
"mdi:solar-power", "mdi:solar-power",
None, None,
None,
], ],
"energy_this_year": [ "energy_this_year": [
"energyThisYear", "energyThisYear",
@ -72,6 +76,7 @@ SENSOR_TYPES = {
ENERGY_WATT_HOUR, ENERGY_WATT_HOUR,
"mdi:solar-power", "mdi:solar-power",
None, None,
None,
], ],
"energy_today": [ "energy_today": [
"energyToday", "energyToday",
@ -79,13 +84,15 @@ SENSOR_TYPES = {
ENERGY_WATT_HOUR, ENERGY_WATT_HOUR,
"mdi:solar-power", "mdi:solar-power",
None, None,
None,
], ],
"inverter_temperature": [ "inverter_temperature": [
"invertertemperature", "invertertemperature",
"Inverter Temperature", "Inverter Temperature",
TEMP_CELSIUS, TEMP_CELSIUS,
"mdi:thermometer", None,
"operating_mode", "operating_mode",
DEVICE_CLASS_TEMPERATURE,
], ],
"lifetime_energy": [ "lifetime_energy": [
"energyTotal", "energyTotal",
@ -93,6 +100,7 @@ SENSOR_TYPES = {
ENERGY_WATT_HOUR, ENERGY_WATT_HOUR,
"mdi:solar-power", "mdi:solar-power",
None, None,
None,
], ],
"optimizer_connected": [ "optimizer_connected": [
"optimizers", "optimizers",
@ -100,6 +108,7 @@ SENSOR_TYPES = {
"optimizers", "optimizers",
"mdi:solar-panel", "mdi:solar-panel",
"optimizers_connected", "optimizers_connected",
None,
], ],
"optimizer_current": [ "optimizer_current": [
"optimizercurrent", "optimizercurrent",
@ -107,6 +116,7 @@ SENSOR_TYPES = {
ELECTRICAL_CURRENT_AMPERE, ELECTRICAL_CURRENT_AMPERE,
"mdi:solar-panel", "mdi:solar-panel",
None, None,
None,
], ],
"optimizer_power": [ "optimizer_power": [
"optimizerpower", "optimizerpower",
@ -114,6 +124,7 @@ SENSOR_TYPES = {
POWER_WATT, POWER_WATT,
"mdi:solar-panel", "mdi:solar-panel",
None, None,
None,
], ],
"optimizer_temperature": [ "optimizer_temperature": [
"optimizertemperature", "optimizertemperature",
@ -121,6 +132,7 @@ SENSOR_TYPES = {
TEMP_CELSIUS, TEMP_CELSIUS,
"mdi:solar-panel", "mdi:solar-panel",
None, None,
DEVICE_CLASS_TEMPERATURE,
], ],
"optimizer_voltage": [ "optimizer_voltage": [
"optimizervoltage", "optimizervoltage",
@ -128,6 +140,7 @@ SENSOR_TYPES = {
VOLT, VOLT,
"mdi:solar-panel", "mdi:solar-panel",
None, None,
None,
], ],
} }
@ -170,7 +183,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
TEMP_FAHRENHEIT, TEMP_FAHRENHEIT,
"mdi:thermometer", "mdi:thermometer",
"operating_mode", "operating_mode",
None, DEVICE_CLASS_TEMPERATURE,
] ]
try: try:
@ -181,6 +194,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
POWER_WATT, POWER_WATT,
"mdi:arrow-collapse-down", "mdi:arrow-collapse-down",
None, None,
None,
] ]
sensors["import_meter_reading"] = [ sensors["import_meter_reading"] = [
"totalEnergyimport", "totalEnergyimport",
@ -188,6 +202,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
ENERGY_WATT_HOUR, ENERGY_WATT_HOUR,
"mdi:counter", "mdi:counter",
None, None,
None,
] ]
except IndexError: except IndexError:
_LOGGER.debug("Import meter sensors are not created") _LOGGER.debug("Import meter sensors are not created")
@ -200,6 +215,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
POWER_WATT, POWER_WATT,
"mdi:arrow-expand-up", "mdi:arrow-expand-up",
None, None,
None,
] ]
sensors["export_meter_reading"] = [ sensors["export_meter_reading"] = [
"totalEnergyexport", "totalEnergyexport",
@ -207,6 +223,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
ENERGY_WATT_HOUR, ENERGY_WATT_HOUR,
"mdi:counter", "mdi:counter",
None, None,
None,
] ]
except IndexError: except IndexError:
_LOGGER.debug("Export meter sensors are not created") _LOGGER.debug("Export meter sensors are not created")
@ -225,6 +242,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
sensor_info[2], sensor_info[2],
sensor_info[3], sensor_info[3],
sensor_info[4], sensor_info[4],
sensor_info[5],
) )
entities.append(sensor) entities.append(sensor)
@ -234,7 +252,9 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
class SolarEdgeSensor(SensorEntity): class SolarEdgeSensor(SensorEntity):
"""Representation of an SolarEdge Monitoring API sensor.""" """Representation of an SolarEdge Monitoring API sensor."""
def __init__(self, platform_name, data, json_key, name, unit, icon, attr): def __init__(
self, platform_name, data, json_key, name, unit, icon, attr, device_class
):
"""Initialize the sensor.""" """Initialize the sensor."""
self._platform_name = platform_name self._platform_name = platform_name
self._data = data self._data = data
@ -245,6 +265,7 @@ class SolarEdgeSensor(SensorEntity):
self._unit_of_measurement = unit self._unit_of_measurement = unit
self._icon = icon self._icon = icon
self._attr = attr self._attr = attr
self._attr_device_class = device_class
@property @property
def name(self): def name(self):

View file

@ -11,6 +11,8 @@ from homeassistant.const import (
CONF_ID, CONF_ID,
CONF_NAME, CONF_NAME,
CONF_PROTOCOL, CONF_PROTOCOL,
DEVICE_CLASS_HUMIDITY,
DEVICE_CLASS_TEMPERATURE,
PERCENTAGE, PERCENTAGE,
TEMP_CELSIUS, TEMP_CELSIUS,
) )
@ -18,7 +20,9 @@ import homeassistant.helpers.config_validation as cv
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
DatatypeDescription = namedtuple("DatatypeDescription", ["name", "unit"]) DatatypeDescription = namedtuple(
"DatatypeDescription", ["name", "unit", "device_class"]
)
CONF_DATATYPE_MASK = "datatype_mask" CONF_DATATYPE_MASK = "datatype_mask"
CONF_ONLY_NAMED = "only_named" CONF_ONLY_NAMED = "only_named"
@ -58,20 +62,28 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
sensor_value_descriptions = { sensor_value_descriptions = {
tellcore_constants.TELLSTICK_TEMPERATURE: DatatypeDescription( tellcore_constants.TELLSTICK_TEMPERATURE: DatatypeDescription(
"temperature", config.get(CONF_TEMPERATURE_SCALE) "temperature", config.get(CONF_TEMPERATURE_SCALE), DEVICE_CLASS_TEMPERATURE
), ),
tellcore_constants.TELLSTICK_HUMIDITY: DatatypeDescription( tellcore_constants.TELLSTICK_HUMIDITY: DatatypeDescription(
"humidity", PERCENTAGE "humidity",
PERCENTAGE,
DEVICE_CLASS_HUMIDITY,
),
tellcore_constants.TELLSTICK_RAINRATE: DatatypeDescription(
"rain rate", "", None
),
tellcore_constants.TELLSTICK_RAINTOTAL: DatatypeDescription(
"rain total", "", None
), ),
tellcore_constants.TELLSTICK_RAINRATE: DatatypeDescription("rain rate", ""),
tellcore_constants.TELLSTICK_RAINTOTAL: DatatypeDescription("rain total", ""),
tellcore_constants.TELLSTICK_WINDDIRECTION: DatatypeDescription( tellcore_constants.TELLSTICK_WINDDIRECTION: DatatypeDescription(
"wind direction", "" "wind direction", "", None
), ),
tellcore_constants.TELLSTICK_WINDAVERAGE: DatatypeDescription( tellcore_constants.TELLSTICK_WINDAVERAGE: DatatypeDescription(
"wind average", "" "wind average", "", None
),
tellcore_constants.TELLSTICK_WINDGUST: DatatypeDescription(
"wind gust", "", None
), ),
tellcore_constants.TELLSTICK_WINDGUST: DatatypeDescription("wind gust", ""),
} }
try: try:

View file

@ -6,7 +6,7 @@ import voluptuous as vol
from xbee_helper.exceptions import ZigBeeException, ZigBeeTxFailure from xbee_helper.exceptions import ZigBeeException, ZigBeeTxFailure
from homeassistant.components.sensor import SensorEntity from homeassistant.components.sensor import SensorEntity
from homeassistant.const import CONF_TYPE, TEMP_CELSIUS from homeassistant.const import CONF_TYPE, DEVICE_CLASS_TEMPERATURE, TEMP_CELSIUS
from . import DOMAIN, PLATFORM_SCHEMA, XBeeAnalogIn, XBeeAnalogInConfig, XBeeConfig from . import DOMAIN, PLATFORM_SCHEMA, XBeeAnalogIn, XBeeAnalogInConfig, XBeeConfig
@ -46,6 +46,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
class XBeeTemperatureSensor(SensorEntity): class XBeeTemperatureSensor(SensorEntity):
"""Representation of XBee Pro temperature sensor.""" """Representation of XBee Pro temperature sensor."""
_attr_device_class = DEVICE_CLASS_TEMPERATURE
_attr_unit_of_measurement = TEMP_CELSIUS _attr_unit_of_measurement = TEMP_CELSIUS
def __init__(self, config, device): def __init__(self, config, device):

View file

@ -19,6 +19,7 @@ from homeassistant.const import (
CONF_MONITORED_CONDITIONS, CONF_MONITORED_CONDITIONS,
CONF_NAME, CONF_NAME,
DEGREE, DEGREE,
DEVICE_CLASS_TEMPERATURE,
LENGTH_METERS, LENGTH_METERS,
PERCENTAGE, PERCENTAGE,
PRESSURE_HPA, PRESSURE_HPA,
@ -43,43 +44,65 @@ MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=10)
VIENNA_TIME_ZONE = dt_util.get_time_zone("Europe/Vienna") VIENNA_TIME_ZONE = dt_util.get_time_zone("Europe/Vienna")
SENSOR_TYPES = { SENSOR_TYPES = {
"pressure": ("Pressure", PRESSURE_HPA, "LDstat hPa", float), "pressure": ("Pressure", PRESSURE_HPA, None, "LDstat hPa", float),
"pressure_sealevel": ("Pressure at Sea Level", PRESSURE_HPA, "LDred hPa", float), "pressure_sealevel": (
"humidity": ("Humidity", PERCENTAGE, "RF %", int), "Pressure at Sea Level",
PRESSURE_HPA,
None,
"LDred hPa",
float,
),
"humidity": ("Humidity", PERCENTAGE, None, "RF %", int),
"wind_speed": ( "wind_speed": (
"Wind Speed", "Wind Speed",
SPEED_KILOMETERS_PER_HOUR, SPEED_KILOMETERS_PER_HOUR,
None,
f"WG {SPEED_KILOMETERS_PER_HOUR}", f"WG {SPEED_KILOMETERS_PER_HOUR}",
float, float,
), ),
"wind_bearing": ("Wind Bearing", DEGREE, f"WR {DEGREE}", int), "wind_bearing": ("Wind Bearing", DEGREE, None, f"WR {DEGREE}", int),
"wind_max_speed": ( "wind_max_speed": (
"Top Wind Speed", "Top Wind Speed",
None,
SPEED_KILOMETERS_PER_HOUR, SPEED_KILOMETERS_PER_HOUR,
f"WSG {SPEED_KILOMETERS_PER_HOUR}", f"WSG {SPEED_KILOMETERS_PER_HOUR}",
float, float,
), ),
"wind_max_bearing": ("Top Wind Bearing", DEGREE, f"WSR {DEGREE}", int), "wind_max_bearing": ("Top Wind Bearing", DEGREE, None, f"WSR {DEGREE}", int),
"sun_last_hour": ("Sun Last Hour", PERCENTAGE, f"SO {PERCENTAGE}", int), "sun_last_hour": ("Sun Last Hour", PERCENTAGE, None, f"SO {PERCENTAGE}", int),
"temperature": ("Temperature", TEMP_CELSIUS, f"T {TEMP_CELSIUS}", float), "temperature": (
"Temperature",
TEMP_CELSIUS,
DEVICE_CLASS_TEMPERATURE,
f"T {TEMP_CELSIUS}",
float,
),
"precipitation": ( "precipitation": (
"Precipitation", "Precipitation",
None,
f"l/{AREA_SQUARE_METERS}", f"l/{AREA_SQUARE_METERS}",
f"N l/{AREA_SQUARE_METERS}", f"N l/{AREA_SQUARE_METERS}",
float, float,
), ),
"dewpoint": ("Dew Point", TEMP_CELSIUS, f"TP {TEMP_CELSIUS}", float), "dewpoint": (
"Dew Point",
TEMP_CELSIUS,
DEVICE_CLASS_TEMPERATURE,
f"TP {TEMP_CELSIUS}",
float,
),
# The following probably not useful for general consumption, # The following probably not useful for general consumption,
# but we need them to fill in internal attributes # but we need them to fill in internal attributes
"station_name": ("Station Name", None, "Name", str), "station_name": ("Station Name", None, None, "Name", str),
"station_elevation": ( "station_elevation": (
"Station Elevation", "Station Elevation",
LENGTH_METERS, LENGTH_METERS,
None,
f"Höhe {LENGTH_METERS}", f"Höhe {LENGTH_METERS}",
int, int,
), ),
"update_date": ("Update Date", None, "Datum", str), "update_date": ("Update Date", None, None, "Datum", str),
"update_time": ("Update Time", None, "Zeit", str), "update_time": ("Update Time", None, None, "Zeit", str),
} }
PLATFORM_SCHEMA = cv.PLATFORM_SCHEMA.extend( PLATFORM_SCHEMA = cv.PLATFORM_SCHEMA.extend(
@ -140,6 +163,7 @@ class ZamgSensor(SensorEntity):
self.probe = probe self.probe = probe
self.client_name = name self.client_name = name
self.variable = variable self.variable = variable
self._attr_device_class = SENSOR_TYPES[variable][2]
@property @property
def name(self): def name(self):
@ -217,6 +241,7 @@ class ZamgData:
api_fields = { api_fields = {
col_heading: (standard_name, dtype) col_heading: (standard_name, dtype)
for standard_name, ( for standard_name, (
_,
_, _,
_, _,
col_heading, col_heading,

View file

@ -1,6 +1,6 @@
"""Support for Z-Wave sensors.""" """Support for Z-Wave sensors."""
from homeassistant.components.sensor import DEVICE_CLASS_BATTERY, DOMAIN, SensorEntity from homeassistant.components.sensor import DEVICE_CLASS_BATTERY, DOMAIN, SensorEntity
from homeassistant.const import TEMP_CELSIUS, TEMP_FAHRENHEIT from homeassistant.const import DEVICE_CLASS_TEMPERATURE, TEMP_CELSIUS, TEMP_FAHRENHEIT
from homeassistant.core import callback from homeassistant.core import callback
from homeassistant.helpers.dispatcher import async_dispatcher_connect from homeassistant.helpers.dispatcher import async_dispatcher_connect
@ -79,6 +79,13 @@ class ZWaveMultilevelSensor(ZWaveSensor):
return self._state return self._state
@property
def device_class(self):
"""Return the class of this device."""
if self._units in ["C", "F"]:
return DEVICE_CLASS_TEMPERATURE
return None
@property @property
def unit_of_measurement(self): def unit_of_measurement(self):
"""Return the unit the value is expressed in.""" """Return the unit the value is expressed in."""