diff --git a/homeassistant/components/number/const.py b/homeassistant/components/number/const.py index 6a5809610ee..2a9c4057168 100644 --- a/homeassistant/components/number/const.py +++ b/homeassistant/components/number/const.py @@ -176,7 +176,7 @@ class NumberDeviceClass(StrEnum): Use this device class for sensors measuring energy by distance, for example the amount of electric energy consumed by an electric car. - Unit of measurement: `kWh/100km`, `mi/kWh`, `km/kWh` + Unit of measurement: `kWh/100km`, `Wh/km`, `mi/kWh`, `km/kWh` """ ENERGY_STORAGE = "energy_storage" diff --git a/homeassistant/components/sensor/const.py b/homeassistant/components/sensor/const.py index 31b33303dd4..c466bc52703 100644 --- a/homeassistant/components/sensor/const.py +++ b/homeassistant/components/sensor/const.py @@ -205,7 +205,7 @@ class SensorDeviceClass(StrEnum): Use this device class for sensors measuring energy by distance, for example the amount of electric energy consumed by an electric car. - Unit of measurement: `kWh/100km`, `mi/kWh`, `km/kWh` + Unit of measurement: `kWh/100km`, `Wh/km`, `mi/kWh`, `km/kWh` """ ENERGY_STORAGE = "energy_storage" diff --git a/homeassistant/const.py b/homeassistant/const.py index a3674d6e5d6..5b299fd0187 100644 --- a/homeassistant/const.py +++ b/homeassistant/const.py @@ -647,6 +647,7 @@ class UnitOfEnergyDistance(StrEnum): """Energy Distance units.""" KILO_WATT_HOUR_PER_100_KM = "kWh/100km" + WATT_HOUR_PER_KM = "Wh/km" MILES_PER_KILO_WATT_HOUR = "mi/kWh" KM_PER_KILO_WATT_HOUR = "km/kWh" diff --git a/homeassistant/util/unit_conversion.py b/homeassistant/util/unit_conversion.py index 0355aa96aca..2ee7b5cd384 100644 --- a/homeassistant/util/unit_conversion.py +++ b/homeassistant/util/unit_conversion.py @@ -313,6 +313,7 @@ class EnergyDistanceConverter(BaseUnitConverter): UNIT_CLASS = "energy_distance" _UNIT_CONVERSION: dict[str | None, float] = { UnitOfEnergyDistance.KILO_WATT_HOUR_PER_100_KM: 1, + UnitOfEnergyDistance.WATT_HOUR_PER_KM: 10, UnitOfEnergyDistance.MILES_PER_KILO_WATT_HOUR: 100 * _KM_TO_M / _MILE_TO_M, UnitOfEnergyDistance.KM_PER_KILO_WATT_HOUR: 100, } diff --git a/tests/util/test_unit_conversion.py b/tests/util/test_unit_conversion.py index 885757b7eb4..0e9da5dbf3d 100644 --- a/tests/util/test_unit_conversion.py +++ b/tests/util/test_unit_conversion.py @@ -509,6 +509,18 @@ _CONVERTED_VALUE: dict[ 6.213712, UnitOfEnergyDistance.MILES_PER_KILO_WATT_HOUR, ), + ( + 10, + UnitOfEnergyDistance.KILO_WATT_HOUR_PER_100_KM, + 100, + UnitOfEnergyDistance.WATT_HOUR_PER_KM, + ), + ( + 15, + UnitOfEnergyDistance.WATT_HOUR_PER_KM, + 1.5, + UnitOfEnergyDistance.KILO_WATT_HOUR_PER_100_KM, + ), ( 25, UnitOfEnergyDistance.KILO_WATT_HOUR_PER_100_KM,