mirror of
https://github.com/home-assistant/core.git
synced 2025-04-23 16:57:53 +00:00
Add kPa as a pressure unit (#56885)
This commit is contained in:
parent
369412547a
commit
e4f15c42e0
@ -470,6 +470,7 @@ FREQUENCY_GIGAHERTZ: Final = "GHz"
|
||||
# Pressure units
|
||||
PRESSURE_PA: Final = "Pa"
|
||||
PRESSURE_HPA: Final = "hPa"
|
||||
PRESSURE_KPA: Final = "kPa"
|
||||
PRESSURE_BAR: Final = "bar"
|
||||
PRESSURE_MBAR: Final = "mbar"
|
||||
PRESSURE_INHG: Final = "inHg"
|
||||
|
@ -8,6 +8,7 @@ from homeassistant.const import (
|
||||
PRESSURE_BAR,
|
||||
PRESSURE_HPA,
|
||||
PRESSURE_INHG,
|
||||
PRESSURE_KPA,
|
||||
PRESSURE_MBAR,
|
||||
PRESSURE_PA,
|
||||
PRESSURE_PSI,
|
||||
@ -17,6 +18,7 @@ from homeassistant.const import (
|
||||
VALID_UNITS: tuple[str, ...] = (
|
||||
PRESSURE_PA,
|
||||
PRESSURE_HPA,
|
||||
PRESSURE_KPA,
|
||||
PRESSURE_BAR,
|
||||
PRESSURE_MBAR,
|
||||
PRESSURE_INHG,
|
||||
@ -26,6 +28,7 @@ VALID_UNITS: tuple[str, ...] = (
|
||||
UNIT_CONVERSION: dict[str, float] = {
|
||||
PRESSURE_PA: 1,
|
||||
PRESSURE_HPA: 1 / 100,
|
||||
PRESSURE_KPA: 1 / 1000,
|
||||
PRESSURE_BAR: 1 / 100000,
|
||||
PRESSURE_MBAR: 1 / 100,
|
||||
PRESSURE_INHG: 1 / 3386.389,
|
||||
|
@ -4,6 +4,7 @@ import pytest
|
||||
from homeassistant.const import (
|
||||
PRESSURE_HPA,
|
||||
PRESSURE_INHG,
|
||||
PRESSURE_KPA,
|
||||
PRESSURE_MBAR,
|
||||
PRESSURE_PA,
|
||||
PRESSURE_PSI,
|
||||
@ -20,6 +21,7 @@ def test_convert_same_unit():
|
||||
assert pressure_util.convert(3, PRESSURE_HPA, PRESSURE_HPA) == 3
|
||||
assert pressure_util.convert(4, PRESSURE_MBAR, PRESSURE_MBAR) == 4
|
||||
assert pressure_util.convert(5, PRESSURE_INHG, PRESSURE_INHG) == 5
|
||||
assert pressure_util.convert(6, PRESSURE_KPA, PRESSURE_KPA) == 6
|
||||
|
||||
|
||||
def test_convert_invalid_unit():
|
||||
@ -49,17 +51,43 @@ def test_convert_from_hpascals():
|
||||
assert pressure_util.convert(hpascals, PRESSURE_HPA, PRESSURE_PA) == pytest.approx(
|
||||
100000
|
||||
)
|
||||
assert pressure_util.convert(hpascals, PRESSURE_HPA, PRESSURE_KPA) == pytest.approx(
|
||||
100
|
||||
)
|
||||
assert pressure_util.convert(
|
||||
hpascals, PRESSURE_HPA, PRESSURE_MBAR
|
||||
) == pytest.approx(1000)
|
||||
|
||||
|
||||
def test_convert_from_kpascals():
|
||||
"""Test conversion from hPA to other units."""
|
||||
kpascals = 100
|
||||
assert pressure_util.convert(kpascals, PRESSURE_KPA, PRESSURE_PSI) == pytest.approx(
|
||||
14.5037743897
|
||||
)
|
||||
assert pressure_util.convert(
|
||||
kpascals, PRESSURE_KPA, PRESSURE_INHG
|
||||
) == pytest.approx(29.5299801647)
|
||||
assert pressure_util.convert(kpascals, PRESSURE_KPA, PRESSURE_PA) == pytest.approx(
|
||||
100000
|
||||
)
|
||||
assert pressure_util.convert(kpascals, PRESSURE_KPA, PRESSURE_HPA) == pytest.approx(
|
||||
1000
|
||||
)
|
||||
assert pressure_util.convert(
|
||||
kpascals, PRESSURE_KPA, PRESSURE_MBAR
|
||||
) == pytest.approx(1000)
|
||||
|
||||
|
||||
def test_convert_from_inhg():
|
||||
"""Test conversion from inHg to other units."""
|
||||
inhg = 30
|
||||
assert pressure_util.convert(inhg, PRESSURE_INHG, PRESSURE_PSI) == pytest.approx(
|
||||
14.7346266155
|
||||
)
|
||||
assert pressure_util.convert(inhg, PRESSURE_INHG, PRESSURE_KPA) == pytest.approx(
|
||||
101.59167
|
||||
)
|
||||
assert pressure_util.convert(inhg, PRESSURE_INHG, PRESSURE_HPA) == pytest.approx(
|
||||
1015.9167
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user