From 466365c8de4b4b519b89bcbc8efc67778d495d1f Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Wed, 2 Nov 2022 18:07:51 +0100 Subject: [PATCH] Fix Renault charging power sensor (#81412) --- homeassistant/components/renault/sensor.py | 12 ++++++++---- tests/components/renault/const.py | 13 ++++++------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/homeassistant/components/renault/sensor.py b/homeassistant/components/renault/sensor.py index 3076dfc9f10..436b9209e89 100644 --- a/homeassistant/components/renault/sensor.py +++ b/homeassistant/components/renault/sensor.py @@ -23,7 +23,6 @@ from homeassistant.components.sensor import ( ) from homeassistant.config_entries import ConfigEntry from homeassistant.const import ( - ELECTRIC_CURRENT_AMPERE, ENERGY_KILO_WATT_HOUR, LENGTH_KILOMETERS, PERCENTAGE, @@ -189,17 +188,22 @@ SENSOR_TYPES: tuple[RenaultSensorEntityDescription[Any], ...] = ( state_class=SensorStateClass.MEASUREMENT, ), RenaultSensorEntityDescription( + # For vehicles that DO NOT report charging power in watts, this seems to + # correspond to the maximum power that would be admissible by the car based + # on the battery state, regardless of the type of charger. key="charging_power", condition_lambda=lambda a: not a.details.reports_charging_power_in_watts(), coordinator="battery", data_key="chargingInstantaneousPower", - device_class=SensorDeviceClass.CURRENT, + device_class=SensorDeviceClass.POWER, entity_class=RenaultSensor[KamereonVehicleBatteryStatusData], - name="Charging power", - native_unit_of_measurement=ELECTRIC_CURRENT_AMPERE, + name="Admissible charging power", + native_unit_of_measurement=POWER_KILO_WATT, state_class=SensorStateClass.MEASUREMENT, ), RenaultSensorEntityDescription( + # For vehicles that DO report charging power in watts, this is the power + # effectively being transferred to the car. key="charging_power", condition_lambda=lambda a: a.details.reports_charging_power_in_watts(), coordinator="battery", diff --git a/tests/components/renault/const.py b/tests/components/renault/const.py index 785e27e1ea6..97499d19bea 100644 --- a/tests/components/renault/const.py +++ b/tests/components/renault/const.py @@ -27,7 +27,6 @@ from homeassistant.const import ( ATTR_UNIT_OF_MEASUREMENT, CONF_PASSWORD, CONF_USERNAME, - ELECTRIC_CURRENT_AMPERE, ENERGY_KILO_WATT_HOUR, LENGTH_KILOMETERS, PERCENTAGE, @@ -398,12 +397,12 @@ MOCK_VEHICLES = { ATTR_UNIQUE_ID: "vf1aaaaa555777999_charge_state", }, { - ATTR_DEVICE_CLASS: SensorDeviceClass.CURRENT, - ATTR_ENTITY_ID: "sensor.reg_number_charging_power", + ATTR_DEVICE_CLASS: SensorDeviceClass.POWER, + ATTR_ENTITY_ID: "sensor.reg_number_admissible_charging_power", ATTR_STATE: STATE_UNKNOWN, ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT, ATTR_UNIQUE_ID: "vf1aaaaa555777999_charging_power", - ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_CURRENT_AMPERE, + ATTR_UNIT_OF_MEASUREMENT: POWER_KILO_WATT, }, { ATTR_ENTITY_ID: "sensor.reg_number_charging_remaining_time", @@ -617,12 +616,12 @@ MOCK_VEHICLES = { ATTR_UNIQUE_ID: "vf1aaaaa555777123_charge_state", }, { - ATTR_DEVICE_CLASS: SensorDeviceClass.CURRENT, - ATTR_ENTITY_ID: "sensor.reg_number_charging_power", + ATTR_DEVICE_CLASS: SensorDeviceClass.POWER, + ATTR_ENTITY_ID: "sensor.reg_number_admissible_charging_power", ATTR_STATE: "27.0", ATTR_STATE_CLASS: SensorStateClass.MEASUREMENT, ATTR_UNIQUE_ID: "vf1aaaaa555777123_charging_power", - ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_CURRENT_AMPERE, + ATTR_UNIT_OF_MEASUREMENT: POWER_KILO_WATT, }, { ATTR_ENTITY_ID: "sensor.reg_number_charging_remaining_time",