Use UnitOfVolume in unit conversion (#83292)

pull/83349/head
epenet 2022-12-05 16:56:05 +01:00 committed by GitHub
parent ff7a70d31b
commit eb13f2b724
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 14 additions and 19 deletions

View File

@ -3,12 +3,6 @@ from __future__ import annotations
from homeassistant.const import ( from homeassistant.const import (
UNIT_NOT_RECOGNIZED_TEMPLATE, UNIT_NOT_RECOGNIZED_TEMPLATE,
VOLUME_CUBIC_FEET,
VOLUME_CUBIC_METERS,
VOLUME_FLUID_OUNCE,
VOLUME_GALLONS,
VOLUME_LITERS,
VOLUME_MILLILITERS,
UnitOfEnergy, UnitOfEnergy,
UnitOfLength, UnitOfLength,
UnitOfMass, UnitOfMass,
@ -16,6 +10,7 @@ from homeassistant.const import (
UnitOfPressure, UnitOfPressure,
UnitOfSpeed, UnitOfSpeed,
UnitOfTemperature, UnitOfTemperature,
UnitOfVolume,
UnitOfVolumetricFlux, UnitOfVolumetricFlux,
) )
from homeassistant.exceptions import HomeAssistantError from homeassistant.exceptions import HomeAssistantError
@ -332,21 +327,21 @@ class VolumeConverter(BaseUnitConverter):
"""Utility to convert volume values.""" """Utility to convert volume values."""
UNIT_CLASS = "volume" UNIT_CLASS = "volume"
NORMALIZED_UNIT = VOLUME_CUBIC_METERS NORMALIZED_UNIT = UnitOfVolume.CUBIC_METERS
# Units in terms of m³ # Units in terms of m³
_UNIT_CONVERSION: dict[str, float] = { _UNIT_CONVERSION: dict[str, float] = {
VOLUME_LITERS: 1 / _L_TO_CUBIC_METER, UnitOfVolume.LITERS: 1 / _L_TO_CUBIC_METER,
VOLUME_MILLILITERS: 1 / _ML_TO_CUBIC_METER, UnitOfVolume.MILLILITERS: 1 / _ML_TO_CUBIC_METER,
VOLUME_GALLONS: 1 / _GALLON_TO_CUBIC_METER, UnitOfVolume.GALLONS: 1 / _GALLON_TO_CUBIC_METER,
VOLUME_FLUID_OUNCE: 1 / _FLUID_OUNCE_TO_CUBIC_METER, UnitOfVolume.FLUID_OUNCES: 1 / _FLUID_OUNCE_TO_CUBIC_METER,
VOLUME_CUBIC_METERS: 1, UnitOfVolume.CUBIC_METERS: 1,
VOLUME_CUBIC_FEET: 1 / _CUBIC_FOOT_TO_CUBIC_METER, UnitOfVolume.CUBIC_FEET: 1 / _CUBIC_FOOT_TO_CUBIC_METER,
} }
VALID_UNITS = { VALID_UNITS = {
VOLUME_LITERS, UnitOfVolume.LITERS,
VOLUME_MILLILITERS, UnitOfVolume.MILLILITERS,
VOLUME_GALLONS, UnitOfVolume.GALLONS,
VOLUME_FLUID_OUNCE, UnitOfVolume.FLUID_OUNCES,
VOLUME_CUBIC_METERS, UnitOfVolume.CUBIC_METERS,
VOLUME_CUBIC_FEET, UnitOfVolume.CUBIC_FEET,
} }