Add entity name translations to NAM (#90681)

This commit is contained in:
Maciej Bieniek 2023-04-03 12:37:01 +02:00 committed by GitHub
parent 37556a57af
commit 34041c7564
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 215 additions and 70 deletions

View file

@ -23,7 +23,7 @@ _LOGGER = logging.getLogger(__name__)
RESTART_BUTTON: ButtonEntityDescription = ButtonEntityDescription(
key="restart",
name="Restart",
translation_key="restart",
device_class=ButtonDeviceClass.RESTART,
entity_category=EntityCategory.CONFIG,
)

View file

@ -89,7 +89,7 @@ class NAMSensorEntityDescription(SensorEntityDescription, NAMSensorRequiredKeysM
SENSORS: tuple[NAMSensorEntityDescription, ...] = (
NAMSensorEntityDescription(
key=ATTR_BME280_HUMIDITY,
name="BME280 humidity",
translation_key="bme280_humidity",
suggested_display_precision=1,
native_unit_of_measurement=PERCENTAGE,
device_class=SensorDeviceClass.HUMIDITY,
@ -98,7 +98,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_BME280_PRESSURE,
name="BME280 pressure",
translation_key="bme280_pressure",
suggested_display_precision=0,
native_unit_of_measurement=UnitOfPressure.HPA,
device_class=SensorDeviceClass.PRESSURE,
@ -107,7 +107,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_BME280_TEMPERATURE,
name="BME280 temperature",
translation_key="bme280_temperature",
suggested_display_precision=1,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
device_class=SensorDeviceClass.TEMPERATURE,
@ -116,7 +116,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_BMP180_PRESSURE,
name="BMP180 pressure",
translation_key="bmp180_pressure",
suggested_display_precision=0,
native_unit_of_measurement=UnitOfPressure.HPA,
device_class=SensorDeviceClass.PRESSURE,
@ -125,7 +125,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_BMP180_TEMPERATURE,
name="BMP180 temperature",
translation_key="bmp180_temperature",
suggested_display_precision=1,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
device_class=SensorDeviceClass.TEMPERATURE,
@ -134,7 +134,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_BMP280_PRESSURE,
name="BMP280 pressure",
translation_key="bmp280_pressure",
suggested_display_precision=0,
native_unit_of_measurement=UnitOfPressure.HPA,
device_class=SensorDeviceClass.PRESSURE,
@ -143,7 +143,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_BMP280_TEMPERATURE,
name="BMP280 temperature",
translation_key="bmp280_temperature",
suggested_display_precision=1,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
device_class=SensorDeviceClass.TEMPERATURE,
@ -152,7 +152,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_HECA_HUMIDITY,
name="HECA humidity",
translation_key="heca_humidity",
suggested_display_precision=1,
native_unit_of_measurement=PERCENTAGE,
device_class=SensorDeviceClass.HUMIDITY,
@ -161,7 +161,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_HECA_TEMPERATURE,
name="HECA temperature",
translation_key="heca_temperature",
suggested_display_precision=1,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
device_class=SensorDeviceClass.TEMPERATURE,
@ -170,7 +170,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_MHZ14A_CARBON_DIOXIDE,
name="MH-Z14A carbon dioxide",
translation_key="mhz14a_carbon_dioxide",
suggested_display_precision=0,
native_unit_of_measurement=CONCENTRATION_PARTS_PER_MILLION,
device_class=SensorDeviceClass.CO2,
@ -179,22 +179,21 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_PMSX003_CAQI,
name="PMSx003 CAQI",
translation_key="pmsx003_caqi",
icon="mdi:air-filter",
value=lambda sensors: sensors.pms_caqi,
),
NAMSensorEntityDescription(
key=ATTR_PMSX003_CAQI_LEVEL,
name="PMSx003 CAQI level",
translation_key="pmsx003_caqi_level",
icon="mdi:air-filter",
device_class=SensorDeviceClass.ENUM,
options=["very_low", "low", "medium", "high", "very_high"],
translation_key="caqi_level",
value=lambda sensors: sensors.pms_caqi_level,
),
NAMSensorEntityDescription(
key=ATTR_PMSX003_P0,
name="PMSx003 particulate matter 1.0",
translation_key="pmsx003_pm1",
suggested_display_precision=0,
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
device_class=SensorDeviceClass.PM1,
@ -203,7 +202,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_PMSX003_P1,
name="PMSx003 particulate matter 10",
translation_key="pmsx003_pm10",
suggested_display_precision=0,
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
device_class=SensorDeviceClass.PM10,
@ -212,7 +211,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_PMSX003_P2,
name="PMSx003 particulate matter 2.5",
translation_key="pmsx003_pm25",
suggested_display_precision=0,
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
device_class=SensorDeviceClass.PM25,
@ -221,22 +220,21 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_SDS011_CAQI,
name="SDS011 CAQI",
translation_key="sds011_caqi",
icon="mdi:air-filter",
value=lambda sensors: sensors.sds011_caqi,
),
NAMSensorEntityDescription(
key=ATTR_SDS011_CAQI_LEVEL,
name="SDS011 CAQI level",
translation_key="sds011_caqi_level",
icon="mdi:air-filter",
device_class=SensorDeviceClass.ENUM,
options=["very_low", "low", "medium", "high", "very_high"],
translation_key="caqi_level",
value=lambda sensors: sensors.sds011_caqi_level,
),
NAMSensorEntityDescription(
key=ATTR_SDS011_P1,
name="SDS011 particulate matter 10",
translation_key="sds011_pm10",
suggested_display_precision=0,
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
device_class=SensorDeviceClass.PM10,
@ -245,7 +243,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_SDS011_P2,
name="SDS011 particulate matter 2.5",
translation_key="sds011_pm25",
suggested_display_precision=0,
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
device_class=SensorDeviceClass.PM25,
@ -254,7 +252,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_SHT3X_HUMIDITY,
name="SHT3X humidity",
translation_key="sht3x_humidity",
suggested_display_precision=1,
native_unit_of_measurement=PERCENTAGE,
device_class=SensorDeviceClass.HUMIDITY,
@ -263,7 +261,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_SHT3X_TEMPERATURE,
name="SHT3X temperature",
translation_key="sht3x_temperature",
suggested_display_precision=1,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
device_class=SensorDeviceClass.TEMPERATURE,
@ -272,22 +270,21 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_SPS30_CAQI,
name="SPS30 CAQI",
translation_key="sps30_caqi",
icon="mdi:air-filter",
value=lambda sensors: sensors.sps30_caqi,
),
NAMSensorEntityDescription(
key=ATTR_SPS30_CAQI_LEVEL,
name="SPS30 CAQI level",
translation_key="sps30_caqi_level",
icon="mdi:air-filter",
device_class=SensorDeviceClass.ENUM,
options=["very_low", "low", "medium", "high", "very_high"],
translation_key="caqi_level",
value=lambda sensors: sensors.sps30_caqi_level,
),
NAMSensorEntityDescription(
key=ATTR_SPS30_P0,
name="SPS30 particulate matter 1.0",
translation_key="sps30_pm1",
suggested_display_precision=0,
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
device_class=SensorDeviceClass.PM1,
@ -296,7 +293,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_SPS30_P1,
name="SPS30 particulate matter 10",
translation_key="sps30_pm10",
suggested_display_precision=0,
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
device_class=SensorDeviceClass.PM10,
@ -305,7 +302,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_SPS30_P2,
name="SPS30 particulate matter 2.5",
translation_key="sps30_pm25",
suggested_display_precision=0,
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
device_class=SensorDeviceClass.PM25,
@ -314,7 +311,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_SPS30_P4,
name="SPS30 particulate matter 4.0",
translation_key="sps30_pm4",
suggested_display_precision=0,
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
icon="mdi:molecule",
@ -323,7 +320,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_DHT22_HUMIDITY,
name="DHT22 humidity",
translation_key="dht22_humidity",
suggested_display_precision=1,
native_unit_of_measurement=PERCENTAGE,
device_class=SensorDeviceClass.HUMIDITY,
@ -332,7 +329,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_DHT22_TEMPERATURE,
name="DHT22 temperature",
translation_key="dht22_temperature",
suggested_display_precision=1,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
device_class=SensorDeviceClass.TEMPERATURE,
@ -341,7 +338,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_SIGNAL_STRENGTH,
name="Signal strength",
translation_key="signal_strength",
suggested_display_precision=0,
native_unit_of_measurement=SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
device_class=SensorDeviceClass.SIGNAL_STRENGTH,
@ -352,7 +349,7 @@ SENSORS: tuple[NAMSensorEntityDescription, ...] = (
),
NAMSensorEntityDescription(
key=ATTR_UPTIME,
name="Uptime",
translation_key="last_restart",
device_class=SensorDeviceClass.TIMESTAMP,
entity_registry_enabled_default=False,
entity_category=EntityCategory.DIAGNOSTIC,

View file

@ -39,8 +39,47 @@
}
},
"entity": {
"button": {
"restart": {
"name": "[%key:component::button::entity_component::restart::name%]"
}
},
"sensor": {
"caqi_level": {
"bme280_humidity": {
"name": "BME280 humidity"
},
"bme280_pressure": {
"name": "BME280 pressure"
},
"bme280_temperature": {
"name": "BME280 temperature"
},
"bmp180_pressure": {
"name": "BMP180 pressure"
},
"bmp180_temperature": {
"name": "BMP180 temperature"
},
"bmp280_pressure": {
"name": "BMP280 pressure"
},
"bmp280_temperature": {
"name": "BMP280 temperature"
},
"heca_humidity": {
"name": "HECA humidity"
},
"heca_temperature": {
"name": "HECA temperature"
},
"mhz14a_carbon_dioxide": {
"name": "MH-Z14A carbon dioxide"
},
"pmsx003_caqi": {
"name": "PMSx003 common air quality index"
},
"pmsx003_caqi_level": {
"name": "PMSx003 common air quality index level",
"state": {
"very_low": "Very low",
"low": "Low",
@ -48,6 +87,77 @@
"high": "High",
"very_high": "Very high"
}
},
"pmsx003_pm1": {
"name": "PMSx003 particulate matter 1 μm"
},
"pmsx003_pm10": {
"name": "PMSx003 particulate matter 10 μm"
},
"pmsx003_pm25": {
"name": "PMSx003 particulate matter 2.5 μm"
},
"sds011_caqi": {
"name": "SDS011 common air quality index"
},
"sds011_caqi_level": {
"name": "SDS011 common air quality index level",
"state": {
"very_low": "[%key:component::nam::entity::sensor::pmsx003_caqi_level::state::very_low%]",
"low": "[%key:component::nam::entity::sensor::pmsx003_caqi_level::state::low%]",
"medium": "[%key:component::nam::entity::sensor::pmsx003_caqi_level::state::medium%]",
"high": "[%key:component::nam::entity::sensor::pmsx003_caqi_level::state::high%]",
"very_high": "[%key:component::nam::entity::sensor::pmsx003_caqi_level::state::very_high%]"
}
},
"sds011_pm10": {
"name": "SDS011 particulate matter 10 μm"
},
"sds011_pm25": {
"name": "SDS011 particulate matter 2.5 μm"
},
"sht3x_humidity": {
"name": "SHT3X humidity"
},
"sht3x_temperature": {
"name": "SHT3X temperature"
},
"sps30_caqi": {
"name": "SPS30 common air quality index"
},
"sps30_caqi_level": {
"name": "SPS30 common air quality index level",
"state": {
"very_low": "[%key:component::nam::entity::sensor::pmsx003_caqi_level::state::very_low%]",
"low": "[%key:component::nam::entity::sensor::pmsx003_caqi_level::state::low%]",
"medium": "[%key:component::nam::entity::sensor::pmsx003_caqi_level::state::medium%]",
"high": "[%key:component::nam::entity::sensor::pmsx003_caqi_level::state::high%]",
"very_high": "[%key:component::nam::entity::sensor::pmsx003_caqi_level::state::very_high%]"
}
},
"sps30_pm1": {
"name": "SPS30 particulate matter 1 μm"
},
"sps30_pm10": {
"name": "SPS30 particulate matter 10 μm"
},
"sps30_pm25": {
"name": "SPS30 particulate matter 2.5 μm"
},
"sps30_pm4": {
"name": "SPS30 Particulate matter 4 μm"
},
"dht22_humidity": {
"name": "DHT22 humidity"
},
"dht22_temperature": {
"name": "DHT22 temperature"
},
"signal_strength": {
"name": "[%key:component::sensor::entity_component::signal_strength::name%]"
},
"last_restart": {
"name": "Last restart"
}
}
}

View file

@ -19,7 +19,9 @@ async def test_async_setup_entry(hass: HomeAssistant) -> None:
"""Test a successful setup entry."""
await init_integration(hass)
state = hass.states.get("sensor.nettigo_air_monitor_sds011_particulate_matter_2_5")
state = hass.states.get(
"sensor.nettigo_air_monitor_sds011_particulate_matter_2_5_mm"
)
assert state is not None
assert state.state != STATE_UNAVAILABLE
assert state.state == "11.0"

View file

@ -230,7 +230,9 @@ async def test_sensor(hass: HomeAssistant) -> None:
assert entry
assert entry.unique_id == "aa:bb:cc:dd:ee:ff-uptime"
state = hass.states.get("sensor.nettigo_air_monitor_pmsx003_caqi_level")
state = hass.states.get(
"sensor.nettigo_air_monitor_pmsx003_common_air_quality_index_level"
)
assert state
assert state.state == "very_low"
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.ENUM
@ -243,21 +245,29 @@ async def test_sensor(hass: HomeAssistant) -> None:
]
assert state.attributes.get(ATTR_ICON) == "mdi:air-filter"
entry = registry.async_get("sensor.nettigo_air_monitor_pmsx003_caqi_level")
entry = registry.async_get(
"sensor.nettigo_air_monitor_pmsx003_common_air_quality_index_level"
)
assert entry
assert entry.unique_id == "aa:bb:cc:dd:ee:ff-pms_caqi_level"
assert entry.translation_key == "caqi_level"
assert entry.translation_key == "pmsx003_caqi_level"
state = hass.states.get("sensor.nettigo_air_monitor_pmsx003_caqi")
state = hass.states.get(
"sensor.nettigo_air_monitor_pmsx003_common_air_quality_index"
)
assert state
assert state.state == "19"
assert state.attributes.get(ATTR_ICON) == "mdi:air-filter"
entry = registry.async_get("sensor.nettigo_air_monitor_pmsx003_caqi")
entry = registry.async_get(
"sensor.nettigo_air_monitor_pmsx003_common_air_quality_index"
)
assert entry
assert entry.unique_id == "aa:bb:cc:dd:ee:ff-pms_caqi"
state = hass.states.get("sensor.nettigo_air_monitor_pmsx003_particulate_matter_10")
state = hass.states.get(
"sensor.nettigo_air_monitor_pmsx003_particulate_matter_10_mm"
)
assert state
assert state.state == "10.0"
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.PM10
@ -268,12 +278,14 @@ async def test_sensor(hass: HomeAssistant) -> None:
)
entry = registry.async_get(
"sensor.nettigo_air_monitor_pmsx003_particulate_matter_10"
"sensor.nettigo_air_monitor_pmsx003_particulate_matter_10_mm"
)
assert entry
assert entry.unique_id == "aa:bb:cc:dd:ee:ff-pms_p1"
state = hass.states.get("sensor.nettigo_air_monitor_pmsx003_particulate_matter_2_5")
state = hass.states.get(
"sensor.nettigo_air_monitor_pmsx003_particulate_matter_2_5_mm"
)
assert state
assert state.state == "11.0"
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.PM25
@ -284,12 +296,14 @@ async def test_sensor(hass: HomeAssistant) -> None:
)
entry = registry.async_get(
"sensor.nettigo_air_monitor_pmsx003_particulate_matter_2_5"
"sensor.nettigo_air_monitor_pmsx003_particulate_matter_2_5_mm"
)
assert entry
assert entry.unique_id == "aa:bb:cc:dd:ee:ff-pms_p2"
state = hass.states.get("sensor.nettigo_air_monitor_pmsx003_particulate_matter_1_0")
state = hass.states.get(
"sensor.nettigo_air_monitor_pmsx003_particulate_matter_1_mm"
)
assert state
assert state.state == "6.0"
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.PM1
@ -300,12 +314,14 @@ async def test_sensor(hass: HomeAssistant) -> None:
)
entry = registry.async_get(
"sensor.nettigo_air_monitor_pmsx003_particulate_matter_1_0"
"sensor.nettigo_air_monitor_pmsx003_particulate_matter_1_mm"
)
assert entry
assert entry.unique_id == "aa:bb:cc:dd:ee:ff-pms_p0"
state = hass.states.get("sensor.nettigo_air_monitor_sds011_particulate_matter_10")
state = hass.states.get(
"sensor.nettigo_air_monitor_sds011_particulate_matter_10_mm"
)
assert state
assert state.state == "18.6"
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.PM10
@ -316,21 +332,27 @@ async def test_sensor(hass: HomeAssistant) -> None:
)
entry = registry.async_get(
"sensor.nettigo_air_monitor_sds011_particulate_matter_10"
"sensor.nettigo_air_monitor_sds011_particulate_matter_10_mm"
)
assert entry
assert entry.unique_id == "aa:bb:cc:dd:ee:ff-sds011_p1"
state = hass.states.get("sensor.nettigo_air_monitor_sds011_caqi")
state = hass.states.get(
"sensor.nettigo_air_monitor_sds011_common_air_quality_index"
)
assert state
assert state.state == "19"
assert state.attributes.get(ATTR_ICON) == "mdi:air-filter"
entry = registry.async_get("sensor.nettigo_air_monitor_sds011_caqi")
entry = registry.async_get(
"sensor.nettigo_air_monitor_sds011_common_air_quality_index"
)
assert entry
assert entry.unique_id == "aa:bb:cc:dd:ee:ff-sds011_caqi"
state = hass.states.get("sensor.nettigo_air_monitor_sds011_caqi_level")
state = hass.states.get(
"sensor.nettigo_air_monitor_sds011_common_air_quality_index_level"
)
assert state
assert state.state == "very_low"
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.ENUM
@ -343,12 +365,16 @@ async def test_sensor(hass: HomeAssistant) -> None:
]
assert state.attributes.get(ATTR_ICON) == "mdi:air-filter"
entry = registry.async_get("sensor.nettigo_air_monitor_sds011_caqi_level")
entry = registry.async_get(
"sensor.nettigo_air_monitor_sds011_common_air_quality_index_level"
)
assert entry
assert entry.unique_id == "aa:bb:cc:dd:ee:ff-sds011_caqi_level"
assert entry.translation_key == "caqi_level"
assert entry.translation_key == "sds011_caqi_level"
state = hass.states.get("sensor.nettigo_air_monitor_sds011_particulate_matter_2_5")
state = hass.states.get(
"sensor.nettigo_air_monitor_sds011_particulate_matter_2_5_mm"
)
assert state
assert state.state == "11.0"
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.PM25
@ -359,21 +385,25 @@ async def test_sensor(hass: HomeAssistant) -> None:
)
entry = registry.async_get(
"sensor.nettigo_air_monitor_sds011_particulate_matter_2_5"
"sensor.nettigo_air_monitor_sds011_particulate_matter_2_5_mm"
)
assert entry
assert entry.unique_id == "aa:bb:cc:dd:ee:ff-sds011_p2"
state = hass.states.get("sensor.nettigo_air_monitor_sps30_caqi")
state = hass.states.get("sensor.nettigo_air_monitor_sps30_common_air_quality_index")
assert state
assert state.state == "54"
assert state.attributes.get(ATTR_ICON) == "mdi:air-filter"
entry = registry.async_get("sensor.nettigo_air_monitor_sps30_caqi")
entry = registry.async_get(
"sensor.nettigo_air_monitor_sps30_common_air_quality_index"
)
assert entry
assert entry.unique_id == "aa:bb:cc:dd:ee:ff-sps30_caqi"
state = hass.states.get("sensor.nettigo_air_monitor_sps30_caqi_level")
state = hass.states.get(
"sensor.nettigo_air_monitor_sps30_common_air_quality_index_level"
)
assert state
assert state.state == "medium"
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.ENUM
@ -386,12 +416,14 @@ async def test_sensor(hass: HomeAssistant) -> None:
]
assert state.attributes.get(ATTR_ICON) == "mdi:air-filter"
entry = registry.async_get("sensor.nettigo_air_monitor_sps30_caqi_level")
entry = registry.async_get(
"sensor.nettigo_air_monitor_sps30_common_air_quality_index_level"
)
assert entry
assert entry.unique_id == "aa:bb:cc:dd:ee:ff-sps30_caqi_level"
assert entry.translation_key == "caqi_level"
assert entry.translation_key == "sps30_caqi_level"
state = hass.states.get("sensor.nettigo_air_monitor_sps30_particulate_matter_1_0")
state = hass.states.get("sensor.nettigo_air_monitor_sps30_particulate_matter_1_mm")
assert state
assert state.state == "31.2"
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.PM1
@ -402,12 +434,12 @@ async def test_sensor(hass: HomeAssistant) -> None:
)
entry = registry.async_get(
"sensor.nettigo_air_monitor_sps30_particulate_matter_1_0"
"sensor.nettigo_air_monitor_sps30_particulate_matter_1_mm"
)
assert entry
assert entry.unique_id == "aa:bb:cc:dd:ee:ff-sps30_p0"
state = hass.states.get("sensor.nettigo_air_monitor_sps30_particulate_matter_10")
state = hass.states.get("sensor.nettigo_air_monitor_sps30_particulate_matter_10_mm")
assert state
assert state.state == "21.2"
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.PM10
@ -417,11 +449,15 @@ async def test_sensor(hass: HomeAssistant) -> None:
== CONCENTRATION_MICROGRAMS_PER_CUBIC_METER
)
entry = registry.async_get("sensor.nettigo_air_monitor_sps30_particulate_matter_10")
entry = registry.async_get(
"sensor.nettigo_air_monitor_sps30_particulate_matter_10_mm"
)
assert entry
assert entry.unique_id == "aa:bb:cc:dd:ee:ff-sps30_p1"
state = hass.states.get("sensor.nettigo_air_monitor_sps30_particulate_matter_2_5")
state = hass.states.get(
"sensor.nettigo_air_monitor_sps30_particulate_matter_2_5_mm"
)
assert state
assert state.state == "34.3"
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.PM25
@ -432,12 +468,12 @@ async def test_sensor(hass: HomeAssistant) -> None:
)
entry = registry.async_get(
"sensor.nettigo_air_monitor_sps30_particulate_matter_2_5"
"sensor.nettigo_air_monitor_sps30_particulate_matter_2_5_mm"
)
assert entry
assert entry.unique_id == "aa:bb:cc:dd:ee:ff-sps30_p2"
state = hass.states.get("sensor.nettigo_air_monitor_sps30_particulate_matter_4_0")
state = hass.states.get("sensor.nettigo_air_monitor_sps30_particulate_matter_4_mm")
assert state
assert state.state == "24.7"
assert state.attributes.get(ATTR_STATE_CLASS) is SensorStateClass.MEASUREMENT
@ -448,7 +484,7 @@ async def test_sensor(hass: HomeAssistant) -> None:
assert state.attributes.get(ATTR_ICON) == "mdi:molecule"
entry = registry.async_get(
"sensor.nettigo_air_monitor_sps30_particulate_matter_4_0"
"sensor.nettigo_air_monitor_sps30_particulate_matter_4_mm"
)
assert entry
assert entry.unique_id == "aa:bb:cc:dd:ee:ff-sps30_p4"