Toon fixes for Climate 1.0 (#25027)

This commit is contained in:
Franck Nijhof 2019-07-09 08:44:30 +02:00 committed by Pascal Vizeli
parent a31e49c857
commit 3016d3a186

View File

@ -2,7 +2,7 @@
from datetime import timedelta from datetime import timedelta
import logging import logging
from typing import Any, Dict, List from typing import Any, Dict, List, Optional
from homeassistant.components.climate import ClimateDevice from homeassistant.components.climate import ClimateDevice
from homeassistant.components.climate.const import ( from homeassistant.components.climate.const import (
@ -78,9 +78,11 @@ class ToonThermostatDevice(ToonDisplayDeviceEntity, ClimateDevice):
return TEMP_CELSIUS return TEMP_CELSIUS
@property @property
def preset_mode(self) -> str: def preset_mode(self) -> Optional[str]:
"""Return the current preset mode, e.g., home, away, temp.""" """Return the current preset mode, e.g., home, away, temp."""
if self._state is not None:
return self._state.lower() return self._state.lower()
return None
@property @property
def preset_modes(self) -> List[str]: def preset_modes(self) -> List[str]:
@ -88,12 +90,12 @@ class ToonThermostatDevice(ToonDisplayDeviceEntity, ClimateDevice):
return SUPPORT_PRESET return SUPPORT_PRESET
@property @property
def current_temperature(self) -> float: def current_temperature(self) -> Optional[float]:
"""Return the current temperature.""" """Return the current temperature."""
return self._current_temperature return self._current_temperature
@property @property
def target_temperature(self) -> float: def target_temperature(self) -> Optional[float]:
"""Return the temperature we try to reach.""" """Return the temperature we try to reach."""
return self._target_temperature return self._target_temperature
@ -121,6 +123,7 @@ class ToonThermostatDevice(ToonDisplayDeviceEntity, ClimateDevice):
def set_preset_mode(self, preset_mode: str) -> None: def set_preset_mode(self, preset_mode: str) -> None:
"""Set new preset mode.""" """Set new preset mode."""
if preset_mode is not None:
self.toon.thermostat_state = preset_mode self.toon.thermostat_state = preset_mode
def set_hvac_mode(self, hvac_mode: str) -> None: def set_hvac_mode(self, hvac_mode: str) -> None: