| 1 | { |
| 2 | "$schema": "http://json-schema.org/draft-07/schema#", |
| 3 | "$id": "urn:OCPP:Cp:2:2020:3:NotifyEventRequest", |
| 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 | "EventNotificationEnumType": { |
| 19 | "description": "Specifies the event notification type of the message.\r\n\r\n", |
| 20 | "javaType": "EventNotificationEnum", |
| 21 | "type": "string", |
| 22 | "additionalProperties": false, |
| 23 | "enum": ["HardWiredNotification", "HardWiredMonitor", "PreconfiguredMonitor", "CustomMonitor"] |
| 24 | }, |
| 25 | "EventTriggerEnumType": { |
| 26 | "description": "Type of monitor that triggered this event, e.g. exceeding a threshold value.\r\n\r\n", |
| 27 | "javaType": "EventTriggerEnum", |
| 28 | "type": "string", |
| 29 | "additionalProperties": false, |
| 30 | "enum": ["Alerting", "Delta", "Periodic"] |
| 31 | }, |
| 32 | "ComponentType": { |
| 33 | "description": "A physical or logical component\r\n", |
| 34 | "javaType": "Component", |
| 35 | "type": "object", |
| 36 | "additionalProperties": false, |
| 37 | "properties": { |
| 38 | "customData": { |
| 39 | "$ref": "#/definitions/CustomDataType" |
| 40 | }, |
| 41 | "evse": { |
| 42 | "$ref": "#/definitions/EVSEType" |
| 43 | }, |
| 44 | "name": { |
| 45 | "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", |
| 46 | "type": "string", |
| 47 | "maxLength": 50 |
| 48 | }, |
| 49 | "instance": { |
| 50 | "description": "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", |
| 51 | "type": "string", |
| 52 | "maxLength": 50 |
| 53 | } |
| 54 | }, |
| 55 | "required": ["name"] |
| 56 | }, |
| 57 | "EventDataType": { |
| 58 | "description": "Class to report an event notification for a component-variable.\r\n", |
| 59 | "javaType": "EventData", |
| 60 | "type": "object", |
| 61 | "additionalProperties": false, |
| 62 | "properties": { |
| 63 | "customData": { |
| 64 | "$ref": "#/definitions/CustomDataType" |
| 65 | }, |
| 66 | "eventId": { |
| 67 | "description": "Identifies the event. This field can be referred to as a cause by other events.\r\n\r\n", |
| 68 | "type": "integer" |
| 69 | }, |
| 70 | "timestamp": { |
| 71 | "description": "Timestamp of the moment the report was generated.\r\n", |
| 72 | "type": "string", |
| 73 | "format": "date-time" |
| 74 | }, |
| 75 | "trigger": { |
| 76 | "$ref": "#/definitions/EventTriggerEnumType" |
| 77 | }, |
| 78 | "cause": { |
| 79 | "description": "Refers to the Id of an event that is considered to be the cause for this event.\r\n\r\n", |
| 80 | "type": "integer" |
| 81 | }, |
| 82 | "actualValue": { |
| 83 | "description": "Actual value (_attributeType_ Actual) of the variable.\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\r\n", |
| 84 | "type": "string", |
| 85 | "maxLength": 2500 |
| 86 | }, |
| 87 | "techCode": { |
| 88 | "description": "Technical (error) code as reported by component.\r\n", |
| 89 | "type": "string", |
| 90 | "maxLength": 50 |
| 91 | }, |
| 92 | "techInfo": { |
| 93 | "description": "Technical detail information as reported by component.\r\n", |
| 94 | "type": "string", |
| 95 | "maxLength": 500 |
| 96 | }, |
| 97 | "cleared": { |
| 98 | "description": "_Cleared_ is set to true to report the clearing of a monitored situation, i.e. a 'return to normal'. \r\n\r\n", |
| 99 | "type": "boolean" |
| 100 | }, |
| 101 | "transactionId": { |
| 102 | "description": "If an event notification is linked to a specific transaction, this field can be used to specify its transactionId.\r\n", |
| 103 | "type": "string", |
| 104 | "maxLength": 36 |
| 105 | }, |
| 106 | "component": { |
| 107 | "$ref": "#/definitions/ComponentType" |
| 108 | }, |
| 109 | "variableMonitoringId": { |
| 110 | "description": "Identifies the VariableMonitoring which triggered the event.\r\n", |
| 111 | "type": "integer" |
| 112 | }, |
| 113 | "eventNotificationType": { |
| 114 | "$ref": "#/definitions/EventNotificationEnumType" |
| 115 | }, |
| 116 | "variable": { |
| 117 | "$ref": "#/definitions/VariableType" |
| 118 | } |
| 119 | }, |
| 120 | "required": [ |
| 121 | "eventId", |
| 122 | "timestamp", |
| 123 | "trigger", |
| 124 | "actualValue", |
| 125 | "eventNotificationType", |
| 126 | "component", |
| 127 | "variable" |
| 128 | ] |
| 129 | }, |
| 130 | "EVSEType": { |
| 131 | "description": "EVSE\r\nurn:x-oca:ocpp:uid:2:233123\r\nElectric Vehicle Supply Equipment\r\n", |
| 132 | "javaType": "EVSE", |
| 133 | "type": "object", |
| 134 | "additionalProperties": false, |
| 135 | "properties": { |
| 136 | "customData": { |
| 137 | "$ref": "#/definitions/CustomDataType" |
| 138 | }, |
| 139 | "id": { |
| 140 | "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", |
| 141 | "type": "integer" |
| 142 | }, |
| 143 | "connectorId": { |
| 144 | "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", |
| 145 | "type": "integer" |
| 146 | } |
| 147 | }, |
| 148 | "required": ["id"] |
| 149 | }, |
| 150 | "VariableType": { |
| 151 | "description": "Reference key to a component-variable.\r\n", |
| 152 | "javaType": "Variable", |
| 153 | "type": "object", |
| 154 | "additionalProperties": false, |
| 155 | "properties": { |
| 156 | "customData": { |
| 157 | "$ref": "#/definitions/CustomDataType" |
| 158 | }, |
| 159 | "name": { |
| 160 | "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", |
| 161 | "type": "string", |
| 162 | "maxLength": 50 |
| 163 | }, |
| 164 | "instance": { |
| 165 | "description": "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", |
| 166 | "type": "string", |
| 167 | "maxLength": 50 |
| 168 | } |
| 169 | }, |
| 170 | "required": ["name"] |
| 171 | } |
| 172 | }, |
| 173 | "type": "object", |
| 174 | "additionalProperties": false, |
| 175 | "properties": { |
| 176 | "customData": { |
| 177 | "$ref": "#/definitions/CustomDataType" |
| 178 | }, |
| 179 | "generatedAt": { |
| 180 | "description": "Timestamp of the moment this message was generated at the Charging Station.\r\n", |
| 181 | "type": "string", |
| 182 | "format": "date-time" |
| 183 | }, |
| 184 | "tbc": { |
| 185 | "description": "“to be continued” indicator. Indicates whether another part of the report follows in an upcoming notifyEventRequest message. Default value when omitted is false. \r\n", |
| 186 | "type": "boolean", |
| 187 | "default": false |
| 188 | }, |
| 189 | "seqNo": { |
| 190 | "description": "Sequence number of this message. First message starts at 0.\r\n", |
| 191 | "type": "integer" |
| 192 | }, |
| 193 | "eventData": { |
| 194 | "type": "array", |
| 195 | "additionalItems": false, |
| 196 | "items": { |
| 197 | "$ref": "#/definitions/EventDataType" |
| 198 | }, |
| 199 | "minItems": 1 |
| 200 | } |
| 201 | }, |
| 202 | "required": ["generatedAt", "seqNo", "eventData"] |
| 203 | } |