| 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 | } |