Add goodwe sensors for apparent/reactive pwr (#87940)

This commit is contained in:
mletenay 2023-03-28 23:31:14 +02:00 committed by GitHub
parent f60e9c71a2
commit 9ae0236208
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -19,13 +19,16 @@ from homeassistant.components.sensor import (
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import ( from homeassistant.const import (
PERCENTAGE, PERCENTAGE,
POWER_VOLT_AMPERE_REACTIVE,
EntityCategory, EntityCategory,
UnitOfApparentPower,
UnitOfElectricCurrent, UnitOfElectricCurrent,
UnitOfElectricPotential, UnitOfElectricPotential,
UnitOfEnergy, UnitOfEnergy,
UnitOfFrequency, UnitOfFrequency,
UnitOfPower, UnitOfPower,
UnitOfTemperature, UnitOfTemperature,
UnitOfTime,
) )
from homeassistant.core import HomeAssistant, callback from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity import DeviceInfo from homeassistant.helpers.entity import DeviceInfo
@ -111,6 +114,20 @@ _DESCRIPTIONS: dict[str, GoodweSensorEntityDescription] = {
value=lambda coordinator, sensor: coordinator.total_sensor_value(sensor), value=lambda coordinator, sensor: coordinator.total_sensor_value(sensor),
available=lambda coordinator: coordinator.data is not None, available=lambda coordinator: coordinator.data is not None,
), ),
"VA": GoodweSensorEntityDescription(
key="VA",
device_class=SensorDeviceClass.APPARENT_POWER,
state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=UnitOfApparentPower.VOLT_AMPERE,
entity_registry_enabled_default=False,
),
"var": GoodweSensorEntityDescription(
key="var",
device_class=SensorDeviceClass.REACTIVE_POWER,
state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=POWER_VOLT_AMPERE_REACTIVE,
entity_registry_enabled_default=False,
),
"C": GoodweSensorEntityDescription( "C": GoodweSensorEntityDescription(
key="C", key="C",
device_class=SensorDeviceClass.TEMPERATURE, device_class=SensorDeviceClass.TEMPERATURE,
@ -123,6 +140,13 @@ _DESCRIPTIONS: dict[str, GoodweSensorEntityDescription] = {
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=UnitOfFrequency.HERTZ, native_unit_of_measurement=UnitOfFrequency.HERTZ,
), ),
"h": GoodweSensorEntityDescription(
key="h",
device_class=SensorDeviceClass.DURATION,
state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=UnitOfTime.HOURS,
entity_registry_enabled_default=False,
),
"%": GoodweSensorEntityDescription( "%": GoodweSensorEntityDescription(
key="%", key="%",
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,