From 6023980c2ee141ef1a4381bbc5b90a3ec35a3fed Mon Sep 17 00:00:00 2001 From: Jan Bouwhuis Date: Tue, 30 Jan 2024 19:35:46 +0100 Subject: [PATCH] Set TURN_ON and TURN_OFF feature on MQTT climate entities (#109146) --- homeassistant/components/mqtt/climate.py | 2 +- tests/components/mqtt/test_climate.py | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/mqtt/climate.py b/homeassistant/components/mqtt/climate.py index c3e3448da0a..3df9db0d5d0 100644 --- a/homeassistant/components/mqtt/climate.py +++ b/homeassistant/components/mqtt/climate.py @@ -703,7 +703,7 @@ class MqttClimate(MqttTemperatureControlEntity, ClimateEntity): config.get(key), entity=self ).async_render - support = ClimateEntityFeature(0) + support = ClimateEntityFeature.TURN_ON | ClimateEntityFeature.TURN_OFF if (self._topic[CONF_TEMP_STATE_TOPIC] is not None) or ( self._topic[CONF_TEMP_COMMAND_TOPIC] is not None ): diff --git a/tests/components/mqtt/test_climate.py b/tests/components/mqtt/test_climate.py index b1c6cf5ddd8..6fcb219f6b6 100644 --- a/tests/components/mqtt/test_climate.py +++ b/tests/components/mqtt/test_climate.py @@ -121,6 +121,17 @@ async def test_setup_params( assert state.attributes.get("max_temp") == DEFAULT_MAX_TEMP assert state.attributes.get("min_humidity") == DEFAULT_MIN_HUMIDITY assert state.attributes.get("max_humidity") == DEFAULT_MAX_HUMIDITY + assert ( + state.attributes.get("supported_features") + == ClimateEntityFeature.TARGET_TEMPERATURE + | ClimateEntityFeature.TARGET_TEMPERATURE_RANGE + | ClimateEntityFeature.TARGET_HUMIDITY + | ClimateEntityFeature.FAN_MODE + | ClimateEntityFeature.PRESET_MODE + | ClimateEntityFeature.SWING_MODE + | ClimateEntityFeature.TURN_OFF + | ClimateEntityFeature.TURN_ON + ) @pytest.mark.parametrize(