Use b'\xce\xbc` for micro sign instead of b'\xc2\xb5'

This commit is contained in:
jbouwh
2025-05-14 04:57:45 +00:00
parent 1889f0ef66
commit b3074d272a
34 changed files with 186 additions and 186 deletions

View File

@@ -61,7 +61,7 @@
"display_pm_standard": { "display_pm_standard": {
"name": "Display PM standard", "name": "Display PM standard",
"state": { "state": {
"ugm3": "µg/m³", "ugm3": "μg/m³",
"us_aqi": "US AQI" "us_aqi": "US AQI"
} }
}, },

View File

@@ -92,7 +92,7 @@ SENSOR_DESCRIPTIONS = {
key="radiation_rate", key="radiation_rate",
translation_key="radiation_rate", translation_key="radiation_rate",
name="Radiation Dose Rate", name="Radiation Dose Rate",
native_unit_of_measurement="μSv/h", native_unit_of_measurement="μSv/h", # b'\xc2\xb5'
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
suggested_display_precision=2, suggested_display_precision=2,
scale=0.001, scale=0.001,

View File

@@ -72,7 +72,7 @@ SENSOR_DESCRIPTIONS = {
key=str(BTHomeExtendedSensorDeviceClass.CHANNEL), key=str(BTHomeExtendedSensorDeviceClass.CHANNEL),
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
), ),
# Conductivity (µS/cm) # Conductivity (μS/cm)
( (
BTHomeSensorDeviceClass.CONDUCTIVITY, BTHomeSensorDeviceClass.CONDUCTIVITY,
Units.CONDUCTIVITY, Units.CONDUCTIVITY,
@@ -215,7 +215,7 @@ SENSOR_DESCRIPTIONS = {
entity_category=EntityCategory.DIAGNOSTIC, entity_category=EntityCategory.DIAGNOSTIC,
entity_registry_enabled_default=False, entity_registry_enabled_default=False,
), ),
# PM10 (µg/m3) # PM10 (μg/m3)
( (
BTHomeSensorDeviceClass.PM10, BTHomeSensorDeviceClass.PM10,
Units.CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, Units.CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
@@ -225,7 +225,7 @@ SENSOR_DESCRIPTIONS = {
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
), ),
# PM2.5 (µg/m3) # PM2.5 (μg/m3)
( (
BTHomeSensorDeviceClass.PM25, BTHomeSensorDeviceClass.PM25,
Units.CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, Units.CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
@@ -318,7 +318,7 @@ SENSOR_DESCRIPTIONS = {
key=str(BTHomeSensorDeviceClass.UV_INDEX), key=str(BTHomeSensorDeviceClass.UV_INDEX),
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
), ),
# Volatile organic Compounds (VOC) (µg/m3) # Volatile organic Compounds (VOC) (μg/m3)
( (
BTHomeSensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS, BTHomeSensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS,
Units.CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, Units.CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,

View File

@@ -35,7 +35,7 @@ from .const import (
UNIT_PREFIXES = [ UNIT_PREFIXES = [
selector.SelectOptionDict(value="n", label="n (nano)"), selector.SelectOptionDict(value="n", label="n (nano)"),
selector.SelectOptionDict(value="µ", label="µ (micro)"), selector.SelectOptionDict(value="μ", label="μ (micro)"),
selector.SelectOptionDict(value="m", label="m (milli)"), selector.SelectOptionDict(value="m", label="m (milli)"),
selector.SelectOptionDict(value="k", label="k (kilo)"), selector.SelectOptionDict(value="k", label="k (kilo)"),
selector.SelectOptionDict(value="M", label="M (mega)"), selector.SelectOptionDict(value="M", label="M (mega)"),

View File

@@ -61,7 +61,7 @@ ATTR_SOURCE_ID = "source"
UNIT_PREFIXES = { UNIT_PREFIXES = {
None: 1, None: 1,
"n": 1e-9, "n": 1e-9,
"µ": 1e-6, "μ": 1e-6,
"m": 1e-3, "m": 1e-3,
"k": 1e3, "k": 1e3,
"M": 1e6, "M": 1e6,

View File

@@ -163,7 +163,7 @@ SENSORS: dict[str | None, SensorEntityDescription] = {
native_unit_of_measurement=UnitOfSpeed.METERS_PER_SECOND, native_unit_of_measurement=UnitOfSpeed.METERS_PER_SECOND,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
), ),
"µg/m³": SensorEntityDescription( "μg/m³": SensorEntityDescription(
key="concentration|microgram_per_cubic_meter", key="concentration|microgram_per_cubic_meter",
translation_key="concentration", translation_key="concentration",
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,

View File

@@ -105,7 +105,7 @@ SENSORS: Final[list[FytaSensorEntityDescription]] = [
FytaSensorEntityDescription( FytaSensorEntityDescription(
key="light", key="light",
translation_key="light", translation_key="light",
native_unit_of_measurement="μmol/s⋅m²", native_unit_of_measurement="μmol/s⋅m²", # b'\xc2\xb5'
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
value_fn=lambda plant: plant.light, value_fn=lambda plant: plant.light,
), ),

View File

@@ -291,7 +291,7 @@ class NitrogenDioxideSensor(AirQualitySensor):
class VolatileOrganicCompoundsSensor(AirQualitySensor): class VolatileOrganicCompoundsSensor(AirQualitySensor):
"""Generate a VolatileOrganicCompoundsSensor accessory as VOCs sensor. """Generate a VolatileOrganicCompoundsSensor accessory as VOCs sensor.
Sensor entity must return VOC in µg/m3. Sensor entity must return VOC in μg/m3.
""" """
def create_services(self) -> None: def create_services(self) -> None:

View File

@@ -480,7 +480,7 @@ def temperature_to_states(temperature: float, unit: str) -> float:
def density_to_air_quality(density: float) -> int: def density_to_air_quality(density: float) -> int:
"""Map PM2.5 µg/m3 density to HomeKit AirQuality level.""" """Map PM2.5 μg/m3 density to HomeKit AirQuality level."""
if density <= 9: # US AQI 0-50 (HomeKit: Excellent) if density <= 9: # US AQI 0-50 (HomeKit: Excellent)
return 1 return 1
if density <= 35.4: # US AQI 51-100 (HomeKit: Good) if density <= 35.4: # US AQI 51-100 (HomeKit: Good)
@@ -493,7 +493,7 @@ def density_to_air_quality(density: float) -> int:
def density_to_air_quality_pm10(density: float) -> int: def density_to_air_quality_pm10(density: float) -> int:
"""Map PM10 µg/m3 density to HomeKit AirQuality level.""" """Map PM10 μg/m3 density to HomeKit AirQuality level."""
if density <= 54: # US AQI 0-50 (HomeKit: Excellent) if density <= 54: # US AQI 0-50 (HomeKit: Excellent)
return 1 return 1
if density <= 154: # US AQI 51-100 (HomeKit: Good) if density <= 154: # US AQI 51-100 (HomeKit: Good)
@@ -506,7 +506,7 @@ def density_to_air_quality_pm10(density: float) -> int:
def density_to_air_quality_nitrogen_dioxide(density: float) -> int: def density_to_air_quality_nitrogen_dioxide(density: float) -> int:
"""Map nitrogen dioxide µg/m3 to HomeKit AirQuality level.""" """Map nitrogen dioxide μg/m3 to HomeKit AirQuality level."""
if density <= 30: if density <= 30:
return 1 return 1
if density <= 60: if density <= 60:
@@ -519,7 +519,7 @@ def density_to_air_quality_nitrogen_dioxide(density: float) -> int:
def density_to_air_quality_voc(density: float) -> int: def density_to_air_quality_voc(density: float) -> int:
"""Map VOCs µg/m3 to HomeKit AirQuality level. """Map VOCs μg/m3 to HomeKit AirQuality level.
The VOC mappings use the IAQ guidelines for Europe released by the WHO (World Health Organization). The VOC mappings use the IAQ guidelines for Europe released by the WHO (World Health Organization).
Referenced from Sensirion_Gas_Sensors_SGP3x_TVOC_Concept.pdf Referenced from Sensirion_Gas_Sensors_SGP3x_TVOC_Concept.pdf

View File

@@ -130,7 +130,7 @@ class NumberDeviceClass(StrEnum):
CONDUCTIVITY = "conductivity" CONDUCTIVITY = "conductivity"
"""Conductivity. """Conductivity.
Unit of measurement: `S/cm`, `mS/cm`, `µS/cm` Unit of measurement: `S/cm`, `mS/cm`, `μS/cm`
""" """
CURRENT = "current" CURRENT = "current"
@@ -162,7 +162,7 @@ class NumberDeviceClass(StrEnum):
DURATION = "duration" DURATION = "duration"
"""Fixed duration. """Fixed duration.
Unit of measurement: `d`, `h`, `min`, `s`, `ms`, `µs` Unit of measurement: `d`, `h`, `min`, `s`, `ms`, `μs`
""" """
ENERGY = "energy" ENERGY = "energy"
@@ -240,25 +240,25 @@ class NumberDeviceClass(StrEnum):
NITROGEN_DIOXIDE = "nitrogen_dioxide" NITROGEN_DIOXIDE = "nitrogen_dioxide"
"""Amount of NO2. """Amount of NO2.
Unit of measurement: `µg/m³` Unit of measurement: `μg/m³`
""" """
NITROGEN_MONOXIDE = "nitrogen_monoxide" NITROGEN_MONOXIDE = "nitrogen_monoxide"
"""Amount of NO. """Amount of NO.
Unit of measurement: `µg/m³` Unit of measurement: `μg/m³`
""" """
NITROUS_OXIDE = "nitrous_oxide" NITROUS_OXIDE = "nitrous_oxide"
"""Amount of N2O. """Amount of N2O.
Unit of measurement: `µg/m³` Unit of measurement: `μg/m³`
""" """
OZONE = "ozone" OZONE = "ozone"
"""Amount of O3. """Amount of O3.
Unit of measurement: `µg/m³` Unit of measurement: `μg/m³`
""" """
PH = "ph" PH = "ph"
@@ -270,19 +270,19 @@ class NumberDeviceClass(StrEnum):
PM1 = "pm1" PM1 = "pm1"
"""Particulate matter <= 1 μm. """Particulate matter <= 1 μm.
Unit of measurement: `µg/m³` Unit of measurement: `μg/m³`
""" """
PM10 = "pm10" PM10 = "pm10"
"""Particulate matter <= 10 μm. """Particulate matter <= 10 μm.
Unit of measurement: `µg/m³` Unit of measurement: `μg/m³`
""" """
PM25 = "pm25" PM25 = "pm25"
"""Particulate matter <= 2.5 μm. """Particulate matter <= 2.5 μm.
Unit of measurement: `µg/m³` Unit of measurement: `μg/m³`
""" """
POWER_FACTOR = "power_factor" POWER_FACTOR = "power_factor"
@@ -359,7 +359,7 @@ class NumberDeviceClass(StrEnum):
SULPHUR_DIOXIDE = "sulphur_dioxide" SULPHUR_DIOXIDE = "sulphur_dioxide"
"""Amount of SO2. """Amount of SO2.
Unit of measurement: `µg/m³` Unit of measurement: `μg/m³`
""" """
TEMPERATURE = "temperature" TEMPERATURE = "temperature"
@@ -371,7 +371,7 @@ class NumberDeviceClass(StrEnum):
VOLATILE_ORGANIC_COMPOUNDS = "volatile_organic_compounds" VOLATILE_ORGANIC_COMPOUNDS = "volatile_organic_compounds"
"""Amount of VOC. """Amount of VOC.
Unit of measurement: `µg/m³`, `mg/m³` Unit of measurement: `μg/m³`, `mg/m³`
""" """
VOLATILE_ORGANIC_COMPOUNDS_PARTS = "volatile_organic_compounds_parts" VOLATILE_ORGANIC_COMPOUNDS_PARTS = "volatile_organic_compounds_parts"
@@ -383,7 +383,7 @@ class NumberDeviceClass(StrEnum):
VOLTAGE = "voltage" VOLTAGE = "voltage"
"""Voltage. """Voltage.
Unit of measurement: `V`, `mV`, `µV`, `kV`, `MV` Unit of measurement: `V`, `mV`, `μV`, `kV`, `MV`
""" """
VOLUME = "volume" VOLUME = "volume"
@@ -430,7 +430,7 @@ class NumberDeviceClass(StrEnum):
Weight is used instead of mass to fit with every day language. Weight is used instead of mass to fit with every day language.
Unit of measurement: `MASS_*` units Unit of measurement: `MASS_*` units
- SI / metric: `µg`, `mg`, `g`, `kg` - SI / metric: `μg`, `mg`, `g`, `kg`
- USCS / imperial: `oz`, `lb` - USCS / imperial: `oz`, `lb`
""" """

View File

@@ -263,7 +263,7 @@ def correct_db_schema_precision(
) )
precision_columns = _get_precision_column_types(table_object) precision_columns = _get_precision_column_types(table_object)
# Attempt to convert timestamp columns to µs precision # Attempt to convert timestamp columns to μs precision
session_maker = instance.get_session session_maker = instance.get_session
engine = instance.engine engine = instance.engine
assert engine is not None, "Engine should be set" assert engine is not None, "Engine should be set"

View File

@@ -158,7 +158,7 @@ class SensorDeviceClass(StrEnum):
CONDUCTIVITY = "conductivity" CONDUCTIVITY = "conductivity"
"""Conductivity. """Conductivity.
Unit of measurement: `S/cm`, `mS/cm`, `µS/cm` Unit of measurement: `S/cm`, `mS/cm`, `μS/cm`
""" """
CURRENT = "current" CURRENT = "current"
@@ -190,7 +190,7 @@ class SensorDeviceClass(StrEnum):
DURATION = "duration" DURATION = "duration"
"""Fixed duration. """Fixed duration.
Unit of measurement: `d`, `h`, `min`, `s`, `ms`, `µs` Unit of measurement: `d`, `h`, `min`, `s`, `ms`, `μs`
""" """
ENERGY = "energy" ENERGY = "energy"
@@ -270,25 +270,25 @@ class SensorDeviceClass(StrEnum):
NITROGEN_DIOXIDE = "nitrogen_dioxide" NITROGEN_DIOXIDE = "nitrogen_dioxide"
"""Amount of NO2. """Amount of NO2.
Unit of measurement: `µg/m³` Unit of measurement: `μg/m³`
""" """
NITROGEN_MONOXIDE = "nitrogen_monoxide" NITROGEN_MONOXIDE = "nitrogen_monoxide"
"""Amount of NO. """Amount of NO.
Unit of measurement: `µg/m³` Unit of measurement: `μg/m³`
""" """
NITROUS_OXIDE = "nitrous_oxide" NITROUS_OXIDE = "nitrous_oxide"
"""Amount of N2O. """Amount of N2O.
Unit of measurement: `µg/m³` Unit of measurement: `μg/m³`
""" """
OZONE = "ozone" OZONE = "ozone"
"""Amount of O3. """Amount of O3.
Unit of measurement: `µg/m³` Unit of measurement: `μg/m³`
""" """
PH = "ph" PH = "ph"
@@ -300,19 +300,19 @@ class SensorDeviceClass(StrEnum):
PM1 = "pm1" PM1 = "pm1"
"""Particulate matter <= 1 μm. """Particulate matter <= 1 μm.
Unit of measurement: `µg/m³` Unit of measurement: `μg/m³`
""" """
PM10 = "pm10" PM10 = "pm10"
"""Particulate matter <= 10 μm. """Particulate matter <= 10 μm.
Unit of measurement: `µg/m³` Unit of measurement: `μg/m³`
""" """
PM25 = "pm25" PM25 = "pm25"
"""Particulate matter <= 2.5 μm. """Particulate matter <= 2.5 μm.
Unit of measurement: `µg/m³` Unit of measurement: `μg/m³`
""" """
POWER_FACTOR = "power_factor" POWER_FACTOR = "power_factor"
@@ -390,7 +390,7 @@ class SensorDeviceClass(StrEnum):
SULPHUR_DIOXIDE = "sulphur_dioxide" SULPHUR_DIOXIDE = "sulphur_dioxide"
"""Amount of SO2. """Amount of SO2.
Unit of measurement: `µg/m³` Unit of measurement: `μg/m³`
""" """
TEMPERATURE = "temperature" TEMPERATURE = "temperature"
@@ -402,7 +402,7 @@ class SensorDeviceClass(StrEnum):
VOLATILE_ORGANIC_COMPOUNDS = "volatile_organic_compounds" VOLATILE_ORGANIC_COMPOUNDS = "volatile_organic_compounds"
"""Amount of VOC. """Amount of VOC.
Unit of measurement: `µg/m³`, `mg/m³` Unit of measurement: `μg/m³`, `mg/m³`
""" """
VOLATILE_ORGANIC_COMPOUNDS_PARTS = "volatile_organic_compounds_parts" VOLATILE_ORGANIC_COMPOUNDS_PARTS = "volatile_organic_compounds_parts"
@@ -414,7 +414,7 @@ class SensorDeviceClass(StrEnum):
VOLTAGE = "voltage" VOLTAGE = "voltage"
"""Voltage. """Voltage.
Unit of measurement: `V`, `mV`, `µV`, `kV`, `MV` Unit of measurement: `V`, `mV`, `μV`, `kV`, `MV`
""" """
VOLUME = "volume" VOLUME = "volume"
@@ -461,7 +461,7 @@ class SensorDeviceClass(StrEnum):
Weight is used instead of mass to fit with every day language. Weight is used instead of mass to fit with every day language.
Unit of measurement: `MASS_*` units Unit of measurement: `MASS_*` units
- SI / metric: `µg`, `mg`, `g`, `kg` - SI / metric: `μg`, `mg`, `g`, `kg`
- USCS / imperial: `oz`, `lb` - USCS / imperial: `oz`, `lb`
""" """

View File

@@ -197,7 +197,7 @@ SENSOR_TYPES = (
attribute=TMRW_ATTR_PRECIPITATION_TYPE, attribute=TMRW_ATTR_PRECIPITATION_TYPE,
value_map=PrecipitationType, value_map=PrecipitationType,
), ),
# Data comes in as ppb, convert to µg/m^3 # Data comes in as ppb, convert to μg/m^3
# Molecular weight of Ozone is 48 # Molecular weight of Ozone is 48
TomorrowioSensorEntityDescription( TomorrowioSensorEntityDescription(
key="ozone", key="ozone",
@@ -221,7 +221,7 @@ SENSOR_TYPES = (
device_class=SensorDeviceClass.PM10, device_class=SensorDeviceClass.PM10,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
), ),
# Data comes in as ppb, convert to µg/m^3 # Data comes in as ppb, convert to μg/m^3
# Molecular weight of Nitrogen Dioxide is 46.01 # Molecular weight of Nitrogen Dioxide is 46.01
TomorrowioSensorEntityDescription( TomorrowioSensorEntityDescription(
key="nitrogen_dioxide", key="nitrogen_dioxide",
@@ -240,7 +240,7 @@ SENSOR_TYPES = (
device_class=SensorDeviceClass.CO, device_class=SensorDeviceClass.CO,
state_class=SensorStateClass.MEASUREMENT, state_class=SensorStateClass.MEASUREMENT,
), ),
# Data comes in as ppb, convert to µg/m^3 # Data comes in as ppb, convert to μg/m^3
# Molecular weight of Sulphur Dioxide is 64.07 # Molecular weight of Sulphur Dioxide is 64.07
TomorrowioSensorEntityDescription( TomorrowioSensorEntityDescription(
key="sulphur_dioxide", key="sulphur_dioxide",

View File

@@ -496,7 +496,7 @@ UNITS = (
), ),
UnitOfMeasurement( UnitOfMeasurement(
unit=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, unit=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
aliases={"ug/m3", "µg/m3", "ug/m³"}, aliases={"ug/m3", "μg/m3", "ug/m³"},
device_classes={ device_classes={
SensorDeviceClass.NITROGEN_DIOXIDE, SensorDeviceClass.NITROGEN_DIOXIDE,
SensorDeviceClass.NITROGEN_MONOXIDE, SensorDeviceClass.NITROGEN_MONOXIDE,

View File

@@ -664,7 +664,7 @@ class UnitOfElectricCurrent(StrEnum):
class UnitOfElectricPotential(StrEnum): class UnitOfElectricPotential(StrEnum):
"""Electric potential units.""" """Electric potential units."""
MICROVOLT = "µV" MICROVOLT = "μV" # b'\xce\xbcV'
MILLIVOLT = "mV" MILLIVOLT = "mV"
VOLT = "V" VOLT = "V"
KILOVOLT = "kV" KILOVOLT = "kV"
@@ -693,7 +693,7 @@ class UnitOfTemperature(StrEnum):
class UnitOfTime(StrEnum): class UnitOfTime(StrEnum):
"""Time units.""" """Time units."""
MICROSECONDS = "μs" MICROSECONDS = "μs" # b'\xce\xbcs'
MILLISECONDS = "ms" MILLISECONDS = "ms"
SECONDS = "s" SECONDS = "s"
MINUTES = "min" MINUTES = "min"
@@ -814,7 +814,7 @@ class UnitOfMass(StrEnum):
GRAMS = "g" GRAMS = "g"
KILOGRAMS = "kg" KILOGRAMS = "kg"
MILLIGRAMS = "mg" MILLIGRAMS = "mg"
MICROGRAMS = "µg" MICROGRAMS = "μg" # b'\xce\xbg'
OUNCES = "oz" OUNCES = "oz"
POUNDS = "lb" POUNDS = "lb"
STONES = "st" STONES = "st"
@@ -832,13 +832,13 @@ class UnitOfConductivity(
"""Conductivity units.""" """Conductivity units."""
SIEMENS_PER_CM = "S/cm" SIEMENS_PER_CM = "S/cm"
MICROSIEMENS_PER_CM = "µS/cm" MICROSIEMENS_PER_CM = "μS/cm" # b'\xce\xbcS/cm'
MILLISIEMENS_PER_CM = "mS/cm" MILLISIEMENS_PER_CM = "mS/cm"
# Deprecated aliases # Deprecated aliases
SIEMENS = "S/cm" SIEMENS = "S/cm"
"""Deprecated: Please use UnitOfConductivity.SIEMENS_PER_CM""" """Deprecated: Please use UnitOfConductivity.SIEMENS_PER_CM"""
MICROSIEMENS = "µS/cm" MICROSIEMENS = "μS/cm" # 'b'\xce\xbcS/cm'
"""Deprecated: Please use UnitOfConductivity.MICROSIEMENS_PER_CM""" """Deprecated: Please use UnitOfConductivity.MICROSIEMENS_PER_CM"""
MILLISIEMENS = "mS/cm" MILLISIEMENS = "mS/cm"
"""Deprecated: Please use UnitOfConductivity.MILLISIEMENS_PER_CM""" """Deprecated: Please use UnitOfConductivity.MILLISIEMENS_PER_CM"""
@@ -909,9 +909,9 @@ class UnitOfPrecipitationDepth(StrEnum):
# Concentration units # Concentration units
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER: Final = "µg/m³" CONCENTRATION_MICROGRAMS_PER_CUBIC_METER: Final = "μg/m³" # b'\xce\xbcg/m\xc2\xb3'
CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER: Final = "mg/m³" CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER: Final = "mg/m³"
CONCENTRATION_MICROGRAMS_PER_CUBIC_FOOT: Final = "μg/ft³" CONCENTRATION_MICROGRAMS_PER_CUBIC_FOOT: Final = "μg/ft³" # b'\xce\xbcg/ft\xc2\xb3'
CONCENTRATION_PARTS_PER_CUBIC_METER: Final = "p/m³" CONCENTRATION_PARTS_PER_CUBIC_METER: Final = "p/m³"
CONCENTRATION_PARTS_PER_MILLION: Final = "ppm" CONCENTRATION_PARTS_PER_MILLION: Final = "ppm"
CONCENTRATION_PARTS_PER_BILLION: Final = "ppb" CONCENTRATION_PARTS_PER_BILLION: Final = "ppb"

View File

@@ -622,7 +622,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '84fce612f5b8-pm01', 'unique_id': '84fce612f5b8-pm01',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_all_entities[indoor][sensor.airgradient_pm1-state] # name: test_all_entities[indoor][sensor.airgradient_pm1-state]
@@ -631,7 +631,7 @@
'device_class': 'pm1', 'device_class': 'pm1',
'friendly_name': 'Airgradient PM1', 'friendly_name': 'Airgradient PM1',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.airgradient_pm1', 'entity_id': 'sensor.airgradient_pm1',
@@ -675,7 +675,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '84fce612f5b8-pm10', 'unique_id': '84fce612f5b8-pm10',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_all_entities[indoor][sensor.airgradient_pm10-state] # name: test_all_entities[indoor][sensor.airgradient_pm10-state]
@@ -684,7 +684,7 @@
'device_class': 'pm10', 'device_class': 'pm10',
'friendly_name': 'Airgradient PM10', 'friendly_name': 'Airgradient PM10',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.airgradient_pm10', 'entity_id': 'sensor.airgradient_pm10',
@@ -728,7 +728,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '84fce612f5b8-pm02', 'unique_id': '84fce612f5b8-pm02',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_all_entities[indoor][sensor.airgradient_pm2_5-state] # name: test_all_entities[indoor][sensor.airgradient_pm2_5-state]
@@ -737,7 +737,7 @@
'device_class': 'pm25', 'device_class': 'pm25',
'friendly_name': 'Airgradient PM2.5', 'friendly_name': 'Airgradient PM2.5',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.airgradient_pm2_5', 'entity_id': 'sensor.airgradient_pm2_5',
@@ -833,7 +833,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': 'raw_pm02', 'translation_key': 'raw_pm02',
'unique_id': '84fce612f5b8-pm02_raw', 'unique_id': '84fce612f5b8-pm02_raw',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_all_entities[indoor][sensor.airgradient_raw_pm2_5-state] # name: test_all_entities[indoor][sensor.airgradient_raw_pm2_5-state]
@@ -842,7 +842,7 @@
'device_class': 'pm25', 'device_class': 'pm25',
'friendly_name': 'Airgradient Raw PM2.5', 'friendly_name': 'Airgradient Raw PM2.5',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.airgradient_raw_pm2_5', 'entity_id': 'sensor.airgradient_raw_pm2_5',

View File

@@ -36,7 +36,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': 'co', 'translation_key': 'co',
'unique_id': '123-456-co', 'unique_id': '123-456-co',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.home_carbon_monoxide-state] # name: test_sensor[sensor.home_carbon_monoxide-state]
@@ -47,7 +47,7 @@
'limit': 4000, 'limit': 4000,
'percent': 4, 'percent': 4,
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.home_carbon_monoxide', 'entity_id': 'sensor.home_carbon_monoxide',
@@ -207,7 +207,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '123-456-no2', 'unique_id': '123-456-no2',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.home_nitrogen_dioxide-state] # name: test_sensor[sensor.home_nitrogen_dioxide-state]
@@ -219,7 +219,7 @@
'limit': 25, 'limit': 25,
'percent': 64, 'percent': 64,
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.home_nitrogen_dioxide', 'entity_id': 'sensor.home_nitrogen_dioxide',
@@ -266,7 +266,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '123-456-o3', 'unique_id': '123-456-o3',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.home_ozone-state] # name: test_sensor[sensor.home_ozone-state]
@@ -278,7 +278,7 @@
'limit': 100, 'limit': 100,
'percent': 42, 'percent': 42,
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.home_ozone', 'entity_id': 'sensor.home_ozone',
@@ -325,7 +325,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '123-456-pm1', 'unique_id': '123-456-pm1',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.home_pm1-state] # name: test_sensor[sensor.home_pm1-state]
@@ -335,7 +335,7 @@
'device_class': 'pm1', 'device_class': 'pm1',
'friendly_name': 'Home PM1', 'friendly_name': 'Home PM1',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.home_pm1', 'entity_id': 'sensor.home_pm1',
@@ -382,7 +382,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '123-456-pm10', 'unique_id': '123-456-pm10',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.home_pm10-state] # name: test_sensor[sensor.home_pm10-state]
@@ -394,7 +394,7 @@
'limit': 45, 'limit': 45,
'percent': 14, 'percent': 14,
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.home_pm10', 'entity_id': 'sensor.home_pm10',
@@ -441,7 +441,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '123-456-pm25', 'unique_id': '123-456-pm25',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.home_pm2_5-state] # name: test_sensor[sensor.home_pm2_5-state]
@@ -453,7 +453,7 @@
'limit': 15, 'limit': 15,
'percent': 29, 'percent': 29,
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.home_pm2_5', 'entity_id': 'sensor.home_pm2_5',
@@ -557,7 +557,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '123-456-so2', 'unique_id': '123-456-so2',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.home_sulphur_dioxide-state] # name: test_sensor[sensor.home_sulphur_dioxide-state]
@@ -569,7 +569,7 @@
'limit': 40, 'limit': 40,
'percent': 35, 'percent': 35,
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.home_sulphur_dioxide', 'entity_id': 'sensor.home_sulphur_dioxide',

View File

@@ -144,7 +144,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': 'test-serial-number_PM10', 'unique_id': 'test-serial-number_PM10',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensors[entry_pm2_5] # name: test_sensors[entry_pm2_5]
@@ -181,7 +181,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': 'test-serial-number_PM25', 'unique_id': 'test-serial-number_PM25',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensors[entry_temperature] # name: test_sensors[entry_temperature]
@@ -314,7 +314,7 @@
'device_class': 'pm10', 'device_class': 'pm10',
'friendly_name': 'Test Sensor PM10', 'friendly_name': 'Test Sensor PM10',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.test_sensor_pm10', 'entity_id': 'sensor.test_sensor_pm10',
@@ -330,7 +330,7 @@
'device_class': 'pm25', 'device_class': 'pm25',
'friendly_name': 'Test Sensor PM2.5', 'friendly_name': 'Test Sensor PM2.5',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.test_sensor_pm2_5', 'entity_id': 'sensor.test_sensor_pm2_5',

View File

@@ -253,14 +253,14 @@ _LOGGER = logging.getLogger(__name__)
{ {
"sensor_entity": "sensor.test_device_18b2_pm10", "sensor_entity": "sensor.test_device_18b2_pm10",
"friendly_name": "Test Device 18B2 Pm10", "friendly_name": "Test Device 18B2 Pm10",
"unit_of_measurement": "µg/m³", "unit_of_measurement": "μg/m³",
"state_class": "measurement", "state_class": "measurement",
"expected_state": "7170", "expected_state": "7170",
}, },
{ {
"sensor_entity": "sensor.test_device_18b2_pm25", "sensor_entity": "sensor.test_device_18b2_pm25",
"friendly_name": "Test Device 18B2 Pm25", "friendly_name": "Test Device 18B2 Pm25",
"unit_of_measurement": "µg/m³", "unit_of_measurement": "μg/m³",
"state_class": "measurement", "state_class": "measurement",
"expected_state": "3090", "expected_state": "3090",
}, },
@@ -296,7 +296,7 @@ _LOGGER = logging.getLogger(__name__)
"sensor.test_device_18b2_volatile_organic_compounds" "sensor.test_device_18b2_volatile_organic_compounds"
), ),
"friendly_name": "Test Device 18B2 Volatile Organic Compounds", "friendly_name": "Test Device 18B2 Volatile Organic Compounds",
"unit_of_measurement": "µg/m³", "unit_of_measurement": "μg/m³",
"state_class": "measurement", "state_class": "measurement",
"expected_state": "307", "expected_state": "307",
}, },
@@ -607,14 +607,14 @@ async def test_v1_sensors(
{ {
"sensor_entity": "sensor.test_device_18b2_pm10", "sensor_entity": "sensor.test_device_18b2_pm10",
"friendly_name": "Test Device 18B2 Pm10", "friendly_name": "Test Device 18B2 Pm10",
"unit_of_measurement": "µg/m³", "unit_of_measurement": "μg/m³",
"state_class": "measurement", "state_class": "measurement",
"expected_state": "7170", "expected_state": "7170",
}, },
{ {
"sensor_entity": "sensor.test_device_18b2_pm25", "sensor_entity": "sensor.test_device_18b2_pm25",
"friendly_name": "Test Device 18B2 Pm25", "friendly_name": "Test Device 18B2 Pm25",
"unit_of_measurement": "µg/m³", "unit_of_measurement": "μg/m³",
"state_class": "measurement", "state_class": "measurement",
"expected_state": "3090", "expected_state": "3090",
}, },
@@ -650,7 +650,7 @@ async def test_v1_sensors(
"sensor.test_device_18b2_volatile_organic_compounds" "sensor.test_device_18b2_volatile_organic_compounds"
), ),
"friendly_name": "Test Device 18B2 Volatile Organic Compounds", "friendly_name": "Test Device 18B2 Volatile Organic Compounds",
"unit_of_measurement": "µg/m³", "unit_of_measurement": "μg/m³",
"state_class": "measurement", "state_class": "measurement",
"expected_state": "307", "expected_state": "307",
}, },

View File

@@ -829,7 +829,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': 'xx:xx:xx:xx:xx:xx:xx:xx-01-042a-particulate_matter_pm2_5', 'unique_id': 'xx:xx:xx:xx:xx:xx:xx:xx-01-042a-particulate_matter_pm2_5',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensors[config_entry_options0-sensor_payload14-expected14][sensor.starkvind_airpurifier_pm25-state] # name: test_sensors[config_entry_options0-sensor_payload14-expected14][sensor.starkvind_airpurifier_pm25-state]
@@ -838,7 +838,7 @@
'device_class': 'pm25', 'device_class': 'pm25',
'friendly_name': 'STARKVIND AirPurifier PM25', 'friendly_name': 'STARKVIND AirPurifier PM25',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.starkvind_airpurifier_pm25', 'entity_id': 'sensor.starkvind_airpurifier_pm25',
@@ -1377,7 +1377,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '00:00:00:00:00:00:00:01-02-0113-air_quality_formaldehyde', 'unique_id': '00:00:00:00:00:00:00:01-02-0113-air_quality_formaldehyde',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensors[config_entry_options0-sensor_payload2-expected2][sensor.airquality_1_ch2o-state] # name: test_sensors[config_entry_options0-sensor_payload2-expected2][sensor.airquality_1_ch2o-state]
@@ -1386,7 +1386,7 @@
'device_class': 'volatile_organic_compounds', 'device_class': 'volatile_organic_compounds',
'friendly_name': 'AirQuality 1 CH2O', 'friendly_name': 'AirQuality 1 CH2O',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.airquality_1_ch2o', 'entity_id': 'sensor.airquality_1_ch2o',
@@ -1483,7 +1483,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '00:00:00:00:00:00:00:01-02-0113-air_quality_pm2_5', 'unique_id': '00:00:00:00:00:00:00:01-02-0113-air_quality_pm2_5',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensors[config_entry_options0-sensor_payload2-expected2][sensor.airquality_1_pm25-state] # name: test_sensors[config_entry_options0-sensor_payload2-expected2][sensor.airquality_1_pm25-state]
@@ -1492,7 +1492,7 @@
'device_class': 'pm25', 'device_class': 'pm25',
'friendly_name': 'AirQuality 1 PM25', 'friendly_name': 'AirQuality 1 PM25',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.airquality_1_pm25', 'entity_id': 'sensor.airquality_1_pm25',
@@ -1699,7 +1699,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '00:00:00:00:00:00:00:01-02-0113-air_quality_formaldehyde', 'unique_id': '00:00:00:00:00:00:00:01-02-0113-air_quality_formaldehyde',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensors[config_entry_options0-sensor_payload3-expected3][sensor.airquality_1_ch2o-state] # name: test_sensors[config_entry_options0-sensor_payload3-expected3][sensor.airquality_1_ch2o-state]
@@ -1708,7 +1708,7 @@
'device_class': 'volatile_organic_compounds', 'device_class': 'volatile_organic_compounds',
'friendly_name': 'AirQuality 1 CH2O', 'friendly_name': 'AirQuality 1 CH2O',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.airquality_1_ch2o', 'entity_id': 'sensor.airquality_1_ch2o',
@@ -1805,7 +1805,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '00:00:00:00:00:00:00:01-02-0113-air_quality_pm2_5', 'unique_id': '00:00:00:00:00:00:00:01-02-0113-air_quality_pm2_5',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensors[config_entry_options0-sensor_payload3-expected3][sensor.airquality_1_pm25-state] # name: test_sensors[config_entry_options0-sensor_payload3-expected3][sensor.airquality_1_pm25-state]
@@ -1814,7 +1814,7 @@
'device_class': 'pm25', 'device_class': 'pm25',
'friendly_name': 'AirQuality 1 PM25', 'friendly_name': 'AirQuality 1 PM25',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.airquality_1_pm25', 'entity_id': 'sensor.airquality_1_pm25',
@@ -1910,7 +1910,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '00:00:00:00:00:00:00:01-02-0113-air_quality_formaldehyde', 'unique_id': '00:00:00:00:00:00:00:01-02-0113-air_quality_formaldehyde',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensors[config_entry_options0-sensor_payload4-expected4][sensor.airquality_1_ch2o-state] # name: test_sensors[config_entry_options0-sensor_payload4-expected4][sensor.airquality_1_ch2o-state]
@@ -1919,7 +1919,7 @@
'device_class': 'volatile_organic_compounds', 'device_class': 'volatile_organic_compounds',
'friendly_name': 'AirQuality 1 CH2O', 'friendly_name': 'AirQuality 1 CH2O',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.airquality_1_ch2o', 'entity_id': 'sensor.airquality_1_ch2o',
@@ -2016,7 +2016,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '00:00:00:00:00:00:00:01-02-0113-air_quality_pm2_5', 'unique_id': '00:00:00:00:00:00:00:01-02-0113-air_quality_pm2_5',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensors[config_entry_options0-sensor_payload4-expected4][sensor.airquality_1_pm25-state] # name: test_sensors[config_entry_options0-sensor_payload4-expected4][sensor.airquality_1_pm25-state]
@@ -2025,7 +2025,7 @@
'device_class': 'pm25', 'device_class': 'pm25',
'friendly_name': 'AirQuality 1 PM25', 'friendly_name': 'AirQuality 1 PM25',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.airquality_1_pm25', 'entity_id': 'sensor.airquality_1_pm25',

View File

@@ -103,7 +103,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': 'c6h6', 'translation_key': 'c6h6',
'unique_id': '123-c6h6', 'unique_id': '123-c6h6',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.home_benzene-state] # name: test_sensor[sensor.home_benzene-state]
@@ -112,7 +112,7 @@
'attribution': 'Data provided by GIOŚ', 'attribution': 'Data provided by GIOŚ',
'friendly_name': 'Home Benzene', 'friendly_name': 'Home Benzene',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.home_benzene', 'entity_id': 'sensor.home_benzene',
@@ -159,7 +159,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': 'co', 'translation_key': 'co',
'unique_id': '123-co', 'unique_id': '123-co',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.home_carbon_monoxide-state] # name: test_sensor[sensor.home_carbon_monoxide-state]
@@ -168,7 +168,7 @@
'attribution': 'Data provided by GIOŚ', 'attribution': 'Data provided by GIOŚ',
'friendly_name': 'Home Carbon monoxide', 'friendly_name': 'Home Carbon monoxide',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.home_carbon_monoxide', 'entity_id': 'sensor.home_carbon_monoxide',
@@ -215,7 +215,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '123-no2', 'unique_id': '123-no2',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.home_nitrogen_dioxide-state] # name: test_sensor[sensor.home_nitrogen_dioxide-state]
@@ -225,7 +225,7 @@
'device_class': 'nitrogen_dioxide', 'device_class': 'nitrogen_dioxide',
'friendly_name': 'Home Nitrogen dioxide', 'friendly_name': 'Home Nitrogen dioxide',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.home_nitrogen_dioxide', 'entity_id': 'sensor.home_nitrogen_dioxide',
@@ -339,7 +339,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '123-o3', 'unique_id': '123-o3',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.home_ozone-state] # name: test_sensor[sensor.home_ozone-state]
@@ -349,7 +349,7 @@
'device_class': 'ozone', 'device_class': 'ozone',
'friendly_name': 'Home Ozone', 'friendly_name': 'Home Ozone',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.home_ozone', 'entity_id': 'sensor.home_ozone',
@@ -463,7 +463,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '123-pm10', 'unique_id': '123-pm10',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.home_pm10-state] # name: test_sensor[sensor.home_pm10-state]
@@ -473,7 +473,7 @@
'device_class': 'pm10', 'device_class': 'pm10',
'friendly_name': 'Home PM10', 'friendly_name': 'Home PM10',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.home_pm10', 'entity_id': 'sensor.home_pm10',
@@ -587,7 +587,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '123-pm25', 'unique_id': '123-pm25',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.home_pm2_5-state] # name: test_sensor[sensor.home_pm2_5-state]
@@ -597,7 +597,7 @@
'device_class': 'pm25', 'device_class': 'pm25',
'friendly_name': 'Home PM2.5', 'friendly_name': 'Home PM2.5',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.home_pm2_5', 'entity_id': 'sensor.home_pm2_5',
@@ -711,7 +711,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '123-so2', 'unique_id': '123-so2',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.home_sulphur_dioxide-state] # name: test_sensor[sensor.home_sulphur_dioxide-state]
@@ -721,7 +721,7 @@
'device_class': 'sulphur_dioxide', 'device_class': 'sulphur_dioxide',
'friendly_name': 'Home Sulphur dioxide', 'friendly_name': 'Home Sulphur dioxide',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.home_sulphur_dioxide', 'entity_id': 'sensor.home_sulphur_dioxide',

View File

@@ -183,7 +183,7 @@ async def test_gvh5106(hass: HomeAssistant) -> None:
pm25_sensor_attributes = pm25_sensor.attributes pm25_sensor_attributes = pm25_sensor.attributes
assert pm25_sensor.state == "0" assert pm25_sensor.state == "0"
assert pm25_sensor_attributes[ATTR_FRIENDLY_NAME] == "H5106 4E05 Pm25" assert pm25_sensor_attributes[ATTR_FRIENDLY_NAME] == "H5106 4E05 Pm25"
assert pm25_sensor_attributes[ATTR_UNIT_OF_MEASUREMENT] == "µg/m³" assert pm25_sensor_attributes[ATTR_UNIT_OF_MEASUREMENT] == "μg/m³"
assert pm25_sensor_attributes[ATTR_STATE_CLASS] == "measurement" assert pm25_sensor_attributes[ATTR_STATE_CLASS] == "measurement"
assert await hass.config_entries.async_unload(entry.entry_id) assert await hass.config_entries.async_unload(entry.entry_id)

View File

@@ -365,14 +365,14 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '00:00:00:00:00:00_1_2576_2580', 'unique_id': '00:00:00:00:00:00_1_2576_2580',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'state': dict({ 'state': dict({
'attributes': dict({ 'attributes': dict({
'device_class': 'pm25', 'device_class': 'pm25',
'friendly_name': 'Airversa AP2 1808 PM2.5 Density', 'friendly_name': 'Airversa AP2 1808 PM2.5 Density',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'entity_id': 'sensor.airversa_ap2_1808_pm2_5_density', 'entity_id': 'sensor.airversa_ap2_1808_pm2_5_density',
'state': '3.0', 'state': '3.0',

View File

@@ -95,7 +95,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': <PinecilNumber.CALIBRATION_OFFSET: 'calibration_offset'>, 'translation_key': <PinecilNumber.CALIBRATION_OFFSET: 'calibration_offset'>,
'unique_id': 'c0:ff:ee:c0:ff:ee_calibration_offset', 'unique_id': 'c0:ff:ee:c0:ff:ee_calibration_offset',
'unit_of_measurement': <UnitOfElectricPotential.MICROVOLT: 'µV'>, 'unit_of_measurement': <UnitOfElectricPotential.MICROVOLT: 'μV'>,
}) })
# --- # ---
# name: test_state[number.pinecil_calibration_offset-state] # name: test_state[number.pinecil_calibration_offset-state]
@@ -106,7 +106,7 @@
'min': 100, 'min': 100,
'mode': <NumberMode.BOX: 'box'>, 'mode': <NumberMode.BOX: 'box'>,
'step': 1, 'step': 1,
'unit_of_measurement': <UnitOfElectricPotential.MICROVOLT: 'µV'>, 'unit_of_measurement': <UnitOfElectricPotential.MICROVOLT: 'μV'>,
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'number.pinecil_calibration_offset', 'entity_id': 'number.pinecil_calibration_offset',

View File

@@ -566,7 +566,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': <PinecilSensor.TIP_VOLTAGE: 'tip_voltage'>, 'translation_key': <PinecilSensor.TIP_VOLTAGE: 'tip_voltage'>,
'unique_id': 'c0:ff:ee:c0:ff:ee_tip_voltage', 'unique_id': 'c0:ff:ee:c0:ff:ee_tip_voltage',
'unit_of_measurement': <UnitOfElectricPotential.MICROVOLT: 'µV'>, 'unit_of_measurement': <UnitOfElectricPotential.MICROVOLT: 'μV'>,
}) })
# --- # ---
# name: test_sensors[sensor.pinecil_raw_tip_voltage-state] # name: test_sensors[sensor.pinecil_raw_tip_voltage-state]
@@ -575,7 +575,7 @@
'device_class': 'voltage', 'device_class': 'voltage',
'friendly_name': 'Pinecil Raw tip voltage', 'friendly_name': 'Pinecil Raw tip voltage',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': <UnitOfElectricPotential.MICROVOLT: 'µV'>, 'unit_of_measurement': <UnitOfElectricPotential.MICROVOLT: 'μV'>,
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.pinecil_raw_tip_voltage', 'entity_id': 'sensor.pinecil_raw_tip_voltage',

View File

@@ -135,7 +135,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': 'MW2-2E247F93-B570-46A6-B827-920E9E10F966_pm1', 'unique_id': 'MW2-2E247F93-B570-46A6-B827-920E9E10F966_pm1',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_all_entities[sensor.test_air_conditioner_pm1-state] # name: test_all_entities[sensor.test_air_conditioner_pm1-state]
@@ -144,7 +144,7 @@
'device_class': 'pm1', 'device_class': 'pm1',
'friendly_name': 'Test air conditioner PM1', 'friendly_name': 'Test air conditioner PM1',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.test_air_conditioner_pm1', 'entity_id': 'sensor.test_air_conditioner_pm1',
@@ -188,7 +188,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': 'MW2-2E247F93-B570-46A6-B827-920E9E10F966_pm10', 'unique_id': 'MW2-2E247F93-B570-46A6-B827-920E9E10F966_pm10',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_all_entities[sensor.test_air_conditioner_pm10-state] # name: test_all_entities[sensor.test_air_conditioner_pm10-state]
@@ -197,7 +197,7 @@
'device_class': 'pm10', 'device_class': 'pm10',
'friendly_name': 'Test air conditioner PM10', 'friendly_name': 'Test air conditioner PM10',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.test_air_conditioner_pm10', 'entity_id': 'sensor.test_air_conditioner_pm10',
@@ -241,7 +241,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': 'MW2-2E247F93-B570-46A6-B827-920E9E10F966_pm2', 'unique_id': 'MW2-2E247F93-B570-46A6-B827-920E9E10F966_pm2',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_all_entities[sensor.test_air_conditioner_pm2_5-state] # name: test_all_entities[sensor.test_air_conditioner_pm2_5-state]
@@ -250,7 +250,7 @@
'device_class': 'pm25', 'device_class': 'pm25',
'friendly_name': 'Test air conditioner PM2.5', 'friendly_name': 'Test air conditioner PM2.5',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.test_air_conditioner_pm2_5', 'entity_id': 'sensor.test_air_conditioner_pm2_5',

View File

@@ -468,7 +468,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '00000000000004D2-000000000000008F-MatterNodeDevice-2-PM1Sensor-1068-0', 'unique_id': '00000000000004D2-000000000000008F-MatterNodeDevice-2-PM1Sensor-1068-0',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensors[air_purifier][sensor.air_purifier_pm1-state] # name: test_sensors[air_purifier][sensor.air_purifier_pm1-state]
@@ -477,7 +477,7 @@
'device_class': 'pm1', 'device_class': 'pm1',
'friendly_name': 'Air Purifier PM1', 'friendly_name': 'Air Purifier PM1',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.air_purifier_pm1', 'entity_id': 'sensor.air_purifier_pm1',
@@ -521,7 +521,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '00000000000004D2-000000000000008F-MatterNodeDevice-2-PM10Sensor-1069-0', 'unique_id': '00000000000004D2-000000000000008F-MatterNodeDevice-2-PM10Sensor-1069-0',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensors[air_purifier][sensor.air_purifier_pm10-state] # name: test_sensors[air_purifier][sensor.air_purifier_pm10-state]
@@ -530,7 +530,7 @@
'device_class': 'pm10', 'device_class': 'pm10',
'friendly_name': 'Air Purifier PM10', 'friendly_name': 'Air Purifier PM10',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.air_purifier_pm10', 'entity_id': 'sensor.air_purifier_pm10',
@@ -574,7 +574,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '00000000000004D2-000000000000008F-MatterNodeDevice-2-PM25Sensor-1066-0', 'unique_id': '00000000000004D2-000000000000008F-MatterNodeDevice-2-PM25Sensor-1066-0',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensors[air_purifier][sensor.air_purifier_pm2_5-state] # name: test_sensors[air_purifier][sensor.air_purifier_pm2_5-state]
@@ -583,7 +583,7 @@
'device_class': 'pm25', 'device_class': 'pm25',
'friendly_name': 'Air Purifier PM2.5', 'friendly_name': 'Air Purifier PM2.5',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.air_purifier_pm2_5', 'entity_id': 'sensor.air_purifier_pm2_5',
@@ -1017,7 +1017,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '00000000000004D2-0000000000000001-MatterNodeDevice-1-PM1Sensor-1068-0', 'unique_id': '00000000000004D2-0000000000000001-MatterNodeDevice-1-PM1Sensor-1068-0',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensors[air_quality_sensor][sensor.lightfi_aq1_air_quality_sensor_pm1-state] # name: test_sensors[air_quality_sensor][sensor.lightfi_aq1_air_quality_sensor_pm1-state]
@@ -1026,7 +1026,7 @@
'device_class': 'pm1', 'device_class': 'pm1',
'friendly_name': 'lightfi-aq1-air-quality-sensor PM1', 'friendly_name': 'lightfi-aq1-air-quality-sensor PM1',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.lightfi_aq1_air_quality_sensor_pm1', 'entity_id': 'sensor.lightfi_aq1_air_quality_sensor_pm1',
@@ -1070,7 +1070,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '00000000000004D2-0000000000000001-MatterNodeDevice-1-PM10Sensor-1069-0', 'unique_id': '00000000000004D2-0000000000000001-MatterNodeDevice-1-PM10Sensor-1069-0',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensors[air_quality_sensor][sensor.lightfi_aq1_air_quality_sensor_pm10-state] # name: test_sensors[air_quality_sensor][sensor.lightfi_aq1_air_quality_sensor_pm10-state]
@@ -1079,7 +1079,7 @@
'device_class': 'pm10', 'device_class': 'pm10',
'friendly_name': 'lightfi-aq1-air-quality-sensor PM10', 'friendly_name': 'lightfi-aq1-air-quality-sensor PM10',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.lightfi_aq1_air_quality_sensor_pm10', 'entity_id': 'sensor.lightfi_aq1_air_quality_sensor_pm10',
@@ -1123,7 +1123,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '00000000000004D2-0000000000000001-MatterNodeDevice-1-PM25Sensor-1066-0', 'unique_id': '00000000000004D2-0000000000000001-MatterNodeDevice-1-PM25Sensor-1066-0',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensors[air_quality_sensor][sensor.lightfi_aq1_air_quality_sensor_pm2_5-state] # name: test_sensors[air_quality_sensor][sensor.lightfi_aq1_air_quality_sensor_pm2_5-state]
@@ -1132,7 +1132,7 @@
'device_class': 'pm25', 'device_class': 'pm25',
'friendly_name': 'lightfi-aq1-air-quality-sensor PM2.5', 'friendly_name': 'lightfi-aq1-air-quality-sensor PM2.5',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.lightfi_aq1_air_quality_sensor_pm2_5', 'entity_id': 'sensor.lightfi_aq1_air_quality_sensor_pm2_5',

View File

@@ -981,7 +981,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': 'pmsx003_pm1', 'translation_key': 'pmsx003_pm1',
'unique_id': 'aa:bb:cc:dd:ee:ff-pms_p0', 'unique_id': 'aa:bb:cc:dd:ee:ff-pms_p0',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.nettigo_air_monitor_pmsx003_pm1-state] # name: test_sensor[sensor.nettigo_air_monitor_pmsx003_pm1-state]
@@ -990,7 +990,7 @@
'device_class': 'pm1', 'device_class': 'pm1',
'friendly_name': 'Nettigo Air Monitor PMSx003 PM1', 'friendly_name': 'Nettigo Air Monitor PMSx003 PM1',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.nettigo_air_monitor_pmsx003_pm1', 'entity_id': 'sensor.nettigo_air_monitor_pmsx003_pm1',
@@ -1037,7 +1037,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': 'pmsx003_pm10', 'translation_key': 'pmsx003_pm10',
'unique_id': 'aa:bb:cc:dd:ee:ff-pms_p1', 'unique_id': 'aa:bb:cc:dd:ee:ff-pms_p1',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.nettigo_air_monitor_pmsx003_pm10-state] # name: test_sensor[sensor.nettigo_air_monitor_pmsx003_pm10-state]
@@ -1046,7 +1046,7 @@
'device_class': 'pm10', 'device_class': 'pm10',
'friendly_name': 'Nettigo Air Monitor PMSx003 PM10', 'friendly_name': 'Nettigo Air Monitor PMSx003 PM10',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.nettigo_air_monitor_pmsx003_pm10', 'entity_id': 'sensor.nettigo_air_monitor_pmsx003_pm10',
@@ -1093,7 +1093,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': 'pmsx003_pm25', 'translation_key': 'pmsx003_pm25',
'unique_id': 'aa:bb:cc:dd:ee:ff-pms_p2', 'unique_id': 'aa:bb:cc:dd:ee:ff-pms_p2',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.nettigo_air_monitor_pmsx003_pm2_5-state] # name: test_sensor[sensor.nettigo_air_monitor_pmsx003_pm2_5-state]
@@ -1102,7 +1102,7 @@
'device_class': 'pm25', 'device_class': 'pm25',
'friendly_name': 'Nettigo Air Monitor PMSx003 PM2.5', 'friendly_name': 'Nettigo Air Monitor PMSx003 PM2.5',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.nettigo_air_monitor_pmsx003_pm2_5', 'entity_id': 'sensor.nettigo_air_monitor_pmsx003_pm2_5',
@@ -1261,7 +1261,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': 'sds011_pm10', 'translation_key': 'sds011_pm10',
'unique_id': 'aa:bb:cc:dd:ee:ff-sds011_p1', 'unique_id': 'aa:bb:cc:dd:ee:ff-sds011_p1',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.nettigo_air_monitor_sds011_pm10-state] # name: test_sensor[sensor.nettigo_air_monitor_sds011_pm10-state]
@@ -1270,7 +1270,7 @@
'device_class': 'pm10', 'device_class': 'pm10',
'friendly_name': 'Nettigo Air Monitor SDS011 PM10', 'friendly_name': 'Nettigo Air Monitor SDS011 PM10',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.nettigo_air_monitor_sds011_pm10', 'entity_id': 'sensor.nettigo_air_monitor_sds011_pm10',
@@ -1317,7 +1317,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': 'sds011_pm25', 'translation_key': 'sds011_pm25',
'unique_id': 'aa:bb:cc:dd:ee:ff-sds011_p2', 'unique_id': 'aa:bb:cc:dd:ee:ff-sds011_p2',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.nettigo_air_monitor_sds011_pm2_5-state] # name: test_sensor[sensor.nettigo_air_monitor_sds011_pm2_5-state]
@@ -1326,7 +1326,7 @@
'device_class': 'pm25', 'device_class': 'pm25',
'friendly_name': 'Nettigo Air Monitor SDS011 PM2.5', 'friendly_name': 'Nettigo Air Monitor SDS011 PM2.5',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.nettigo_air_monitor_sds011_pm2_5', 'entity_id': 'sensor.nettigo_air_monitor_sds011_pm2_5',
@@ -1653,7 +1653,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': 'sps30_pm1', 'translation_key': 'sps30_pm1',
'unique_id': 'aa:bb:cc:dd:ee:ff-sps30_p0', 'unique_id': 'aa:bb:cc:dd:ee:ff-sps30_p0',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.nettigo_air_monitor_sps30_pm1-state] # name: test_sensor[sensor.nettigo_air_monitor_sps30_pm1-state]
@@ -1662,7 +1662,7 @@
'device_class': 'pm1', 'device_class': 'pm1',
'friendly_name': 'Nettigo Air Monitor SPS30 PM1', 'friendly_name': 'Nettigo Air Monitor SPS30 PM1',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.nettigo_air_monitor_sps30_pm1', 'entity_id': 'sensor.nettigo_air_monitor_sps30_pm1',
@@ -1709,7 +1709,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': 'sps30_pm10', 'translation_key': 'sps30_pm10',
'unique_id': 'aa:bb:cc:dd:ee:ff-sps30_p1', 'unique_id': 'aa:bb:cc:dd:ee:ff-sps30_p1',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.nettigo_air_monitor_sps30_pm10-state] # name: test_sensor[sensor.nettigo_air_monitor_sps30_pm10-state]
@@ -1718,7 +1718,7 @@
'device_class': 'pm10', 'device_class': 'pm10',
'friendly_name': 'Nettigo Air Monitor SPS30 PM10', 'friendly_name': 'Nettigo Air Monitor SPS30 PM10',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.nettigo_air_monitor_sps30_pm10', 'entity_id': 'sensor.nettigo_air_monitor_sps30_pm10',
@@ -1765,7 +1765,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': 'sps30_pm25', 'translation_key': 'sps30_pm25',
'unique_id': 'aa:bb:cc:dd:ee:ff-sps30_p2', 'unique_id': 'aa:bb:cc:dd:ee:ff-sps30_p2',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.nettigo_air_monitor_sps30_pm2_5-state] # name: test_sensor[sensor.nettigo_air_monitor_sps30_pm2_5-state]
@@ -1774,7 +1774,7 @@
'device_class': 'pm25', 'device_class': 'pm25',
'friendly_name': 'Nettigo Air Monitor SPS30 PM2.5', 'friendly_name': 'Nettigo Air Monitor SPS30 PM2.5',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.nettigo_air_monitor_sps30_pm2_5', 'entity_id': 'sensor.nettigo_air_monitor_sps30_pm2_5',
@@ -1821,7 +1821,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': 'sps30_pm4', 'translation_key': 'sps30_pm4',
'unique_id': 'aa:bb:cc:dd:ee:ff-sps30_p4', 'unique_id': 'aa:bb:cc:dd:ee:ff-sps30_p4',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_sensor[sensor.nettigo_air_monitor_sps30_pm4-state] # name: test_sensor[sensor.nettigo_air_monitor_sps30_pm4-state]
@@ -1829,7 +1829,7 @@
'attributes': ReadOnlyDict({ 'attributes': ReadOnlyDict({
'friendly_name': 'Nettigo Air Monitor SPS30 PM4', 'friendly_name': 'Nettigo Air Monitor SPS30 PM4',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.nettigo_air_monitor_sps30_pm4', 'entity_id': 'sensor.nettigo_air_monitor_sps30_pm4',

View File

@@ -610,7 +610,7 @@ async def test_sensor_unit(
EntityMetric( EntityMetric(
metric_name="sensor_unit_u0xb5g_per_mu0xb3", metric_name="sensor_unit_u0xb5g_per_mu0xb3",
domain="sensor", domain="sensor",
friendly_name="SPS30 PM <1µm Weight concentration", friendly_name="SPS30 PM <1μm Weight concentration",
entity="sensor.sps30_pm_1um_weight_concentration", entity="sensor.sps30_pm_1um_weight_concentration",
).withValue(3.7069).assert_in_metrics(body) ).withValue(3.7069).assert_in_metrics(body)
@@ -1920,7 +1920,7 @@ async def sensor_fixture(
unique_id="sensor_7", unique_id="sensor_7",
unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
suggested_object_id="sps30_pm_1um_weight_concentration", suggested_object_id="sps30_pm_1um_weight_concentration",
original_name="SPS30 PM <1µm Weight concentration", original_name="SPS30 PM <1μm Weight concentration",
) )
set_state_with_entry(hass, sensor_7, 3.7069) set_state_with_entry(hass, sensor_7, 3.7069)
data["sensor_7"] = sensor_7 data["sensor_7"] = sensor_7

View File

@@ -29,15 +29,15 @@ UNITS_OF_MEASUREMENT = {
SensorDeviceClass.HUMIDITY: PERCENTAGE, # % of humidity in the air SensorDeviceClass.HUMIDITY: PERCENTAGE, # % of humidity in the air
SensorDeviceClass.ILLUMINANCE: LIGHT_LUX, # current light level lx SensorDeviceClass.ILLUMINANCE: LIGHT_LUX, # current light level lx
SensorDeviceClass.MOISTURE: PERCENTAGE, # % of water in a substance SensorDeviceClass.MOISTURE: PERCENTAGE, # % of water in a substance
SensorDeviceClass.NITROGEN_DIOXIDE: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, # µg/m³ of nitrogen dioxide SensorDeviceClass.NITROGEN_DIOXIDE: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, # μg/m³ of nitrogen dioxide
SensorDeviceClass.NITROGEN_MONOXIDE: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, # µg/m³ of nitrogen monoxide SensorDeviceClass.NITROGEN_MONOXIDE: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, # μg/m³ of nitrogen monoxide
SensorDeviceClass.NITROUS_OXIDE: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, # µg/m³ of nitrogen oxide SensorDeviceClass.NITROUS_OXIDE: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, # μg/m³ of nitrogen oxide
SensorDeviceClass.OZONE: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, # µg/m³ of ozone SensorDeviceClass.OZONE: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, # μg/m³ of ozone
SensorDeviceClass.PM1: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, # µg/m³ of PM1 SensorDeviceClass.PM1: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, # μg/m³ of PM1
SensorDeviceClass.PM10: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, # µg/m³ of PM10 SensorDeviceClass.PM10: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, # μg/m³ of PM10
SensorDeviceClass.PM25: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, # µg/m³ of PM2.5 SensorDeviceClass.PM25: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, # μg/m³ of PM2.5
SensorDeviceClass.SIGNAL_STRENGTH: SIGNAL_STRENGTH_DECIBELS, # signal strength (dB/dBm) SensorDeviceClass.SIGNAL_STRENGTH: SIGNAL_STRENGTH_DECIBELS, # signal strength (dB/dBm)
SensorDeviceClass.SULPHUR_DIOXIDE: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, # µg/m³ of sulphur dioxide SensorDeviceClass.SULPHUR_DIOXIDE: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, # μg/m³ of sulphur dioxide
SensorDeviceClass.TEMPERATURE: "C", # temperature (C/F) SensorDeviceClass.TEMPERATURE: "C", # temperature (C/F)
SensorDeviceClass.PRESSURE: UnitOfPressure.HPA, # pressure (hPa/mbar) SensorDeviceClass.PRESSURE: UnitOfPressure.HPA, # pressure (hPa/mbar)
SensorDeviceClass.POWER: "kW", # power (W/kW) SensorDeviceClass.POWER: "kW", # power (W/kW)
@@ -47,7 +47,7 @@ UNITS_OF_MEASUREMENT = {
SensorDeviceClass.POWER_FACTOR: PERCENTAGE, # power factor (no unit, min: -1.0, max: 1.0) SensorDeviceClass.POWER_FACTOR: PERCENTAGE, # power factor (no unit, min: -1.0, max: 1.0)
SensorDeviceClass.REACTIVE_ENERGY: UnitOfReactiveEnergy.VOLT_AMPERE_REACTIVE_HOUR, # reactive energy (varh) SensorDeviceClass.REACTIVE_ENERGY: UnitOfReactiveEnergy.VOLT_AMPERE_REACTIVE_HOUR, # reactive energy (varh)
SensorDeviceClass.REACTIVE_POWER: UnitOfReactivePower.VOLT_AMPERE_REACTIVE, # reactive power (var) SensorDeviceClass.REACTIVE_POWER: UnitOfReactivePower.VOLT_AMPERE_REACTIVE, # reactive power (var)
SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, # µg/m³ of vocs SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS: CONCENTRATION_MICROGRAMS_PER_CUBIC_METER, # μg/m³ of vocs
SensorDeviceClass.VOLTAGE: "V", # voltage (V) SensorDeviceClass.VOLTAGE: "V", # voltage (V)
SensorDeviceClass.GAS: UnitOfVolume.CUBIC_METERS, # gas (m³) SensorDeviceClass.GAS: UnitOfVolume.CUBIC_METERS, # gas (m³)
} }

View File

@@ -951,7 +951,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': 'a3a970ea-e09c-9c04-161b-94c934e21666_main_veryFineDustSensor_veryFineDustLevel_veryFineDustLevel', 'unique_id': 'a3a970ea-e09c-9c04-161b-94c934e21666_main_veryFineDustSensor_veryFineDustLevel_veryFineDustLevel',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_pm1-state] # name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_pm1-state]
@@ -960,7 +960,7 @@
'device_class': 'pm1', 'device_class': 'pm1',
'friendly_name': '에어모니터 플러스 PM1', 'friendly_name': '에어모니터 플러스 PM1',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.eeomoniteo_peulreoseu_pm1', 'entity_id': 'sensor.eeomoniteo_peulreoseu_pm1',
@@ -1004,7 +1004,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': 'a3a970ea-e09c-9c04-161b-94c934e21666_main_dustSensor_dustLevel_dustLevel', 'unique_id': 'a3a970ea-e09c-9c04-161b-94c934e21666_main_dustSensor_dustLevel_dustLevel',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_pm10-state] # name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_pm10-state]
@@ -1013,7 +1013,7 @@
'device_class': 'pm10', 'device_class': 'pm10',
'friendly_name': '에어모니터 플러스 PM10', 'friendly_name': '에어모니터 플러스 PM10',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.eeomoniteo_peulreoseu_pm10', 'entity_id': 'sensor.eeomoniteo_peulreoseu_pm10',
@@ -1057,7 +1057,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': 'a3a970ea-e09c-9c04-161b-94c934e21666_main_dustSensor_fineDustLevel_fineDustLevel', 'unique_id': 'a3a970ea-e09c-9c04-161b-94c934e21666_main_dustSensor_fineDustLevel_fineDustLevel',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_pm2_5-state] # name: test_all_entities[da_ac_airsensor_01001][sensor.eeomoniteo_peulreoseu_pm2_5-state]
@@ -1066,7 +1066,7 @@
'device_class': 'pm25', 'device_class': 'pm25',
'friendly_name': '에어모니터 플러스 PM2.5', 'friendly_name': '에어모니터 플러스 PM2.5',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.eeomoniteo_peulreoseu_pm2_5', 'entity_id': 'sensor.eeomoniteo_peulreoseu_pm2_5',
@@ -2820,7 +2820,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': 'F8042E25-0E53-0000-0000-000000000000_main_dustSensor_dustLevel_dustLevel', 'unique_id': 'F8042E25-0E53-0000-0000-000000000000_main_dustSensor_dustLevel_dustLevel',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_all_entities[da_ac_rac_100001][sensor.corridor_a_c_pm10-state] # name: test_all_entities[da_ac_rac_100001][sensor.corridor_a_c_pm10-state]
@@ -2829,7 +2829,7 @@
'device_class': 'pm10', 'device_class': 'pm10',
'friendly_name': 'Corridor A/C PM10', 'friendly_name': 'Corridor A/C PM10',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.corridor_a_c_pm10', 'entity_id': 'sensor.corridor_a_c_pm10',
@@ -2873,7 +2873,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': 'F8042E25-0E53-0000-0000-000000000000_main_dustSensor_fineDustLevel_fineDustLevel', 'unique_id': 'F8042E25-0E53-0000-0000-000000000000_main_dustSensor_fineDustLevel_fineDustLevel',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}) })
# --- # ---
# name: test_all_entities[da_ac_rac_100001][sensor.corridor_a_c_pm2_5-state] # name: test_all_entities[da_ac_rac_100001][sensor.corridor_a_c_pm2_5-state]
@@ -2882,7 +2882,7 @@
'device_class': 'pm25', 'device_class': 'pm25',
'friendly_name': 'Corridor A/C PM2.5', 'friendly_name': 'Corridor A/C PM2.5',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.corridor_a_c_pm2_5', 'entity_id': 'sensor.corridor_a_c_pm2_5',

View File

@@ -361,7 +361,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '400s-purifier-pm25', 'unique_id': '400s-purifier-pm25',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
]) ])
# --- # ---
@@ -399,7 +399,7 @@
'device_class': 'pm25', 'device_class': 'pm25',
'friendly_name': 'Air Purifier 400s PM2.5', 'friendly_name': 'Air Purifier 400s PM2.5',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.air_purifier_400s_pm2_5', 'entity_id': 'sensor.air_purifier_400s_pm2_5',
@@ -547,7 +547,7 @@
'supported_features': 0, 'supported_features': 0,
'translation_key': None, 'translation_key': None,
'unique_id': '600s-purifier-pm25', 'unique_id': '600s-purifier-pm25',
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
]) ])
# --- # ---
@@ -585,7 +585,7 @@
'device_class': 'pm25', 'device_class': 'pm25',
'friendly_name': 'Air Purifier 600s PM2.5', 'friendly_name': 'Air Purifier 600s PM2.5',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>, 'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'µg/m³', 'unit_of_measurement': 'μg/m³',
}), }),
'context': <ANY>, 'context': <ANY>,
'entity_id': 'sensor.air_purifier_600s_pm2_5', 'entity_id': 'sensor.air_purifier_600s_pm2_5',

View File

@@ -262,7 +262,7 @@ async def test_xiaomi_hhccjcy01(hass: HomeAssistant) -> None:
cond_sensor_attribtes = cond_sensor.attributes cond_sensor_attribtes = cond_sensor.attributes
assert cond_sensor.state == "599" assert cond_sensor.state == "599"
assert cond_sensor_attribtes[ATTR_FRIENDLY_NAME] == "Plant Sensor 3E7A Conductivity" assert cond_sensor_attribtes[ATTR_FRIENDLY_NAME] == "Plant Sensor 3E7A Conductivity"
assert cond_sensor_attribtes[ATTR_UNIT_OF_MEASUREMENT] == "µS/cm" assert cond_sensor_attribtes[ATTR_UNIT_OF_MEASUREMENT] == "μS/cm"
assert cond_sensor_attribtes[ATTR_STATE_CLASS] == "measurement" assert cond_sensor_attribtes[ATTR_STATE_CLASS] == "measurement"
moist_sensor = hass.states.get("sensor.plant_sensor_3e7a_moisture") moist_sensor = hass.states.get("sensor.plant_sensor_3e7a_moisture")
@@ -351,7 +351,7 @@ async def test_xiaomi_hhccjcy01_not_connectable(hass: HomeAssistant) -> None:
cond_sensor_attribtes = cond_sensor.attributes cond_sensor_attribtes = cond_sensor.attributes
assert cond_sensor.state == "599" assert cond_sensor.state == "599"
assert cond_sensor_attribtes[ATTR_FRIENDLY_NAME] == "Plant Sensor 3E7A Conductivity" assert cond_sensor_attribtes[ATTR_FRIENDLY_NAME] == "Plant Sensor 3E7A Conductivity"
assert cond_sensor_attribtes[ATTR_UNIT_OF_MEASUREMENT] == "µS/cm" assert cond_sensor_attribtes[ATTR_UNIT_OF_MEASUREMENT] == "μS/cm"
assert cond_sensor_attribtes[ATTR_STATE_CLASS] == "measurement" assert cond_sensor_attribtes[ATTR_STATE_CLASS] == "measurement"
moist_sensor = hass.states.get("sensor.plant_sensor_3e7a_moisture") moist_sensor = hass.states.get("sensor.plant_sensor_3e7a_moisture")
@@ -438,7 +438,7 @@ async def test_xiaomi_hhccjcy01_only_some_sources_connectable(
cond_sensor_attribtes = cond_sensor.attributes cond_sensor_attribtes = cond_sensor.attributes
assert cond_sensor.state == "599" assert cond_sensor.state == "599"
assert cond_sensor_attribtes[ATTR_FRIENDLY_NAME] == "Plant Sensor 3E7A Conductivity" assert cond_sensor_attribtes[ATTR_FRIENDLY_NAME] == "Plant Sensor 3E7A Conductivity"
assert cond_sensor_attribtes[ATTR_UNIT_OF_MEASUREMENT] == "µS/cm" assert cond_sensor_attribtes[ATTR_UNIT_OF_MEASUREMENT] == "μS/cm"
assert cond_sensor_attribtes[ATTR_STATE_CLASS] == "measurement" assert cond_sensor_attribtes[ATTR_STATE_CLASS] == "measurement"
moist_sensor = hass.states.get("sensor.plant_sensor_3e7a_moisture") moist_sensor = hass.states.get("sensor.plant_sensor_3e7a_moisture")
@@ -653,7 +653,7 @@ async def test_hhccjcy10_uuid(hass: HomeAssistant) -> None:
cond_sensor_attr = cond_sensor.attributes cond_sensor_attr = cond_sensor.attributes
assert cond_sensor.state == "91" assert cond_sensor.state == "91"
assert cond_sensor_attr[ATTR_FRIENDLY_NAME] == "Plant Sensor 5BFC Conductivity" assert cond_sensor_attr[ATTR_FRIENDLY_NAME] == "Plant Sensor 5BFC Conductivity"
assert cond_sensor_attr[ATTR_UNIT_OF_MEASUREMENT] == "µS/cm" assert cond_sensor_attr[ATTR_UNIT_OF_MEASUREMENT] == "μS/cm"
assert cond_sensor_attr[ATTR_STATE_CLASS] == "measurement" assert cond_sensor_attr[ATTR_STATE_CLASS] == "measurement"
moist_sensor = hass.states.get("sensor.plant_sensor_5bfc_moisture") moist_sensor = hass.states.get("sensor.plant_sensor_5bfc_moisture")

View File

@@ -118,7 +118,7 @@ def test_deprecated_unit_of_conductivity_alias() -> None:
"""Test UnitOfConductivity deprecation.""" """Test UnitOfConductivity deprecation."""
# Test the deprecated members are aliases # Test the deprecated members are aliases
assert set(const.UnitOfConductivity) == {"S/cm", "µS/cm", "mS/cm"} assert set(const.UnitOfConductivity) == {"S/cm", "μS/cm", "mS/cm"}
def test_deprecated_unit_of_conductivity_members( def test_deprecated_unit_of_conductivity_members(