This commit is contained in:
Mateusz Gruszczyński
2026-09-17 08:52:02 +02:00
parent ff4f2b60e7
commit b7846c3b9f
87 changed files with 3783 additions and 1418 deletions
+18 -3
View File
@@ -1,6 +1,6 @@
# GREE Controller API reference
HTTP and WebSocket API for GREE Controller **0.14.20**.
HTTP and WebSocket API for GREE Controller **0.14.21**.
[← Main documentation](../README.md)
@@ -196,6 +196,7 @@ Common statuses:
| GET/PUT | `/api/settings/gree` | GREE controller, polling, discovery and compressor settings. |
| GET/PUT | `/api/settings/history` | Metric/event retention and compaction settings. |
| GET/PUT | `/api/settings/influxdb` | InfluxDB history settings. |
| POST | `/api/integrations/influxdb/test` | Test the supplied InfluxDB connection settings without saving them. |
| GET/PUT | `/api/settings/notifications` | Notification provider and alert settings. |
| GET/PUT | `/api/settings/night` | Night mode settings. |
| GET/PUT | `/api/settings/home-assistant` | Home Assistant, aliases, shared Flow inputs and outdoor assist. |
@@ -239,7 +240,7 @@ Response:
{
"status": "ok",
"name": "gree-controller",
"version": "0.14.20",
"version": "0.14.21",
"uptime_seconds": 1234,
"control_ready": true,
"time": "2026-08-30T06:54:00Z"
@@ -302,7 +303,7 @@ Returns the initial Web UI snapshot:
"control_plan": {"generated_at": "2026-09-04T08:00:00Z", "zones": [], "rules": []},
"control_plan_revision": 42,
"system": {
"version": "0.14.20",
"version": "0.14.21",
"uptime_seconds": 1234,
"auth_required": false,
"control_ready": true,
@@ -1147,6 +1148,20 @@ Retention values are clamped to `1..3650` days. Updating this section immediatel
`PUT` uses the same non-secret fields plus optional `password` and `token`. Omitting either field (or sending `null`) preserves the stored secret. Sending an explicit empty string clears it. `history_threshold_days` is clamped to `1..3650`; the complete InfluxDB configuration is validated before persistence.
### `POST /api/integrations/influxdb/test`
Accepts the same body as the InfluxDB settings update, but does not persist it. Blank/omitted secrets reuse the currently stored password/token. A successful test returns:
```json
{
"ok": true,
"version": "2",
"response_time_ms": 18
}
```
InfluxDB 1.x tests a lightweight query against the configured database; InfluxDB 2.x tests a lightweight Flux query against the configured organization/bucket.
### `/api/settings/notifications`
`GET` returns provider state without secret values:
+1 -1
View File
@@ -69,7 +69,7 @@ The editor ships 37 editable presets grouped into seven categories: Comfort, Ene
Shared Flow inputs show the Flows that reference them and link directly to those editors. Home Assistant-backed shared inputs can be tested live in the input modal. Shared inputs report the current raw value/attribute. Each Flow reference defines its own comparison without changing the shared source. Home Assistant temperature entities remain normal HA entities: room-temperature sensors are configured per zone, while outdoor temperature has one global `outdoor_entity_id` plus an optional per-zone `ha_outdoor_entity_id` override. Their aliases are shared with the rest of the UI, outdoor overrides are recorded in sensor metrics/history, and all configured entities are offered as suggestions in Home Assistant Flow blocks; selecting a zone sensor does not create a separate shared input.
Presets are data files, not JavaScript definitions. Every preset lives in `presets/<id>.json` and contains `id`, `category`, localized `name`, localized `description`, and the complete `flow` graph (`nodes` + `edges`). `build.rs` validates and embeds the directory, exposes `/presets/index.json` plus `/presets/<file>.json`, and the Flow editor loads that library dynamically. Device/zone/group placeholders such as `$zone1`, `$zone2`, `$device1` and `$group1` are resolved when a preset is applied. Adding a preset therefore does not require adding graph-building code to `web/js/flows.js`.
Presets are data files, not JavaScript definitions. Every preset lives in `presets/<id>.json` and contains `id`, `category`, localized `name`, localized `description`, and the complete `flow` graph (`nodes` + `edges`). `build.rs` validates and embeds the directory, exposes `/presets/index.json` plus `/presets/<file>.json`, and the Flow editor loads that library dynamically. Device/zone/group placeholders such as `$zone1`, `$zone2`, `$device1` and `$group1` are resolved when a preset is applied. Adding a preset therefore does not require adding graph-building code to `web/js-dynamic/flows.js`.
The canvas supports multi-selection (Shift/Ctrl/Cmd), `Ctrl/Cmd+A`, Select all / Clear selection toolbar actions, and dragging the whole selected group while preserving relative positions.
+73 -3
View File
File diff suppressed because one or more lines are too long