evcc-io/schema.json
Michael Geers d2f92556a3
Some checks failed
Validate Schema / build (push) Failing after 3s
Release / call-build-workflow (push) Has been cancelled
Release / Publish Docker :release (push) Has been cancelled
Release / Github & APT (push) Has been cancelled
Release / Hassio Addon (push) Has been cancelled
Introduce vehicle icons (#5200)
2022-11-30 19:08:03 +01:00

246 lines
5.6 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "EVCC configuration schema",
"type": "object",
"properties": {
"uri": {
"type": "string",
"format": "uri"
},
"interval": {
"$ref": "#/definitions/duration"
},
"log": {
"description": "Global log level",
"$ref": "#/definitions/loglevel"
},
"levels": {
"type": "object",
"description": "Log levels per area",
"additionalProperties": {
"type": "string"
}
},
"sponsortoken": {
"type": "string"
},
"chargers": {
"type": "array",
"description": "List of chargers",
"items": {
"$ref": "#/definitions/namedObject"
}
},
"meters": {
"type": "array",
"description": "List of meters",
"items": {
"$ref": "#/definitions/namedObject"
}
},
"vehicles": {
"type": "array",
"description": "List of vehicles",
"items": {
"$ref": "#/definitions/namedObject",
"properties": {
"title": {
"type": "string"
},
"icon": {
"type": "string"
},
"capacity": {
"type": "integer"
},
"user": {
"type": "string"
},
"password": {
"type": "string"
},
"VIN": {
"type": "string"
},
"cache": {
"$ref": "#/definitions/duration"
},
"onIdentify": {
"type": "object",
"properties": {
"mode": {
"$ref": "#/definitions/mode"
},
"minSoC": {
"type": "integer"
},
"targetSoC": {
"type": "integer"
},
"minCurrent": {
"type": "integer"
},
"maxCurrent": {
"type": "integer"
}
}
}
}
}
},
"site": {
"type": "object",
"required": ["meters"],
"properties": {
"title": {
"type": "string"
},
"meters": {
"type": "object",
"properties": {
"grid": {
"type": "string"
},
"pv": {
"type": "string"
},
"pvs": {
"description": "List of pv inverters/meters",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"uniqueItems": true
},
"battery": {
"type": "string"
},
"batteries": {
"description": "List of home batteries",
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"uniqueItems": true
}
}
},
"prioritySoC": {},
"bufferSoC": {}
}
},
"loadpoints": {
"type": "array",
"description": "List of loadpoints",
"items": {
"type": "object",
"required": ["charger"],
"properties": {
"title": {
"type": "string"
},
"mode": {
"$ref": "#/definitions/mode"
},
"resetOnDisconnect": {
"type": "boolean"
},
"charger": {
"type": "string"
},
"meter": {
"type": "string"
},
"vehicle": {
"type": "string"
},
"soc": {
"type": "object",
"properties": {
"poll": {
"type": "object",
"properties": {
"mode": {
"$ref": "#/definitions/pollMode"
},
"interval": {
"$ref": "#/definitions/duration"
}
}
},
"estimate": {
"type": "boolean"
}
}
},
"phases": {
"type": "integer"
},
"minCurrent": {
"type": "integer"
},
"maxCurrent": {
"type": "integer"
},
"guardDuration": {
"$ref": "#/definitions/duration"
},
"enable": {
"type": "object",
"properties": {
"delay": {
"$ref": "#/definitions/duration"
},
"threshold": {
"type": "integer"
}
}
},
"disable": {
"type": "object",
"properties": {
"delay": {
"$ref": "#/definitions/duration"
},
"threshold": {
"type": "integer"
}
}
}
}
}
}
},
"definitions": {
"duration": {
"type": "string",
"pattern": "\\d[msh]$"
},
"namedObject": {
"type": "object",
"required": ["name", "type"],
"properties": {
"name": {
"type": "string"
},
"type": {
"type": "string"
},
"template": {
"type": "string"
}
}
},
"loglevel": {
"enum": ["trace", "debug", "info", "error", "fatal"]
},
"mode": {
"enum": ["off", "now", "pv", "minpv"]
},
"pollMode": {
"enum": ["always", "charging", "connected"]
}
}
}