This commit is contained in:
Mateusz Gruszczyński
2026-08-24 14:05:43 +02:00
parent eb02f66056
commit 04fc91b9f4
30 changed files with 2257 additions and 175 deletions
@@ -74,3 +74,21 @@ class GreeControllerClient:
f"/api/integrations/home-assistant/devices/{device_id}/command",
json=payload,
)
async def control_plan(self) -> dict[str, Any]:
"""Return the current whole-house and zone automation plan."""
data = await self._request("GET", "/api/integrations/home-assistant/control-plan")
if not isinstance(data, dict):
raise GreeControllerApiError("Controller returned an invalid control plan payload")
return data
async def zone_control(self, zone_id: str, payload: dict[str, Any]) -> dict[str, Any]:
"""Change a zone thermostat override through the controller."""
data = await self._request(
"POST",
f"/api/integrations/home-assistant/zones/{zone_id}/control",
json=payload,
)
if not isinstance(data, dict):
raise GreeControllerApiError("Controller returned an invalid zone payload")
return data