Add state classes to Vallox sensors (#54297)

This commit is contained in:
Andre Richter 2021-08-17 10:05:28 +02:00 committed by GitHub
parent 4c5d5a8f5a
commit afade22feb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 23 additions and 2 deletions

View File

@ -3,7 +3,7 @@
from datetime import datetime, timedelta
import logging
from homeassistant.components.sensor import SensorEntity
from homeassistant.components.sensor import STATE_CLASS_MEASUREMENT, SensorEntity
from homeassistant.const import (
CONCENTRATION_PARTS_PER_MILLION,
DEVICE_CLASS_CO2,
@ -44,6 +44,7 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info=
device_class=None,
unit_of_measurement=PERCENTAGE,
icon="mdi:fan",
state_class=STATE_CLASS_MEASUREMENT,
),
ValloxSensor(
name=f"{name} Extract Air",
@ -52,6 +53,7 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info=
device_class=DEVICE_CLASS_TEMPERATURE,
unit_of_measurement=TEMP_CELSIUS,
icon=None,
state_class=STATE_CLASS_MEASUREMENT,
),
ValloxSensor(
name=f"{name} Exhaust Air",
@ -60,6 +62,7 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info=
device_class=DEVICE_CLASS_TEMPERATURE,
unit_of_measurement=TEMP_CELSIUS,
icon=None,
state_class=STATE_CLASS_MEASUREMENT,
),
ValloxSensor(
name=f"{name} Outdoor Air",
@ -68,6 +71,7 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info=
device_class=DEVICE_CLASS_TEMPERATURE,
unit_of_measurement=TEMP_CELSIUS,
icon=None,
state_class=STATE_CLASS_MEASUREMENT,
),
ValloxSensor(
name=f"{name} Supply Air",
@ -76,6 +80,7 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info=
device_class=DEVICE_CLASS_TEMPERATURE,
unit_of_measurement=TEMP_CELSIUS,
icon=None,
state_class=STATE_CLASS_MEASUREMENT,
),
ValloxSensor(
name=f"{name} Humidity",
@ -84,6 +89,7 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info=
device_class=DEVICE_CLASS_HUMIDITY,
unit_of_measurement=PERCENTAGE,
icon=None,
state_class=STATE_CLASS_MEASUREMENT,
),
ValloxFilterRemainingSensor(
name=f"{name} Remaining Time For Filter",
@ -100,6 +106,7 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info=
device_class=None,
unit_of_measurement=PERCENTAGE,
icon="mdi:gauge",
state_class=STATE_CLASS_MEASUREMENT,
),
ValloxSensor(
name=f"{name} CO2",
@ -108,6 +115,7 @@ async def async_setup_platform(hass, config, async_add_entities, discovery_info=
device_class=DEVICE_CLASS_CO2,
unit_of_measurement=CONCENTRATION_PARTS_PER_MILLION,
icon=None,
state_class=STATE_CLASS_MEASUREMENT,
),
]
@ -118,13 +126,21 @@ class ValloxSensor(SensorEntity):
"""Representation of a Vallox sensor."""
def __init__(
self, name, state_proxy, metric_key, device_class, unit_of_measurement, icon
self,
name,
state_proxy,
metric_key,
device_class,
unit_of_measurement,
icon,
state_class=None,
) -> None:
"""Initialize the Vallox sensor."""
self._name = name
self._state_proxy = state_proxy
self._metric_key = metric_key
self._device_class = device_class
self._state_class = state_class
self._unit_of_measurement = unit_of_measurement
self._icon = icon
self._available = None
@ -150,6 +166,11 @@ class ValloxSensor(SensorEntity):
"""Return the device class."""
return self._device_class
@property
def state_class(self):
"""Return the state class."""
return self._state_class
@property
def icon(self):
"""Return the icon."""