Update naming scheme for Renault entities (#57922)

Co-authored-by: epenet <epenet@users.noreply.github.com>
This commit is contained in:
epenet 2021-10-22 19:46:02 +02:00 committed by GitHub
parent 73d192b3f3
commit 001a452bb7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 64 additions and 55 deletions

View file

@ -4,6 +4,7 @@ from __future__ import annotations
from dataclasses import dataclass
from typing import Optional, 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
@ -46,3 +47,11 @@ class RenaultDataEntity(CoordinatorEntity[Optional[T]], Entity):
if self.coordinator.data is None:
return None
return cast(StateType, getattr(self.coordinator.data, key))
@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}"

View file

@ -56,9 +56,9 @@ FIXED_ATTRIBUTES = (
DYNAMIC_ATTRIBUTES = (ATTR_ICON,)
ICON_FOR_EMPTY_VALUES = {
"select.charge_mode": "mdi:calendar-remove",
"sensor.charge_state": "mdi:flash-off",
"sensor.plug_state": "mdi:power-plug-off",
"select.reg_number_charge_mode": "mdi:calendar-remove",
"sensor.reg_number_charge_state": "mdi:flash-off",
"sensor.reg_number_plug_state": "mdi:power-plug-off",
}
MOCK_ACCOUNT_ID = "account_id_1"
@ -95,13 +95,13 @@ MOCK_VEHICLES = {
},
BINARY_SENSOR_DOMAIN: [
{
"entity_id": "binary_sensor.plugged_in",
"entity_id": "binary_sensor.reg_number_plugged_in",
"unique_id": "vf1aaaaa555777999_plugged_in",
"result": STATE_ON,
ATTR_DEVICE_CLASS: DEVICE_CLASS_PLUG,
},
{
"entity_id": "binary_sensor.charging",
"entity_id": "binary_sensor.reg_number_charging",
"unique_id": "vf1aaaaa555777999_charging",
"result": STATE_ON,
ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY_CHARGING,
@ -110,7 +110,7 @@ MOCK_VEHICLES = {
DEVICE_TRACKER_DOMAIN: [],
SELECT_DOMAIN: [
{
"entity_id": "select.charge_mode",
"entity_id": "select.reg_number_charge_mode",
"unique_id": "vf1aaaaa555777999_charge_mode",
"result": "always",
ATTR_DEVICE_CLASS: DEVICE_CLASS_CHARGE_MODE,
@ -120,7 +120,7 @@ MOCK_VEHICLES = {
],
SENSOR_DOMAIN: [
{
"entity_id": "sensor.battery_autonomy",
"entity_id": "sensor.reg_number_battery_autonomy",
"unique_id": "vf1aaaaa555777999_battery_autonomy",
"result": "141",
ATTR_ICON: "mdi:ev-station",
@ -128,7 +128,7 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
},
{
"entity_id": "sensor.battery_available_energy",
"entity_id": "sensor.reg_number_battery_available_energy",
"unique_id": "vf1aaaaa555777999_battery_available_energy",
"result": "31",
ATTR_DEVICE_CLASS: DEVICE_CLASS_ENERGY,
@ -136,7 +136,7 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: ENERGY_KILO_WATT_HOUR,
},
{
"entity_id": "sensor.battery_level",
"entity_id": "sensor.reg_number_battery_level",
"unique_id": "vf1aaaaa555777999_battery_level",
"result": "60",
ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY,
@ -144,14 +144,14 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE,
},
{
"entity_id": "sensor.battery_last_activity",
"entity_id": "sensor.reg_number_battery_last_activity",
"unique_id": "vf1aaaaa555777999_battery_last_activity",
"result": "2020-01-12T21:40:16+00:00",
"default_disabled": True,
ATTR_DEVICE_CLASS: DEVICE_CLASS_TIMESTAMP,
},
{
"entity_id": "sensor.battery_temperature",
"entity_id": "sensor.reg_number_battery_temperature",
"unique_id": "vf1aaaaa555777999_battery_temperature",
"result": "20",
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
@ -159,14 +159,14 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS,
},
{
"entity_id": "sensor.charge_state",
"entity_id": "sensor.reg_number_charge_state",
"unique_id": "vf1aaaaa555777999_charge_state",
"result": "charge_in_progress",
ATTR_DEVICE_CLASS: DEVICE_CLASS_CHARGE_STATE,
ATTR_ICON: "mdi:flash",
},
{
"entity_id": "sensor.charging_power",
"entity_id": "sensor.reg_number_charging_power",
"unique_id": "vf1aaaaa555777999_charging_power",
"result": "0.027",
ATTR_DEVICE_CLASS: DEVICE_CLASS_POWER,
@ -174,7 +174,7 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: POWER_KILO_WATT,
},
{
"entity_id": "sensor.charging_remaining_time",
"entity_id": "sensor.reg_number_charging_remaining_time",
"unique_id": "vf1aaaaa555777999_charging_remaining_time",
"result": "145",
ATTR_ICON: "mdi:timer",
@ -182,7 +182,7 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: TIME_MINUTES,
},
{
"entity_id": "sensor.mileage",
"entity_id": "sensor.reg_number_mileage",
"unique_id": "vf1aaaaa555777999_mileage",
"result": "49114",
ATTR_ICON: "mdi:sign-direction",
@ -190,7 +190,7 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
},
{
"entity_id": "sensor.outside_temperature",
"entity_id": "sensor.reg_number_outside_temperature",
"unique_id": "vf1aaaaa555777999_outside_temperature",
"result": "8.0",
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
@ -198,7 +198,7 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS,
},
{
"entity_id": "sensor.plug_state",
"entity_id": "sensor.reg_number_plug_state",
"unique_id": "vf1aaaaa555777999_plug_state",
"result": "plugged",
ATTR_DEVICE_CLASS: DEVICE_CLASS_PLUG_STATE,
@ -229,13 +229,13 @@ MOCK_VEHICLES = {
},
BINARY_SENSOR_DOMAIN: [
{
"entity_id": "binary_sensor.plugged_in",
"entity_id": "binary_sensor.reg_number_plugged_in",
"unique_id": "vf1aaaaa555777999_plugged_in",
"result": STATE_OFF,
ATTR_DEVICE_CLASS: DEVICE_CLASS_PLUG,
},
{
"entity_id": "binary_sensor.charging",
"entity_id": "binary_sensor.reg_number_charging",
"unique_id": "vf1aaaaa555777999_charging",
"result": STATE_OFF,
ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY_CHARGING,
@ -243,7 +243,7 @@ MOCK_VEHICLES = {
],
DEVICE_TRACKER_DOMAIN: [
{
"entity_id": "device_tracker.location",
"entity_id": "device_tracker.reg_number_location",
"unique_id": "vf1aaaaa555777999_location",
"result": STATE_NOT_HOME,
ATTR_ICON: "mdi:car",
@ -251,7 +251,7 @@ MOCK_VEHICLES = {
],
SELECT_DOMAIN: [
{
"entity_id": "select.charge_mode",
"entity_id": "select.reg_number_charge_mode",
"unique_id": "vf1aaaaa555777999_charge_mode",
"result": "schedule_mode",
ATTR_DEVICE_CLASS: DEVICE_CLASS_CHARGE_MODE,
@ -261,7 +261,7 @@ MOCK_VEHICLES = {
],
SENSOR_DOMAIN: [
{
"entity_id": "sensor.battery_autonomy",
"entity_id": "sensor.reg_number_battery_autonomy",
"unique_id": "vf1aaaaa555777999_battery_autonomy",
"result": "128",
ATTR_ICON: "mdi:ev-station",
@ -269,7 +269,7 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
},
{
"entity_id": "sensor.battery_available_energy",
"entity_id": "sensor.reg_number_battery_available_energy",
"unique_id": "vf1aaaaa555777999_battery_available_energy",
"result": "0",
ATTR_DEVICE_CLASS: DEVICE_CLASS_ENERGY,
@ -277,7 +277,7 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: ENERGY_KILO_WATT_HOUR,
},
{
"entity_id": "sensor.battery_level",
"entity_id": "sensor.reg_number_battery_level",
"unique_id": "vf1aaaaa555777999_battery_level",
"result": "50",
ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY,
@ -285,14 +285,14 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE,
},
{
"entity_id": "sensor.battery_last_activity",
"entity_id": "sensor.reg_number_battery_last_activity",
"unique_id": "vf1aaaaa555777999_battery_last_activity",
"result": "2020-11-17T08:06:48+00:00",
"default_disabled": True,
ATTR_DEVICE_CLASS: DEVICE_CLASS_TIMESTAMP,
},
{
"entity_id": "sensor.battery_temperature",
"entity_id": "sensor.reg_number_battery_temperature",
"unique_id": "vf1aaaaa555777999_battery_temperature",
"result": STATE_UNKNOWN,
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
@ -300,14 +300,14 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS,
},
{
"entity_id": "sensor.charge_state",
"entity_id": "sensor.reg_number_charge_state",
"unique_id": "vf1aaaaa555777999_charge_state",
"result": "charge_error",
ATTR_DEVICE_CLASS: DEVICE_CLASS_CHARGE_STATE,
ATTR_ICON: "mdi:flash-off",
},
{
"entity_id": "sensor.charging_power",
"entity_id": "sensor.reg_number_charging_power",
"unique_id": "vf1aaaaa555777999_charging_power",
"result": STATE_UNKNOWN,
ATTR_DEVICE_CLASS: DEVICE_CLASS_CURRENT,
@ -315,7 +315,7 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_CURRENT_AMPERE,
},
{
"entity_id": "sensor.charging_remaining_time",
"entity_id": "sensor.reg_number_charging_remaining_time",
"unique_id": "vf1aaaaa555777999_charging_remaining_time",
"result": STATE_UNKNOWN,
ATTR_ICON: "mdi:timer",
@ -323,7 +323,7 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: TIME_MINUTES,
},
{
"entity_id": "sensor.mileage",
"entity_id": "sensor.reg_number_mileage",
"unique_id": "vf1aaaaa555777999_mileage",
"result": "49114",
ATTR_ICON: "mdi:sign-direction",
@ -331,14 +331,14 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
},
{
"entity_id": "sensor.plug_state",
"entity_id": "sensor.reg_number_plug_state",
"unique_id": "vf1aaaaa555777999_plug_state",
"result": "unplugged",
ATTR_DEVICE_CLASS: DEVICE_CLASS_PLUG_STATE,
ATTR_ICON: "mdi:power-plug-off",
},
{
"entity_id": "sensor.location_last_activity",
"entity_id": "sensor.reg_number_location_last_activity",
"unique_id": "vf1aaaaa555777999_location_last_activity",
"result": "2020-02-18T16:58:38+00:00",
"default_disabled": True,
@ -369,13 +369,13 @@ MOCK_VEHICLES = {
},
BINARY_SENSOR_DOMAIN: [
{
"entity_id": "binary_sensor.plugged_in",
"entity_id": "binary_sensor.reg_number_plugged_in",
"unique_id": "vf1aaaaa555777123_plugged_in",
"result": STATE_ON,
ATTR_DEVICE_CLASS: DEVICE_CLASS_PLUG,
},
{
"entity_id": "binary_sensor.charging",
"entity_id": "binary_sensor.reg_number_charging",
"unique_id": "vf1aaaaa555777123_charging",
"result": STATE_ON,
ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY_CHARGING,
@ -383,7 +383,7 @@ MOCK_VEHICLES = {
],
DEVICE_TRACKER_DOMAIN: [
{
"entity_id": "device_tracker.location",
"entity_id": "device_tracker.reg_number_location",
"unique_id": "vf1aaaaa555777123_location",
"result": STATE_NOT_HOME,
ATTR_ICON: "mdi:car",
@ -391,7 +391,7 @@ MOCK_VEHICLES = {
],
SELECT_DOMAIN: [
{
"entity_id": "select.charge_mode",
"entity_id": "select.reg_number_charge_mode",
"unique_id": "vf1aaaaa555777123_charge_mode",
"result": "always",
ATTR_DEVICE_CLASS: DEVICE_CLASS_CHARGE_MODE,
@ -401,7 +401,7 @@ MOCK_VEHICLES = {
],
SENSOR_DOMAIN: [
{
"entity_id": "sensor.battery_autonomy",
"entity_id": "sensor.reg_number_battery_autonomy",
"unique_id": "vf1aaaaa555777123_battery_autonomy",
"result": "141",
ATTR_ICON: "mdi:ev-station",
@ -409,7 +409,7 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
},
{
"entity_id": "sensor.battery_available_energy",
"entity_id": "sensor.reg_number_battery_available_energy",
"unique_id": "vf1aaaaa555777123_battery_available_energy",
"result": "31",
ATTR_DEVICE_CLASS: DEVICE_CLASS_ENERGY,
@ -417,7 +417,7 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: ENERGY_KILO_WATT_HOUR,
},
{
"entity_id": "sensor.battery_level",
"entity_id": "sensor.reg_number_battery_level",
"unique_id": "vf1aaaaa555777123_battery_level",
"result": "60",
ATTR_DEVICE_CLASS: DEVICE_CLASS_BATTERY,
@ -425,14 +425,14 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE,
},
{
"entity_id": "sensor.battery_last_activity",
"entity_id": "sensor.reg_number_battery_last_activity",
"unique_id": "vf1aaaaa555777123_battery_last_activity",
"result": "2020-01-12T21:40:16+00:00",
"default_disabled": True,
ATTR_DEVICE_CLASS: DEVICE_CLASS_TIMESTAMP,
},
{
"entity_id": "sensor.battery_temperature",
"entity_id": "sensor.reg_number_battery_temperature",
"unique_id": "vf1aaaaa555777123_battery_temperature",
"result": "20",
ATTR_DEVICE_CLASS: DEVICE_CLASS_TEMPERATURE,
@ -440,14 +440,14 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS,
},
{
"entity_id": "sensor.charge_state",
"entity_id": "sensor.reg_number_charge_state",
"unique_id": "vf1aaaaa555777123_charge_state",
"result": "charge_in_progress",
ATTR_DEVICE_CLASS: DEVICE_CLASS_CHARGE_STATE,
ATTR_ICON: "mdi:flash",
},
{
"entity_id": "sensor.charging_power",
"entity_id": "sensor.reg_number_charging_power",
"unique_id": "vf1aaaaa555777123_charging_power",
"result": "27.0",
ATTR_DEVICE_CLASS: DEVICE_CLASS_CURRENT,
@ -455,7 +455,7 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_CURRENT_AMPERE,
},
{
"entity_id": "sensor.charging_remaining_time",
"entity_id": "sensor.reg_number_charging_remaining_time",
"unique_id": "vf1aaaaa555777123_charging_remaining_time",
"result": "145",
ATTR_ICON: "mdi:timer",
@ -463,7 +463,7 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: TIME_MINUTES,
},
{
"entity_id": "sensor.fuel_autonomy",
"entity_id": "sensor.reg_number_fuel_autonomy",
"unique_id": "vf1aaaaa555777123_fuel_autonomy",
"result": "35",
ATTR_ICON: "mdi:gas-station",
@ -471,7 +471,7 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
},
{
"entity_id": "sensor.fuel_quantity",
"entity_id": "sensor.reg_number_fuel_quantity",
"unique_id": "vf1aaaaa555777123_fuel_quantity",
"result": "3",
ATTR_ICON: "mdi:fuel",
@ -479,7 +479,7 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: VOLUME_LITERS,
},
{
"entity_id": "sensor.mileage",
"entity_id": "sensor.reg_number_mileage",
"unique_id": "vf1aaaaa555777123_mileage",
"result": "5567",
ATTR_ICON: "mdi:sign-direction",
@ -487,14 +487,14 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
},
{
"entity_id": "sensor.plug_state",
"entity_id": "sensor.reg_number_plug_state",
"unique_id": "vf1aaaaa555777123_plug_state",
"result": "plugged",
ATTR_DEVICE_CLASS: DEVICE_CLASS_PLUG_STATE,
ATTR_ICON: "mdi:power-plug",
},
{
"entity_id": "sensor.location_last_activity",
"entity_id": "sensor.reg_number_location_last_activity",
"unique_id": "vf1aaaaa555777123_location_last_activity",
"result": "2020-02-18T16:58:38+00:00",
"default_disabled": True,
@ -524,7 +524,7 @@ MOCK_VEHICLES = {
BINARY_SENSOR_DOMAIN: [],
DEVICE_TRACKER_DOMAIN: [
{
"entity_id": "device_tracker.location",
"entity_id": "device_tracker.reg_number_location",
"unique_id": "vf1aaaaa555777123_location",
"result": STATE_NOT_HOME,
ATTR_ICON: "mdi:car",
@ -533,7 +533,7 @@ MOCK_VEHICLES = {
SELECT_DOMAIN: [],
SENSOR_DOMAIN: [
{
"entity_id": "sensor.fuel_autonomy",
"entity_id": "sensor.reg_number_fuel_autonomy",
"unique_id": "vf1aaaaa555777123_fuel_autonomy",
"result": "35",
ATTR_ICON: "mdi:gas-station",
@ -541,7 +541,7 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
},
{
"entity_id": "sensor.fuel_quantity",
"entity_id": "sensor.reg_number_fuel_quantity",
"unique_id": "vf1aaaaa555777123_fuel_quantity",
"result": "3",
ATTR_ICON: "mdi:fuel",
@ -549,7 +549,7 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: VOLUME_LITERS,
},
{
"entity_id": "sensor.mileage",
"entity_id": "sensor.reg_number_mileage",
"unique_id": "vf1aaaaa555777123_mileage",
"result": "5567",
ATTR_ICON: "mdi:sign-direction",
@ -557,7 +557,7 @@ MOCK_VEHICLES = {
ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS,
},
{
"entity_id": "sensor.location_last_activity",
"entity_id": "sensor.reg_number_location_last_activity",
"unique_id": "vf1aaaaa555777123_location_last_activity",
"result": "2020-02-18T16:58:38+00:00",
"default_disabled": True,

View file

@ -133,7 +133,7 @@ async def test_select_charge_mode(hass: HomeAssistant, config_entry: ConfigEntry
await hass.async_block_till_done()
data = {
ATTR_ENTITY_ID: "select.charge_mode",
ATTR_ENTITY_ID: "select.reg_number_charge_mode",
ATTR_OPTION: "always",
}