Fixes to OCA OCPP 2.0.1 JSON schemas
[e-mobility-charging-stations-simulator.git] / src / assets / json-schemas / ocpp / 2.0 / NotifyReportRequest.json
1 {
2 "$schema": "http://json-schema.org/draft-07/schema#",
3 "$id": "urn:OCPP:Cp:2:2020:3:NotifyReportRequest",
4 "$comment": "OCPP 2.0.1 FINAL",
5 "definitions": {
6 "CustomDataType": {
7 "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.",
8 "javaType": "CustomData",
9 "type": "object",
10 "properties": {
11 "vendorId": {
12 "type": "string",
13 "maxLength": 255
14 }
15 },
16 "required": ["vendorId"]
17 },
18 "AttributeEnumType": {
19 "description": "Attribute: Actual, MinSet, MaxSet, etc.\r\nDefaults to Actual if absent.\r\n",
20 "javaType": "AttributeEnum",
21 "type": "string",
22 "default": "Actual",
23 "additionalProperties": false,
24 "enum": ["Actual", "Target", "MinSet", "MaxSet"]
25 },
26 "DataEnumType": {
27 "description": "Data type of this variable.\r\n",
28 "javaType": "DataEnum",
29 "type": "string",
30 "additionalProperties": false,
31 "enum": [
32 "string",
33 "decimal",
34 "integer",
35 "dateTime",
36 "boolean",
37 "OptionList",
38 "SequenceList",
39 "MemberList"
40 ]
41 },
42 "MutabilityEnumType": {
43 "description": "Defines the mutability of this attribute. Default is ReadWrite when omitted.\r\n",
44 "javaType": "MutabilityEnum",
45 "type": "string",
46 "default": "ReadWrite",
47 "additionalProperties": false,
48 "enum": ["ReadOnly", "WriteOnly", "ReadWrite"]
49 },
50 "ComponentType": {
51 "description": "A physical or logical component\r\n",
52 "javaType": "Component",
53 "type": "object",
54 "additionalProperties": false,
55 "properties": {
56 "customData": {
57 "$ref": "#/definitions/CustomDataType"
58 },
59 "evse": {
60 "$ref": "#/definitions/EVSEType"
61 },
62 "name": {
63 "description": "Name of the component. Name should be taken from the list of standardized component names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n",
64 "type": "string",
65 "maxLength": 50
66 },
67 "instance": {
68 "description": "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n",
69 "type": "string",
70 "maxLength": 50
71 }
72 },
73 "required": ["name"]
74 },
75 "EVSEType": {
76 "description": "EVSE\r\nurn:x-oca:ocpp:uid:2:233123\r\nElectric Vehicle Supply Equipment\r\n",
77 "javaType": "EVSE",
78 "type": "object",
79 "additionalProperties": false,
80 "properties": {
81 "customData": {
82 "$ref": "#/definitions/CustomDataType"
83 },
84 "id": {
85 "description": "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nEVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n",
86 "type": "integer"
87 },
88 "connectorId": {
89 "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n",
90 "type": "integer"
91 }
92 },
93 "required": ["id"]
94 },
95 "ReportDataType": {
96 "description": "Class to report components, variables and variable attributes and characteristics.\r\n",
97 "javaType": "ReportData",
98 "type": "object",
99 "additionalProperties": false,
100 "properties": {
101 "customData": {
102 "$ref": "#/definitions/CustomDataType"
103 },
104 "component": {
105 "$ref": "#/definitions/ComponentType"
106 },
107 "variable": {
108 "$ref": "#/definitions/VariableType"
109 },
110 "variableAttribute": {
111 "type": "array",
112 "additionalItems": false,
113 "items": {
114 "$ref": "#/definitions/VariableAttributeType"
115 },
116 "minItems": 1,
117 "maxItems": 4
118 },
119 "variableCharacteristics": {
120 "$ref": "#/definitions/VariableCharacteristicsType"
121 }
122 },
123 "required": ["component", "variable", "variableAttribute"]
124 },
125 "VariableAttributeType": {
126 "description": "Attribute data of a variable.\r\n",
127 "javaType": "VariableAttribute",
128 "type": "object",
129 "additionalProperties": false,
130 "properties": {
131 "customData": {
132 "$ref": "#/definitions/CustomDataType"
133 },
134 "type": {
135 "$ref": "#/definitions/AttributeEnumType"
136 },
137 "value": {
138 "description": "Value of the attribute. May only be omitted when mutability is set to 'WriteOnly'.\r\n\r\nThe Configuration Variable <<configkey-reporting-value-size,ReportingValueSize>> can be used to limit GetVariableResult.attributeValue, VariableAttribute.value and EventData.actualValue. The max size of these values will always remain equal. \r\n",
139 "type": "string",
140 "maxLength": 2500
141 },
142 "mutability": {
143 "$ref": "#/definitions/MutabilityEnumType"
144 },
145 "persistent": {
146 "description": "If true, value will be persistent across system reboots or power down. Default when omitted is false.\r\n",
147 "type": "boolean",
148 "default": false
149 },
150 "constant": {
151 "description": "If true, value that will never be changed by the Charging Station at runtime. Default when omitted is false.\r\n",
152 "type": "boolean",
153 "default": false
154 }
155 }
156 },
157 "VariableCharacteristicsType": {
158 "description": "Fixed read-only parameters of a variable.\r\n",
159 "javaType": "VariableCharacteristics",
160 "type": "object",
161 "additionalProperties": false,
162 "properties": {
163 "customData": {
164 "$ref": "#/definitions/CustomDataType"
165 },
166 "unit": {
167 "description": "Unit of the variable. When the transmitted value has a unit, this field SHALL be included.\r\n",
168 "type": "string",
169 "maxLength": 16
170 },
171 "dataType": {
172 "$ref": "#/definitions/DataEnumType"
173 },
174 "minLimit": {
175 "description": "Minimum possible value of this variable.\r\n",
176 "type": "number"
177 },
178 "maxLimit": {
179 "description": "Maximum possible value of this variable. When the datatype of this Variable is String, OptionList, SequenceList or MemberList, this field defines the maximum length of the (CSV) string.\r\n",
180 "type": "number"
181 },
182 "valuesList": {
183 "description": "Allowed values when variable is Option/Member/SequenceList. \r\n\r\n* OptionList: The (Actual) Variable value must be a single value from the reported (CSV) enumeration list.\r\n\r\n* MemberList: The (Actual) Variable value may be an (unordered) (sub-)set of the reported (CSV) valid values list.\r\n\r\n* SequenceList: The (Actual) Variable value may be an ordered (priority, etc) (sub-)set of the reported (CSV) valid values.\r\n\r\nThis is a comma separated list.\r\n\r\nThe Configuration Variable <<configkey-configuration-value-size,ConfigurationValueSize>> can be used to limit SetVariableData.attributeValue and VariableCharacteristics.valueList. The max size of these values will always remain equal. \r\n\r\n",
184 "type": "string",
185 "maxLength": 1000
186 },
187 "supportsMonitoring": {
188 "description": "Flag indicating if this variable supports monitoring. \r\n",
189 "type": "boolean"
190 }
191 },
192 "required": ["dataType", "supportsMonitoring"]
193 },
194 "VariableType": {
195 "description": "Reference key to a component-variable.\r\n",
196 "javaType": "Variable",
197 "type": "object",
198 "additionalProperties": false,
199 "properties": {
200 "customData": {
201 "$ref": "#/definitions/CustomDataType"
202 },
203 "name": {
204 "description": "Name of the variable. Name should be taken from the list of standardized variable names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n",
205 "type": "string",
206 "maxLength": 50
207 },
208 "instance": {
209 "description": "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n",
210 "type": "string",
211 "maxLength": 50
212 }
213 },
214 "required": ["name"]
215 }
216 },
217 "type": "object",
218 "additionalProperties": false,
219 "properties": {
220 "customData": {
221 "$ref": "#/definitions/CustomDataType"
222 },
223 "requestId": {
224 "description": "The id of the GetReportRequest or GetBaseReportRequest that requested this report\r\n",
225 "type": "integer"
226 },
227 "generatedAt": {
228 "description": "Timestamp of the moment this message was generated at the Charging Station.\r\n",
229 "type": "string",
230 "format": "date-time"
231 },
232 "reportData": {
233 "type": "array",
234 "additionalItems": false,
235 "items": {
236 "$ref": "#/definitions/ReportDataType"
237 },
238 "minItems": 1
239 },
240 "tbc": {
241 "description": "“to be continued” indicator. Indicates whether another part of the report follows in an upcoming notifyReportRequest message. Default value when omitted is false.\r\n\r\n",
242 "type": "boolean",
243 "default": false
244 },
245 "seqNo": {
246 "description": "Sequence number of this message. First message starts at 0.\r\n",
247 "type": "integer"
248 }
249 },
250 "required": ["requestId", "generatedAt", "seqNo"]
251 }