03dfe76e3a30b1966ce3f87958be28cb76bdd72c
[e-mobility-charging-stations-simulator.git] / src / assets / json-schemas / ocpp / 2.0 / ReportChargingProfilesRequest.json
1 {
2 "$schema": "http://json-schema.org/draft-06/schema#",
3 "$id": "urn:OCPP:Cp:2:2020:3:ReportChargingProfilesRequest",
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 "ChargingLimitSourceEnumType": {
19 "description": "Source that has installed this charging profile.\r\n",
20 "javaType": "ChargingLimitSourceEnum",
21 "type": "string",
22 "additionalProperties": false,
23 "enum": ["EMS", "Other", "SO", "CSO"]
24 },
25 "ChargingProfileKindEnumType": {
26 "description": "Charging_ Profile. Charging_ Profile_ Kind. Charging_ Profile_ Kind_ Code\r\nurn:x-oca:ocpp:uid:1:569232\r\nIndicates the kind of schedule.\r\n",
27 "javaType": "ChargingProfileKindEnum",
28 "type": "string",
29 "additionalProperties": false,
30 "enum": ["Absolute", "Recurring", "Relative"]
31 },
32 "ChargingProfilePurposeEnumType": {
33 "description": "Charging_ Profile. Charging_ Profile_ Purpose. Charging_ Profile_ Purpose_ Code\r\nurn:x-oca:ocpp:uid:1:569231\r\nDefines the purpose of the schedule transferred by this profile\r\n",
34 "javaType": "ChargingProfilePurposeEnum",
35 "type": "string",
36 "additionalProperties": false,
37 "enum": [
38 "ChargingStationExternalConstraints",
39 "ChargingStationMaxProfile",
40 "TxDefaultProfile",
41 "TxProfile"
42 ]
43 },
44 "ChargingRateUnitEnumType": {
45 "description": "Charging_ Schedule. Charging_ Rate_ Unit. Charging_ Rate_ Unit_ Code\r\nurn:x-oca:ocpp:uid:1:569238\r\nThe unit of measure Limit is expressed in.\r\n",
46 "javaType": "ChargingRateUnitEnum",
47 "type": "string",
48 "additionalProperties": false,
49 "enum": ["W", "A"]
50 },
51 "CostKindEnumType": {
52 "description": "Cost. Cost_ Kind. Cost_ Kind_ Code\r\nurn:x-oca:ocpp:uid:1:569243\r\nThe kind of cost referred to in the message element amount\r\n",
53 "javaType": "CostKindEnum",
54 "type": "string",
55 "additionalProperties": false,
56 "enum": ["CarbonDioxideEmission", "RelativePricePercentage", "RenewableGenerationPercentage"]
57 },
58 "RecurrencyKindEnumType": {
59 "description": "Charging_ Profile. Recurrency_ Kind. Recurrency_ Kind_ Code\r\nurn:x-oca:ocpp:uid:1:569233\r\nIndicates the start point of a recurrence.\r\n",
60 "javaType": "RecurrencyKindEnum",
61 "type": "string",
62 "additionalProperties": false,
63 "enum": ["Daily", "Weekly"]
64 },
65 "ChargingProfileType": {
66 "description": "Charging_ Profile\r\nurn:x-oca:ocpp:uid:2:233255\r\nA ChargingProfile consists of ChargingSchedule, describing the amount of power or current that can be delivered per time interval.\r\n",
67 "javaType": "ChargingProfile",
68 "type": "object",
69 "additionalProperties": false,
70 "properties": {
71 "customData": {
72 "$ref": "#/definitions/CustomDataType"
73 },
74 "id": {
75 "description": "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nId of ChargingProfile.\r\n",
76 "type": "integer"
77 },
78 "stackLevel": {
79 "description": "Charging_ Profile. Stack_ Level. Counter\r\nurn:x-oca:ocpp:uid:1:569230\r\nValue determining level in hierarchy stack of profiles. Higher values have precedence over lower values. Lowest level is 0.\r\n",
80 "type": "integer"
81 },
82 "chargingProfilePurpose": {
83 "$ref": "#/definitions/ChargingProfilePurposeEnumType"
84 },
85 "chargingProfileKind": {
86 "$ref": "#/definitions/ChargingProfileKindEnumType"
87 },
88 "recurrencyKind": {
89 "$ref": "#/definitions/RecurrencyKindEnumType"
90 },
91 "validFrom": {
92 "description": "Charging_ Profile. Valid_ From. Date_ Time\r\nurn:x-oca:ocpp:uid:1:569234\r\nPoint in time at which the profile starts to be valid. If absent, the profile is valid as soon as it is received by the Charging Station.\r\n",
93 "type": "string",
94 "format": "date-time"
95 },
96 "validTo": {
97 "description": "Charging_ Profile. Valid_ To. Date_ Time\r\nurn:x-oca:ocpp:uid:1:569235\r\nPoint in time at which the profile stops to be valid. If absent, the profile is valid until it is replaced by another profile.\r\n",
98 "type": "string",
99 "format": "date-time"
100 },
101 "chargingSchedule": {
102 "type": "array",
103 "additionalItems": false,
104 "items": {
105 "$ref": "#/definitions/ChargingScheduleType"
106 },
107 "minItems": 1,
108 "maxItems": 3
109 },
110 "transactionId": {
111 "description": "SHALL only be included if ChargingProfilePurpose is set to TxProfile. The transactionId is used to match the profile to a specific transaction.\r\n",
112 "type": "string",
113 "maxLength": 36
114 }
115 },
116 "required": [
117 "id",
118 "stackLevel",
119 "chargingProfilePurpose",
120 "chargingProfileKind",
121 "chargingSchedule"
122 ]
123 },
124 "ChargingSchedulePeriodType": {
125 "description": "Charging_ Schedule_ Period\r\nurn:x-oca:ocpp:uid:2:233257\r\nCharging schedule period structure defines a time period in a charging schedule.\r\n",
126 "javaType": "ChargingSchedulePeriod",
127 "type": "object",
128 "additionalProperties": false,
129 "properties": {
130 "customData": {
131 "$ref": "#/definitions/CustomDataType"
132 },
133 "startPeriod": {
134 "description": "Charging_ Schedule_ Period. Start_ Period. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569240\r\nStart of the period, in seconds from the start of schedule. The value of StartPeriod also defines the stop time of the previous period.\r\n",
135 "type": "integer"
136 },
137 "limit": {
138 "description": "Charging_ Schedule_ Period. Limit. Measure\r\nurn:x-oca:ocpp:uid:1:569241\r\nCharging rate limit during the schedule period, in the applicable chargingRateUnit, for example in Amperes (A) or Watts (W). Accepts at most one digit fraction (e.g. 8.1).\r\n",
139 "type": "number"
140 },
141 "numberPhases": {
142 "description": "Charging_ Schedule_ Period. Number_ Phases. Counter\r\nurn:x-oca:ocpp:uid:1:569242\r\nThe number of phases that can be used for charging. If a number of phases is needed, numberPhases=3 will be assumed unless another number is given.\r\n",
143 "type": "integer"
144 },
145 "phaseToUse": {
146 "description": "Values: 1..3, Used if numberPhases=1 and if the EVSE is capable of switching the phase connected to the EV, i.e. ACPhaseSwitchingSupported is defined and true. It’s not allowed unless both conditions above are true. If both conditions are true, and phaseToUse is omitted, the Charging Station / EVSE will make the selection on its own.\r\n\r\n",
147 "type": "integer"
148 }
149 },
150 "required": ["startPeriod", "limit"]
151 },
152 "ChargingScheduleType": {
153 "description": "Charging_ Schedule\r\nurn:x-oca:ocpp:uid:2:233256\r\nCharging schedule structure defines a list of charging periods, as used in: GetCompositeSchedule.conf and ChargingProfile. \r\n",
154 "javaType": "ChargingSchedule",
155 "type": "object",
156 "additionalProperties": false,
157 "properties": {
158 "customData": {
159 "$ref": "#/definitions/CustomDataType"
160 },
161 "id": {
162 "description": "Identifies the ChargingSchedule.\r\n",
163 "type": "integer"
164 },
165 "startSchedule": {
166 "description": "Charging_ Schedule. Start_ Schedule. Date_ Time\r\nurn:x-oca:ocpp:uid:1:569237\r\nStarting point of an absolute schedule. If absent the schedule will be relative to start of charging.\r\n",
167 "type": "string",
168 "format": "date-time"
169 },
170 "duration": {
171 "description": "Charging_ Schedule. Duration. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569236\r\nDuration of the charging schedule in seconds. If the duration is left empty, the last period will continue indefinitely or until end of the transaction if chargingProfilePurpose = TxProfile.\r\n",
172 "type": "integer"
173 },
174 "chargingRateUnit": {
175 "$ref": "#/definitions/ChargingRateUnitEnumType"
176 },
177 "chargingSchedulePeriod": {
178 "type": "array",
179 "additionalItems": false,
180 "items": {
181 "$ref": "#/definitions/ChargingSchedulePeriodType"
182 },
183 "minItems": 1,
184 "maxItems": 1024
185 },
186 "minChargingRate": {
187 "description": "Charging_ Schedule. Min_ Charging_ Rate. Numeric\r\nurn:x-oca:ocpp:uid:1:569239\r\nMinimum charging rate supported by the EV. The unit of measure is defined by the chargingRateUnit. This parameter is intended to be used by a local smart charging algorithm to optimize the power allocation for in the case a charging process is inefficient at lower charging rates. Accepts at most one digit fraction (e.g. 8.1)\r\n",
188 "type": "number"
189 },
190 "salesTariff": {
191 "$ref": "#/definitions/SalesTariffType"
192 }
193 },
194 "required": ["id", "chargingRateUnit", "chargingSchedulePeriod"]
195 },
196 "ConsumptionCostType": {
197 "description": "Consumption_ Cost\r\nurn:x-oca:ocpp:uid:2:233259\r\n",
198 "javaType": "ConsumptionCost",
199 "type": "object",
200 "additionalProperties": false,
201 "properties": {
202 "customData": {
203 "$ref": "#/definitions/CustomDataType"
204 },
205 "startValue": {
206 "description": "Consumption_ Cost. Start_ Value. Numeric\r\nurn:x-oca:ocpp:uid:1:569246\r\nThe lowest level of consumption that defines the starting point of this consumption block. The block interval extends to the start of the next interval.\r\n",
207 "type": "number"
208 },
209 "cost": {
210 "type": "array",
211 "additionalItems": false,
212 "items": {
213 "$ref": "#/definitions/CostType"
214 },
215 "minItems": 1,
216 "maxItems": 3
217 }
218 },
219 "required": ["startValue", "cost"]
220 },
221 "CostType": {
222 "description": "Cost\r\nurn:x-oca:ocpp:uid:2:233258\r\n",
223 "javaType": "Cost",
224 "type": "object",
225 "additionalProperties": false,
226 "properties": {
227 "customData": {
228 "$ref": "#/definitions/CustomDataType"
229 },
230 "costKind": {
231 "$ref": "#/definitions/CostKindEnumType"
232 },
233 "amount": {
234 "description": "Cost. Amount. Amount\r\nurn:x-oca:ocpp:uid:1:569244\r\nThe estimated or actual cost per kWh\r\n",
235 "type": "integer"
236 },
237 "amountMultiplier": {
238 "description": "Cost. Amount_ Multiplier. Integer\r\nurn:x-oca:ocpp:uid:1:569245\r\nValues: -3..3, The amountMultiplier defines the exponent to base 10 (dec). The final value is determined by: amount * 10 ^ amountMultiplier\r\n",
239 "type": "integer"
240 }
241 },
242 "required": ["costKind", "amount"]
243 },
244 "RelativeTimeIntervalType": {
245 "description": "Relative_ Timer_ Interval\r\nurn:x-oca:ocpp:uid:2:233270\r\n",
246 "javaType": "RelativeTimeInterval",
247 "type": "object",
248 "additionalProperties": false,
249 "properties": {
250 "customData": {
251 "$ref": "#/definitions/CustomDataType"
252 },
253 "start": {
254 "description": "Relative_ Timer_ Interval. Start. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569279\r\nStart of the interval, in seconds from NOW.\r\n",
255 "type": "integer"
256 },
257 "duration": {
258 "description": "Relative_ Timer_ Interval. Duration. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569280\r\nDuration of the interval, in seconds.\r\n",
259 "type": "integer"
260 }
261 },
262 "required": ["start"]
263 },
264 "SalesTariffEntryType": {
265 "description": "Sales_ Tariff_ Entry\r\nurn:x-oca:ocpp:uid:2:233271\r\n",
266 "javaType": "SalesTariffEntry",
267 "type": "object",
268 "additionalProperties": false,
269 "properties": {
270 "customData": {
271 "$ref": "#/definitions/CustomDataType"
272 },
273 "relativeTimeInterval": {
274 "$ref": "#/definitions/RelativeTimeIntervalType"
275 },
276 "ePriceLevel": {
277 "description": "Sales_ Tariff_ Entry. E_ Price_ Level. Unsigned_ Integer\r\nurn:x-oca:ocpp:uid:1:569281\r\nDefines the price level of this SalesTariffEntry (referring to NumEPriceLevels). Small values for the EPriceLevel represent a cheaper TariffEntry. Large values for the EPriceLevel represent a more expensive TariffEntry.\r\n",
278 "type": "integer",
279 "minimum": 0.0
280 },
281 "consumptionCost": {
282 "type": "array",
283 "additionalItems": false,
284 "items": {
285 "$ref": "#/definitions/ConsumptionCostType"
286 },
287 "minItems": 1,
288 "maxItems": 3
289 }
290 },
291 "required": ["relativeTimeInterval"]
292 },
293 "SalesTariffType": {
294 "description": "Sales_ Tariff\r\nurn:x-oca:ocpp:uid:2:233272\r\nNOTE: This dataType is based on dataTypes from <<ref-ISOIEC15118-2,ISO 15118-2>>.\r\n",
295 "javaType": "SalesTariff",
296 "type": "object",
297 "additionalProperties": false,
298 "properties": {
299 "customData": {
300 "$ref": "#/definitions/CustomDataType"
301 },
302 "id": {
303 "description": "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nSalesTariff identifier used to identify one sales tariff. An SAID remains a unique identifier for one schedule throughout a charging session.\r\n",
304 "type": "integer"
305 },
306 "salesTariffDescription": {
307 "description": "Sales_ Tariff. Sales. Tariff_ Description\r\nurn:x-oca:ocpp:uid:1:569283\r\nA human readable title/short description of the sales tariff e.g. for HMI display purposes.\r\n",
308 "type": "string",
309 "maxLength": 32
310 },
311 "numEPriceLevels": {
312 "description": "Sales_ Tariff. Num_ E_ Price_ Levels. Counter\r\nurn:x-oca:ocpp:uid:1:569284\r\nDefines the overall number of distinct price levels used across all provided SalesTariff elements.\r\n",
313 "type": "integer"
314 },
315 "salesTariffEntry": {
316 "type": "array",
317 "additionalItems": false,
318 "items": {
319 "$ref": "#/definitions/SalesTariffEntryType"
320 },
321 "minItems": 1,
322 "maxItems": 1024
323 }
324 },
325 "required": ["id", "salesTariffEntry"]
326 }
327 },
328 "type": "object",
329 "additionalProperties": false,
330 "properties": {
331 "customData": {
332 "$ref": "#/definitions/CustomDataType"
333 },
334 "requestId": {
335 "description": "Id used to match the <<getchargingprofilesrequest, GetChargingProfilesRequest>> message with the resulting ReportChargingProfilesRequest messages. When the CSMS provided a requestId in the <<getchargingprofilesrequest, GetChargingProfilesRequest>>, this field SHALL contain the same value.\r\n",
336 "type": "integer"
337 },
338 "chargingLimitSource": {
339 "$ref": "#/definitions/ChargingLimitSourceEnumType"
340 },
341 "chargingProfile": {
342 "type": "array",
343 "additionalItems": false,
344 "items": {
345 "$ref": "#/definitions/ChargingProfileType"
346 },
347 "minItems": 1
348 },
349 "tbc": {
350 "description": "To Be Continued. Default value when omitted: false. false indicates that there are no further messages as part of this report.\r\n",
351 "type": "boolean",
352 "default": false
353 },
354 "evseId": {
355 "description": "The evse to which the charging profile applies. If evseId = 0, the message contains an overall limit for the Charging Station.\r\n",
356 "type": "integer"
357 }
358 },
359 "required": ["requestId", "chargingLimitSource", "evseId", "chargingProfile"]
360 }