Improve fans in homekit_controller (#74440)

This commit is contained in:
J. Nick Koston
2022-07-05 09:25:30 -05:00
committed by GitHub
parent 809f101f55
commit f6cb2833ca
9 changed files with 205 additions and 198 deletions

View File

@@ -10,6 +10,7 @@ from aiohomekit.model.services import ServicesTypes
from homeassistant.components.climate.const import (
DOMAIN,
SERVICE_SET_FAN_MODE,
SERVICE_SET_HUMIDITY,
SERVICE_SET_HVAC_MODE,
SERVICE_SET_SWING_MODE,
@@ -32,6 +33,9 @@ def create_thermostat_service(accessory):
char = service.add_char(CharacteristicsTypes.HEATING_COOLING_CURRENT)
char.value = 0
char = service.add_char(CharacteristicsTypes.FAN_STATE_TARGET)
char.value = 0
char = service.add_char(CharacteristicsTypes.TEMPERATURE_COOLING_THRESHOLD)
char.minValue = 15
char.maxValue = 40
@@ -144,6 +148,32 @@ async def test_climate_change_thermostat_state(hass, utcnow):
},
)
await hass.services.async_call(
DOMAIN,
SERVICE_SET_FAN_MODE,
{"entity_id": "climate.testdevice", "fan_mode": "on"},
blocking=True,
)
helper.async_assert_service_values(
ServicesTypes.THERMOSTAT,
{
CharacteristicsTypes.FAN_STATE_TARGET: 0,
},
)
await hass.services.async_call(
DOMAIN,
SERVICE_SET_FAN_MODE,
{"entity_id": "climate.testdevice", "fan_mode": "auto"},
blocking=True,
)
helper.async_assert_service_values(
ServicesTypes.THERMOSTAT,
{
CharacteristicsTypes.FAN_STATE_TARGET: 1,
},
)
async def test_climate_check_min_max_values_per_mode(hass, utcnow):
"""Test that we we get the appropriate min/max values for each mode."""