mirror of
https://github.com/home-assistant/core.git
synced 2025-07-21 12:17:07 +00:00
Add long-term statistics support for devolo Home Control (#57612)
* Add long-term statistics support * Fix messed up rebase
This commit is contained in:
parent
394ccae8a1
commit
02423d6edc
@ -12,6 +12,7 @@ from homeassistant.components.sensor import (
|
||||
DEVICE_CLASS_POWER,
|
||||
DEVICE_CLASS_TEMPERATURE,
|
||||
DEVICE_CLASS_VOLTAGE,
|
||||
STATE_CLASS_MEASUREMENT,
|
||||
STATE_CLASS_TOTAL_INCREASING,
|
||||
SensorEntity,
|
||||
)
|
||||
@ -33,6 +34,16 @@ DEVICE_CLASS_MAPPING = {
|
||||
"voltage": DEVICE_CLASS_VOLTAGE,
|
||||
}
|
||||
|
||||
STATE_CLASS_MAPPING = {
|
||||
"battery": STATE_CLASS_MEASUREMENT,
|
||||
"temperature": STATE_CLASS_MEASUREMENT,
|
||||
"light": STATE_CLASS_MEASUREMENT,
|
||||
"humidity": STATE_CLASS_MEASUREMENT,
|
||||
"current": STATE_CLASS_MEASUREMENT,
|
||||
"total": STATE_CLASS_TOTAL_INCREASING,
|
||||
"voltage": STATE_CLASS_MEASUREMENT,
|
||||
}
|
||||
|
||||
|
||||
async def async_setup_entry(
|
||||
hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
|
||||
@ -106,6 +117,9 @@ class DevoloGenericMultiLevelDeviceEntity(DevoloMultiLevelDeviceEntity):
|
||||
self._attr_device_class = DEVICE_CLASS_MAPPING.get(
|
||||
self._multi_level_sensor_property.sensor_type
|
||||
)
|
||||
self._attr_state_class = STATE_CLASS_MAPPING.get(
|
||||
self._multi_level_sensor_property.sensor_type
|
||||
)
|
||||
self._attr_native_unit_of_measurement = self._multi_level_sensor_property.unit
|
||||
|
||||
self._value = self._multi_level_sensor_property.value
|
||||
@ -132,6 +146,7 @@ class DevoloBatteryEntity(DevoloMultiLevelDeviceEntity):
|
||||
)
|
||||
|
||||
self._attr_device_class = DEVICE_CLASS_MAPPING.get("battery")
|
||||
self._attr_state_class = STATE_CLASS_MAPPING.get("battery")
|
||||
self._attr_entity_category = ENTITY_CATEGORY_DIAGNOSTIC
|
||||
self._attr_native_unit_of_measurement = PERCENTAGE
|
||||
|
||||
@ -158,6 +173,7 @@ class DevoloConsumptionEntity(DevoloMultiLevelDeviceEntity):
|
||||
|
||||
self._sensor_type = consumption
|
||||
self._attr_device_class = DEVICE_CLASS_MAPPING.get(consumption)
|
||||
self._attr_state_class = STATE_CLASS_MAPPING.get(consumption)
|
||||
self._attr_native_unit_of_measurement = getattr(
|
||||
device_instance.consumption_property[element_uid], f"{consumption}_unit"
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user