From 7f345e7672ed2befb48d37bcce3a7a875a0d4bb1 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Thu, 8 Dec 2022 23:48:24 +0100 Subject: [PATCH] Add entity translations to Renault (#83392) --- homeassistant/components/renault/select.py | 1 + homeassistant/components/renault/sensor.py | 15 +++++++ homeassistant/components/renault/strings.json | 33 ++++++++++++++++ .../components/renault/translations/en.json | 33 ++++++++++++++++ tests/components/renault/const.py | 39 +++++++++++++++++++ 5 files changed, 121 insertions(+) diff --git a/homeassistant/components/renault/select.py b/homeassistant/components/renault/select.py index bd383a07187..1d34c9fdf2b 100644 --- a/homeassistant/components/renault/select.py +++ b/homeassistant/components/renault/select.py @@ -90,6 +90,7 @@ SENSOR_TYPES: tuple[RenaultSelectEntityDescription, ...] = ( key="charge_mode", coordinator="charge_mode", data_key="chargeMode", + translation_key="charge_mode", icon_lambda=_get_charge_mode_icon, name="Charge mode", options=["always", "always_charging", "schedule_mode"], diff --git a/homeassistant/components/renault/sensor.py b/homeassistant/components/renault/sensor.py index 4d174f1e7d5..b8b7f3d6a6c 100644 --- a/homeassistant/components/renault/sensor.py +++ b/homeassistant/components/renault/sensor.py @@ -171,9 +171,21 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = ( key="charge_state", coordinator="battery", data_key="chargingStatus", + translation_key="charge_state", + device_class=SensorDeviceClass.ENUM, entity_class=RenaultSensor[KamereonVehicleBatteryStatusData], icon_lambda=_get_charge_state_icon, name="Charge state", + options=[ + "not_in_charge", + "waiting_for_a_planned_charge", + "charge_ended", + "waiting_for_current_charge", + "energy_flap_opened", + "charge_in_progress", + "charge_error", + "unavailable", + ], value_lambda=_get_charge_state_formatted, ), RenaultSensorEntityDescription( @@ -218,9 +230,12 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = ( key="plug_state", coordinator="battery", data_key="plugStatus", + translation_key="plug_state", + device_class=SensorDeviceClass.ENUM, entity_class=RenaultSensor[KamereonVehicleBatteryStatusData], icon_lambda=_get_plug_state_icon, name="Plug state", + options=["unplugged", "plugged", "plug_error", "plug_unknown"], value_lambda=_get_plug_state_formatted, ), RenaultSensorEntityDescription( diff --git a/homeassistant/components/renault/strings.json b/homeassistant/components/renault/strings.json index 30a356b7c42..b28f1727c2f 100644 --- a/homeassistant/components/renault/strings.json +++ b/homeassistant/components/renault/strings.json @@ -31,5 +31,38 @@ "title": "Set Renault credentials" } } + }, + "entity": { + "select": { + "charge_mode": { + "state": { + "always": "Instant", + "always_charging": "Instant", + "schedule_mode": "Planner" + } + } + }, + "sensor": { + "plug_state": { + "state": { + "unplugged": "Unplugged", + "plugged": "Plugged in", + "plug_error": "Plug error", + "plug_unknown": "Plug unknown" + } + }, + "charge_state": { + "state": { + "not_in_charge": "Not charging", + "waiting_for_a_planned_charge": "Waiting for planned charge", + "charge_ended": "Charge ended", + "waiting_for_current_charge": "Waiting for current charge", + "energy_flap_opened": "Energy flap opened", + "charge_in_progress": "Charging", + "charge_error": "Not charging or plugged in", + "unavailable": "Unavailable" + } + } + } } } diff --git a/homeassistant/components/renault/translations/en.json b/homeassistant/components/renault/translations/en.json index 104a3f0ba64..6beff5111ab 100644 --- a/homeassistant/components/renault/translations/en.json +++ b/homeassistant/components/renault/translations/en.json @@ -31,5 +31,38 @@ "title": "Set Renault credentials" } } + }, + "entity":{ + "select": { + "charge_mode": { + "state": { + "always": "Instant", + "always_charging": "Instant", + "schedule_mode": "Planner" + } + } + }, + "sensor": { + "plug_state": { + "state": { + "unplugged": "Unplugged", + "plugged": "Plugged in", + "plug_error": "Plug error", + "plug_unknown": "Plug unknown" + } + }, + "charge_state": { + "state": { + "not_in_charge": "Not charging", + "waiting_for_a_planned_charge": "Waiting for planned charge", + "charge_ended": "Charge ended", + "waiting_for_current_charge": "Waiting for current charge", + "energy_flap_opened": "Energy flap opened", + "charge_in_progress": "Charging", + "charge_error": "Not charging or plugged in", + "unavailable": "Unavailable" + } + } + } } } \ No newline at end of file diff --git a/tests/components/renault/const.py b/tests/components/renault/const.py index b288045c3b4..96cdeed2493 100644 --- a/tests/components/renault/const.py +++ b/tests/components/renault/const.py @@ -167,8 +167,19 @@ MOCK_VEHICLES = { ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, }, { + ATTR_DEVICE_CLASS: SensorDeviceClass.ENUM, ATTR_ENTITY_ID: "sensor.reg_number_charge_state", ATTR_ICON: "mdi:flash", + ATTR_OPTIONS: [ + "not_in_charge", + "waiting_for_a_planned_charge", + "charge_ended", + "waiting_for_current_charge", + "energy_flap_opened", + "charge_in_progress", + "charge_error", + "unavailable", + ], ATTR_STATE: "charge_in_progress", ATTR_UNIQUE_ID: "vf1aaaaa555777999_charge_state", }, @@ -219,8 +230,10 @@ MOCK_VEHICLES = { ATTR_UNIQUE_ID: "vf1aaaaa555777999_hvac_last_activity", }, { + ATTR_DEVICE_CLASS: SensorDeviceClass.ENUM, ATTR_ENTITY_ID: "sensor.reg_number_plug_state", ATTR_ICON: "mdi:power-plug", + ATTR_OPTIONS: ["unplugged", "plugged", "plug_error", "plug_unknown"], ATTR_STATE: "plugged", ATTR_UNIQUE_ID: "vf1aaaaa555777999_plug_state", }, @@ -383,8 +396,19 @@ MOCK_VEHICLES = { ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, }, { + ATTR_DEVICE_CLASS: SensorDeviceClass.ENUM, ATTR_ENTITY_ID: "sensor.reg_number_charge_state", ATTR_ICON: "mdi:flash-off", + ATTR_OPTIONS: [ + "not_in_charge", + "waiting_for_a_planned_charge", + "charge_ended", + "waiting_for_current_charge", + "energy_flap_opened", + "charge_in_progress", + "charge_error", + "unavailable", + ], ATTR_STATE: "charge_error", ATTR_UNIQUE_ID: "vf1aaaaa555777999_charge_state", }, @@ -435,8 +459,10 @@ MOCK_VEHICLES = { ATTR_UNIQUE_ID: "vf1aaaaa555777999_hvac_last_activity", }, { + ATTR_DEVICE_CLASS: SensorDeviceClass.ENUM, ATTR_ENTITY_ID: "sensor.reg_number_plug_state", ATTR_ICON: "mdi:power-plug-off", + ATTR_OPTIONS: ["unplugged", "plugged", "plug_error", "plug_unknown"], ATTR_STATE: "unplugged", ATTR_UNIQUE_ID: "vf1aaaaa555777999_plug_state", }, @@ -599,8 +625,19 @@ MOCK_VEHICLES = { ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, }, { + ATTR_DEVICE_CLASS: SensorDeviceClass.ENUM, ATTR_ENTITY_ID: "sensor.reg_number_charge_state", ATTR_ICON: "mdi:flash", + ATTR_OPTIONS: [ + "not_in_charge", + "waiting_for_a_planned_charge", + "charge_ended", + "waiting_for_current_charge", + "energy_flap_opened", + "charge_in_progress", + "charge_error", + "unavailable", + ], ATTR_STATE: "charge_in_progress", ATTR_UNIQUE_ID: "vf1aaaaa555777123_charge_state", }, @@ -648,8 +685,10 @@ MOCK_VEHICLES = { ATTR_UNIT_OF_MEASUREMENT: LENGTH_KILOMETERS, }, { + ATTR_DEVICE_CLASS: SensorDeviceClass.ENUM, ATTR_ENTITY_ID: "sensor.reg_number_plug_state", ATTR_ICON: "mdi:power-plug", + ATTR_OPTIONS: ["unplugged", "plugged", "plug_error", "plug_unknown"], ATTR_STATE: "plugged", ATTR_UNIQUE_ID: "vf1aaaaa555777123_plug_state", },