Add support for `inH₂O` pressure unit (#148289)
Co-authored-by: Erik Montnemery <erik@montnemery.com>pull/152158/head
parent
baf4382724
commit
4c22264b13
|
@ -328,6 +328,7 @@ class NumberDeviceClass(StrEnum):
|
|||
- `Pa`, `hPa`, `kPa`
|
||||
- `inHg`
|
||||
- `psi`
|
||||
- `inH₂O`
|
||||
"""
|
||||
|
||||
REACTIVE_ENERGY = "reactive_energy"
|
||||
|
|
|
@ -361,6 +361,7 @@ class SensorDeviceClass(StrEnum):
|
|||
- `Pa`, `hPa`, `kPa`
|
||||
- `inHg`
|
||||
- `psi`
|
||||
- `inH₂O`
|
||||
"""
|
||||
|
||||
REACTIVE_ENERGY = "reactive_energy"
|
||||
|
|
|
@ -749,6 +749,7 @@ class UnitOfPressure(StrEnum):
|
|||
MBAR = "mbar"
|
||||
MMHG = "mmHg"
|
||||
INHG = "inHg"
|
||||
INH2O = "inH₂O"
|
||||
PSI = "psi"
|
||||
|
||||
|
||||
|
|
|
@ -82,6 +82,7 @@ _STONE_TO_G = _POUND_TO_G * 14 # 14 pounds to a stone
|
|||
# Pressure conversion constants
|
||||
_STANDARD_GRAVITY = 9.80665
|
||||
_MERCURY_DENSITY = 13.5951
|
||||
_INH2O_TO_PA = 249.0889083333348 # 1 inH₂O = 249.0889083333348 Pa at 4°C
|
||||
|
||||
# Volume conversion constants
|
||||
_L_TO_CUBIC_METER = 0.001 # 1 L = 0.001 m³
|
||||
|
@ -435,6 +436,7 @@ class PressureConverter(BaseUnitConverter):
|
|||
UnitOfPressure.MBAR: 1 / 100,
|
||||
UnitOfPressure.INHG: 1
|
||||
/ (_IN_TO_M * 1000 * _STANDARD_GRAVITY * _MERCURY_DENSITY),
|
||||
UnitOfPressure.INH2O: 1 / _INH2O_TO_PA,
|
||||
UnitOfPressure.PSI: 1 / 6894.757,
|
||||
UnitOfPressure.MMHG: 1
|
||||
/ (_MM_TO_M * 1000 * _STANDARD_GRAVITY * _MERCURY_DENSITY),
|
||||
|
@ -447,6 +449,7 @@ class PressureConverter(BaseUnitConverter):
|
|||
UnitOfPressure.CBAR,
|
||||
UnitOfPressure.MBAR,
|
||||
UnitOfPressure.INHG,
|
||||
UnitOfPressure.INH2O,
|
||||
UnitOfPressure.PSI,
|
||||
UnitOfPressure.MMHG,
|
||||
}
|
||||
|
|
|
@ -296,6 +296,7 @@ METRIC_SYSTEM = UnitSystem(
|
|||
# Convert non-metric pressure
|
||||
("pressure", UnitOfPressure.PSI): UnitOfPressure.KPA,
|
||||
("pressure", UnitOfPressure.INHG): UnitOfPressure.HPA,
|
||||
("pressure", UnitOfPressure.INH2O): UnitOfPressure.KPA,
|
||||
# Convert non-metric speeds except knots to km/h
|
||||
("speed", UnitOfSpeed.FEET_PER_SECOND): UnitOfSpeed.KILOMETERS_PER_HOUR,
|
||||
("speed", UnitOfSpeed.INCHES_PER_SECOND): UnitOfSpeed.MILLIMETERS_PER_SECOND,
|
||||
|
@ -379,6 +380,7 @@ US_CUSTOMARY_SYSTEM = UnitSystem(
|
|||
("pressure", UnitOfPressure.HPA): UnitOfPressure.PSI,
|
||||
("pressure", UnitOfPressure.KPA): UnitOfPressure.PSI,
|
||||
("pressure", UnitOfPressure.MMHG): UnitOfPressure.INHG,
|
||||
("pressure", UnitOfPressure.INH2O): UnitOfPressure.PSI,
|
||||
# Convert non-USCS speeds, except knots, to mph
|
||||
("speed", UnitOfSpeed.METERS_PER_SECOND): UnitOfSpeed.MILES_PER_HOUR,
|
||||
("speed", UnitOfSpeed.MILLIMETERS_PER_SECOND): UnitOfSpeed.INCHES_PER_SECOND,
|
||||
|
|
|
@ -4957,14 +4957,14 @@ async def async_record_states(
|
|||
PRESSURE_SENSOR_ATTRIBUTES,
|
||||
"psi",
|
||||
"bar",
|
||||
"Pa, bar, cbar, hPa, inHg, kPa, mbar, mmHg, psi",
|
||||
"Pa, bar, cbar, hPa, inHg, inH₂O, kPa, mbar, mmHg, psi",
|
||||
),
|
||||
(
|
||||
METRIC_SYSTEM,
|
||||
PRESSURE_SENSOR_ATTRIBUTES,
|
||||
"Pa",
|
||||
"bar",
|
||||
"Pa, bar, cbar, hPa, inHg, kPa, mbar, mmHg, psi",
|
||||
"Pa, bar, cbar, hPa, inHg, inH₂O, kPa, mbar, mmHg, psi",
|
||||
),
|
||||
],
|
||||
)
|
||||
|
@ -5175,14 +5175,14 @@ async def test_validate_statistics_unit_ignore_device_class(
|
|||
PRESSURE_SENSOR_ATTRIBUTES,
|
||||
"psi",
|
||||
"bar",
|
||||
"Pa, bar, cbar, hPa, inHg, kPa, mbar, mmHg, psi",
|
||||
"Pa, bar, cbar, hPa, inHg, inH₂O, kPa, mbar, mmHg, psi",
|
||||
),
|
||||
(
|
||||
METRIC_SYSTEM,
|
||||
PRESSURE_SENSOR_ATTRIBUTES,
|
||||
"Pa",
|
||||
"bar",
|
||||
"Pa, bar, cbar, hPa, inHg, kPa, mbar, mmHg, psi",
|
||||
"Pa, bar, cbar, hPa, inHg, inH₂O, kPa, mbar, mmHg, psi",
|
||||
),
|
||||
(
|
||||
METRIC_SYSTEM,
|
||||
|
|
|
@ -672,12 +672,21 @@ _CONVERTED_VALUE: dict[
|
|||
(1000, UnitOfPressure.HPA, 100, UnitOfPressure.KPA),
|
||||
(1000, UnitOfPressure.HPA, 1000, UnitOfPressure.MBAR),
|
||||
(1000, UnitOfPressure.HPA, 100, UnitOfPressure.CBAR),
|
||||
(1000, UnitOfPressure.HPA, 401.46307866177, UnitOfPressure.INH2O),
|
||||
(100, UnitOfPressure.KPA, 14.5037743897, UnitOfPressure.PSI),
|
||||
(100, UnitOfPressure.KPA, 29.5299801647, UnitOfPressure.INHG),
|
||||
(100, UnitOfPressure.KPA, 100000, UnitOfPressure.PA),
|
||||
(100, UnitOfPressure.KPA, 1000, UnitOfPressure.HPA),
|
||||
(100, UnitOfPressure.KPA, 1000, UnitOfPressure.MBAR),
|
||||
(100, UnitOfPressure.KPA, 100, UnitOfPressure.CBAR),
|
||||
(100, UnitOfPressure.INH2O, 3.6127291827353996, UnitOfPressure.PSI),
|
||||
(100, UnitOfPressure.INH2O, 186.83201548767, UnitOfPressure.MMHG),
|
||||
(100, UnitOfPressure.INH2O, 7.3555912463681, UnitOfPressure.INHG),
|
||||
(100, UnitOfPressure.INH2O, 24908.890833333, UnitOfPressure.PA),
|
||||
(100, UnitOfPressure.INH2O, 249.08890833333, UnitOfPressure.HPA),
|
||||
(100, UnitOfPressure.INH2O, 249.08890833333, UnitOfPressure.MBAR),
|
||||
(100, UnitOfPressure.INH2O, 24.908890833333, UnitOfPressure.KPA),
|
||||
(100, UnitOfPressure.INH2O, 24.908890833333, UnitOfPressure.CBAR),
|
||||
(30, UnitOfPressure.INHG, 14.7346266155, UnitOfPressure.PSI),
|
||||
(30, UnitOfPressure.INHG, 101.59167, UnitOfPressure.KPA),
|
||||
(30, UnitOfPressure.INHG, 1015.9167, UnitOfPressure.HPA),
|
||||
|
@ -685,6 +694,7 @@ _CONVERTED_VALUE: dict[
|
|||
(30, UnitOfPressure.INHG, 1015.9167, UnitOfPressure.MBAR),
|
||||
(30, UnitOfPressure.INHG, 101.59167, UnitOfPressure.CBAR),
|
||||
(30, UnitOfPressure.INHG, 762, UnitOfPressure.MMHG),
|
||||
(30, UnitOfPressure.INHG, 407.85300589959, UnitOfPressure.INH2O),
|
||||
(30, UnitOfPressure.MMHG, 0.580103, UnitOfPressure.PSI),
|
||||
(30, UnitOfPressure.MMHG, 3.99967, UnitOfPressure.KPA),
|
||||
(30, UnitOfPressure.MMHG, 39.9967, UnitOfPressure.HPA),
|
||||
|
@ -692,6 +702,7 @@ _CONVERTED_VALUE: dict[
|
|||
(30, UnitOfPressure.MMHG, 39.9967, UnitOfPressure.MBAR),
|
||||
(30, UnitOfPressure.MMHG, 3.99967, UnitOfPressure.CBAR),
|
||||
(30, UnitOfPressure.MMHG, 1.181102, UnitOfPressure.INHG),
|
||||
(30, UnitOfPressure.MMHG, 16.0572051431838, UnitOfPressure.INH2O),
|
||||
(5, UnitOfPressure.BAR, 72.51887, UnitOfPressure.PSI),
|
||||
],
|
||||
ReactiveEnergyConverter: [
|
||||
|
|
Loading…
Reference in New Issue