Fix ecobee preset and add climate mode back (#25970)

* Fix ecobee preset and add climate mode back

* Fix test
This commit is contained in:
Paulus Schoutsen 2019-08-16 00:29:25 -07:00 committed by Daniel Høyer Iversen
parent 90d493a51a
commit 23f26712f0
2 changed files with 17 additions and 1 deletions

View File

@ -304,7 +304,7 @@ class Thermostat(ClimateDevice):
self.vacation = event["name"]
return PRESET_VACATION
return None
return self._preset_modes[self.thermostat["program"]["currentClimateRef"]]
@property
def hvac_mode(self):
@ -357,6 +357,9 @@ class Thermostat(ClimateDevice):
status = self.thermostat["equipmentStatus"]
return {
"fan": self.fan,
"climate_mode": self._preset_modes[
self.thermostat["program"]["currentClimateRef"]
],
"equipment_running": status,
"fan_min_on_time": self.thermostat["settings"]["fanMinOnTime"],
}

View File

@ -131,6 +131,7 @@ class TestEcobee(unittest.TestCase):
self.ecobee["equipmentStatus"] = "heatPump2"
assert {
"fan": "off",
"climate_mode": "Climate1",
"fan_min_on_time": 10,
"equipment_running": "heatPump2",
} == self.thermostat.device_state_attributes
@ -138,18 +139,21 @@ class TestEcobee(unittest.TestCase):
self.ecobee["equipmentStatus"] = "auxHeat2"
assert {
"fan": "off",
"climate_mode": "Climate1",
"fan_min_on_time": 10,
"equipment_running": "auxHeat2",
} == self.thermostat.device_state_attributes
self.ecobee["equipmentStatus"] = "compCool1"
assert {
"fan": "off",
"climate_mode": "Climate1",
"fan_min_on_time": 10,
"equipment_running": "compCool1",
} == self.thermostat.device_state_attributes
self.ecobee["equipmentStatus"] = ""
assert {
"fan": "off",
"climate_mode": "Climate1",
"fan_min_on_time": 10,
"equipment_running": "",
} == self.thermostat.device_state_attributes
@ -157,6 +161,15 @@ class TestEcobee(unittest.TestCase):
self.ecobee["equipmentStatus"] = "Unknown"
assert {
"fan": "off",
"climate_mode": "Climate1",
"fan_min_on_time": 10,
"equipment_running": "Unknown",
} == self.thermostat.device_state_attributes
self.ecobee["program"]["currentClimateRef"] = "c2"
assert {
"fan": "off",
"climate_mode": "Climate2",
"fan_min_on_time": 10,
"equipment_running": "Unknown",
} == self.thermostat.device_state_attributes