Replace new PRECIPITATION_INTENSITY with enum (#80653)
This commit is contained in:
parent
727eccfec4
commit
7838bb3ebe
12 changed files with 77 additions and 75 deletions
|
@ -21,11 +21,11 @@ from homeassistant.components.weather import (
|
|||
from homeassistant.const import (
|
||||
DEGREE,
|
||||
PERCENTAGE,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR,
|
||||
PRESSURE_HPA,
|
||||
SPEED_KILOMETERS_PER_HOUR,
|
||||
TEMP_CELSIUS,
|
||||
Platform,
|
||||
UnitOfVolumetricFlux,
|
||||
)
|
||||
|
||||
ATTRIBUTION = "Powered by AEMET OpenData"
|
||||
|
@ -208,7 +208,7 @@ FORECAST_SENSOR_TYPES: tuple[SensorEntityDescription, ...] = (
|
|||
SensorEntityDescription(
|
||||
key=ATTR_API_FORECAST_PRECIPITATION,
|
||||
name="Precipitation",
|
||||
native_unit_of_measurement=PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR,
|
||||
native_unit_of_measurement=UnitOfVolumetricFlux.MILLIMETERS_PER_HOUR,
|
||||
),
|
||||
SensorEntityDescription(
|
||||
key=ATTR_API_FORECAST_PRECIPITATION_PROBABILITY,
|
||||
|
@ -265,7 +265,7 @@ WEATHER_SENSOR_TYPES: tuple[SensorEntityDescription, ...] = (
|
|||
SensorEntityDescription(
|
||||
key=ATTR_API_RAIN,
|
||||
name="Rain",
|
||||
native_unit_of_measurement=PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR,
|
||||
native_unit_of_measurement=UnitOfVolumetricFlux.MILLIMETERS_PER_HOUR,
|
||||
),
|
||||
SensorEntityDescription(
|
||||
key=ATTR_API_RAIN_PROB,
|
||||
|
@ -276,7 +276,7 @@ WEATHER_SENSOR_TYPES: tuple[SensorEntityDescription, ...] = (
|
|||
SensorEntityDescription(
|
||||
key=ATTR_API_SNOW,
|
||||
name="Snow",
|
||||
native_unit_of_measurement=PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR,
|
||||
native_unit_of_measurement=UnitOfVolumetricFlux.MILLIMETERS_PER_HOUR,
|
||||
),
|
||||
SensorEntityDescription(
|
||||
key=ATTR_API_SNOW_PROB,
|
||||
|
|
|
@ -19,10 +19,10 @@ from homeassistant.const import (
|
|||
LIGHT_LUX,
|
||||
PERCENTAGE,
|
||||
PRECIPITATION_INCHES,
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_HOUR,
|
||||
PRESSURE_INHG,
|
||||
SPEED_MILES_PER_HOUR,
|
||||
TEMP_FAHRENHEIT,
|
||||
UnitOfVolumetricFlux,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers.entity import EntityDescription
|
||||
|
@ -195,7 +195,7 @@ SENSOR_DESCRIPTIONS = (
|
|||
key=TYPE_HOURLYRAININ,
|
||||
name="Hourly rain rate",
|
||||
icon="mdi:water",
|
||||
native_unit_of_measurement=PRECIPITATION_INTENSITY_INCHES_PER_HOUR,
|
||||
native_unit_of_measurement=UnitOfVolumetricFlux.INCHES_PER_HOUR,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
),
|
||||
SensorEntityDescription(
|
||||
|
|
|
@ -38,10 +38,10 @@ from homeassistant.const import (
|
|||
LENGTH_KILOMETERS,
|
||||
LENGTH_MILLIMETERS,
|
||||
PERCENTAGE,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR,
|
||||
PRESSURE_HPA,
|
||||
SPEED_KILOMETERS_PER_HOUR,
|
||||
TEMP_CELSIUS,
|
||||
UnitOfVolumetricFlux,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
|
@ -183,7 +183,7 @@ SENSOR_TYPES: tuple[SensorEntityDescription, ...] = (
|
|||
SensorEntityDescription(
|
||||
key="precipitation",
|
||||
name="Precipitation",
|
||||
native_unit_of_measurement=PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR,
|
||||
native_unit_of_measurement=UnitOfVolumetricFlux.MILLIMETERS_PER_HOUR,
|
||||
icon="mdi:weather-pouring",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
),
|
||||
|
@ -197,7 +197,7 @@ SENSOR_TYPES: tuple[SensorEntityDescription, ...] = (
|
|||
SensorEntityDescription(
|
||||
key="precipitation_forecast_average",
|
||||
name="Precipitation forecast average",
|
||||
native_unit_of_measurement=PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR,
|
||||
native_unit_of_measurement=UnitOfVolumetricFlux.MILLIMETERS_PER_HOUR,
|
||||
icon="mdi:weather-pouring",
|
||||
),
|
||||
SensorEntityDescription(
|
||||
|
|
|
@ -27,8 +27,6 @@ from homeassistant.const import (
|
|||
LIGHT_LUX,
|
||||
PERCENTAGE,
|
||||
POWER_WATT,
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_HOUR,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR,
|
||||
PRESSURE_HPA,
|
||||
PRESSURE_INHG,
|
||||
SPEED_KILOMETERS_PER_HOUR,
|
||||
|
@ -36,6 +34,7 @@ from homeassistant.const import (
|
|||
TEMP_CELSIUS,
|
||||
TEMP_FAHRENHEIT,
|
||||
UV_INDEX,
|
||||
UnitOfVolumetricFlux,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
|
@ -157,12 +156,12 @@ ECOWITT_SENSORS_MAPPING: Final = {
|
|||
),
|
||||
EcoWittSensorTypes.RAIN_RATE_MM: SensorEntityDescription(
|
||||
key="RAIN_RATE_MM",
|
||||
native_unit_of_measurement=PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR,
|
||||
native_unit_of_measurement=UnitOfVolumetricFlux.MILLIMETERS_PER_HOUR,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
),
|
||||
EcoWittSensorTypes.RAIN_RATE_INCHES: SensorEntityDescription(
|
||||
key="RAIN_RATE_INCHES",
|
||||
native_unit_of_measurement=PRECIPITATION_INTENSITY_INCHES_PER_HOUR,
|
||||
native_unit_of_measurement=UnitOfVolumetricFlux.INCHES_PER_HOUR,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
),
|
||||
EcoWittSensorTypes.LIGHTNING_DISTANCE_KM: SensorEntityDescription(
|
||||
|
|
|
@ -37,10 +37,6 @@ from homeassistant.const import (
|
|||
PERCENTAGE,
|
||||
POWER_KILO_WATT,
|
||||
POWER_WATT,
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_DAY,
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_HOUR,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_DAY,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR,
|
||||
PRESSURE_HPA,
|
||||
PRESSURE_INHG,
|
||||
PRESSURE_MBAR,
|
||||
|
@ -80,6 +76,7 @@ from homeassistant.const import (
|
|||
VOLUME_GALLONS,
|
||||
VOLUME_LITERS,
|
||||
Platform,
|
||||
UnitOfVolumetricFlux,
|
||||
)
|
||||
|
||||
_LOGGER = logging.getLogger(__package__)
|
||||
|
@ -342,7 +339,7 @@ UOM_FRIENDLY_NAME = {
|
|||
"21": "%AH",
|
||||
"22": "%RH",
|
||||
"23": PRESSURE_INHG,
|
||||
"24": PRECIPITATION_INTENSITY_INCHES_PER_HOUR,
|
||||
"24": UnitOfVolumetricFlux.INCHES_PER_HOUR,
|
||||
UOM_INDEX: UOM_INDEX, # Index type. Use "node.formatted" for value
|
||||
"26": TEMP_KELVIN,
|
||||
"27": "keyword",
|
||||
|
@ -364,7 +361,7 @@ UOM_FRIENDLY_NAME = {
|
|||
"43": ELECTRIC_POTENTIAL_MILLIVOLT,
|
||||
"44": TIME_MINUTES,
|
||||
"45": TIME_MINUTES,
|
||||
"46": PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR,
|
||||
"46": UnitOfVolumetricFlux.MILLIMETERS_PER_HOUR,
|
||||
"47": TIME_MONTHS,
|
||||
"48": SPEED_MILES_PER_HOUR,
|
||||
"49": SPEED_METERS_PER_SECOND,
|
||||
|
@ -407,7 +404,7 @@ UOM_FRIENDLY_NAME = {
|
|||
"103": CURRENCY_DOLLAR,
|
||||
"104": CURRENCY_CENT,
|
||||
"105": LENGTH_INCHES,
|
||||
"106": PRECIPITATION_INTENSITY_MILLIMETERS_PER_DAY,
|
||||
"106": UnitOfVolumetricFlux.MILLIMETERS_PER_DAY,
|
||||
"107": "", # raw 1-byte unsigned value
|
||||
"108": "", # raw 2-byte unsigned value
|
||||
"109": "", # raw 3-byte unsigned value
|
||||
|
@ -420,7 +417,7 @@ UOM_FRIENDLY_NAME = {
|
|||
"117": PRESSURE_MBAR,
|
||||
"118": PRESSURE_HPA,
|
||||
"119": ENERGY_WATT_HOUR,
|
||||
"120": PRECIPITATION_INTENSITY_INCHES_PER_DAY,
|
||||
"120": UnitOfVolumetricFlux.INCHES_PER_DAY,
|
||||
}
|
||||
|
||||
UOM_TO_STATES = {
|
||||
|
|
|
@ -25,12 +25,12 @@ from homeassistant.const import (
|
|||
LENGTH_MILLIMETERS,
|
||||
PERCENTAGE,
|
||||
POWER_WATT,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR,
|
||||
PRESSURE_HPA,
|
||||
SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
|
||||
SPEED_METERS_PER_SECOND,
|
||||
TEMP_CELSIUS,
|
||||
UV_INDEX,
|
||||
UnitOfVolumetricFlux,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers.entity import Entity, EntityCategory
|
||||
|
@ -172,7 +172,7 @@ SENSOR_TYPES = (
|
|||
key="Rain rate",
|
||||
name="Rain rate",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
native_unit_of_measurement=PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR,
|
||||
native_unit_of_measurement=UnitOfVolumetricFlux.MILLIMETERS_PER_HOUR,
|
||||
),
|
||||
RfxtrxSensorEntityDescription(
|
||||
key="Sound",
|
||||
|
|
|
@ -245,9 +245,9 @@ class SensorDeviceClass(StrEnum):
|
|||
PRECIPITATION_INTENSITY = "precipitation_intensity"
|
||||
"""Precipitation intensity.
|
||||
|
||||
Unit of measurement:
|
||||
- `in/d`, `in/h`
|
||||
- `mm/d`, `mm/h`
|
||||
Unit of measurement: UnitOfVolumetricFlux
|
||||
- SI /metric: `mm/d`, `mm/h`
|
||||
- USCS / imperial: `in/d`, `in/h`
|
||||
"""
|
||||
|
||||
PRESSURE = "pressure"
|
||||
|
@ -275,7 +275,7 @@ class SensorDeviceClass(StrEnum):
|
|||
SPEED = "speed"
|
||||
"""Generic speed.
|
||||
|
||||
Unit of measurement: `SPEED_*` or `PRECIPITATION_INTENSITY_*` units
|
||||
Unit of measurement: `SPEED_*` units or `UnitOfVolumetricFlux`
|
||||
- SI /metric: `mm/d`, `mm/h`, `m/s`, `km/h`
|
||||
- USCS / imperial: `in/d`, `in/h`, `ft/s`, `mph`
|
||||
- Nautical: `kn`
|
||||
|
|
|
@ -14,10 +14,10 @@ from homeassistant.const import (
|
|||
LIGHT_LUX,
|
||||
PERCENTAGE,
|
||||
POWER_WATT,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR,
|
||||
SPEED_METERS_PER_SECOND,
|
||||
TEMP_CELSIUS,
|
||||
UV_INDEX,
|
||||
UnitOfVolumetricFlux,
|
||||
)
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||
|
@ -57,7 +57,7 @@ SENSOR_TYPES: dict[str, SensorEntityDescription] = {
|
|||
SENSOR_TYPE_RAINRATE: SensorEntityDescription(
|
||||
key=SENSOR_TYPE_RAINRATE,
|
||||
name="Rain rate",
|
||||
native_unit_of_measurement=PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR,
|
||||
native_unit_of_measurement=UnitOfVolumetricFlux.MILLIMETERS_PER_HOUR,
|
||||
icon="mdi:water",
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
),
|
||||
|
|
|
@ -109,8 +109,6 @@ from homeassistant.const import (
|
|||
PERCENTAGE,
|
||||
POWER_BTU_PER_HOUR,
|
||||
POWER_WATT,
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_HOUR,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR,
|
||||
PRESSURE_INHG,
|
||||
PRESSURE_MMHG,
|
||||
PRESSURE_PSI,
|
||||
|
@ -127,6 +125,7 @@ from homeassistant.const import (
|
|||
VOLUME_FLOW_RATE_CUBIC_METERS_PER_HOUR,
|
||||
VOLUME_GALLONS,
|
||||
VOLUME_LITERS,
|
||||
UnitOfVolumetricFlux,
|
||||
)
|
||||
|
||||
from .const import (
|
||||
|
@ -201,14 +200,14 @@ MULTILEVEL_SENSOR_UNIT_MAP: dict[str, set[MultilevelSensorScaleType]] = {
|
|||
VOLUME_GALLONS: UNIT_GALLONS,
|
||||
FREQUENCY_HERTZ: UNIT_HERTZ,
|
||||
PRESSURE_INHG: UNIT_INCHES_OF_MERCURY,
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_HOUR: UNIT_INCHES_PER_HOUR,
|
||||
UnitOfVolumetricFlux.INCHES_PER_HOUR: UNIT_INCHES_PER_HOUR,
|
||||
MASS_KILOGRAMS: UNIT_KILOGRAM,
|
||||
FREQUENCY_KILOHERTZ: UNIT_KILOHERTZ,
|
||||
VOLUME_LITERS: UNIT_LITER,
|
||||
LIGHT_LUX: UNIT_LUX,
|
||||
LENGTH_METERS: UNIT_METER,
|
||||
ELECTRIC_CURRENT_MILLIAMPERE: UNIT_MILLIAMPERE,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR: UNIT_MILLIMETER_HOUR,
|
||||
UnitOfVolumetricFlux.MILLIMETERS_PER_HOUR: UNIT_MILLIMETER_HOUR,
|
||||
ELECTRIC_POTENTIAL_MILLIVOLT: UNIT_MILLIVOLT,
|
||||
SPEED_MILES_PER_HOUR: UNIT_MPH,
|
||||
SPEED_METERS_PER_SECOND: UNIT_M_S,
|
||||
|
|
|
@ -603,13 +603,26 @@ REVOLUTIONS_PER_MINUTE: Final = "rpm"
|
|||
IRRADIATION_WATTS_PER_SQUARE_METER: Final = "W/m²"
|
||||
IRRADIATION_BTUS_PER_HOUR_SQUARE_FOOT: Final = "BTU/(h×ft²)"
|
||||
|
||||
# Precipitation intensity units
|
||||
# The derivation of these units is a volume of rain amassing in a container
|
||||
# with constant cross section in a given time
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_DAY: Final = "in/d"
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_HOUR: Final = "in/h"
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_DAY: Final = "mm/d"
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR: Final = "mm/h"
|
||||
|
||||
class UnitOfVolumetricFlux(StrEnum):
|
||||
"""Volumetric flux, commonly used for precipitation intensity.
|
||||
|
||||
The derivation of these units is a volume of rain amassing in a container
|
||||
with constant cross section in a given time
|
||||
"""
|
||||
|
||||
INCHES_PER_DAY = "in/d"
|
||||
"""Derived from in³/(in².d)"""
|
||||
|
||||
INCHES_PER_HOUR = "in/h"
|
||||
"""Derived from in³/(in².h)"""
|
||||
|
||||
MILLIMETERS_PER_DAY = "mm/d"
|
||||
"""Derived from mm³/(mm².d)"""
|
||||
|
||||
MILLIMETERS_PER_HOUR = "mm/h"
|
||||
"""Derived from mm³/(mm².h)"""
|
||||
|
||||
|
||||
# Precipitation units
|
||||
# The derivation of these units is a volume of rain amassing in a container
|
||||
|
@ -618,10 +631,10 @@ PRECIPITATION_INCHES: Final = "in"
|
|||
PRECIPITATION_MILLIMETERS: Final = "mm"
|
||||
|
||||
PRECIPITATION_MILLIMETERS_PER_HOUR: Final = "mm/h"
|
||||
"""Deprecated: please use PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR"""
|
||||
"""Deprecated: please use UnitOfVolumetricFlux.MILLIMETERS_PER_HOUR"""
|
||||
|
||||
PRECIPITATION_INCHES_PER_HOUR: Final = "in/h"
|
||||
"""Deprecated: please use PRECIPITATION_INTENSITY_INCHES_PER_HOUR"""
|
||||
"""Deprecated: please use UnitOfVolumetricFlux.INCHES_PER_HOUR"""
|
||||
|
||||
# Concentration units
|
||||
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER: Final = "µg/m³"
|
||||
|
@ -639,13 +652,13 @@ SPEED_KNOTS: Final = "kn"
|
|||
SPEED_MILES_PER_HOUR: Final = "mph"
|
||||
|
||||
SPEED_MILLIMETERS_PER_DAY: Final = "mm/d"
|
||||
"""Deprecated: please use PRECIPITATION_INTENSITY_MILLIMETERS_PER_DAY"""
|
||||
"""Deprecated: please use UnitOfVolumetricFlux.MILLIMETERS_PER_DAY"""
|
||||
|
||||
SPEED_INCHES_PER_DAY: Final = "in/d"
|
||||
"""Deprecated: please use PRECIPITATION_INTENSITY_INCHES_PER_DAY"""
|
||||
"""Deprecated: please use UnitOfVolumetricFlux.INCHES_PER_DAY"""
|
||||
|
||||
SPEED_INCHES_PER_HOUR: Final = "in/h"
|
||||
"""Deprecated: please use PRECIPITATION_INTENSITY_INCHES_PER_HOUR"""
|
||||
"""Deprecated: please use UnitOfVolumetricFlux.INCHES_PER_HOUR"""
|
||||
|
||||
|
||||
# Signal_strength units
|
||||
|
|
|
@ -22,10 +22,6 @@ from homeassistant.const import (
|
|||
MASS_POUNDS,
|
||||
POWER_KILO_WATT,
|
||||
POWER_WATT,
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_DAY,
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_HOUR,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_DAY,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR,
|
||||
PRESSURE_BAR,
|
||||
PRESSURE_CBAR,
|
||||
PRESSURE_HPA,
|
||||
|
@ -50,6 +46,7 @@ from homeassistant.const import (
|
|||
VOLUME_GALLONS,
|
||||
VOLUME_LITERS,
|
||||
VOLUME_MILLILITERS,
|
||||
UnitOfVolumetricFlux,
|
||||
)
|
||||
from homeassistant.exceptions import HomeAssistantError
|
||||
|
||||
|
@ -242,10 +239,10 @@ class SpeedConverter(BaseUnitConverter):
|
|||
UNIT_CLASS = "speed"
|
||||
NORMALIZED_UNIT = SPEED_METERS_PER_SECOND
|
||||
_UNIT_CONVERSION: dict[str, float] = {
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_DAY: _DAYS_TO_SECS / _IN_TO_M,
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_HOUR: _HRS_TO_SECS / _IN_TO_M,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_DAY: _DAYS_TO_SECS / _MM_TO_M,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR: _HRS_TO_SECS / _MM_TO_M,
|
||||
UnitOfVolumetricFlux.INCHES_PER_DAY: _DAYS_TO_SECS / _IN_TO_M,
|
||||
UnitOfVolumetricFlux.INCHES_PER_HOUR: _HRS_TO_SECS / _IN_TO_M,
|
||||
UnitOfVolumetricFlux.MILLIMETERS_PER_DAY: _DAYS_TO_SECS / _MM_TO_M,
|
||||
UnitOfVolumetricFlux.MILLIMETERS_PER_HOUR: _HRS_TO_SECS / _MM_TO_M,
|
||||
SPEED_FEET_PER_SECOND: 1 / _FOOT_TO_M,
|
||||
SPEED_KILOMETERS_PER_HOUR: _HRS_TO_SECS / _KM_TO_M,
|
||||
SPEED_KNOTS: _HRS_TO_SECS / _NAUTICAL_MILE_TO_M,
|
||||
|
@ -253,10 +250,10 @@ class SpeedConverter(BaseUnitConverter):
|
|||
SPEED_MILES_PER_HOUR: _HRS_TO_SECS / _MILE_TO_M,
|
||||
}
|
||||
VALID_UNITS = {
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_DAY,
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_HOUR,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_DAY,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR,
|
||||
UnitOfVolumetricFlux.INCHES_PER_DAY,
|
||||
UnitOfVolumetricFlux.INCHES_PER_HOUR,
|
||||
UnitOfVolumetricFlux.MILLIMETERS_PER_DAY,
|
||||
UnitOfVolumetricFlux.MILLIMETERS_PER_HOUR,
|
||||
SPEED_FEET_PER_SECOND,
|
||||
SPEED_KILOMETERS_PER_HOUR,
|
||||
SPEED_KNOTS,
|
||||
|
|
|
@ -22,10 +22,6 @@ from homeassistant.const import (
|
|||
MASS_POUNDS,
|
||||
POWER_KILO_WATT,
|
||||
POWER_WATT,
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_DAY,
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_HOUR,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_DAY,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR,
|
||||
PRESSURE_CBAR,
|
||||
PRESSURE_HPA,
|
||||
PRESSURE_INHG,
|
||||
|
@ -48,6 +44,7 @@ from homeassistant.const import (
|
|||
VOLUME_GALLONS,
|
||||
VOLUME_LITERS,
|
||||
VOLUME_MILLILITERS,
|
||||
UnitOfVolumetricFlux,
|
||||
)
|
||||
from homeassistant.exceptions import HomeAssistantError
|
||||
from homeassistant.util.unit_conversion import (
|
||||
|
@ -96,10 +93,10 @@ INVALID_SYMBOL = "bob"
|
|||
(PressureConverter, PRESSURE_CBAR),
|
||||
(PressureConverter, PRESSURE_MMHG),
|
||||
(PressureConverter, PRESSURE_PSI),
|
||||
(SpeedConverter, PRECIPITATION_INTENSITY_INCHES_PER_DAY),
|
||||
(SpeedConverter, PRECIPITATION_INTENSITY_INCHES_PER_HOUR),
|
||||
(SpeedConverter, PRECIPITATION_INTENSITY_MILLIMETERS_PER_DAY),
|
||||
(SpeedConverter, PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR),
|
||||
(SpeedConverter, UnitOfVolumetricFlux.INCHES_PER_DAY),
|
||||
(SpeedConverter, UnitOfVolumetricFlux.INCHES_PER_HOUR),
|
||||
(SpeedConverter, UnitOfVolumetricFlux.MILLIMETERS_PER_DAY),
|
||||
(SpeedConverter, UnitOfVolumetricFlux.MILLIMETERS_PER_HOUR),
|
||||
(SpeedConverter, SPEED_FEET_PER_SECOND),
|
||||
(SpeedConverter, SPEED_KILOMETERS_PER_HOUR),
|
||||
(SpeedConverter, SPEED_KNOTS),
|
||||
|
@ -397,42 +394,42 @@ def test_pressure_convert(
|
|||
# 5 in/day * 25.4 mm/in = 127 mm/day
|
||||
(
|
||||
5,
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_DAY,
|
||||
UnitOfVolumetricFlux.INCHES_PER_DAY,
|
||||
127,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_DAY,
|
||||
UnitOfVolumetricFlux.MILLIMETERS_PER_DAY,
|
||||
),
|
||||
# 5 mm/day / 25.4 mm/in = 0.19685 in/day
|
||||
(
|
||||
5,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_DAY,
|
||||
UnitOfVolumetricFlux.MILLIMETERS_PER_DAY,
|
||||
pytest.approx(0.1968504),
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_DAY,
|
||||
UnitOfVolumetricFlux.INCHES_PER_DAY,
|
||||
),
|
||||
# 48 mm/day = 2 mm/h
|
||||
(
|
||||
48,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_DAY,
|
||||
UnitOfVolumetricFlux.MILLIMETERS_PER_DAY,
|
||||
pytest.approx(2),
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_HOUR,
|
||||
UnitOfVolumetricFlux.MILLIMETERS_PER_HOUR,
|
||||
),
|
||||
# 5 in/hr * 24 hr/day = 3048 mm/day
|
||||
(
|
||||
5,
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_HOUR,
|
||||
UnitOfVolumetricFlux.INCHES_PER_HOUR,
|
||||
3048,
|
||||
PRECIPITATION_INTENSITY_MILLIMETERS_PER_DAY,
|
||||
UnitOfVolumetricFlux.MILLIMETERS_PER_DAY,
|
||||
),
|
||||
# 5 m/s * 39.3701 in/m * 3600 s/hr = 708661
|
||||
(
|
||||
5,
|
||||
SPEED_METERS_PER_SECOND,
|
||||
pytest.approx(708661.42),
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_HOUR,
|
||||
UnitOfVolumetricFlux.INCHES_PER_HOUR,
|
||||
),
|
||||
# 5000 in/h / 39.3701 in/m / 3600 s/h = 0.03528 m/s
|
||||
(
|
||||
5000,
|
||||
PRECIPITATION_INTENSITY_INCHES_PER_HOUR,
|
||||
UnitOfVolumetricFlux.INCHES_PER_HOUR,
|
||||
pytest.approx(0.0352778),
|
||||
SPEED_METERS_PER_SECOND,
|
||||
),
|
||||
|
|
Loading…
Add table
Reference in a new issue