mirror of
https://github.com/home-assistant/core.git
synced 2025-07-26 06:37:52 +00:00
Normalize pressure statistics to Pa (#52298)
This commit is contained in:
parent
2eebfe6ff3
commit
cca5964ac0
@ -24,9 +24,16 @@ from homeassistant.const import (
|
|||||||
ENERGY_WATT_HOUR,
|
ENERGY_WATT_HOUR,
|
||||||
POWER_KILO_WATT,
|
POWER_KILO_WATT,
|
||||||
POWER_WATT,
|
POWER_WATT,
|
||||||
|
PRESSURE_BAR,
|
||||||
|
PRESSURE_HPA,
|
||||||
|
PRESSURE_INHG,
|
||||||
|
PRESSURE_MBAR,
|
||||||
|
PRESSURE_PA,
|
||||||
|
PRESSURE_PSI,
|
||||||
)
|
)
|
||||||
from homeassistant.core import HomeAssistant, State
|
from homeassistant.core import HomeAssistant, State
|
||||||
import homeassistant.util.dt as dt_util
|
import homeassistant.util.dt as dt_util
|
||||||
|
import homeassistant.util.pressure as pressure_util
|
||||||
|
|
||||||
from . import DOMAIN
|
from . import DOMAIN
|
||||||
|
|
||||||
@ -51,6 +58,14 @@ UNIT_CONVERSIONS = {
|
|||||||
POWER_WATT: lambda x: x,
|
POWER_WATT: lambda x: x,
|
||||||
POWER_KILO_WATT: lambda x: x * 1000,
|
POWER_KILO_WATT: lambda x: x * 1000,
|
||||||
},
|
},
|
||||||
|
DEVICE_CLASS_PRESSURE: {
|
||||||
|
PRESSURE_BAR: lambda x: x / pressure_util.UNIT_CONVERSION[PRESSURE_BAR],
|
||||||
|
PRESSURE_HPA: lambda x: x / pressure_util.UNIT_CONVERSION[PRESSURE_HPA],
|
||||||
|
PRESSURE_INHG: lambda x: x / pressure_util.UNIT_CONVERSION[PRESSURE_INHG],
|
||||||
|
PRESSURE_MBAR: lambda x: x / pressure_util.UNIT_CONVERSION[PRESSURE_MBAR],
|
||||||
|
PRESSURE_PA: lambda x: x / pressure_util.UNIT_CONVERSION[PRESSURE_PA],
|
||||||
|
PRESSURE_PSI: lambda x: x / pressure_util.UNIT_CONVERSION[PRESSURE_PSI],
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
WARN_UNSUPPORTED_UNIT = set()
|
WARN_UNSUPPORTED_UNIT = set()
|
||||||
|
@ -32,7 +32,7 @@ def convert(value: float, unit_1: str, unit_2: str) -> float:
|
|||||||
if not isinstance(value, Number):
|
if not isinstance(value, Number):
|
||||||
raise TypeError(f"{value} is not of numeric type")
|
raise TypeError(f"{value} is not of numeric type")
|
||||||
|
|
||||||
if unit_1 == unit_2 or unit_1 not in VALID_UNITS:
|
if unit_1 == unit_2:
|
||||||
return value
|
return value
|
||||||
|
|
||||||
pascals = value / UNIT_CONVERSION[unit_1]
|
pascals = value / UNIT_CONVERSION[unit_1]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user