Add support for HomeKit CO2 sensors (#25603)
This commit is contained in:
parent
b97bef3ac8
commit
61c6838fa2
3 changed files with 95 additions and 39 deletions
|
@ -4,6 +4,7 @@ from tests.components.homekit_controller.common import FakeService, setup_test_c
|
|||
TEMPERATURE = ("temperature", "temperature.current")
|
||||
HUMIDITY = ("humidity", "relative-humidity.current")
|
||||
LIGHT_LEVEL = ("light", "light-level.current")
|
||||
CARBON_DIOXIDE_LEVEL = ("carbon-dioxide", "carbon-dioxide.level")
|
||||
|
||||
|
||||
def create_temperature_sensor_service():
|
||||
|
@ -36,6 +37,16 @@ def create_light_level_sensor_service():
|
|||
return service
|
||||
|
||||
|
||||
def create_carbon_dioxide_level_sensor_service():
|
||||
"""Define carbon dioxide level characteristics."""
|
||||
service = FakeService("public.hap.service.sensor.carbon-dioxide")
|
||||
|
||||
cur_state = service.add_characteristic("carbon-dioxide.level")
|
||||
cur_state.value = 0
|
||||
|
||||
return service
|
||||
|
||||
|
||||
async def test_temperature_sensor_read_state(hass, utcnow):
|
||||
"""Test reading the state of a HomeKit temperature sensor accessory."""
|
||||
sensor = create_temperature_sensor_service()
|
||||
|
@ -76,3 +87,17 @@ async def test_light_level_sensor_read_state(hass, utcnow):
|
|||
helper.characteristics[LIGHT_LEVEL].value = 20
|
||||
state = await helper.poll_and_get_state()
|
||||
assert state.state == "20"
|
||||
|
||||
|
||||
async def test_carbon_dioxide_level_sensor_read_state(hass, utcnow):
|
||||
"""Test reading the state of a HomeKit carbon dioxide sensor accessory."""
|
||||
sensor = create_carbon_dioxide_level_sensor_service()
|
||||
helper = await setup_test_component(hass, [sensor], suffix="co2")
|
||||
|
||||
helper.characteristics[CARBON_DIOXIDE_LEVEL].value = 10
|
||||
state = await helper.poll_and_get_state()
|
||||
assert state.state == "10"
|
||||
|
||||
helper.characteristics[CARBON_DIOXIDE_LEVEL].value = 20
|
||||
state = await helper.poll_and_get_state()
|
||||
assert state.state == "20"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue