mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Add mW as unit of measurement for Matter electrical power sensors (#133504)
This commit is contained in:
parent
dd215b3d5d
commit
962f1bad32
@ -580,10 +580,10 @@ DISCOVERY_SCHEMAS = [
|
||||
key="ElectricalPowerMeasurementWatt",
|
||||
device_class=SensorDeviceClass.POWER,
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
native_unit_of_measurement=UnitOfPower.WATT,
|
||||
native_unit_of_measurement=UnitOfPower.MILLIWATT,
|
||||
suggested_unit_of_measurement=UnitOfPower.WATT,
|
||||
suggested_display_precision=2,
|
||||
state_class=SensorStateClass.MEASUREMENT,
|
||||
measurement_to_ha=lambda x: x / 1000,
|
||||
),
|
||||
entity_class=MatterSensor,
|
||||
required_attributes=(
|
||||
|
@ -280,7 +280,7 @@ class NumberDeviceClass(StrEnum):
|
||||
POWER = "power"
|
||||
"""Power.
|
||||
|
||||
Unit of measurement: `W`, `kW`, `MW`, `GW`, `TW`
|
||||
Unit of measurement: `mW`, `W`, `kW`, `MW`, `GW`, `TW`, `BTU/h`
|
||||
"""
|
||||
|
||||
PRECIPITATION = "precipitation"
|
||||
|
@ -308,7 +308,7 @@ class SensorDeviceClass(StrEnum):
|
||||
POWER = "power"
|
||||
"""Power.
|
||||
|
||||
Unit of measurement: `W`, `kW`, `MW`, `GW`, `TW`
|
||||
Unit of measurement: `mW`, `W`, `kW`, `MW`, `GW`, `TW`, `BTU/h`
|
||||
"""
|
||||
|
||||
PRECIPITATION = "precipitation"
|
||||
|
@ -589,6 +589,7 @@ class UnitOfApparentPower(StrEnum):
|
||||
class UnitOfPower(StrEnum):
|
||||
"""Power units."""
|
||||
|
||||
MILLIWATT = "mW"
|
||||
WATT = "W"
|
||||
KILO_WATT = "kW"
|
||||
MEGA_WATT = "MW"
|
||||
|
@ -340,6 +340,7 @@ class PowerConverter(BaseUnitConverter):
|
||||
|
||||
UNIT_CLASS = "power"
|
||||
_UNIT_CONVERSION: dict[str | None, float] = {
|
||||
UnitOfPower.MILLIWATT: 1 * 1000,
|
||||
UnitOfPower.WATT: 1,
|
||||
UnitOfPower.KILO_WATT: 1 / 1000,
|
||||
UnitOfPower.MEGA_WATT: 1 / 1e6,
|
||||
@ -347,6 +348,7 @@ class PowerConverter(BaseUnitConverter):
|
||||
UnitOfPower.TERA_WATT: 1 / 1e12,
|
||||
}
|
||||
VALID_UNITS = {
|
||||
UnitOfPower.MILLIWATT,
|
||||
UnitOfPower.WATT,
|
||||
UnitOfPower.KILO_WATT,
|
||||
UnitOfPower.MEGA_WATT,
|
||||
|
@ -1744,6 +1744,9 @@
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
}),
|
||||
'sensor.private': dict({
|
||||
'suggested_unit_of_measurement': <UnitOfPower.WATT: 'W'>,
|
||||
}),
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.POWER: 'power'>,
|
||||
'original_icon': None,
|
||||
@ -2850,6 +2853,9 @@
|
||||
'sensor': dict({
|
||||
'suggested_display_precision': 2,
|
||||
}),
|
||||
'sensor.private': dict({
|
||||
'suggested_unit_of_measurement': <UnitOfPower.WATT: 'W'>,
|
||||
}),
|
||||
}),
|
||||
'original_device_class': <SensorDeviceClass.POWER: 'power'>,
|
||||
'original_icon': None,
|
||||
|
@ -4247,8 +4247,14 @@ async def async_record_states(
|
||||
@pytest.mark.parametrize(
|
||||
("units", "attributes", "unit", "unit2", "supported_unit"),
|
||||
[
|
||||
(US_CUSTOMARY_SYSTEM, POWER_SENSOR_ATTRIBUTES, "W", "kW", "GW, MW, TW, W, kW"),
|
||||
(METRIC_SYSTEM, POWER_SENSOR_ATTRIBUTES, "W", "kW", "GW, MW, TW, W, kW"),
|
||||
(
|
||||
US_CUSTOMARY_SYSTEM,
|
||||
POWER_SENSOR_ATTRIBUTES,
|
||||
"W",
|
||||
"kW",
|
||||
"GW, MW, TW, W, kW, mW",
|
||||
),
|
||||
(METRIC_SYSTEM, POWER_SENSOR_ATTRIBUTES, "W", "kW", "GW, MW, TW, W, kW, mW"),
|
||||
(
|
||||
US_CUSTOMARY_SYSTEM,
|
||||
TEMPERATURE_SENSOR_ATTRIBUTES,
|
||||
@ -4459,8 +4465,14 @@ async def test_validate_statistics_unit_ignore_device_class(
|
||||
@pytest.mark.parametrize(
|
||||
("units", "attributes", "unit", "unit2", "supported_unit"),
|
||||
[
|
||||
(US_CUSTOMARY_SYSTEM, POWER_SENSOR_ATTRIBUTES, "W", "kW", "GW, MW, TW, W, kW"),
|
||||
(METRIC_SYSTEM, POWER_SENSOR_ATTRIBUTES, "W", "kW", "GW, MW, TW, W, kW"),
|
||||
(
|
||||
US_CUSTOMARY_SYSTEM,
|
||||
POWER_SENSOR_ATTRIBUTES,
|
||||
"W",
|
||||
"kW",
|
||||
"GW, MW, TW, W, kW, mW",
|
||||
),
|
||||
(METRIC_SYSTEM, POWER_SENSOR_ATTRIBUTES, "W", "kW", "GW, MW, TW, W, kW, mW"),
|
||||
(
|
||||
US_CUSTOMARY_SYSTEM,
|
||||
TEMPERATURE_SENSOR_ATTRIBUTES,
|
||||
|
@ -537,6 +537,7 @@ _CONVERTED_VALUE: dict[
|
||||
(10, UnitOfPower.GIGA_WATT, 10e9, UnitOfPower.WATT),
|
||||
(10, UnitOfPower.TERA_WATT, 10e12, UnitOfPower.WATT),
|
||||
(10, UnitOfPower.WATT, 0.01, UnitOfPower.KILO_WATT),
|
||||
(10, UnitOfPower.MILLIWATT, 0.01, UnitOfPower.WATT),
|
||||
],
|
||||
PressureConverter: [
|
||||
(1000, UnitOfPressure.HPA, 14.5037743897, UnitOfPressure.PSI),
|
||||
|
Loading…
x
Reference in New Issue
Block a user