mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Use new enums in tesla_wall_connector (#62434)
Co-authored-by: epenet <epenet@users.noreply.github.com>
This commit is contained in:
parent
666e14b11d
commit
418221bd21
@ -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,
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -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,
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user