119 lines
No EOL
2.6 KiB
JSON
119 lines
No EOL
2.6 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-06/schema#",
|
|
"title": "EVCC device templates schema",
|
|
"$ref": "#/definitions/root",
|
|
"definitions": {
|
|
"root": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"template": {
|
|
"$": "#/definitions/Template"
|
|
},
|
|
"covers": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"products": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Product"
|
|
}
|
|
},
|
|
"group": {
|
|
"$ref": "#/definitions/Groups"
|
|
},
|
|
"linked": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Linked"
|
|
}
|
|
},
|
|
"capabilities": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/Capability"
|
|
}
|
|
},
|
|
"requirements": {
|
|
"$ref": "common-schema.json#/definitions/Requirements"
|
|
},
|
|
"params": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "common-schema.json#/definitions/ParamDevice"
|
|
}
|
|
},
|
|
"render": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"template",
|
|
"products",
|
|
"params",
|
|
"render"
|
|
]
|
|
},
|
|
"Template": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": ["name"],
|
|
"title": "Template"
|
|
},
|
|
"Product": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"brand": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"$ref": "common-schema.json#/definitions/LanguageText"
|
|
}
|
|
},
|
|
"anyOf": [
|
|
{"required": ["brand"]},
|
|
{"required": ["description"]}
|
|
],
|
|
"title": "Product"
|
|
},
|
|
"Groups": {
|
|
"type": "string",
|
|
"enum": ["generic", "switchsockets", "scooter", "sockets"]
|
|
},
|
|
"Linked": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"template": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"usage": {
|
|
"type": "string",
|
|
"enum": ["grid", "pv", "battery"]
|
|
},
|
|
"multiple": {
|
|
"type": "boolean"
|
|
},
|
|
"excludetemplate": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
}
|
|
},
|
|
"required": ["template", "usage"]
|
|
},
|
|
"Capability": {
|
|
"type": "string",
|
|
"enum": ["1p3p", "iso151182", "rfid", "smahems", "mA"]
|
|
}
|
|
}
|
|
} |