Migrate Renault to new entity naming style (#74709)

This commit is contained in:
epenet 2022-07-09 19:12:19 +02:00 committed by GitHub
parent 1cf8b76124
commit d208bd461d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 24 additions and 32 deletions

View File

@ -85,7 +85,7 @@ BINARY_SENSOR_TYPES: tuple[RenaultBinarySensorEntityDescription, ...] = tuple(
key="plugged_in",
coordinator="battery",
device_class=BinarySensorDeviceClass.PLUG,
name="Plugged In",
name="Plugged in",
on_key="plugStatus",
on_value=PlugState.PLUGGED.value,
),
@ -130,7 +130,7 @@ BINARY_SENSOR_TYPES: tuple[RenaultBinarySensorEntityDescription, ...] = tuple(
coordinator="lock_status",
# On means open, Off means closed
device_class=BinarySensorDeviceClass.DOOR,
name=f"{door} Door",
name=f"{door.capitalize()} door",
on_key=f"doorStatus{door.replace(' ','')}",
on_value="open",
)

View File

@ -71,13 +71,13 @@ BUTTON_TYPES: tuple[RenaultButtonEntityDescription, ...] = (
async_press=_start_air_conditioner,
key="start_air_conditioner",
icon="mdi:air-conditioner",
name="Start Air Conditioner",
name="Start air conditioner",
),
RenaultButtonEntityDescription(
async_press=_start_charge,
key="start_charge",
icon="mdi:ev-station",
name="Start Charge",
name="Start charge",
requires_electricity=True,
),
)

View File

@ -4,7 +4,6 @@ from __future__ import annotations
from dataclasses import dataclass
from typing import cast
from homeassistant.const import ATTR_NAME
from homeassistant.helpers.entity import Entity, EntityDescription
from homeassistant.helpers.typing import StateType
from homeassistant.helpers.update_coordinator import CoordinatorEntity
@ -28,6 +27,7 @@ class RenaultDataEntityDescription(EntityDescription, RenaultDataRequiredKeysMix
class RenaultEntity(Entity):
"""Implementation of a Renault entity with a data coordinator."""
_attr_has_entity_name = True
entity_description: EntityDescription
def __init__(
@ -41,14 +41,6 @@ class RenaultEntity(Entity):
self._attr_device_info = self.vehicle.device_info
self._attr_unique_id = f"{self.vehicle.details.vin}_{description.key}".lower()
@property
def name(self) -> str:
"""Return the name of the entity.
Overridden to include the device name.
"""
return f"{self.vehicle.device_info[ATTR_NAME]} {self.entity_description.name}"
class RenaultDataEntity(
CoordinatorEntity[RenaultDataUpdateCoordinator[T]], RenaultEntity

View File

@ -98,7 +98,7 @@ SENSOR_TYPES: tuple[RenaultSelectEntityDescription, ...] = (
data_key="chargeMode",
device_class=DEVICE_CLASS_CHARGE_MODE,
icon_lambda=_get_charge_mode_icon,
name="Charge Mode",
name="Charge mode",
options=["always", "always_charging", "schedule_mode"],
),
)

View File

@ -164,7 +164,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
data_key="batteryLevel",
device_class=SensorDeviceClass.BATTERY,
entity_class=RenaultSensor[KamereonVehicleBatteryStatusData],
name="Battery Level",
name="Battery level",
native_unit_of_measurement=PERCENTAGE,
state_class=SensorStateClass.MEASUREMENT,
),
@ -175,7 +175,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
device_class=DEVICE_CLASS_CHARGE_STATE,
entity_class=RenaultSensor[KamereonVehicleBatteryStatusData],
icon_lambda=_get_charge_state_icon,
name="Charge State",
name="Charge state",
value_lambda=_get_charge_state_formatted,
),
RenaultSensorEntityDescription(
@ -184,7 +184,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
data_key="chargingRemainingTime",
entity_class=RenaultSensor[KamereonVehicleBatteryStatusData],
icon="mdi:timer",
name="Charging Remaining Time",
name="Charging remaining time",
native_unit_of_measurement=TIME_MINUTES,
state_class=SensorStateClass.MEASUREMENT,
),
@ -195,7 +195,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
data_key="chargingInstantaneousPower",
device_class=SensorDeviceClass.CURRENT,
entity_class=RenaultSensor[KamereonVehicleBatteryStatusData],
name="Charging Power",
name="Charging power",
native_unit_of_measurement=ELECTRIC_CURRENT_AMPERE,
state_class=SensorStateClass.MEASUREMENT,
),
@ -206,7 +206,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
data_key="chargingInstantaneousPower",
device_class=SensorDeviceClass.POWER,
entity_class=RenaultSensor[KamereonVehicleBatteryStatusData],
name="Charging Power",
name="Charging power",
native_unit_of_measurement=POWER_KILO_WATT,
state_class=SensorStateClass.MEASUREMENT,
value_lambda=_get_charging_power,
@ -218,7 +218,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
device_class=DEVICE_CLASS_PLUG_STATE,
entity_class=RenaultSensor[KamereonVehicleBatteryStatusData],
icon_lambda=_get_plug_state_icon,
name="Plug State",
name="Plug state",
value_lambda=_get_plug_state_formatted,
),
RenaultSensorEntityDescription(
@ -227,7 +227,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
data_key="batteryAutonomy",
entity_class=RenaultSensor[KamereonVehicleBatteryStatusData],
icon="mdi:ev-station",
name="Battery Autonomy",
name="Battery autonomy",
native_unit_of_measurement=LENGTH_KILOMETERS,
state_class=SensorStateClass.MEASUREMENT,
),
@ -237,7 +237,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
data_key="batteryAvailableEnergy",
entity_class=RenaultSensor[KamereonVehicleBatteryStatusData],
device_class=SensorDeviceClass.ENERGY,
name="Battery Available Energy",
name="Battery available energy",
native_unit_of_measurement=ENERGY_KILO_WATT_HOUR,
state_class=SensorStateClass.MEASUREMENT,
),
@ -247,7 +247,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
data_key="batteryTemperature",
device_class=SensorDeviceClass.TEMPERATURE,
entity_class=RenaultSensor[KamereonVehicleBatteryStatusData],
name="Battery Temperature",
name="Battery temperature",
native_unit_of_measurement=TEMP_CELSIUS,
state_class=SensorStateClass.MEASUREMENT,
),
@ -258,7 +258,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
data_key="timestamp",
entity_class=RenaultSensor[KamereonVehicleBatteryStatusData],
entity_registry_enabled_default=False,
name="Battery Last Activity",
name="Battery last activity",
value_lambda=_get_utc_value,
),
RenaultSensorEntityDescription(
@ -278,7 +278,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
data_key="fuelAutonomy",
entity_class=RenaultSensor[KamereonVehicleCockpitData],
icon="mdi:gas-station",
name="Fuel Autonomy",
name="Fuel autonomy",
native_unit_of_measurement=LENGTH_KILOMETERS,
state_class=SensorStateClass.MEASUREMENT,
requires_fuel=True,
@ -290,7 +290,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
data_key="fuelQuantity",
entity_class=RenaultSensor[KamereonVehicleCockpitData],
icon="mdi:fuel",
name="Fuel Quantity",
name="Fuel quantity",
native_unit_of_measurement=VOLUME_LITERS,
state_class=SensorStateClass.MEASUREMENT,
requires_fuel=True,
@ -302,7 +302,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
device_class=SensorDeviceClass.TEMPERATURE,
data_key="externalTemperature",
entity_class=RenaultSensor[KamereonVehicleHvacStatusData],
name="Outside Temperature",
name="Outside temperature",
native_unit_of_measurement=TEMP_CELSIUS,
state_class=SensorStateClass.MEASUREMENT,
),
@ -311,7 +311,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
coordinator="hvac_status",
data_key="socThreshold",
entity_class=RenaultSensor[KamereonVehicleHvacStatusData],
name="HVAC SOC Threshold",
name="HVAC SoC threshold",
native_unit_of_measurement=PERCENTAGE,
),
RenaultSensorEntityDescription(
@ -321,7 +321,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
data_key="lastUpdateTime",
entity_class=RenaultSensor[KamereonVehicleHvacStatusData],
entity_registry_enabled_default=False,
name="HVAC Last Activity",
name="HVAC last activity",
value_lambda=_get_utc_value,
),
RenaultSensorEntityDescription(
@ -331,7 +331,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
data_key="lastUpdateTime",
entity_class=RenaultSensor[KamereonVehicleLocationData],
entity_registry_enabled_default=False,
name="Location Last Activity",
name="Location last activity",
value_lambda=_get_utc_value,
),
RenaultSensorEntityDescription(
@ -339,7 +339,7 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
coordinator="res_state",
data_key="details",
entity_class=RenaultSensor[KamereonVehicleResStateData],
name="Remote Engine Start",
name="Remote engine start",
),
RenaultSensorEntityDescription(
key="res_state_code",
@ -347,6 +347,6 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = (
data_key="code",
entity_class=RenaultSensor[KamereonVehicleResStateData],
entity_registry_enabled_default=False,
name="Remote Engine Start Code",
name="Remote engine start code",
),
)