generated from rmcguire/go-server-with-otel
275 lines
6.8 KiB
JSON
275 lines
6.8 KiB
JSON
{
|
|
"swagger": "2.0",
|
|
"info": {
|
|
"title": "econet/v1alpha1/econet.proto",
|
|
"version": "version not set"
|
|
},
|
|
"tags": [
|
|
{
|
|
"name": "EconetService"
|
|
}
|
|
],
|
|
"consumes": [
|
|
"application/json"
|
|
],
|
|
"produces": [
|
|
"application/json"
|
|
],
|
|
"paths": {
|
|
"/v1alpha1/devices": {
|
|
"get": {
|
|
"operationId": "EconetService_ListDevices",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/v1alpha1ListDevicesResponse"
|
|
}
|
|
},
|
|
"default": {
|
|
"description": "An unexpected error response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/rpcStatus"
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"EconetService"
|
|
]
|
|
}
|
|
},
|
|
"/v1alpha1/devices/{serialNumber}": {
|
|
"get": {
|
|
"operationId": "EconetService_GetDevice",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/v1alpha1GetDeviceResponse"
|
|
}
|
|
},
|
|
"default": {
|
|
"description": "An unexpected error response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/rpcStatus"
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"name": "serialNumber",
|
|
"in": "path",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"tags": [
|
|
"EconetService"
|
|
]
|
|
}
|
|
},
|
|
"/v1alpha1/devices/{serialNumber}/mode": {
|
|
"post": {
|
|
"operationId": "EconetService_SetMode",
|
|
"responses": {
|
|
"200": {
|
|
"description": "A successful response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/v1alpha1SetModeResponse"
|
|
}
|
|
},
|
|
"default": {
|
|
"description": "An unexpected error response.",
|
|
"schema": {
|
|
"$ref": "#/definitions/rpcStatus"
|
|
}
|
|
}
|
|
},
|
|
"parameters": [
|
|
{
|
|
"name": "serialNumber",
|
|
"in": "path",
|
|
"required": true,
|
|
"type": "string"
|
|
},
|
|
{
|
|
"name": "body",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/EconetServiceSetModeBody"
|
|
}
|
|
}
|
|
],
|
|
"tags": [
|
|
"EconetService"
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"EconetServiceSetModeBody": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"$ref": "#/definitions/v1alpha1Mode"
|
|
}
|
|
}
|
|
},
|
|
"protobufAny": {
|
|
"type": "object",
|
|
"properties": {
|
|
"@type": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"additionalProperties": {}
|
|
},
|
|
"rpcStatus": {
|
|
"type": "object",
|
|
"properties": {
|
|
"code": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"details": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"$ref": "#/definitions/protobufAny"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"v1alpha1Device": {
|
|
"type": "object",
|
|
"properties": {
|
|
"serialNumber": {
|
|
"type": "string"
|
|
},
|
|
"deviceId": {
|
|
"type": "string"
|
|
},
|
|
"friendlyName": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"title": "water_heater, thermostat, unknown"
|
|
},
|
|
"genericType": {
|
|
"type": "string",
|
|
"title": "e.g. heatpumpWaterHeater, gasWaterHeater"
|
|
},
|
|
"connected": {
|
|
"type": "boolean"
|
|
},
|
|
"wifiSignal": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"title": "dB, MQTT-only"
|
|
},
|
|
"mode": {
|
|
"type": "string",
|
|
"title": "kebab-case, e.g. heat-pump, energy-saving"
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"running": {
|
|
"type": "boolean"
|
|
},
|
|
"runningState": {
|
|
"type": "string"
|
|
},
|
|
"setpoint": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"title": "degrees Fahrenheit"
|
|
},
|
|
"setpointMin": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"setpointMax": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"hotWaterAvailability": {
|
|
"type": "integer",
|
|
"format": "int32",
|
|
"title": "0/33/66/100, -1 unknown"
|
|
},
|
|
"alertCount": {
|
|
"type": "integer",
|
|
"format": "int32"
|
|
},
|
|
"away": {
|
|
"type": "boolean"
|
|
},
|
|
"lastUpdated": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"supportedModes": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/v1alpha1Mode"
|
|
},
|
|
"title": "modes this device can be set to (may be empty)"
|
|
}
|
|
},
|
|
"description": "Device is the live state of a single Rheem EcoNet device\n(typically a water heater) as reported by the Rheem cloud."
|
|
},
|
|
"v1alpha1GetDeviceResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"device": {
|
|
"$ref": "#/definitions/v1alpha1Device"
|
|
}
|
|
}
|
|
},
|
|
"v1alpha1ListDevicesResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"devices": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object",
|
|
"$ref": "#/definitions/v1alpha1Device"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"v1alpha1Mode": {
|
|
"type": "string",
|
|
"enum": [
|
|
"MODE_UNSPECIFIED",
|
|
"MODE_OFF",
|
|
"MODE_ELECTRIC",
|
|
"MODE_ENERGY_SAVING",
|
|
"MODE_HEAT_PUMP",
|
|
"MODE_HIGH_DEMAND",
|
|
"MODE_GAS",
|
|
"MODE_PERFORMANCE",
|
|
"MODE_VACATION",
|
|
"MODE_ELECTRIC_GAS"
|
|
],
|
|
"default": "MODE_UNSPECIFIED",
|
|
"description": "Mode is a settable operating mode for a water heater. The values mirror the\nkebab-case slugs reported in Device.mode. Not every device supports every\nmode; the supported set is device-specific (derived from the unit's reported\nmode list), so SetMode validates against the target device.\n\n - MODE_ELECTRIC_GAS: combined electric/gas backup mode (e.g. hybrid units)"
|
|
},
|
|
"v1alpha1SetModeResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"device": {
|
|
"$ref": "#/definitions/v1alpha1Device",
|
|
"description": "Last-known device state. The mode change is applied asynchronously by the\nRheem cloud, so this reflects the requested mode only after a later poll."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|