diff --git a/homeassistant/components/climate/reproduce_state.py b/homeassistant/components/climate/reproduce_state.py index f7e63f475ea..0bbc6fce7ec 100644 --- a/homeassistant/components/climate/reproduce_state.py +++ b/homeassistant/components/climate/reproduce_state.py @@ -10,6 +10,7 @@ from homeassistant.core import Context, HomeAssistant, State from .const import ( ATTR_AUX_HEAT, + ATTR_FAN_MODE, ATTR_HUMIDITY, ATTR_HVAC_MODE, ATTR_PRESET_MODE, @@ -19,6 +20,7 @@ from .const import ( DOMAIN, HVAC_MODES, SERVICE_SET_AUX_HEAT, + SERVICE_SET_FAN_MODE, SERVICE_SET_HUMIDITY, SERVICE_SET_HVAC_MODE, SERVICE_SET_PRESET_MODE, @@ -70,6 +72,9 @@ async def _async_reproduce_states( if ATTR_SWING_MODE in state.attributes: await call_service(SERVICE_SET_SWING_MODE, [ATTR_SWING_MODE]) + if ATTR_FAN_MODE in state.attributes: + await call_service(SERVICE_SET_FAN_MODE, [ATTR_FAN_MODE]) + if ATTR_HUMIDITY in state.attributes: await call_service(SERVICE_SET_HUMIDITY, [ATTR_HUMIDITY]) diff --git a/tests/components/climate/test_reproduce_state.py b/tests/components/climate/test_reproduce_state.py index af1b14299ae..a6839043e62 100644 --- a/tests/components/climate/test_reproduce_state.py +++ b/tests/components/climate/test_reproduce_state.py @@ -4,6 +4,7 @@ import pytest from homeassistant.components.climate.const import ( ATTR_AUX_HEAT, + ATTR_FAN_MODE, ATTR_HUMIDITY, ATTR_PRESET_MODE, ATTR_SWING_MODE, @@ -14,6 +15,7 @@ from homeassistant.components.climate.const import ( HVAC_MODE_HEAT, HVAC_MODE_OFF, SERVICE_SET_AUX_HEAT, + SERVICE_SET_FAN_MODE, SERVICE_SET_HUMIDITY, SERVICE_SET_HVAC_MODE, SERVICE_SET_PRESET_MODE, @@ -99,6 +101,7 @@ async def test_state_with_context(hass): (SERVICE_SET_AUX_HEAT, ATTR_AUX_HEAT), (SERVICE_SET_PRESET_MODE, ATTR_PRESET_MODE), (SERVICE_SET_SWING_MODE, ATTR_SWING_MODE), + (SERVICE_SET_FAN_MODE, ATTR_FAN_MODE), (SERVICE_SET_HUMIDITY, ATTR_HUMIDITY), (SERVICE_SET_TEMPERATURE, ATTR_TEMPERATURE), (SERVICE_SET_TEMPERATURE, ATTR_TARGET_TEMP_HIGH),