From 3e20c506f4fda6d096a91d7df2e7b068be350ec2 Mon Sep 17 00:00:00 2001 From: Sid <27780930+autinerd@users.noreply.github.com> Date: Tue, 14 Oct 2025 16:16:48 +0200 Subject: [PATCH] Add gallons per hour as volume flow rate unit (#154246) Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com> --- homeassistant/const.py | 1 + homeassistant/util/unit_conversion.py | 2 ++ tests/util/test_unit_conversion.py | 6 ++++++ 3 files changed, 9 insertions(+) diff --git a/homeassistant/const.py b/homeassistant/const.py index 13f61eec6b1..d8869dfd6e9 100644 --- a/homeassistant/const.py +++ b/homeassistant/const.py @@ -665,6 +665,7 @@ class UnitOfVolumeFlowRate(StrEnum): LITERS_PER_HOUR = "L/h" LITERS_PER_MINUTE = "L/min" LITERS_PER_SECOND = "L/s" + GALLONS_PER_HOUR = "gal/h" GALLONS_PER_MINUTE = "gal/min" MILLILITERS_PER_SECOND = "mL/s" diff --git a/homeassistant/util/unit_conversion.py b/homeassistant/util/unit_conversion.py index 44ea5cbdd90..c3deae749a9 100644 --- a/homeassistant/util/unit_conversion.py +++ b/homeassistant/util/unit_conversion.py @@ -826,6 +826,7 @@ class VolumeFlowRateConverter(BaseUnitConverter): UnitOfVolumeFlowRate.LITERS_PER_MINUTE: 1 / (_HRS_TO_MINUTES * _L_TO_CUBIC_METER), UnitOfVolumeFlowRate.LITERS_PER_SECOND: 1 / (_HRS_TO_SECS * _L_TO_CUBIC_METER), + UnitOfVolumeFlowRate.GALLONS_PER_HOUR: 1 / _GALLON_TO_CUBIC_METER, UnitOfVolumeFlowRate.GALLONS_PER_MINUTE: 1 / (_HRS_TO_MINUTES * _GALLON_TO_CUBIC_METER), UnitOfVolumeFlowRate.MILLILITERS_PER_SECOND: 1 @@ -839,6 +840,7 @@ class VolumeFlowRateConverter(BaseUnitConverter): UnitOfVolumeFlowRate.LITERS_PER_HOUR, UnitOfVolumeFlowRate.LITERS_PER_MINUTE, UnitOfVolumeFlowRate.LITERS_PER_SECOND, + UnitOfVolumeFlowRate.GALLONS_PER_HOUR, UnitOfVolumeFlowRate.GALLONS_PER_MINUTE, UnitOfVolumeFlowRate.MILLILITERS_PER_SECOND, } diff --git a/tests/util/test_unit_conversion.py b/tests/util/test_unit_conversion.py index 91a9ed08479..26a6b180520 100644 --- a/tests/util/test_unit_conversion.py +++ b/tests/util/test_unit_conversion.py @@ -977,6 +977,12 @@ _CONVERTED_VALUE: dict[ 7.48051948, UnitOfVolumeFlowRate.GALLONS_PER_MINUTE, ), + ( + 1, + UnitOfVolumeFlowRate.LITERS_PER_HOUR, + 0.264172052, + UnitOfVolumeFlowRate.GALLONS_PER_HOUR, + ), ( 9, UnitOfVolumeFlowRate.CUBIC_METERS_PER_HOUR,