This commit is contained in:
Mateusz Gruszczyński
2026-09-21 22:58:30 +02:00
parent 3b969c8754
commit d80005de33
33 changed files with 722 additions and 94 deletions
+127 -2
View File
@@ -2,7 +2,7 @@
"openapi": "3.1.0",
"info": {
"title": "GREE Controller API",
"version": "0.15.14",
"version": "0.15.15",
"summary": "Local HTTP/WebSocket API for GREE Controller",
"description": "Local API used by the GREE Controller Web UI and Home Assistant integration.",
"license": {
@@ -1814,6 +1814,62 @@
}
}
},
"/api/house/emergency-stop": {
"post": {
"tags": [
"House"
],
"summary": "Emergency automation stop",
"description": "Persistently pauses thermostat and automation execution. Activating the stop first stores the safety gate, clears pending compressor-protection tasks, then makes a one-shot best-effort OFF request to every enabled unit. The pause survives controller restarts, but OFF commands are not replayed on startup. Releasing the stop does not force devices ON; current control conditions are evaluated again.",
"operationId": "setHouseEmergencyStop",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HouseEmergencyStopPatch"
}
}
}
},
"security": [
{
"BearerToken": []
},
{
"ApiTokenHeader": []
}
],
"responses": {
"200": {
"description": "Emergency stop state and one-shot OFF result",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"502": {
"$ref": "#/components/responses/BadGateway"
},
"500": {
"$ref": "#/components/responses/InternalError"
},
"424": {
"$ref": "#/components/responses/FailedDependency"
}
}
}
},
"/api/house/preset": {
"post": {
"tags": [
@@ -3937,6 +3993,62 @@
}
}
},
"/api/integrations/home-assistant/house/emergency-stop": {
"post": {
"tags": [
"Home Assistant"
],
"summary": "Emergency automation stop from Home Assistant",
"description": "Restricted Home Assistant surface for the same persistent emergency-stop semantics as the administrator endpoint. Activation pauses automatic control across restarts and sends OFF only once; release resumes evaluation without forcing devices ON.",
"operationId": "haSetHouseEmergencyStop",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HouseEmergencyStopPatch"
}
}
}
},
"security": [
{
"BearerToken": []
},
{
"ApiTokenHeader": []
}
],
"responses": {
"200": {
"description": "Emergency stop state and one-shot OFF result",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": true
}
}
}
},
"400": {
"$ref": "#/components/responses/BadRequest"
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"502": {
"$ref": "#/components/responses/BadGateway"
},
"500": {
"$ref": "#/components/responses/InternalError"
},
"424": {
"$ref": "#/components/responses/FailedDependency"
}
}
}
},
"/api/integrations/home-assistant/zones/{id}/control": {
"post": {
"tags": [
@@ -5967,7 +6079,7 @@
},
"version": {
"type": "string",
"example": "0.15.14"
"example": "0.15.15"
},
"uptime_seconds": {
"type": "integer",
@@ -7412,6 +7524,19 @@
],
"additionalProperties": false
},
"HouseEmergencyStopPatch": {
"type": "object",
"properties": {
"active": {
"type": "boolean",
"example": true
}
},
"required": [
"active"
],
"additionalProperties": false
},
"HousePresetPatch": {
"type": "object",
"properties": {