Skip to content

Commit 5975cd6

Browse files
authored
Revert "Add mg/m³ as a valid UOM for sensor/number Carbon Monoxide device class" (home-assistant#153196)
1 parent 258c9ff commit 5975cd6

File tree

7 files changed

+5
-56
lines changed

7 files changed

+5
-56
lines changed

homeassistant/components/number/const.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ class NumberDeviceClass(StrEnum):
124124
CO = "carbon_monoxide"
125125
"""Carbon Monoxide gas concentration.
126126
127-
Unit of measurement: `ppm` (parts per million), mg/m³
127+
Unit of measurement: `ppm` (parts per million)
128128
"""
129129

130130
CO2 = "carbon_dioxide"
@@ -475,10 +475,7 @@ class NumberDeviceClass(StrEnum):
475475
NumberDeviceClass.ATMOSPHERIC_PRESSURE: set(UnitOfPressure),
476476
NumberDeviceClass.BATTERY: {PERCENTAGE},
477477
NumberDeviceClass.BLOOD_GLUCOSE_CONCENTRATION: set(UnitOfBloodGlucoseConcentration),
478-
NumberDeviceClass.CO: {
479-
CONCENTRATION_PARTS_PER_MILLION,
480-
CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER,
481-
},
478+
NumberDeviceClass.CO: {CONCENTRATION_PARTS_PER_MILLION},
482479
NumberDeviceClass.CO2: {CONCENTRATION_PARTS_PER_MILLION},
483480
NumberDeviceClass.CONDUCTIVITY: set(UnitOfConductivity),
484481
NumberDeviceClass.CURRENT: set(UnitOfElectricCurrent),

homeassistant/components/recorder/statistics.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@
4646
AreaConverter,
4747
BaseUnitConverter,
4848
BloodGlucoseConcentrationConverter,
49-
CarbonMonoxideConcentrationConverter,
5049
ConductivityConverter,
5150
DataRateConverter,
5251
DistanceConverter,
@@ -205,10 +204,6 @@ def query_circular_mean(table: type[StatisticsBase]) -> tuple[Label, Label]:
205204
**dict.fromkeys(
206205
MassVolumeConcentrationConverter.VALID_UNITS, MassVolumeConcentrationConverter
207206
),
208-
**dict.fromkeys(
209-
CarbonMonoxideConcentrationConverter.VALID_UNITS,
210-
CarbonMonoxideConcentrationConverter,
211-
),
212207
**dict.fromkeys(ConductivityConverter.VALID_UNITS, ConductivityConverter),
213208
**dict.fromkeys(DataRateConverter.VALID_UNITS, DataRateConverter),
214209
**dict.fromkeys(DistanceConverter.VALID_UNITS, DistanceConverter),

homeassistant/components/recorder/websocket_api.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
ApparentPowerConverter,
2020
AreaConverter,
2121
BloodGlucoseConcentrationConverter,
22-
CarbonMonoxideConcentrationConverter,
2322
ConductivityConverter,
2423
DataRateConverter,
2524
DistanceConverter,
@@ -67,9 +66,6 @@
6766
vol.Optional("blood_glucose_concentration"): vol.In(
6867
BloodGlucoseConcentrationConverter.VALID_UNITS
6968
),
70-
vol.Optional("carbon_monoxide"): vol.In(
71-
CarbonMonoxideConcentrationConverter.VALID_UNITS
72-
),
7369
vol.Optional("concentration"): vol.In(
7470
MassVolumeConcentrationConverter.VALID_UNITS
7571
),

homeassistant/components/sensor/const.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@
5151
AreaConverter,
5252
BaseUnitConverter,
5353
BloodGlucoseConcentrationConverter,
54-
CarbonMonoxideConcentrationConverter,
5554
ConductivityConverter,
5655
DataRateConverter,
5756
DistanceConverter,
@@ -157,7 +156,7 @@ class SensorDeviceClass(StrEnum):
157156
CO = "carbon_monoxide"
158157
"""Carbon Monoxide gas concentration.
159158
160-
Unit of measurement: `ppm` (parts per million), `mg/m³`
159+
Unit of measurement: `ppm` (parts per million)
161160
"""
162161

163162
CO2 = "carbon_dioxide"
@@ -544,7 +543,6 @@ class SensorStateClass(StrEnum):
544543
SensorDeviceClass.AREA: AreaConverter,
545544
SensorDeviceClass.ATMOSPHERIC_PRESSURE: PressureConverter,
546545
SensorDeviceClass.BLOOD_GLUCOSE_CONCENTRATION: BloodGlucoseConcentrationConverter,
547-
SensorDeviceClass.CO: CarbonMonoxideConcentrationConverter,
548546
SensorDeviceClass.CONDUCTIVITY: ConductivityConverter,
549547
SensorDeviceClass.CURRENT: ElectricCurrentConverter,
550548
SensorDeviceClass.DATA_RATE: DataRateConverter,
@@ -586,10 +584,7 @@ class SensorStateClass(StrEnum):
586584
SensorDeviceClass.ATMOSPHERIC_PRESSURE: set(UnitOfPressure),
587585
SensorDeviceClass.BATTERY: {PERCENTAGE},
588586
SensorDeviceClass.BLOOD_GLUCOSE_CONCENTRATION: set(UnitOfBloodGlucoseConcentration),
589-
SensorDeviceClass.CO: {
590-
CONCENTRATION_PARTS_PER_MILLION,
591-
CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER,
592-
},
587+
SensorDeviceClass.CO: {CONCENTRATION_PARTS_PER_MILLION},
593588
SensorDeviceClass.CO2: {CONCENTRATION_PARTS_PER_MILLION},
594589
SensorDeviceClass.CONDUCTIVITY: set(UnitOfConductivity),
595590
SensorDeviceClass.CURRENT: set(UnitOfElectricCurrent),

homeassistant/util/unit_conversion.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -168,20 +168,6 @@ def _are_unit_inverses(cls, from_unit: str | None, to_unit: str | None) -> bool:
168168
return (from_unit in cls._UNIT_INVERSES) != (to_unit in cls._UNIT_INVERSES)
169169

170170

171-
class CarbonMonoxideConcentrationConverter(BaseUnitConverter):
172-
"""Convert carbon monoxide ratio to mass per volume."""
173-
174-
UNIT_CLASS = "carbon_monoxide"
175-
_UNIT_CONVERSION: dict[str | None, float] = {
176-
CONCENTRATION_PARTS_PER_MILLION: 1,
177-
CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER: 1.145609,
178-
}
179-
VALID_UNITS = {
180-
CONCENTRATION_PARTS_PER_MILLION,
181-
CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER,
182-
}
183-
184-
185171
class DataRateConverter(BaseUnitConverter):
186172
"""Utility to convert data rate values."""
187173

tests/components/sensor/test_init.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3008,6 +3008,7 @@ def test_device_class_converters_are_complete() -> None:
30083008
no_converter_device_classes = {
30093009
SensorDeviceClass.AQI,
30103010
SensorDeviceClass.BATTERY,
3011+
SensorDeviceClass.CO,
30113012
SensorDeviceClass.CO2,
30123013
SensorDeviceClass.DATE,
30133014
SensorDeviceClass.ENUM,

tests/util/test_unit_conversion.py

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
AreaConverter,
4545
BaseUnitConverter,
4646
BloodGlucoseConcentrationConverter,
47-
CarbonMonoxideConcentrationConverter,
4847
ConductivityConverter,
4948
DataRateConverter,
5049
DistanceConverter,
@@ -79,7 +78,6 @@
7978
AreaConverter,
8079
BloodGlucoseConcentrationConverter,
8180
MassVolumeConcentrationConverter,
82-
CarbonMonoxideConcentrationConverter,
8381
ConductivityConverter,
8482
DataRateConverter,
8583
DistanceConverter,
@@ -116,11 +114,6 @@
116114
UnitOfBloodGlucoseConcentration.MILLIMOLE_PER_LITER,
117115
18,
118116
),
119-
CarbonMonoxideConcentrationConverter: (
120-
CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER,
121-
CONCENTRATION_PARTS_PER_MILLION,
122-
1.145609,
123-
),
124117
ConductivityConverter: (
125118
UnitOfConductivity.MICROSIEMENS_PER_CM,
126119
UnitOfConductivity.MILLISIEMENS_PER_CM,
@@ -287,20 +280,6 @@
287280
UnitOfBloodGlucoseConcentration.MILLIGRAMS_PER_DECILITER,
288281
),
289282
],
290-
CarbonMonoxideConcentrationConverter: [
291-
(
292-
1,
293-
CONCENTRATION_PARTS_PER_MILLION,
294-
1.145609,
295-
CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER,
296-
),
297-
(
298-
120,
299-
CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER,
300-
104.74778,
301-
CONCENTRATION_PARTS_PER_MILLION,
302-
),
303-
],
304283
ConductivityConverter: [
305284
# Deprecated to deprecated
306285
(5, UnitOfConductivity.SIEMENS, 5e3, UnitOfConductivity.MILLISIEMENS),

0 commit comments

Comments
 (0)