Extend Matter sensor discovery schemas for Air Purifier / Air Quality devices (#118483)

Co-authored-by: Franck Nijhof <git@frenck.dev>
This commit is contained in:
Marcel van der Veldt 2024-05-30 16:59:45 +02:00 committed by GitHub
parent 56e4fa86b0
commit a95c074ab8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 170 additions and 0 deletions

View file

@ -391,3 +391,62 @@ async def test_air_purifier_sensor(
assert state.attributes["unit_of_measurement"] == "ppm"
assert state.attributes["device_class"] == "volatile_organic_compounds_parts"
assert state.attributes["friendly_name"] == "Air Purifier VOCs"
# Air Quality
state = hass.states.get("sensor.air_purifier_air_quality")
assert state
assert state.state == "good"
expected_options = [
"extremely_poor",
"very_poor",
"poor",
"fair",
"good",
"moderate",
"unknown",
]
assert set(state.attributes["options"]) == set(expected_options)
assert state.attributes["device_class"] == "enum"
assert state.attributes["friendly_name"] == "Air Purifier Air quality"
# Carbon MonoOxide
state = hass.states.get("sensor.air_purifier_carbon_monoxide")
assert state
assert state.state == "2.0"
assert state.attributes["state_class"] == "measurement"
assert state.attributes["unit_of_measurement"] == "ppm"
assert state.attributes["device_class"] == "carbon_monoxide"
assert state.attributes["friendly_name"] == "Air Purifier Carbon monoxide"
# Nitrogen Dioxide
state = hass.states.get("sensor.air_purifier_nitrogen_dioxide")
assert state
assert state.state == "2.0"
assert state.attributes["state_class"] == "measurement"
assert state.attributes["unit_of_measurement"] == "ppm"
assert state.attributes["device_class"] == "nitrogen_dioxide"
assert state.attributes["friendly_name"] == "Air Purifier Nitrogen dioxide"
# Ozone Concentration
state = hass.states.get("sensor.air_purifier_ozone")
assert state
assert state.state == "2.0"
assert state.attributes["state_class"] == "measurement"
assert state.attributes["unit_of_measurement"] == "ppm"
assert state.attributes["device_class"] == "ozone"
assert state.attributes["friendly_name"] == "Air Purifier Ozone"
# Hepa Filter Condition
state = hass.states.get("sensor.air_purifier_hepa_filter_condition")
assert state
assert state.state == "100"
assert state.attributes["state_class"] == "measurement"
assert state.attributes["unit_of_measurement"] == "%"
assert state.attributes["friendly_name"] == "Air Purifier Hepa filter condition"
# Activated Carbon Filter Condition
state = hass.states.get("sensor.air_purifier_activated_carbon_filter_condition")
assert state
assert state.state == "100"
assert state.attributes["state_class"] == "measurement"
assert state.attributes["unit_of_measurement"] == "%"