diff --git a/schema.json b/schema.json index 14784fa31..8a90113c9 100644 --- a/schema.json +++ b/schema.json @@ -3,9 +3,20 @@ "title": "EVCC configuration schema", "type": "object", "properties": { - "uri": { - "type": "string", - "format": "uri" + "network": { + "type": "object", + "description": "Network", + "properties": { + "schema": { + "type": "string" + }, + "host": { + "type": "string" + }, + "port": { + "type": "integer" + } + } }, "interval": { "$ref": "#/definitions/duration" @@ -24,6 +35,45 @@ "sponsortoken": { "type": "string" }, + "plant": { + "type": "string" + }, + "telemetry": { + "type": "boolean" + }, + "database": { + "type": "object", + "description": "Database", + "properties": { + "type": { + "type": "string" + }, + "dsn": { + "type": "string" + } + } + }, + "tariffs": { + "type": "object", + "description": "Tariffs", + "properties": { + "currency": { + "type": "string" + }, + "grid": { + "description": "Grid tariff", + "$ref": "#/definitions/typedObject" + }, + "feedin": { + "description": "Feed-in tariff", + "$ref": "#/definitions/typedObject" + }, + "planner": { + "description": "Planner tariff", + "$ref": "#/definitions/typedObject" + } + } + }, "chargers": { "type": "array", "description": "List of chargers", @@ -240,6 +290,17 @@ } } }, + "typedObject": { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string" + } + } + }, "loglevel": { "enum": [ "trace",