Tweak speed util (#74160)

This commit is contained in:
Erik Montnemery 2022-06-29 12:01:09 +02:00 committed by GitHub
parent b5af96e4bb
commit c186a73e57
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 11 deletions

View file

@ -15,27 +15,27 @@ from homeassistant.const import (
)
VALID_UNITS: tuple[str, ...] = (
SPEED_METERS_PER_SECOND,
SPEED_KILOMETERS_PER_HOUR,
SPEED_MILES_PER_HOUR,
SPEED_MILLIMETERS_PER_DAY,
SPEED_INCHES_PER_DAY,
SPEED_INCHES_PER_HOUR,
SPEED_KILOMETERS_PER_HOUR,
SPEED_METERS_PER_SECOND,
SPEED_MILES_PER_HOUR,
SPEED_MILLIMETERS_PER_DAY,
)
HRS_TO_SECS = 60 * 60 # 1 hr = 3600 seconds
IN_TO_M = 0.0254
KM_TO_M = 1000 # 1 km = 1000 m
KM_TO_MILE = 0.62137119 # 1 km = 0.62137119 mi
M_TO_IN = 39.3700787 # 1 m = 39.3700787 in
MILE_TO_M = 1609.344
# Units in terms of m/s
UNIT_CONVERSION: dict[str, float] = {
SPEED_METERS_PER_SECOND: 1,
SPEED_INCHES_PER_DAY: (24 * HRS_TO_SECS) / IN_TO_M,
SPEED_INCHES_PER_HOUR: HRS_TO_SECS / IN_TO_M,
SPEED_KILOMETERS_PER_HOUR: HRS_TO_SECS / KM_TO_M,
SPEED_MILES_PER_HOUR: HRS_TO_SECS * KM_TO_MILE / KM_TO_M,
SPEED_METERS_PER_SECOND: 1,
SPEED_MILES_PER_HOUR: HRS_TO_SECS / MILE_TO_M,
SPEED_MILLIMETERS_PER_DAY: (24 * HRS_TO_SECS) * 1000,
SPEED_INCHES_PER_DAY: (24 * HRS_TO_SECS) * M_TO_IN,
SPEED_INCHES_PER_HOUR: HRS_TO_SECS * M_TO_IN,
}

View file

@ -59,7 +59,7 @@ def test_convert_nonnumeric_value():
(5, SPEED_INCHES_PER_HOUR, 3048, SPEED_MILLIMETERS_PER_DAY),
# 5 m/s * 39.3701 in/m * 3600 s/hr = 708661
(5, SPEED_METERS_PER_SECOND, 708661, SPEED_INCHES_PER_HOUR),
# 5000 in/hr / 39.3701 in/m / 3600 s/hr = 0.03528 m/s
# 5000 in/h / 39.3701 in/m / 3600 s/h = 0.03528 m/s
(5000, SPEED_INCHES_PER_HOUR, 0.03528, SPEED_METERS_PER_SECOND),
],
)