Use new enums in tesla_wall_connector (#62434)

Co-authored-by: epenet <epenet@users.noreply.github.com>
This commit is contained in:
epenet 2021-12-20 20:58:17 +01:00 committed by GitHub
parent 666e14b11d
commit 418221bd21
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 32 additions and 36 deletions

View File

@ -3,12 +3,11 @@ from dataclasses import dataclass
import logging import logging
from homeassistant.components.binary_sensor import ( from homeassistant.components.binary_sensor import (
DEVICE_CLASS_BATTERY_CHARGING, BinarySensorDeviceClass,
DEVICE_CLASS_PLUG,
BinarySensorEntity, BinarySensorEntity,
BinarySensorEntityDescription, BinarySensorEntityDescription,
) )
from homeassistant.const import ENTITY_CATEGORY_DIAGNOSTIC from homeassistant.helpers.entity import EntityCategory
from . import ( from . import (
WallConnectorData, WallConnectorData,
@ -32,16 +31,16 @@ WALL_CONNECTOR_SENSORS = [
WallConnectorBinarySensorDescription( WallConnectorBinarySensorDescription(
key="vehicle_connected", key="vehicle_connected",
name=prefix_entity_name("Vehicle connected"), name=prefix_entity_name("Vehicle connected"),
entity_category=ENTITY_CATEGORY_DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].vehicle_connected, value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].vehicle_connected,
device_class=DEVICE_CLASS_PLUG, device_class=BinarySensorDeviceClass.PLUG,
), ),
WallConnectorBinarySensorDescription( WallConnectorBinarySensorDescription(
key="contactor_closed", key="contactor_closed",
name=prefix_entity_name("Contactor closed"), name=prefix_entity_name("Contactor closed"),
entity_category=ENTITY_CATEGORY_DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].contactor_closed, value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].contactor_closed,
device_class=DEVICE_CLASS_BATTERY_CHARGING, device_class=BinarySensorDeviceClass.BATTERY_CHARGING,
), ),
] ]

View File

@ -3,22 +3,19 @@ from dataclasses import dataclass
import logging import logging
from homeassistant.components.sensor import ( from homeassistant.components.sensor import (
STATE_CLASS_MEASUREMENT, SensorDeviceClass,
STATE_CLASS_TOTAL_INCREASING,
SensorEntity, SensorEntity,
SensorEntityDescription, SensorEntityDescription,
SensorStateClass,
) )
from homeassistant.const import ( from homeassistant.const import (
DEVICE_CLASS_ENERGY,
DEVICE_CLASS_TEMPERATURE,
DEVICE_CLASS_VOLTAGE,
ELECTRIC_CURRENT_AMPERE, ELECTRIC_CURRENT_AMPERE,
ELECTRIC_POTENTIAL_VOLT, ELECTRIC_POTENTIAL_VOLT,
ENERGY_WATT_HOUR, ENERGY_WATT_HOUR,
ENTITY_CATEGORY_DIAGNOSTIC,
FREQUENCY_HERTZ, FREQUENCY_HERTZ,
TEMP_CELSIUS, TEMP_CELSIUS,
) )
from homeassistant.helpers.entity import EntityCategory
from . import ( from . import (
WallConnectorData, WallConnectorData,
@ -42,7 +39,7 @@ WALL_CONNECTOR_SENSORS = [
WallConnectorSensorDescription( WallConnectorSensorDescription(
key="evse_state", key="evse_state",
name=prefix_entity_name("State"), name=prefix_entity_name("State"),
entity_category=ENTITY_CATEGORY_DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].evse_state, value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].evse_state,
), ),
WallConnectorSensorDescription( WallConnectorSensorDescription(
@ -50,82 +47,82 @@ WALL_CONNECTOR_SENSORS = [
name=prefix_entity_name("Handle Temperature"), name=prefix_entity_name("Handle Temperature"),
native_unit_of_measurement=TEMP_CELSIUS, native_unit_of_measurement=TEMP_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=DEVICE_CLASS_TEMPERATURE, device_class=SensorDeviceClass.TEMPERATURE,
entity_category=ENTITY_CATEGORY_DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
state_class=STATE_CLASS_MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
), ),
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=ELECTRIC_POTENTIAL_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=DEVICE_CLASS_VOLTAGE, device_class=SensorDeviceClass.VOLTAGE,
state_class=STATE_CLASS_MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
entity_category=ENTITY_CATEGORY_DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
), ),
WallConnectorSensorDescription( WallConnectorSensorDescription(
key="grid_hz", key="grid_hz",
name=prefix_entity_name("Grid Frequency"), name=prefix_entity_name("Grid Frequency"),
native_unit_of_measurement=FREQUENCY_HERTZ, native_unit_of_measurement=FREQUENCY_HERTZ,
value_fn=lambda data: round(data[WALLCONNECTOR_DATA_VITALS].grid_hz, 3), value_fn=lambda data: round(data[WALLCONNECTOR_DATA_VITALS].grid_hz, 3),
state_class=STATE_CLASS_MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
entity_category=ENTITY_CATEGORY_DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
), ),
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=ELECTRIC_CURRENT_AMPERE,
value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].currentA_a, value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].currentA_a,
state_class=STATE_CLASS_MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
entity_category=ENTITY_CATEGORY_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=ELECTRIC_CURRENT_AMPERE,
value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].currentB_a, value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].currentB_a,
state_class=STATE_CLASS_MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
entity_category=ENTITY_CATEGORY_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=ELECTRIC_CURRENT_AMPERE,
value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].currentC_a, value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].currentC_a,
state_class=STATE_CLASS_MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
entity_category=ENTITY_CATEGORY_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=ELECTRIC_POTENTIAL_VOLT,
value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].voltageA_v, value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].voltageA_v,
state_class=STATE_CLASS_MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
entity_category=ENTITY_CATEGORY_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=ELECTRIC_POTENTIAL_VOLT,
value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].voltageB_v, value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].voltageB_v,
state_class=STATE_CLASS_MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
entity_category=ENTITY_CATEGORY_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=ELECTRIC_POTENTIAL_VOLT,
value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].voltageC_v, value_fn=lambda data: data[WALLCONNECTOR_DATA_VITALS].voltageC_v,
state_class=STATE_CLASS_MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
entity_category=ENTITY_CATEGORY_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=ENERGY_WATT_HOUR,
value_fn=lambda data: data[WALLCONNECTOR_DATA_LIFETIME].energy_wh, value_fn=lambda data: data[WALLCONNECTOR_DATA_LIFETIME].energy_wh,
state_class=STATE_CLASS_TOTAL_INCREASING, state_class=SensorStateClass.TOTAL_INCREASING,
device_class=DEVICE_CLASS_ENERGY, device_class=SensorDeviceClass.ENERGY,
), ),
] ]