From 0dc2a5a02c5a56d2378c76528f89680bd0832be2 Mon Sep 17 00:00:00 2001 From: Christian Fetzer Date: Sun, 24 Aug 2025 21:30:25 +0200 Subject: [PATCH] =?UTF-8?q?Add=20m=C2=B3/min=20as=20volume=20flow=20rate?= =?UTF-8?q?=20unit=20(#151051)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- homeassistant/components/number/const.py | 2 +- homeassistant/components/sensor/const.py | 2 +- homeassistant/const.py | 1 + homeassistant/util/unit_conversion.py | 2 ++ tests/util/test_unit_conversion.py | 6 ++++++ 5 files changed, 11 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/number/const.py b/homeassistant/components/number/const.py index 76af35adeba..93fbfac2ebb 100644 --- a/homeassistant/components/number/const.py +++ b/homeassistant/components/number/const.py @@ -418,7 +418,7 @@ class NumberDeviceClass(StrEnum): """Generic flow rate Unit of measurement: UnitOfVolumeFlowRate - - SI / metric: `m³/h`, `L/min`, `mL/s` + - SI / metric: `m³/h`, `m³/min`, `m³/s`, `L/h`, `L/min`, `L/s`, `mL/s` - USCS / imperial: `ft³/min`, `gal/min` """ diff --git a/homeassistant/components/sensor/const.py b/homeassistant/components/sensor/const.py index e09923ad940..af35b8127eb 100644 --- a/homeassistant/components/sensor/const.py +++ b/homeassistant/components/sensor/const.py @@ -452,7 +452,7 @@ class SensorDeviceClass(StrEnum): """Generic flow rate Unit of measurement: UnitOfVolumeFlowRate - - SI / metric: `m³/h`, `L/min`, `mL/s` + - SI / metric: `m³/h`, `m³/min`, `m³/s`, `L/h`, `L/min`, `L/s`, `mL/s` - USCS / imperial: `ft³/min`, `gal/min` """ diff --git a/homeassistant/const.py b/homeassistant/const.py index 5ec3fb56903..16d361a7957 100644 --- a/homeassistant/const.py +++ b/homeassistant/const.py @@ -783,6 +783,7 @@ class UnitOfVolumeFlowRate(StrEnum): """Volume flow rate units.""" CUBIC_METERS_PER_HOUR = "m³/h" + CUBIC_METERS_PER_MINUTE = "m³/min" CUBIC_METERS_PER_SECOND = "m³/s" CUBIC_FEET_PER_MINUTE = "ft³/min" LITERS_PER_HOUR = "L/h" diff --git a/homeassistant/util/unit_conversion.py b/homeassistant/util/unit_conversion.py index ad459e55d15..4d6d2365617 100644 --- a/homeassistant/util/unit_conversion.py +++ b/homeassistant/util/unit_conversion.py @@ -769,6 +769,7 @@ class VolumeFlowRateConverter(BaseUnitConverter): # Units in terms of m³/h _UNIT_CONVERSION: dict[str | None, float] = { UnitOfVolumeFlowRate.CUBIC_METERS_PER_HOUR: 1, + UnitOfVolumeFlowRate.CUBIC_METERS_PER_MINUTE: 1 / _HRS_TO_MINUTES, UnitOfVolumeFlowRate.CUBIC_METERS_PER_SECOND: 1 / _HRS_TO_SECS, UnitOfVolumeFlowRate.CUBIC_FEET_PER_MINUTE: 1 / (_HRS_TO_MINUTES * _CUBIC_FOOT_TO_CUBIC_METER), @@ -784,6 +785,7 @@ class VolumeFlowRateConverter(BaseUnitConverter): VALID_UNITS = { UnitOfVolumeFlowRate.CUBIC_FEET_PER_MINUTE, UnitOfVolumeFlowRate.CUBIC_METERS_PER_HOUR, + UnitOfVolumeFlowRate.CUBIC_METERS_PER_MINUTE, UnitOfVolumeFlowRate.CUBIC_METERS_PER_SECOND, UnitOfVolumeFlowRate.LITERS_PER_HOUR, UnitOfVolumeFlowRate.LITERS_PER_MINUTE, diff --git a/tests/util/test_unit_conversion.py b/tests/util/test_unit_conversion.py index 08fb7cce067..d6f9d282174 100644 --- a/tests/util/test_unit_conversion.py +++ b/tests/util/test_unit_conversion.py @@ -947,6 +947,12 @@ _CONVERTED_VALUE: dict[ 1, UnitOfVolumeFlowRate.LITERS_PER_SECOND, ), + ( + 0.6, + UnitOfVolumeFlowRate.CUBIC_METERS_PER_MINUTE, + 10, + UnitOfVolumeFlowRate.LITERS_PER_SECOND, + ), ], }