Add ppm to NITROGEN_DIOXIDE units (#162983)

This commit is contained in:
Ludovic BOUÉ
2026-02-16 13:32:39 +01:00
committed by GitHub
parent 75b5248e2a
commit 3ee20d5e5c
4 changed files with 30 additions and 2 deletions

View File

@@ -272,7 +272,7 @@ class NumberDeviceClass(StrEnum):
NITROGEN_DIOXIDE = "nitrogen_dioxide"
"""Amount of NO2.
Unit of measurement: `ppb` (parts per billion), `μg/m³`
Unit of measurement: `ppb` (parts per billion), `ppm` (parts per million), `μg/m³`
"""
NITROGEN_MONOXIDE = "nitrogen_monoxide"
@@ -544,6 +544,7 @@ DEVICE_CLASS_UNITS: dict[NumberDeviceClass, set[type[StrEnum] | str | None]] = {
NumberDeviceClass.MOISTURE: {PERCENTAGE},
NumberDeviceClass.NITROGEN_DIOXIDE: {
CONCENTRATION_PARTS_PER_BILLION,
CONCENTRATION_PARTS_PER_MILLION,
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
},
NumberDeviceClass.NITROGEN_MONOXIDE: {

View File

@@ -286,7 +286,7 @@ class SensorDeviceClass(StrEnum):
NITROGEN_DIOXIDE = "nitrogen_dioxide"
"""Amount of NO2.
Unit of measurement: `ppb` (parts per billion), `μg/m³`
Unit of measurement: `ppb` (parts per billion), `ppm` (parts per million), `μg/m³`
"""
NITROGEN_MONOXIDE = "nitrogen_monoxide"
@@ -639,6 +639,7 @@ DEVICE_CLASS_UNITS: dict[SensorDeviceClass, set[type[StrEnum] | str | None]] = {
SensorDeviceClass.MOISTURE: {PERCENTAGE},
SensorDeviceClass.NITROGEN_DIOXIDE: {
CONCENTRATION_PARTS_PER_BILLION,
CONCENTRATION_PARTS_PER_MILLION,
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
},
SensorDeviceClass.NITROGEN_MONOXIDE: {

View File

@@ -494,12 +494,14 @@ class NitrogenDioxideConcentrationConverter(BaseUnitConverter):
UNIT_CLASS = "nitrogen_dioxide"
_UNIT_CONVERSION: dict[str | None, float] = {
CONCENTRATION_PARTS_PER_BILLION: 1e9,
CONCENTRATION_PARTS_PER_MILLION: 1e6,
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER: (
_NITROGEN_DIOXIDE_MOLAR_MASS / _AMBIENT_IDEAL_GAS_MOLAR_VOLUME * 1e6
),
}
VALID_UNITS = {
CONCENTRATION_PARTS_PER_BILLION,
CONCENTRATION_PARTS_PER_MILLION,
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
}

View File

@@ -413,6 +413,30 @@ _CONVERTED_VALUE: dict[
62.744976,
CONCENTRATION_PARTS_PER_BILLION,
),
(
1,
CONCENTRATION_PARTS_PER_MILLION,
1912.503,
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
),
(
120,
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
0.062744976,
CONCENTRATION_PARTS_PER_MILLION,
),
(
100,
CONCENTRATION_PARTS_PER_BILLION,
0.1,
CONCENTRATION_PARTS_PER_MILLION,
),
(
0.5,
CONCENTRATION_PARTS_PER_MILLION,
500,
CONCENTRATION_PARTS_PER_BILLION,
),
],
NitrogenMonoxideConcentrationConverter: [
(