mirror of
https://github.com/home-assistant/core.git
synced 2025-08-12 09:05:15 +02:00
Add sensor values for Power and Energy
This commit is contained in:
@@ -3,10 +3,12 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from wolf_comm.models import (
|
from wolf_comm.models import (
|
||||||
|
EnergyParameter,
|
||||||
HoursParameter,
|
HoursParameter,
|
||||||
ListItemParameter,
|
ListItemParameter,
|
||||||
Parameter,
|
Parameter,
|
||||||
PercentageParameter,
|
PercentageParameter,
|
||||||
|
PowerParameter,
|
||||||
Pressure,
|
Pressure,
|
||||||
SimpleParameter,
|
SimpleParameter,
|
||||||
Temperature,
|
Temperature,
|
||||||
@@ -14,7 +16,13 @@ from wolf_comm.models import (
|
|||||||
|
|
||||||
from homeassistant.components.sensor import SensorDeviceClass, SensorEntity
|
from homeassistant.components.sensor import SensorDeviceClass, SensorEntity
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import UnitOfPressure, UnitOfTemperature, UnitOfTime
|
from homeassistant.const import (
|
||||||
|
UnitOfEnergy,
|
||||||
|
UnitOfPower,
|
||||||
|
UnitOfPressure,
|
||||||
|
UnitOfTemperature,
|
||||||
|
UnitOfTime,
|
||||||
|
)
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.device_registry import DeviceInfo
|
from homeassistant.helpers.device_registry import DeviceInfo
|
||||||
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
|
||||||
@@ -40,6 +48,10 @@ async def async_setup_entry(
|
|||||||
entities.append(WolfLinkTemperature(coordinator, parameter, device_id))
|
entities.append(WolfLinkTemperature(coordinator, parameter, device_id))
|
||||||
if isinstance(parameter, Pressure):
|
if isinstance(parameter, Pressure):
|
||||||
entities.append(WolfLinkPressure(coordinator, parameter, device_id))
|
entities.append(WolfLinkPressure(coordinator, parameter, device_id))
|
||||||
|
if isinstance(parameter, EnergyParameter):
|
||||||
|
entities.append(WolfLinkEnergy(coordinator, parameter, device_id))
|
||||||
|
if isinstance(parameter, PowerParameter):
|
||||||
|
entities.append(WolfLinkPower(coordinator, parameter, device_id))
|
||||||
if isinstance(parameter, PercentageParameter):
|
if isinstance(parameter, PercentageParameter):
|
||||||
entities.append(WolfLinkPercentage(coordinator, parameter, device_id))
|
entities.append(WolfLinkPercentage(coordinator, parameter, device_id))
|
||||||
if isinstance(parameter, ListItemParameter):
|
if isinstance(parameter, ListItemParameter):
|
||||||
@@ -108,6 +120,20 @@ class WolfLinkPressure(WolfLinkSensor):
|
|||||||
_attr_native_unit_of_measurement = UnitOfPressure.BAR
|
_attr_native_unit_of_measurement = UnitOfPressure.BAR
|
||||||
|
|
||||||
|
|
||||||
|
class WolfLinkPower(WolfLinkSensor):
|
||||||
|
"""Class for power based entities."""
|
||||||
|
|
||||||
|
_attr_device_class = SensorDeviceClass.POWER
|
||||||
|
_attr_native_unit_of_measurement = UnitOfPower.KILO_WATT
|
||||||
|
|
||||||
|
|
||||||
|
class WolfLinkEnergy(WolfLinkSensor):
|
||||||
|
"""Class for energy based entities."""
|
||||||
|
|
||||||
|
_attr_device_class = SensorDeviceClass.ENERGY
|
||||||
|
_attr_native_unit_of_measurement = UnitOfEnergy.KILO_WATT_HOUR
|
||||||
|
|
||||||
|
|
||||||
class WolfLinkPercentage(WolfLinkSensor):
|
class WolfLinkPercentage(WolfLinkSensor):
|
||||||
"""Class for percentage based entities."""
|
"""Class for percentage based entities."""
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user