v0.7.10
This commit is contained in:
@@ -313,7 +313,7 @@ class GreeControllerZoneClimate(CoordinatorEntity[GreeControllerCoordinator], Cl
|
||||
@property
|
||||
def hvac_mode(self) -> HVACMode:
|
||||
zone = self._zone
|
||||
if not zone.get("enabled", False):
|
||||
if not zone.get("enabled", False) or zone.get("local_thermostat_power") is False:
|
||||
return HVACMode.OFF
|
||||
if zone.get("inherit_house_mode", True):
|
||||
return HVACMode.AUTO
|
||||
@@ -329,6 +329,7 @@ class GreeControllerZoneClimate(CoordinatorEntity[GreeControllerCoordinator], Cl
|
||||
return {
|
||||
"controller_zone_id": self._zone_id,
|
||||
"effective_enabled": bool(zone.get("effective_enabled", zone.get("enabled", False))),
|
||||
"local_thermostat_power": zone.get("local_thermostat_power"),
|
||||
"effective_mode": zone.get("mode"),
|
||||
"follows_house_mode": bool(zone.get("inherit_house_mode", True)),
|
||||
"auto_mode_meaning": "Follow the GREE Controller whole-house heating/cooling mode",
|
||||
@@ -342,13 +343,13 @@ class GreeControllerZoneClimate(CoordinatorEntity[GreeControllerCoordinator], Cl
|
||||
|
||||
async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None:
|
||||
if hvac_mode == HVACMode.OFF:
|
||||
payload = {"enabled": False}
|
||||
payload = {"power": False}
|
||||
elif hvac_mode == HVACMode.AUTO:
|
||||
payload = {"enabled": True, "mode": "house"}
|
||||
payload = {"power": True, "mode": "house"}
|
||||
elif hvac_mode == HVACMode.COOL:
|
||||
payload = {"enabled": True, "mode": "cool"}
|
||||
payload = {"power": True, "mode": "cool"}
|
||||
elif hvac_mode == HVACMode.HEAT:
|
||||
payload = {"enabled": True, "mode": "heat"}
|
||||
payload = {"power": True, "mode": "heat"}
|
||||
else:
|
||||
return
|
||||
await self.coordinator.async_zone_control(self._zone_id, payload)
|
||||
@@ -365,8 +366,8 @@ class GreeControllerZoneClimate(CoordinatorEntity[GreeControllerCoordinator], Cl
|
||||
await self.coordinator.async_zone_control(self._zone_id, {"preset": preset_mode})
|
||||
|
||||
async def async_turn_on(self) -> None:
|
||||
await self.coordinator.async_zone_control(self._zone_id, {"enabled": True})
|
||||
await self.coordinator.async_zone_control(self._zone_id, {"power": True})
|
||||
|
||||
async def async_turn_off(self) -> None:
|
||||
await self.coordinator.async_zone_control(self._zone_id, {"enabled": False})
|
||||
await self.coordinator.async_zone_control(self._zone_id, {"power": False})
|
||||
|
||||
|
||||
@@ -87,6 +87,8 @@ class GreeControllerCoordinator(DataUpdateCoordinator[dict[str, dict]]):
|
||||
expected: dict[str, Any] = {}
|
||||
if "enabled" in payload:
|
||||
expected["enabled"] = bool(payload["enabled"])
|
||||
if "power" in payload:
|
||||
expected["local_thermostat_power"] = bool(payload["power"])
|
||||
if "mode" in payload:
|
||||
mode = str(payload["mode"])
|
||||
if mode in {"house", "auto"}:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"domain": "gree_controller",
|
||||
"name": "GREE Controller",
|
||||
"version": "0.7.9",
|
||||
"version": "0.7.10",
|
||||
"config_flow": true,
|
||||
"integration_type": "hub",
|
||||
"iot_class": "local_polling",
|
||||
|
||||
Reference in New Issue
Block a user