This commit is contained in:
Mateusz Gruszczyński
2026-09-03 10:26:18 +02:00
parent 8f6169fbe3
commit 4c9f8ff403
31 changed files with 673 additions and 71 deletions
+18 -3
View File
@@ -1,6 +1,6 @@
# GREE Controller API reference
HTTP and WebSocket API for GREE Controller **0.11.5**.
HTTP and WebSocket API for GREE Controller **0.11.6**.
[← Main documentation](../README.md)
@@ -118,6 +118,7 @@ Common statuses:
| PATCH | `/api/devices/{id}` | Edit technical device configuration. |
| DELETE | `/api/devices/{id}` | Delete a device after safety checks. |
| POST | `/api/devices/{id}/bind` | Bind/re-bind a physical unit. |
| POST | `/api/devices/{id}/probe` | Minimal non-mutating GREE round-trip diagnostic. |
| POST | `/api/devices/{id}/poll` | Poll one unit immediately. |
| POST | `/api/devices/{id}/command` | Send a direct/manual device command. |
@@ -213,7 +214,7 @@ Response:
{
"status": "ok",
"name": "gree-controller",
"version": "0.11.5",
"version": "0.11.6",
"uptime_seconds": 1234,
"control_ready": true,
"time": "2026-08-30T06:54:00Z"
@@ -237,7 +238,7 @@ Returns the initial Web UI snapshot:
"settings": {},
"outdoor_temperature": null,
"system": {
"version": "0.11.5",
"version": "0.11.6",
"uptime_seconds": 1234,
"auth_required": false,
"control_ready": true,
@@ -379,6 +380,18 @@ Returns `204`. Deletion is rejected if the device is referenced by an automation
Performs/repeats GREE binding and returns updated `Device`. Simulated devices return unchanged.
### `POST /api/devices/{id}/probe`
Performs a minimal, non-mutating GREE status round-trip and returns `response_time_ms`. It does **not** update device online/error counters, readings, capabilities, thermostat ownership, or persisted device state. A real device must already be bound.
```json
{
"device_id": "gree-aabbccddeeff",
"response_time_ms": 18,
"ok": true
}
```
### `POST /api/devices/{id}/poll`
Immediately polls one unit and returns updated `Device`.
@@ -416,6 +429,8 @@ Rules:
The backend sends only properties that differ from the last known device state. Climate-relevant direct commands can create/continue a manual-device takeover for an enabled thermostat zone so automation does not immediately fight the user.
When the physical device belongs to a disabled thermostat zone, direct web/API control requires `"manual_override": true`. The web UI asks for explicit confirmation before sending that flag. Home Assistant direct-device control remains blocked for disabled zones.
---
## Zones