ocpp-rpc
Version:
A client & server implementation of the WAMP-like RPC-over-websocket system defined in the OCPP protocols (e.g. OCPP1.6-J and OCPP2.0.1).
1,180 lines (1,179 loc) • 526 kB
JSON
[
{
"$id": "urn:Authorize.req",
"$schema": "http://json-schema.org/draft-07/schema",
"additionalProperties": false,
"definitions": {
"CustomDataType": {
"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.",
"type": "object",
"properties": {
"vendorId": {
"type": "string",
"maxLength": 255
}
},
"required": [
"vendorId"
]
},
"HashAlgorithmEnumType": {
"description": "Used algorithms for the hashes provided.\r\n",
"type": "string",
"enum": [
"SHA256",
"SHA384",
"SHA512"
]
},
"IdTokenEnumType": {
"description": "Enumeration of possible idToken types.\r\n",
"type": "string",
"enum": [
"Central",
"eMAID",
"ISO14443",
"ISO15693",
"KeyCode",
"Local",
"MacAddress",
"NoAuthorization"
]
},
"AdditionalInfoType": {
"description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n",
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"additionalIdToken": {
"description": "This field specifies the additional IdToken.\r\n",
"type": "string",
"maxLength": 36
},
"type": {
"description": "This defines the type of the additionalIdToken. This is a custom type, so the implementation needs to be agreed upon by all involved parties.\r\n",
"type": "string",
"maxLength": 50
}
},
"required": [
"additionalIdToken",
"type"
]
},
"IdTokenType": {
"description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n",
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"additionalInfo": {
"type": "array",
"additionalItems": false,
"items": {
"$ref": "#/definitions/AdditionalInfoType"
},
"minItems": 1
},
"idToken": {
"description": "IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.\r\n",
"type": "string",
"maxLength": 36
},
"type": {
"$ref": "#/definitions/IdTokenEnumType"
}
},
"required": [
"idToken",
"type"
]
},
"OCSPRequestDataType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"hashAlgorithm": {
"$ref": "#/definitions/HashAlgorithmEnumType"
},
"issuerNameHash": {
"description": "Hashed value of the Issuer DN (Distinguished Name).\r\n\r\n",
"type": "string",
"maxLength": 128
},
"issuerKeyHash": {
"description": "Hashed value of the issuers public key\r\n",
"type": "string",
"maxLength": 128
},
"serialNumber": {
"description": "The serial number of the certificate.\r\n",
"type": "string",
"maxLength": 40
},
"responderURL": {
"description": "This contains the responder URL (Case insensitive). \r\n\r\n",
"type": "string",
"maxLength": 512
}
},
"required": [
"hashAlgorithm",
"issuerNameHash",
"issuerKeyHash",
"serialNumber",
"responderURL"
]
}
},
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"idToken": {
"$ref": "#/definitions/IdTokenType"
},
"certificate": {
"description": "The X.509 certificated presented by EV and encoded in PEM format.\r\n",
"type": "string",
"maxLength": 5500
},
"iso15118CertificateHashData": {
"type": "array",
"additionalItems": false,
"items": {
"$ref": "#/definitions/OCSPRequestDataType"
},
"minItems": 1,
"maxItems": 4
}
},
"required": [
"idToken"
],
"type": "object"
},
{
"$id": "urn:Authorize.conf",
"$schema": "http://json-schema.org/draft-07/schema",
"additionalProperties": false,
"definitions": {
"CustomDataType": {
"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.",
"type": "object",
"properties": {
"vendorId": {
"type": "string",
"maxLength": 255
}
},
"required": [
"vendorId"
]
},
"AuthorizationStatusEnumType": {
"description": "ID_ Token. Status. Authorization_ Status\r\nurn:x-oca:ocpp:uid:1:569372\r\nCurrent status of the ID Token.\r\n",
"type": "string",
"enum": [
"Accepted",
"Blocked",
"ConcurrentTx",
"Expired",
"Invalid",
"NoCredit",
"NotAllowedTypeEVSE",
"NotAtThisLocation",
"NotAtThisTime",
"Unknown"
]
},
"AuthorizeCertificateStatusEnumType": {
"description": "Certificate status information. \r\n- if all certificates are valid: return 'Accepted'.\r\n- if one of the certificates was revoked, return 'CertificateRevoked'.\r\n",
"type": "string",
"enum": [
"Accepted",
"SignatureError",
"CertificateExpired",
"CertificateRevoked",
"NoCertificateAvailable",
"CertChainError",
"ContractCancelled"
]
},
"IdTokenEnumType": {
"description": "Enumeration of possible idToken types.\r\n",
"type": "string",
"enum": [
"Central",
"eMAID",
"ISO14443",
"ISO15693",
"KeyCode",
"Local",
"MacAddress",
"NoAuthorization"
]
},
"MessageFormatEnumType": {
"description": "Message_ Content. Format. Message_ Format_ Code\r\nurn:x-enexis:ecdm:uid:1:570848\r\nFormat of the message.\r\n",
"type": "string",
"enum": [
"ASCII",
"HTML",
"URI",
"UTF8"
]
},
"AdditionalInfoType": {
"description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n",
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"additionalIdToken": {
"description": "This field specifies the additional IdToken.\r\n",
"type": "string",
"maxLength": 36
},
"type": {
"description": "This defines the type of the additionalIdToken. This is a custom type, so the implementation needs to be agreed upon by all involved parties.\r\n",
"type": "string",
"maxLength": 50
}
},
"required": [
"additionalIdToken",
"type"
]
},
"IdTokenInfoType": {
"description": "ID_ Token\r\nurn:x-oca:ocpp:uid:2:233247\r\nContains status information about an identifier.\r\nIt is advised to not stop charging for a token that expires during charging, as ExpiryDate is only used for caching purposes. If ExpiryDate is not given, the status has no end date.\r\n",
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"status": {
"$ref": "#/definitions/AuthorizationStatusEnumType"
},
"cacheExpiryDateTime": {
"description": "ID_ Token. Expiry. Date_ Time\r\nurn:x-oca:ocpp:uid:1:569373\r\nDate and Time after which the token must be considered invalid.\r\n",
"type": "string",
"format": "date-time"
},
"chargingPriority": {
"description": "Priority from a business point of view. Default priority is 0, The range is from -9 to 9. Higher values indicate a higher priority. The chargingPriority in <<transactioneventresponse,TransactionEventResponse>> overrules this one. \r\n",
"type": "integer"
},
"language1": {
"description": "ID_ Token. Language1. Language_ Code\r\nurn:x-oca:ocpp:uid:1:569374\r\nPreferred user interface language of identifier user. Contains a language code as defined in <<ref-RFC5646,[RFC5646]>>.\r\n\r\n",
"type": "string",
"maxLength": 8
},
"evseId": {
"description": "Only used when the IdToken is only valid for one or more specific EVSEs, not for the entire Charging Station.\r\n\r\n",
"type": "array",
"additionalItems": false,
"items": {
"type": "integer"
},
"minItems": 1
},
"groupIdToken": {
"$ref": "#/definitions/IdTokenType"
},
"language2": {
"description": "ID_ Token. Language2. Language_ Code\r\nurn:x-oca:ocpp:uid:1:569375\r\nSecond preferred user interface language of identifier user. Don’t use when language1 is omitted, has to be different from language1. Contains a language code as defined in <<ref-RFC5646,[RFC5646]>>.\r\n",
"type": "string",
"maxLength": 8
},
"personalMessage": {
"$ref": "#/definitions/MessageContentType"
}
},
"required": [
"status"
]
},
"IdTokenType": {
"description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n",
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"additionalInfo": {
"type": "array",
"additionalItems": false,
"items": {
"$ref": "#/definitions/AdditionalInfoType"
},
"minItems": 1
},
"idToken": {
"description": "IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.\r\n",
"type": "string",
"maxLength": 36
},
"type": {
"$ref": "#/definitions/IdTokenEnumType"
}
},
"required": [
"idToken",
"type"
]
},
"MessageContentType": {
"description": "Message_ Content\r\nurn:x-enexis:ecdm:uid:2:234490\r\nContains message details, for a message to be displayed on a Charging Station.\r\n\r\n",
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"format": {
"$ref": "#/definitions/MessageFormatEnumType"
},
"language": {
"description": "Message_ Content. Language. Language_ Code\r\nurn:x-enexis:ecdm:uid:1:570849\r\nMessage language identifier. Contains a language code as defined in <<ref-RFC5646,[RFC5646]>>.\r\n",
"type": "string",
"maxLength": 8
},
"content": {
"description": "Message_ Content. Content. Message\r\nurn:x-enexis:ecdm:uid:1:570852\r\nMessage contents.\r\n\r\n",
"type": "string",
"maxLength": 512
}
},
"required": [
"format",
"content"
]
}
},
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"idTokenInfo": {
"$ref": "#/definitions/IdTokenInfoType"
},
"certificateStatus": {
"$ref": "#/definitions/AuthorizeCertificateStatusEnumType"
}
},
"required": [
"idTokenInfo"
],
"type": "object"
},
{
"$id": "urn:BootNotification.req",
"$schema": "http://json-schema.org/draft-07/schema",
"additionalProperties": false,
"definitions": {
"CustomDataType": {
"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.",
"type": "object",
"properties": {
"vendorId": {
"type": "string",
"maxLength": 255
}
},
"required": [
"vendorId"
]
},
"BootReasonEnumType": {
"description": "This contains the reason for sending this message to the CSMS.\r\n",
"type": "string",
"enum": [
"ApplicationReset",
"FirmwareUpdate",
"LocalReset",
"PowerUp",
"RemoteReset",
"ScheduledReset",
"Triggered",
"Unknown",
"Watchdog"
]
},
"ChargingStationType": {
"description": "Charge_ Point\r\nurn:x-oca:ocpp:uid:2:233122\r\nThe physical system where an Electrical Vehicle (EV) can be charged.\r\n",
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"serialNumber": {
"description": "Device. Serial_ Number. Serial_ Number\r\nurn:x-oca:ocpp:uid:1:569324\r\nVendor-specific device identifier.\r\n",
"type": "string",
"maxLength": 25
},
"model": {
"description": "Device. Model. CI20_ Text\r\nurn:x-oca:ocpp:uid:1:569325\r\nDefines the model of the device.\r\n",
"type": "string",
"maxLength": 20
},
"modem": {
"$ref": "#/definitions/ModemType"
},
"vendorName": {
"description": "Identifies the vendor (not necessarily in a unique manner).\r\n",
"type": "string",
"maxLength": 50
},
"firmwareVersion": {
"description": "This contains the firmware version of the Charging Station.\r\n\r\n",
"type": "string",
"maxLength": 50
}
},
"required": [
"model",
"vendorName"
]
},
"ModemType": {
"description": "Wireless_ Communication_ Module\r\nurn:x-oca:ocpp:uid:2:233306\r\nDefines parameters required for initiating and maintaining wireless communication with other devices.\r\n",
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"iccid": {
"description": "Wireless_ Communication_ Module. ICCID. CI20_ Text\r\nurn:x-oca:ocpp:uid:1:569327\r\nThis contains the ICCID of the modem’s SIM card.\r\n",
"type": "string",
"maxLength": 20
},
"imsi": {
"description": "Wireless_ Communication_ Module. IMSI. CI20_ Text\r\nurn:x-oca:ocpp:uid:1:569328\r\nThis contains the IMSI of the modem’s SIM card.\r\n",
"type": "string",
"maxLength": 20
}
}
}
},
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"chargingStation": {
"$ref": "#/definitions/ChargingStationType"
},
"reason": {
"$ref": "#/definitions/BootReasonEnumType"
}
},
"required": [
"reason",
"chargingStation"
],
"type": "object"
},
{
"$id": "urn:BootNotification.conf",
"$schema": "http://json-schema.org/draft-07/schema",
"additionalProperties": false,
"definitions": {
"CustomDataType": {
"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.",
"type": "object",
"properties": {
"vendorId": {
"type": "string",
"maxLength": 255
}
},
"required": [
"vendorId"
]
},
"RegistrationStatusEnumType": {
"description": "This contains whether the Charging Station has been registered\r\nwithin the CSMS.\r\n",
"type": "string",
"enum": [
"Accepted",
"Pending",
"Rejected"
]
},
"StatusInfoType": {
"description": "Element providing more information about the status.\r\n",
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"reasonCode": {
"description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n",
"type": "string",
"maxLength": 20
},
"additionalInfo": {
"description": "Additional text to provide detailed information.\r\n",
"type": "string",
"maxLength": 512
}
},
"required": [
"reasonCode"
]
}
},
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"currentTime": {
"description": "This contains the CSMS’s current time.\r\n",
"type": "string",
"format": "date-time"
},
"interval": {
"description": "When <<cmn_registrationstatusenumtype,Status>> is Accepted, this contains the heartbeat interval in seconds. If the CSMS returns something other than Accepted, the value of the interval field indicates the minimum wait time before sending a next BootNotification request.\r\n",
"type": "integer"
},
"status": {
"$ref": "#/definitions/RegistrationStatusEnumType"
},
"statusInfo": {
"$ref": "#/definitions/StatusInfoType"
}
},
"required": [
"currentTime",
"interval",
"status"
],
"type": "object"
},
{
"$id": "urn:CancelReservation.req",
"$schema": "http://json-schema.org/draft-07/schema",
"additionalProperties": false,
"definitions": {
"CustomDataType": {
"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.",
"type": "object",
"properties": {
"vendorId": {
"type": "string",
"maxLength": 255
}
},
"required": [
"vendorId"
]
}
},
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"reservationId": {
"description": "Id of the reservation to cancel.\r\n",
"type": "integer"
}
},
"required": [
"reservationId"
],
"type": "object"
},
{
"$id": "urn:CancelReservation.conf",
"$schema": "http://json-schema.org/draft-07/schema",
"additionalProperties": false,
"definitions": {
"CustomDataType": {
"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.",
"type": "object",
"properties": {
"vendorId": {
"type": "string",
"maxLength": 255
}
},
"required": [
"vendorId"
]
},
"CancelReservationStatusEnumType": {
"description": "This indicates the success or failure of the canceling of a reservation by CSMS.\r\n",
"type": "string",
"enum": [
"Accepted",
"Rejected"
]
},
"StatusInfoType": {
"description": "Element providing more information about the status.\r\n",
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"reasonCode": {
"description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n",
"type": "string",
"maxLength": 20
},
"additionalInfo": {
"description": "Additional text to provide detailed information.\r\n",
"type": "string",
"maxLength": 512
}
},
"required": [
"reasonCode"
]
}
},
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"status": {
"$ref": "#/definitions/CancelReservationStatusEnumType"
},
"statusInfo": {
"$ref": "#/definitions/StatusInfoType"
}
},
"required": [
"status"
],
"type": "object"
},
{
"$id": "urn:CertificateSigned.req",
"$schema": "http://json-schema.org/draft-07/schema",
"additionalProperties": false,
"definitions": {
"CustomDataType": {
"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.",
"type": "object",
"properties": {
"vendorId": {
"type": "string",
"maxLength": 255
}
},
"required": [
"vendorId"
]
},
"CertificateSigningUseEnumType": {
"description": "Indicates the type of the signed certificate that is returned. When omitted the certificate is used for both the 15118 connection (if implemented) and the Charging Station to CSMS connection. This field is required when a typeOfCertificate was included in the <<signcertificaterequest,SignCertificateRequest>> that requested this certificate to be signed AND both the 15118 connection and the Charging Station connection are implemented.\r\n\r\n",
"type": "string",
"enum": [
"ChargingStationCertificate",
"V2GCertificate"
]
}
},
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"certificateChain": {
"description": "The signed PEM encoded X.509 certificate. This can also contain the necessary sub CA certificates. In that case, the order of the bundle should follow the certificate chain, starting from the leaf certificate.\r\n\r\nThe Configuration Variable <<configkey-max-certificate-chain-size,MaxCertificateChainSize>> can be used to limit the maximum size of this field.\r\n",
"type": "string",
"maxLength": 10000
},
"certificateType": {
"$ref": "#/definitions/CertificateSigningUseEnumType"
}
},
"required": [
"certificateChain"
],
"type": "object"
},
{
"$id": "urn:CertificateSigned.conf",
"$schema": "http://json-schema.org/draft-07/schema",
"additionalProperties": false,
"definitions": {
"CustomDataType": {
"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.",
"type": "object",
"properties": {
"vendorId": {
"type": "string",
"maxLength": 255
}
},
"required": [
"vendorId"
]
},
"CertificateSignedStatusEnumType": {
"description": "Returns whether certificate signing has been accepted, otherwise rejected.\r\n",
"type": "string",
"enum": [
"Accepted",
"Rejected"
]
},
"StatusInfoType": {
"description": "Element providing more information about the status.\r\n",
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"reasonCode": {
"description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n",
"type": "string",
"maxLength": 20
},
"additionalInfo": {
"description": "Additional text to provide detailed information.\r\n",
"type": "string",
"maxLength": 512
}
},
"required": [
"reasonCode"
]
}
},
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"status": {
"$ref": "#/definitions/CertificateSignedStatusEnumType"
},
"statusInfo": {
"$ref": "#/definitions/StatusInfoType"
}
},
"required": [
"status"
],
"type": "object"
},
{
"$id": "urn:ChangeAvailability.req",
"$schema": "http://json-schema.org/draft-07/schema",
"additionalProperties": false,
"definitions": {
"CustomDataType": {
"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.",
"type": "object",
"properties": {
"vendorId": {
"type": "string",
"maxLength": 255
}
},
"required": [
"vendorId"
]
},
"OperationalStatusEnumType": {
"description": "This contains the type of availability change that the Charging Station should perform.\r\n\r\n",
"type": "string",
"enum": [
"Inoperative",
"Operative"
]
},
"EVSEType": {
"description": "EVSE\r\nurn:x-oca:ocpp:uid:2:233123\r\nElectric Vehicle Supply Equipment\r\n",
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"id": {
"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",
"type": "integer"
},
"connectorId": {
"description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n",
"type": "integer"
}
},
"required": [
"id"
]
}
},
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"evse": {
"$ref": "#/definitions/EVSEType"
},
"operationalStatus": {
"$ref": "#/definitions/OperationalStatusEnumType"
}
},
"required": [
"operationalStatus"
],
"type": "object"
},
{
"$id": "urn:ChangeAvailability.conf",
"$schema": "http://json-schema.org/draft-07/schema",
"additionalProperties": false,
"definitions": {
"CustomDataType": {
"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.",
"type": "object",
"properties": {
"vendorId": {
"type": "string",
"maxLength": 255
}
},
"required": [
"vendorId"
]
},
"ChangeAvailabilityStatusEnumType": {
"description": "This indicates whether the Charging Station is able to perform the availability change.\r\n",
"type": "string",
"enum": [
"Accepted",
"Rejected",
"Scheduled"
]
},
"StatusInfoType": {
"description": "Element providing more information about the status.\r\n",
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"reasonCode": {
"description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n",
"type": "string",
"maxLength": 20
},
"additionalInfo": {
"description": "Additional text to provide detailed information.\r\n",
"type": "string",
"maxLength": 512
}
},
"required": [
"reasonCode"
]
}
},
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"status": {
"$ref": "#/definitions/ChangeAvailabilityStatusEnumType"
},
"statusInfo": {
"$ref": "#/definitions/StatusInfoType"
}
},
"required": [
"status"
],
"type": "object"
},
{
"$id": "urn:ClearCache.req",
"$schema": "http://json-schema.org/draft-07/schema",
"additionalProperties": false,
"definitions": {
"CustomDataType": {
"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.",
"type": "object",
"properties": {
"vendorId": {
"type": "string",
"maxLength": 255
}
},
"required": [
"vendorId"
]
}
},
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
}
},
"type": "object"
},
{
"$id": "urn:ClearCache.conf",
"$schema": "http://json-schema.org/draft-07/schema",
"additionalProperties": false,
"definitions": {
"CustomDataType": {
"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.",
"type": "object",
"properties": {
"vendorId": {
"type": "string",
"maxLength": 255
}
},
"required": [
"vendorId"
]
},
"ClearCacheStatusEnumType": {
"description": "Accepted if the Charging Station has executed the request, otherwise rejected.\r\n",
"type": "string",
"enum": [
"Accepted",
"Rejected"
]
},
"StatusInfoType": {
"description": "Element providing more information about the status.\r\n",
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"reasonCode": {
"description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n",
"type": "string",
"maxLength": 20
},
"additionalInfo": {
"description": "Additional text to provide detailed information.\r\n",
"type": "string",
"maxLength": 512
}
},
"required": [
"reasonCode"
]
}
},
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"status": {
"$ref": "#/definitions/ClearCacheStatusEnumType"
},
"statusInfo": {
"$ref": "#/definitions/StatusInfoType"
}
},
"required": [
"status"
],
"type": "object"
},
{
"$id": "urn:ClearChargingProfile.req",
"$schema": "http://json-schema.org/draft-07/schema",
"additionalProperties": false,
"definitions": {
"CustomDataType": {
"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.",
"type": "object",
"properties": {
"vendorId": {
"type": "string",
"maxLength": 255
}
},
"required": [
"vendorId"
]
},
"ChargingProfilePurposeEnumType": {
"description": "Charging_ Profile. Charging_ Profile_ Purpose. Charging_ Profile_ Purpose_ Code\r\nurn:x-oca:ocpp:uid:1:569231\r\nSpecifies to purpose of the charging profiles that will be cleared, if they meet the other criteria in the request.\r\n",
"type": "string",
"enum": [
"ChargingStationExternalConstraints",
"ChargingStationMaxProfile",
"TxDefaultProfile",
"TxProfile"
]
},
"ClearChargingProfileType": {
"description": "Charging_ Profile\r\nurn:x-oca:ocpp:uid:2:233255\r\nA ChargingProfile consists of a ChargingSchedule, describing the amount of power or current that can be delivered per time interval.\r\n",
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"evseId": {
"description": "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nSpecifies the id of the EVSE for which to clear charging profiles. An evseId of zero (0) specifies the charging profile for the overall Charging Station. Absence of this parameter means the clearing applies to all charging profiles that match the other criteria in the request.\r\n\r\n",
"type": "integer"
},
"chargingProfilePurpose": {
"$ref": "#/definitions/ChargingProfilePurposeEnumType"
},
"stackLevel": {
"description": "Charging_ Profile. Stack_ Level. Counter\r\nurn:x-oca:ocpp:uid:1:569230\r\nSpecifies the stackLevel for which charging profiles will be cleared, if they meet the other criteria in the request.\r\n",
"type": "integer"
}
}
}
},
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"chargingProfileId": {
"description": "The Id of the charging profile to clear.\r\n",
"type": "integer"
},
"chargingProfileCriteria": {
"$ref": "#/definitions/ClearChargingProfileType"
}
},
"type": "object"
},
{
"$id": "urn:ClearChargingProfile.conf",
"$schema": "http://json-schema.org/draft-07/schema",
"additionalProperties": false,
"definitions": {
"CustomDataType": {
"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.",
"type": "object",
"properties": {
"vendorId": {
"type": "string",
"maxLength": 255
}
},
"required": [
"vendorId"
]
},
"ClearChargingProfileStatusEnumType": {
"description": "Indicates if the Charging Station was able to execute the request.\r\n",
"type": "string",
"enum": [
"Accepted",
"Unknown"
]
},
"StatusInfoType": {
"description": "Element providing more information about the status.\r\n",
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"reasonCode": {
"description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n",
"type": "string",
"maxLength": 20
},
"additionalInfo": {
"description": "Additional text to provide detailed information.\r\n",
"type": "string",
"maxLength": 512
}
},
"required": [
"reasonCode"
]
}
},
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"status": {
"$ref": "#/definitions/ClearChargingProfileStatusEnumType"
},
"statusInfo": {
"$ref": "#/definitions/StatusInfoType"
}
},
"required": [
"status"
],
"type": "object"
},
{
"$id": "urn:ClearDisplayMessage.req",
"$schema": "http://json-schema.org/draft-07/schema",
"additionalProperties": false,
"definitions": {
"CustomDataType": {
"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.",
"type": "object",
"properties": {
"vendorId": {
"type": "string",
"maxLength": 255
}
},
"required": [
"vendorId"
]
}
},
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"id": {
"description": "Id of the message that SHALL be removed from the Charging Station.\r\n",
"type": "integer"
}
},
"required": [
"id"
],
"type": "object"
},
{
"$id": "urn:ClearDisplayMessage.conf",
"$schema": "http://json-schema.org/draft-07/schema",
"additionalProperties": false,
"definitions": {
"CustomDataType": {
"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.",
"type": "object",
"properties": {
"vendorId": {
"type": "string",
"maxLength": 255
}
},
"required": [