Fix Vera climate component to use correct states (#17892)

Changed the Vera climate component so it uses the STATE_* states from the base climate component. This will allow it to work with Google Assistant.
This commit is contained in:
Adam Belebczuk 2018-10-28 03:35:57 -04:00 committed by Paulus Schoutsen
parent 9cd8a86eb4
commit cbadd64b28

View File

@ -8,9 +8,12 @@ import logging
from homeassistant.util import convert from homeassistant.util import convert
from homeassistant.components.climate import ( from homeassistant.components.climate import (
ClimateDevice, ENTITY_ID_FORMAT, SUPPORT_TARGET_TEMPERATURE, ClimateDevice, STATE_AUTO, STATE_COOL,
STATE_HEAT, ENTITY_ID_FORMAT, SUPPORT_TARGET_TEMPERATURE,
SUPPORT_OPERATION_MODE, SUPPORT_FAN_MODE) SUPPORT_OPERATION_MODE, SUPPORT_FAN_MODE)
from homeassistant.const import ( from homeassistant.const import (
STATE_ON,
STATE_OFF,
TEMP_FAHRENHEIT, TEMP_FAHRENHEIT,
TEMP_CELSIUS, TEMP_CELSIUS,
ATTR_TEMPERATURE) ATTR_TEMPERATURE)
@ -22,8 +25,8 @@ DEPENDENCIES = ['vera']
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
OPERATION_LIST = ['Heat', 'Cool', 'Auto Changeover', 'Off'] OPERATION_LIST = [STATE_HEAT, STATE_COOL, STATE_AUTO, STATE_OFF]
FAN_OPERATION_LIST = ['On', 'Auto', 'Cycle'] FAN_OPERATION_LIST = [STATE_ON, STATE_AUTO]
SUPPORT_FLAGS = (SUPPORT_TARGET_TEMPERATURE | SUPPORT_OPERATION_MODE | SUPPORT_FLAGS = (SUPPORT_TARGET_TEMPERATURE | SUPPORT_OPERATION_MODE |
SUPPORT_FAN_MODE) SUPPORT_FAN_MODE)
@ -54,13 +57,13 @@ class VeraThermostat(VeraDevice, ClimateDevice):
"""Return current operation ie. heat, cool, idle.""" """Return current operation ie. heat, cool, idle."""
mode = self.vera_device.get_hvac_mode() mode = self.vera_device.get_hvac_mode()
if mode == 'HeatOn': if mode == 'HeatOn':
return OPERATION_LIST[0] # heat return OPERATION_LIST[0] # Heat
if mode == 'CoolOn': if mode == 'CoolOn':
return OPERATION_LIST[1] # cool return OPERATION_LIST[1] # Cool
if mode == 'AutoChangeOver': if mode == 'AutoChangeOver':
return OPERATION_LIST[2] # auto return OPERATION_LIST[2] # Auto
if mode == 'Off': if mode == 'Off':
return OPERATION_LIST[3] # off return OPERATION_LIST[3] # Off
return 'Off' return 'Off'
@property @property
@ -76,8 +79,6 @@ class VeraThermostat(VeraDevice, ClimateDevice):
return FAN_OPERATION_LIST[0] # on return FAN_OPERATION_LIST[0] # on
if mode == "Auto": if mode == "Auto":
return FAN_OPERATION_LIST[1] # auto return FAN_OPERATION_LIST[1] # auto
if mode == "PeriodicOn":
return FAN_OPERATION_LIST[2] # cycle
return "Auto" return "Auto"
@property @property
@ -89,10 +90,8 @@ class VeraThermostat(VeraDevice, ClimateDevice):
"""Set new target temperature.""" """Set new target temperature."""
if fan_mode == FAN_OPERATION_LIST[0]: if fan_mode == FAN_OPERATION_LIST[0]:
self.vera_device.fan_on() self.vera_device.fan_on()
elif fan_mode == FAN_OPERATION_LIST[1]: else:
self.vera_device.fan_auto() self.vera_device.fan_auto()
elif fan_mode == FAN_OPERATION_LIST[2]:
return self.vera_device.fan_cycle()
@property @property
def current_power_w(self): def current_power_w(self):