typed-ocpp
Version:
A library for type-aware parsing, serialization and validation of OCPP 1.6, OCPP 2.0 and OCPP 2.1 messages
1,460 lines • 178 kB
JavaScript
/*
*
* THIS FILE IS AUTOMATICALLY GENERATED AND SHOULD NEVER BE EDITED DIRECTLY.
* SEE ../../BUILD.md
*
* GENERATED ON: 2025-04-04T14:44:51.000Z
*
*/
const definitions = {
"CustomDataType": {
"type": "object",
"properties": {
"vendorId": {
"type": "string",
"maxLength": 255
}
},
"required": [
"vendorId"
]
},
"HashAlgorithmEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"SHA256",
"SHA384",
"SHA512"
]
},
"IdTokenEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Central",
"eMAID",
"ISO14443",
"ISO15693",
"KeyCode",
"Local",
"MacAddress",
"NoAuthorization"
]
},
"AdditionalInfoType": {
"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": {
"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"
]
},
"AuthorizationStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"Blocked",
"ConcurrentTx",
"Expired",
"Invalid",
"NoCredit",
"NotAllowedTypeEVSE",
"NotAtThisLocation",
"NotAtThisTime",
"Unknown"
]
},
"AuthorizeCertificateStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"SignatureError",
"CertificateExpired",
"CertificateRevoked",
"NoCertificateAvailable",
"CertChainError",
"ContractCancelled"
]
},
"MessageFormatEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"ASCII",
"HTML",
"URI",
"UTF8"
]
},
"IdTokenInfoType": {
"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"
]
},
"MessageContentType": {
"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"
]
},
"BootReasonEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"ApplicationReset",
"FirmwareUpdate",
"LocalReset",
"PowerUp",
"RemoteReset",
"ScheduledReset",
"Triggered",
"Unknown",
"Watchdog"
]
},
"ChargingStationType": {
"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": {
"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
}
}
},
"RegistrationStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"Pending",
"Rejected"
]
},
"StatusInfoType": {
"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"
]
},
"CancelReservationStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"Rejected"
]
},
"CertificateSigningUseEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"ChargingStationCertificate",
"V2GCertificate"
]
},
"CertificateSignedStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"Rejected"
]
},
"OperationalStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Inoperative",
"Operative"
]
},
"EVSEType": {
"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"
]
},
"ChangeAvailabilityStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"Rejected",
"Scheduled"
]
},
"ClearCacheStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"Rejected"
]
},
"ChargingProfilePurposeEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"ChargingStationExternalConstraints",
"ChargingStationMaxProfile",
"TxDefaultProfile",
"TxProfile"
]
},
"ClearChargingProfileType": {
"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"
}
}
},
"ClearChargingProfileStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"Unknown"
]
},
"ClearMessageStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"Unknown"
]
},
"ClearMonitoringStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"Rejected",
"NotFound"
]
},
"ClearMonitoringResultType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"status": {
"$ref": "#/definitions/ClearMonitoringStatusEnumType"
},
"id": {
"description": "Id of the monitor of which a clear was requested.\r\n\r\n",
"type": "integer"
},
"statusInfo": {
"$ref": "#/definitions/StatusInfoType"
}
},
"required": [
"status",
"id"
]
},
"ChargingLimitSourceEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"EMS",
"Other",
"SO",
"CSO"
]
},
"CertificateHashDataType": {
"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
}
},
"required": [
"hashAlgorithm",
"issuerNameHash",
"issuerKeyHash",
"serialNumber"
]
},
"CustomerInformationStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"Rejected",
"Invalid"
]
},
"DataTransferStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"Rejected",
"UnknownMessageId",
"UnknownVendorId"
]
},
"DeleteCertificateStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"Failed",
"NotFound"
]
},
"FirmwareStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Downloaded",
"DownloadFailed",
"Downloading",
"DownloadScheduled",
"DownloadPaused",
"Idle",
"InstallationFailed",
"Installing",
"Installed",
"InstallRebooting",
"InstallScheduled",
"InstallVerificationFailed",
"InvalidSignature",
"SignatureVerified"
]
},
"CertificateActionEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Install",
"Update"
]
},
"Iso15118EVCertificateStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"Failed"
]
},
"ReportBaseEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"ConfigurationInventory",
"FullInventory",
"SummaryInventory"
]
},
"GenericDeviceModelStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"Rejected",
"NotSupported",
"EmptyResultSet"
]
},
"GetCertificateStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"Failed"
]
},
"ChargingProfileCriterionType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"chargingProfilePurpose": {
"$ref": "#/definitions/ChargingProfilePurposeEnumType"
},
"stackLevel": {
"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",
"type": "integer"
},
"chargingProfileId": {
"description": "List of all the chargingProfileIds requested. Any ChargingProfile that matches one of these profiles will be reported. If omitted, the Charging Station SHALL not filter on chargingProfileId. This field SHALL NOT contain more ids than set in <<configkey-charging-profile-entries,ChargingProfileEntries.maxLimit>>\r\n\r\n",
"type": "array",
"additionalItems": false,
"items": {
"type": "integer"
},
"minItems": 1
},
"chargingLimitSource": {
"description": "For which charging limit sources, charging profiles SHALL be reported. If omitted, the Charging Station SHALL not filter on chargingLimitSource.\r\n",
"type": "array",
"additionalItems": false,
"items": {
"$ref": "#/definitions/ChargingLimitSourceEnumType"
},
"minItems": 1,
"maxItems": 4
}
}
},
"GetChargingProfileStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"NoProfiles"
]
},
"ChargingRateUnitEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"W",
"A"
]
},
"GenericStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"Rejected"
]
},
"ChargingSchedulePeriodType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"startPeriod": {
"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",
"type": "integer"
},
"limit": {
"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",
"type": "number"
},
"numberPhases": {
"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",
"type": "integer"
},
"phaseToUse": {
"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",
"type": "integer"
}
},
"required": [
"startPeriod",
"limit"
]
},
"CompositeScheduleType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"chargingSchedulePeriod": {
"type": "array",
"additionalItems": false,
"items": {
"$ref": "#/definitions/ChargingSchedulePeriodType"
},
"minItems": 1
},
"evseId": {
"description": "The ID of the EVSE for which the\r\nschedule is requested. When evseid=0, the\r\nCharging Station calculated the expected\r\nconsumption for the grid connection.\r\n",
"type": "integer"
},
"duration": {
"description": "Duration of the schedule in seconds.\r\n",
"type": "integer"
},
"scheduleStart": {
"description": "Composite_ Schedule. Start. Date_ Time\r\nurn:x-oca:ocpp:uid:1:569456\r\nDate and time at which the schedule becomes active. All time measurements within the schedule are relative to this timestamp.\r\n",
"type": "string",
"format": "date-time"
},
"chargingRateUnit": {
"$ref": "#/definitions/ChargingRateUnitEnumType"
}
},
"required": [
"evseId",
"duration",
"scheduleStart",
"chargingRateUnit",
"chargingSchedulePeriod"
]
},
"MessagePriorityEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"AlwaysFront",
"InFront",
"NormalCycle"
]
},
"MessageStateEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Charging",
"Faulted",
"Idle",
"Unavailable"
]
},
"GetDisplayMessagesStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"Unknown"
]
},
"GetCertificateIdUseEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"V2GRootCertificate",
"MORootCertificate",
"CSMSRootCertificate",
"V2GCertificateChain",
"ManufacturerRootCertificate"
]
},
"GetInstalledCertificateStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"NotFound"
]
},
"CertificateHashDataChainType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"certificateHashData": {
"$ref": "#/definitions/CertificateHashDataType"
},
"certificateType": {
"$ref": "#/definitions/GetCertificateIdUseEnumType"
},
"childCertificateHashData": {
"type": "array",
"additionalItems": false,
"items": {
"$ref": "#/definitions/CertificateHashDataType"
},
"minItems": 1,
"maxItems": 4
}
},
"required": [
"certificateType",
"certificateHashData"
]
},
"LogEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"DiagnosticsLog",
"SecurityLog"
]
},
"LogParametersType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"remoteLocation": {
"description": "Log. Remote_ Location. URI\r\nurn:x-enexis:ecdm:uid:1:569484\r\nThe URL of the location at the remote system where the log should be stored.\r\n",
"type": "string",
"maxLength": 512
},
"oldestTimestamp": {
"description": "Log. Oldest_ Timestamp. Date_ Time\r\nurn:x-enexis:ecdm:uid:1:569477\r\nThis contains the date and time of the oldest logging information to include in the diagnostics.\r\n",
"type": "string",
"format": "date-time"
},
"latestTimestamp": {
"description": "Log. Latest_ Timestamp. Date_ Time\r\nurn:x-enexis:ecdm:uid:1:569482\r\nThis contains the date and time of the latest logging information to include in the diagnostics.\r\n",
"type": "string",
"format": "date-time"
}
},
"required": [
"remoteLocation"
]
},
"LogStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"Rejected",
"AcceptedCanceled"
]
},
"MonitoringCriterionEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"ThresholdMonitoring",
"DeltaMonitoring",
"PeriodicMonitoring"
]
},
"ComponentType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"evse": {
"$ref": "#/definitions/EVSEType"
},
"name": {
"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",
"type": "string",
"maxLength": 50
},
"instance": {
"description": "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n",
"type": "string",
"maxLength": 50
}
},
"required": [
"name"
]
},
"ComponentVariableType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"component": {
"$ref": "#/definitions/ComponentType"
},
"variable": {
"$ref": "#/definitions/VariableType"
}
},
"required": [
"component"
]
},
"VariableType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"name": {
"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",
"type": "string",
"maxLength": 50
},
"instance": {
"description": "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n",
"type": "string",
"maxLength": 50
}
},
"required": [
"name"
]
},
"ComponentCriterionEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Active",
"Available",
"Enabled",
"Problem"
]
},
"AttributeEnumType": {
"type": "string",
"default": "Actual",
"additionalProperties": false,
"enum": [
"Actual",
"Target",
"MinSet",
"MaxSet"
]
},
"GetVariableDataType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"attributeType": {
"$ref": "#/definitions/AttributeEnumType"
},
"component": {
"$ref": "#/definitions/ComponentType"
},
"variable": {
"$ref": "#/definitions/VariableType"
}
},
"required": [
"component",
"variable"
]
},
"GetVariableStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"Rejected",
"UnknownComponent",
"UnknownVariable",
"NotSupportedAttributeType"
]
},
"GetVariableResultType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"attributeStatusInfo": {
"$ref": "#/definitions/StatusInfoType"
},
"attributeStatus": {
"$ref": "#/definitions/GetVariableStatusEnumType"
},
"attributeType": {
"$ref": "#/definitions/AttributeEnumType"
},
"attributeValue": {
"description": "Value of requested attribute type of component-variable. This field can only be empty when the given status is NOT accepted.\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",
"type": "string",
"maxLength": 2500
},
"component": {
"$ref": "#/definitions/ComponentType"
},
"variable": {
"$ref": "#/definitions/VariableType"
}
},
"required": [
"attributeStatus",
"component",
"variable"
]
},
"InstallCertificateUseEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"V2GRootCertificate",
"MORootCertificate",
"CSMSRootCertificate",
"ManufacturerRootCertificate"
]
},
"InstallCertificateStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"Accepted",
"Rejected",
"Failed"
]
},
"UploadLogStatusEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"BadMessage",
"Idle",
"NotSupportedOperation",
"PermissionDenied",
"Uploaded",
"UploadFailure",
"Uploading",
"AcceptedCanceled"
]
},
"LocationEnumType": {
"type": "string",
"default": "Outlet",
"additionalProperties": false,
"enum": [
"Body",
"Cable",
"EV",
"Inlet",
"Outlet"
]
},
"MeasurandEnumType": {
"type": "string",
"default": "Energy.Active.Import.Register",
"additionalProperties": false,
"enum": [
"Current.Export",
"Current.Import",
"Current.Offered",
"Energy.Active.Export.Register",
"Energy.Active.Import.Register",
"Energy.Reactive.Export.Register",
"Energy.Reactive.Import.Register",
"Energy.Active.Export.Interval",
"Energy.Active.Import.Interval",
"Energy.Active.Net",
"Energy.Reactive.Export.Interval",
"Energy.Reactive.Import.Interval",
"Energy.Reactive.Net",
"Energy.Apparent.Net",
"Energy.Apparent.Import",
"Energy.Apparent.Export",
"Frequency",
"Power.Active.Export",
"Power.Active.Import",
"Power.Factor",
"Power.Offered",
"Power.Reactive.Export",
"Power.Reactive.Import",
"SoC",
"Voltage"
]
},
"PhaseEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"L1",
"L2",
"L3",
"N",
"L1-N",
"L2-N",
"L3-N",
"L1-L2",
"L2-L3",
"L3-L1"
]
},
"ReadingContextEnumType": {
"type": "string",
"default": "Sample.Periodic",
"additionalProperties": false,
"enum": [
"Interruption.Begin",
"Interruption.End",
"Other",
"Sample.Clock",
"Sample.Periodic",
"Transaction.Begin",
"Transaction.End",
"Trigger"
]
},
"MeterValueType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"sampledValue": {
"type": "array",
"additionalItems": false,
"items": {
"$ref": "#/definitions/SampledValueType"
},
"minItems": 1
},
"timestamp": {
"description": "Meter_ Value. Timestamp. Date_ Time\r\nurn:x-oca:ocpp:uid:1:569259\r\nTimestamp for measured value(s).\r\n",
"type": "string",
"format": "date-time"
}
},
"required": [
"timestamp",
"sampledValue"
]
},
"SampledValueType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"value": {
"description": "Sampled_ Value. Value. Measure\r\nurn:x-oca:ocpp:uid:1:569260\r\nIndicates the measured value.\r\n\r\n",
"type": "number"
},
"context": {
"$ref": "#/definitions/ReadingContextEnumType"
},
"measurand": {
"$ref": "#/definitions/MeasurandEnumType"
},
"phase": {
"$ref": "#/definitions/PhaseEnumType"
},
"location": {
"$ref": "#/definitions/LocationEnumType"
},
"signedMeterValue": {
"$ref": "#/definitions/SignedMeterValueType"
},
"unitOfMeasure": {
"$ref": "#/definitions/UnitOfMeasureType"
}
},
"required": [
"value"
]
},
"SignedMeterValueType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"signedMeterData": {
"description": "Base64 encoded, contains the signed data which might contain more then just the meter value. It can contain information like timestamps, reference to a customer etc.\r\n",
"type": "string",
"maxLength": 2500
},
"signingMethod": {
"description": "Method used to create the digital signature.\r\n",
"type": "string",
"maxLength": 50
},
"encodingMethod": {
"description": "Method used to encode the meter values before applying the digital signature algorithm.\r\n",
"type": "string",
"maxLength": 50
},
"publicKey": {
"description": "Base64 encoded, sending depends on configuration variable _PublicKeyWithSignedMeterValue_.\r\n",
"type": "string",
"maxLength": 2500
}
},
"required": [
"signedMeterData",
"signingMethod",
"encodingMethod",
"publicKey"
]
},
"UnitOfMeasureType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"unit": {
"description": "Unit of the value. Default = \"Wh\" if the (default) measurand is an \"Energy\" type.\r\nThis field SHALL use a value from the list Standardized Units of Measurements in Part 2 Appendices. \r\nIf an applicable unit is available in that list, otherwise a \"custom\" unit might be used.\r\n",
"type": "string",
"default": "Wh",
"maxLength": 20
},
"multiplier": {
"description": "Multiplier, this value represents the exponent to base 10. I.e. multiplier 3 means 10 raised to the 3rd power. Default is 0.\r\n",
"type": "integer",
"default": 0
}
}
},
"CostKindEnumType": {
"type": "string",
"additionalProperties": false,
"enum": [
"CarbonDioxideEmission",
"RelativePricePercentage",
"RenewableGenerationPercentage"
]
},
"ChargingLimitType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"chargingLimitSource": {
"$ref": "#/definitions/ChargingLimitSourceEnumType"
},
"isGridCritical": {
"description": "Charging_ Limit. Is_ Grid_ Critical. Indicator\r\nurn:x-enexis:ecdm:uid:1:570847\r\nIndicates whether the charging limit is critical for the grid.\r\n",
"type": "boolean"
}
},
"required": [
"chargingLimitSource"
]
},
"ChargingScheduleType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"id": {
"description": "Identifies the ChargingSchedule.\r\n",
"type": "integer"
},
"startSchedule": {
"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",
"type": "string",
"format": "date-time"
},
"duration": {
"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",
"type": "integer"
},
"chargingRateUnit": {
"$ref": "#/definitions/ChargingRateUnitEnumType"
},
"chargingSchedulePeriod": {
"type": "array",
"additionalItems": false,
"items": {
"$ref": "#/definitions/ChargingSchedulePeriodType"
},
"minItems": 1,
"maxItems": 1024
},
"minChargingRate": {
"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",
"type": "number"
},
"salesTariff": {
"$ref": "#/definitions/SalesTariffType"
}
},
"required": [
"id",
"chargingRateUnit",
"chargingSchedulePeriod"
]
},
"ConsumptionCostType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"startValue": {
"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",
"type": "number"
},
"cost": {
"type": "array",
"additionalItems": false,
"items": {
"$ref": "#/definitions/CostType"
},
"minItems": 1,
"maxItems": 3
}
},
"required": [
"startValue",
"cost"
]
},
"CostType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"costKind": {
"$ref": "#/definitions/CostKindEnumType"
},
"amount": {
"description": "Cost. Amount. Amount\r\nurn:x-oca:ocpp:uid:1:569244\r\nThe estimated or actual cost per kWh\r\n",
"type": "integer"
},
"amountMultiplier": {
"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",
"type": "integer"
}
},
"required": [
"costKind",
"amount"
]
},
"RelativeTimeIntervalType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"start": {
"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",
"type": "integer"
},
"duration": {
"description": "Relative_ Timer_ Interval. Duration. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569280\r\nDuration of the interval, in seconds.\r\n",
"type": "integer"
}
},
"required": [
"start"
]
},
"SalesTariffEntryType": {
"type": "object",
"additionalProperties": false,
"properties": {
"customData": {
"$ref": "#/definitions/CustomDataType"
},
"relativeTimeInterval": {
"$ref": "#/definitions/RelativeTimeIntervalType"
},
"ePriceLevel": {
"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",
"type": "integer",
"minimum": 0
},
"consumptionCost": {
"type": "array",
"additionalItems": false,
"items": {
"$ref": "#/definitions/ConsumptionCostType"
},
"minItems": 1,
"maxItems": 3
}
},
"required": [
"relativeTimeInterval"
]
},
"SalesTariffType": {
"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\nSalesTariff identifier used to identify one sales tariff. An SAID remains a unique identifier for one schedule throughout a charging session.\r\n",
"type": "integer"
},
"salesTariffDescription": {
"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",
"type": "string",
"maxLength": 32
},
"numEPriceLevels": {
"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",
"type": "integer"
},
"salesTariffEntry": {
"type": "array",
"additionalItems": false,
"items": {
"$ref": "#/definitions/SalesTariffEntryType