From a2237ce5d40676c6200fdb452aa7d1918f56e493 Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Tue, 9 Jul 2019 00:00:25 +0200 Subject: [PATCH] homematic add off support for climate (#25017) * homematic add off support for climate * fix lint --- homeassistant/components/homematic/climate.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/homematic/climate.py b/homeassistant/components/homematic/climate.py index f8fd11f1f2d..86bdac4f4e5 100644 --- a/homeassistant/components/homematic/climate.py +++ b/homeassistant/components/homematic/climate.py @@ -3,8 +3,9 @@ import logging from homeassistant.components.climate import ClimateDevice from homeassistant.components.climate.const import ( - SUPPORT_PRESET_MODE, SUPPORT_TARGET_TEMPERATURE, HVAC_MODE_AUTO, - HVAC_MODE_HEAT, PRESET_BOOST, PRESET_COMFORT, PRESET_ECO) + HVAC_MODE_AUTO, HVAC_MODE_HEAT, HVAC_MODE_OFF, PRESET_BOOST, + PRESET_COMFORT, PRESET_ECO, SUPPORT_PRESET_MODE, + SUPPORT_TARGET_TEMPERATURE) from homeassistant.const import ATTR_TEMPERATURE, TEMP_CELSIUS from . import ATTR_DISCOVER_DEVICES, HM_ATTRIBUTE_SUPPORT, HMDevice @@ -82,8 +83,8 @@ class HMThermostat(HMDevice, ClimateDevice): Need to be a subset of HVAC_MODES. """ if "AUTO_MODE" in self._hmdevice.ACTIONNODE: - return [HVAC_MODE_AUTO, HVAC_MODE_HEAT] - return [HVAC_MODE_HEAT] + return [HVAC_MODE_AUTO, HVAC_MODE_HEAT, HVAC_MODE_OFF] + return [HVAC_MODE_HEAT, HVAC_MODE_OFF] @property def preset_mode(self): @@ -140,8 +141,10 @@ class HMThermostat(HMDevice, ClimateDevice): """Set new target hvac mode.""" if hvac_mode == HVAC_MODE_AUTO: self._hmdevice.MODE = self._hmdevice.AUTO_MODE - else: + elif hvac_mode == HVAC_MODE_HEAT: self._hmdevice.MODE = self._hmdevice.MANU_MODE + elif hvac_mode == HVAC_MODE_OFF: + self._hmdevice.turnoff() def set_preset_mode(self, preset_mode: str) -> None: """Set new preset mode."""