Add m/min of speed sensors (#146441)

This commit is contained in:
Alessandro Manighetti
2025-09-16 18:02:22 +02:00
committed by GitHub
parent 6aafa666d6
commit eb4a873c43
6 changed files with 20 additions and 0 deletions

View File

@@ -898,6 +898,7 @@ class UnitOfSpeed(StrEnum):
BEAUFORT = "Beaufort" BEAUFORT = "Beaufort"
FEET_PER_SECOND = "ft/s" FEET_PER_SECOND = "ft/s"
INCHES_PER_SECOND = "in/s" INCHES_PER_SECOND = "in/s"
METERS_PER_MINUTE = "m/min"
METERS_PER_SECOND = "m/s" METERS_PER_SECOND = "m/s"
KILOMETERS_PER_HOUR = "km/h" KILOMETERS_PER_HOUR = "km/h"
KNOTS = "kn" KNOTS = "kn"

View File

@@ -497,6 +497,7 @@ class SpeedConverter(BaseUnitConverter):
UnitOfSpeed.INCHES_PER_SECOND: 1 / _IN_TO_M, UnitOfSpeed.INCHES_PER_SECOND: 1 / _IN_TO_M,
UnitOfSpeed.KILOMETERS_PER_HOUR: _HRS_TO_SECS / _KM_TO_M, UnitOfSpeed.KILOMETERS_PER_HOUR: _HRS_TO_SECS / _KM_TO_M,
UnitOfSpeed.KNOTS: _HRS_TO_SECS / _NAUTICAL_MILE_TO_M, UnitOfSpeed.KNOTS: _HRS_TO_SECS / _NAUTICAL_MILE_TO_M,
UnitOfSpeed.METERS_PER_MINUTE: _MIN_TO_SEC,
UnitOfSpeed.METERS_PER_SECOND: 1, UnitOfSpeed.METERS_PER_SECOND: 1,
UnitOfSpeed.MILLIMETERS_PER_SECOND: 1 / _MM_TO_M, UnitOfSpeed.MILLIMETERS_PER_SECOND: 1 / _MM_TO_M,
UnitOfSpeed.MILES_PER_HOUR: _HRS_TO_SECS / _MILE_TO_M, UnitOfSpeed.MILES_PER_HOUR: _HRS_TO_SECS / _MILE_TO_M,
@@ -511,6 +512,7 @@ class SpeedConverter(BaseUnitConverter):
UnitOfSpeed.FEET_PER_SECOND, UnitOfSpeed.FEET_PER_SECOND,
UnitOfSpeed.KILOMETERS_PER_HOUR, UnitOfSpeed.KILOMETERS_PER_HOUR,
UnitOfSpeed.KNOTS, UnitOfSpeed.KNOTS,
UnitOfSpeed.METERS_PER_MINUTE,
UnitOfSpeed.METERS_PER_SECOND, UnitOfSpeed.METERS_PER_SECOND,
UnitOfSpeed.MILES_PER_HOUR, UnitOfSpeed.MILES_PER_HOUR,
UnitOfSpeed.MILLIMETERS_PER_SECOND, UnitOfSpeed.MILLIMETERS_PER_SECOND,

View File

@@ -382,6 +382,7 @@ US_CUSTOMARY_SYSTEM = UnitSystem(
("pressure", UnitOfPressure.MMHG): UnitOfPressure.INHG, ("pressure", UnitOfPressure.MMHG): UnitOfPressure.INHG,
("pressure", UnitOfPressure.INH2O): UnitOfPressure.PSI, ("pressure", UnitOfPressure.INH2O): UnitOfPressure.PSI,
# Convert non-USCS speeds, except knots, to mph # Convert non-USCS speeds, except knots, to mph
("speed", UnitOfSpeed.METERS_PER_MINUTE): UnitOfSpeed.INCHES_PER_SECOND,
("speed", UnitOfSpeed.METERS_PER_SECOND): UnitOfSpeed.MILES_PER_HOUR, ("speed", UnitOfSpeed.METERS_PER_SECOND): UnitOfSpeed.MILES_PER_HOUR,
("speed", UnitOfSpeed.MILLIMETERS_PER_SECOND): UnitOfSpeed.INCHES_PER_SECOND, ("speed", UnitOfSpeed.MILLIMETERS_PER_SECOND): UnitOfSpeed.INCHES_PER_SECOND,
("speed", UnitOfSpeed.KILOMETERS_PER_HOUR): UnitOfSpeed.MILES_PER_HOUR, ("speed", UnitOfSpeed.KILOMETERS_PER_HOUR): UnitOfSpeed.MILES_PER_HOUR,

View File

@@ -39,6 +39,7 @@ async def test_device_class_units(
"in/s", "in/s",
"km/h", "km/h",
"kn", "kn",
"m/min",
"m/s", "m/s",
"mm/d", "mm/d",
"mm/h", "mm/h",

View File

@@ -751,6 +751,20 @@ _CONVERTED_VALUE: dict[
(5, UnitOfSpeed.KILOMETERS_PER_HOUR, 3.106856, UnitOfSpeed.MILES_PER_HOUR), (5, UnitOfSpeed.KILOMETERS_PER_HOUR, 3.106856, UnitOfSpeed.MILES_PER_HOUR),
# 5 mi/h * 1.609 km/mi = 8.04672 km/h # 5 mi/h * 1.609 km/mi = 8.04672 km/h
(5, UnitOfSpeed.MILES_PER_HOUR, 8.04672, UnitOfSpeed.KILOMETERS_PER_HOUR), (5, UnitOfSpeed.MILES_PER_HOUR, 8.04672, UnitOfSpeed.KILOMETERS_PER_HOUR),
# 300 m/min / 60 s/min = 5 m/s
(
300,
UnitOfSpeed.METERS_PER_MINUTE,
5,
UnitOfSpeed.METERS_PER_SECOND,
),
# 5 m/s * 60 s/min = 300 m/min
(
5,
UnitOfSpeed.METERS_PER_SECOND,
300,
UnitOfSpeed.METERS_PER_MINUTE,
),
# 5 in/day * 25.4 mm/in = 127 mm/day # 5 in/day * 25.4 mm/in = 127 mm/day
( (
5, 5,

View File

@@ -614,6 +614,7 @@ UNCONVERTED_UNITS_METRIC_SYSTEM = {
UnitOfSpeed.BEAUFORT, UnitOfSpeed.BEAUFORT,
UnitOfSpeed.KILOMETERS_PER_HOUR, UnitOfSpeed.KILOMETERS_PER_HOUR,
UnitOfSpeed.KNOTS, UnitOfSpeed.KNOTS,
UnitOfSpeed.METERS_PER_MINUTE,
UnitOfSpeed.METERS_PER_SECOND, UnitOfSpeed.METERS_PER_SECOND,
UnitOfSpeed.MILLIMETERS_PER_SECOND, UnitOfSpeed.MILLIMETERS_PER_SECOND,
UnitOfVolumetricFlux.MILLIMETERS_PER_DAY, UnitOfVolumetricFlux.MILLIMETERS_PER_DAY,