Add support for HomeKit CO2 sensors (#25603)

This commit is contained in:
tleegaard 2019-08-01 12:24:46 +02:00 committed by Jc2k
parent b97bef3ac8
commit 61c6838fa2
3 changed files with 95 additions and 39 deletions

View file

@ -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"