Add device classes in tesla wall connector (#84048)

Addd device classes in tesla wall connector
This commit is contained in:
epenet 2022-12-15 20:00:38 +01:00 committed by GitHub
parent 650d4d7faa
commit 93dd971b39
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -10,11 +10,11 @@ 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 (
ELECTRIC_CURRENT_AMPERE, UnitOfElectricCurrent,
ELECTRIC_POTENTIAL_VOLT, UnitOfElectricPotential,
ENERGY_WATT_HOUR, UnitOfEnergy,
TEMP_CELSIUS,
UnitOfFrequency, UnitOfFrequency,
UnitOfTemperature,
) )
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity import EntityCategory from homeassistant.helpers.entity import EntityCategory
@ -48,7 +48,7 @@ WALL_CONNECTOR_SENSORS = [
WallConnectorSensorDescription( WallConnectorSensorDescription(
key="handle_temp_c", key="handle_temp_c",
name=prefix_entity_name("Handle Temperature"), name=prefix_entity_name("Handle Temperature"),
native_unit_of_measurement=TEMP_CELSIUS, native_unit_of_measurement=UnitOfTemperature.CELSIUS,
value_fn=lambda data: round(data[WALLCONNECTOR_DATA_VITALS].handle_temp_c, 1), value_fn=lambda data: round(data[WALLCONNECTOR_DATA_VITALS].handle_temp_c, 1),
device_class=SensorDeviceClass.TEMPERATURE, device_class=SensorDeviceClass.TEMPERATURE,
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
@ -57,7 +57,7 @@ WALL_CONNECTOR_SENSORS = [
WallConnectorSensorDescription( WallConnectorSensorDescription(
key="grid_v", key="grid_v",
name=prefix_entity_name("Grid Voltage"), name=prefix_entity_name("Grid Voltage"),
native_unit_of_measurement=ELECTRIC_POTENTIAL_VOLT, native_unit_of_measurement=UnitOfElectricPotential.VOLT,
value_fn=lambda data: round(data[WALLCONNECTOR_DATA_VITALS].grid_v, 1), value_fn=lambda data: round(data[WALLCONNECTOR_DATA_VITALS].grid_v, 1),
device_class=SensorDeviceClass.VOLTAGE, device_class=SensorDeviceClass.VOLTAGE,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
@ -75,58 +75,64 @@ WALL_CONNECTOR_SENSORS = [
WallConnectorSensorDescription( WallConnectorSensorDescription(
key="current_a_a", key="current_a_a",
name=prefix_entity_name("Phase A Current"), name=prefix_entity_name("Phase A Current"),
native_unit_of_measurement=ELECTRIC_CURRENT_AMPERE, native_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].currentA_a, value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].currentA_a,
device_class=SensorDeviceClass.CURRENT,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
), ),
WallConnectorSensorDescription( WallConnectorSensorDescription(
key="current_b_a", key="current_b_a",
name=prefix_entity_name("Phase B Current"), name=prefix_entity_name("Phase B Current"),
native_unit_of_measurement=ELECTRIC_CURRENT_AMPERE, native_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].currentB_a, value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].currentB_a,
device_class=SensorDeviceClass.CURRENT,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
), ),
WallConnectorSensorDescription( WallConnectorSensorDescription(
key="current_c_a", key="current_c_a",
name=prefix_entity_name("Phase C Current"), name=prefix_entity_name("Phase C Current"),
native_unit_of_measurement=ELECTRIC_CURRENT_AMPERE, native_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].currentC_a, value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].currentC_a,
device_class=SensorDeviceClass.CURRENT,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
), ),
WallConnectorSensorDescription( WallConnectorSensorDescription(
key="voltage_a_v", key="voltage_a_v",
name=prefix_entity_name("Phase A Voltage"), name=prefix_entity_name("Phase A Voltage"),
native_unit_of_measurement=ELECTRIC_POTENTIAL_VOLT, native_unit_of_measurement=UnitOfElectricPotential.VOLT,
value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].voltageA_v, value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].voltageA_v,
device_class=SensorDeviceClass.VOLTAGE,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
), ),
WallConnectorSensorDescription( WallConnectorSensorDescription(
key="voltage_b_v", key="voltage_b_v",
name=prefix_entity_name("Phase B Voltage"), name=prefix_entity_name("Phase B Voltage"),
native_unit_of_measurement=ELECTRIC_POTENTIAL_VOLT, native_unit_of_measurement=UnitOfElectricPotential.VOLT,
value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].voltageB_v, value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].voltageB_v,
device_class=SensorDeviceClass.VOLTAGE,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
), ),
WallConnectorSensorDescription( WallConnectorSensorDescription(
key="voltage_c_v", key="voltage_c_v",
name=prefix_entity_name("Phase C Voltage"), name=prefix_entity_name("Phase C Voltage"),
native_unit_of_measurement=ELECTRIC_POTENTIAL_VOLT, native_unit_of_measurement=UnitOfElectricPotential.VOLT,
value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].voltageC_v, value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].voltageC_v,
device_class=SensorDeviceClass.VOLTAGE,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
), ),
WallConnectorSensorDescription( WallConnectorSensorDescription(
key="energy_kWh", key="energy_kWh",
name=prefix_entity_name("Energy"), name=prefix_entity_name("Energy"),
native_unit_of_measurement=ENERGY_WATT_HOUR, native_unit_of_measurement=UnitOfEnergy.WATT_HOUR,
value_fn=lambda data: data[WALLCONNECTOR_DATA_LIFETIME].energy_wh, value_fn=lambda data: data[WALLCONNECTOR_DATA_LIFETIME].energy_wh,
state_class=SensorStateClass.TOTAL_INCREASING,
device_class=SensorDeviceClass.ENERGY, device_class=SensorDeviceClass.ENERGY,
state_class=SensorStateClass.TOTAL_INCREASING,
), ),
] ]