UNPKG

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,398 lines 338 kB
/* * * THIS FILE IS AUTOMATICALLY GENERATED AND SHOULD NEVER BE EDITED DIRECTLY. * SEE ../../BUILD.md * * GENERATED ON: 2025-04-04T14:44:58.170Z * */ const definitions = { "CustomDataType": { "type": "object", "properties": { "vendorId": { "type": "string", "maxLength": 255 } }, "required": [ "vendorId" ] }, "GenericStatusEnumType": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Rejected" ] }, "StatusInfoType": { "type": "object", "additionalProperties": false, "properties": { "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": 1024 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "reasonCode" ] }, "PeriodicEventStreamParamsType": { "type": "object", "additionalProperties": false, "properties": { "interval": { "description": "Time in seconds after which stream data is sent.\r\n", "type": "integer", "minimum": 0 }, "values": { "description": "Number of items to be sent together in stream.\r\n", "type": "integer", "minimum": 0 }, "customData": { "$ref": "#/definitions/CustomDataType" } } }, "HashAlgorithmEnumType": { "type": "string", "additionalProperties": false, "enum": [ "SHA256", "SHA384", "SHA512" ] }, "AdditionalInfoType": { "type": "object", "additionalProperties": false, "properties": { "additionalIdToken": { "description": "*(2.1)* This field specifies the additional IdToken.\r\n", "type": "string", "maxLength": 255 }, "type": { "description": "_additionalInfo_ can be used to send extra information to CSMS in addition to the regular authorization with _IdToken_. _AdditionalInfo_ contains one or more custom _types_, which need to be agreed upon by all parties involved. When the _type_ is not supported, the CSMS/Charging Station MAY ignore the _additionalInfo_.\r\n\r\n", "type": "string", "maxLength": 50 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "additionalIdToken", "type" ] }, "IdTokenType": { "type": "object", "additionalProperties": false, "properties": { "additionalInfo": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/AdditionalInfoType" }, "minItems": 1 }, "idToken": { "description": "*(2.1)* 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": 255 }, "type": { "description": "*(2.1)* Enumeration of possible idToken types. Values defined in Appendix as IdTokenEnumStringType.\r\n", "type": "string", "maxLength": 20 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "idToken", "type" ] }, "OCSPRequestDataType": { "type": "object", "additionalProperties": false, "properties": { "hashAlgorithm": { "$ref": "#/definitions/HashAlgorithmEnumType" }, "issuerNameHash": { "description": "The hash of the issuer’s distinguished\r\nname (DN), that must be calculated over the DER\r\nencoding of the issuer’s name field in the certificate\r\nbeing checked.\r\n", "type": "string", "maxLength": 128 }, "issuerKeyHash": { "description": "The hash of the DER encoded public key:\r\nthe value (excluding tag and length) of the subject\r\npublic key field in the issuer’s certificate.\r\n", "type": "string", "maxLength": 128 }, "serialNumber": { "description": "The string representation of the\r\nhexadecimal value of the serial number without the\r\nprefix \"0x\" and without leading zeroes.\r\n", "type": "string", "maxLength": 40 }, "responderURL": { "description": "This contains the responder URL (Case insensitive). \r\n\r\n", "type": "string", "maxLength": 2000 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "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" ] }, "DayOfWeekEnumType": { "type": "string", "additionalProperties": false, "enum": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ] }, "EnergyTransferModeEnumType": { "type": "string", "additionalProperties": false, "enum": [ "AC_single_phase", "AC_two_phase", "AC_three_phase", "DC", "AC_BPT", "AC_BPT_DER", "AC_DER", "DC_BPT", "DC_ACDP", "DC_ACDP_BPT", "WPT" ] }, "EvseKindEnumType": { "type": "string", "additionalProperties": false, "enum": [ "AC", "DC" ] }, "MessageFormatEnumType": { "type": "string", "additionalProperties": false, "enum": [ "ASCII", "HTML", "URI", "UTF8", "QRCODE" ] }, "IdTokenInfoType": { "type": "object", "additionalProperties": false, "properties": { "status": { "$ref": "#/definitions/AuthorizationStatusEnumType" }, "cacheExpiryDateTime": { "description": "Date 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" }, "groupIdToken": { "$ref": "#/definitions/IdTokenType" }, "language1": { "description": "Preferred user interface language of identifier user. Contains a language code as defined in <<ref-RFC5646,[RFC5646]>>.\r\n\r\n", "type": "string", "maxLength": 8 }, "language2": { "description": "Second 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 }, "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", "minimum": 0 }, "minItems": 1 }, "personalMessage": { "$ref": "#/definitions/MessageContentType" }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "status" ] }, "MessageContentType": { "type": "object", "additionalProperties": false, "properties": { "format": { "$ref": "#/definitions/MessageFormatEnumType" }, "language": { "description": "Message language identifier. Contains a language code as defined in <<ref-RFC5646,[RFC5646]>>.\r\n", "type": "string", "maxLength": 8 }, "content": { "description": "*(2.1)* Required. Message contents. +\r\nMaximum length supported by Charging Station is given in OCPPCommCtrlr.FieldLength[\"MessageContentType.content\"].\r\n Maximum length defaults to 1024.\r\n\r\n", "type": "string", "maxLength": 1024 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "format", "content" ] }, "PriceType": { "type": "object", "additionalProperties": false, "properties": { "exclTax": { "description": "Price/cost excluding tax. Can be absent if _inclTax_ is present.\r\n", "type": "number" }, "inclTax": { "description": "Price/cost including tax. Can be absent if _exclTax_ is present.\r\n", "type": "number" }, "taxRates": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/TaxRateType" }, "minItems": 1, "maxItems": 5 }, "customData": { "$ref": "#/definitions/CustomDataType" } } }, "TariffConditionsFixedType": { "type": "object", "additionalProperties": false, "properties": { "startTimeOfDay": { "description": "Start time of day in local time. +\r\nFormat as per RFC 3339: time-hour \":\" time-minute +\r\nMust be in 24h format with leading zeros. Hour/Minute separator: \":\"\r\nRegex: ([0-1][0-9]\\|2[0-3]):[0-5][0-9]\r\n", "type": "string" }, "endTimeOfDay": { "description": "End time of day in local time. Same syntax as _startTimeOfDay_. +\r\n If end time < start time then the period wraps around to the next day. +\r\n To stop at end of the day use: 00:00.\r\n", "type": "string" }, "dayOfWeek": { "description": "Day(s) of the week this is tariff applies.\r\n", "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/DayOfWeekEnumType" }, "minItems": 1, "maxItems": 7 }, "validFromDate": { "description": "Start date in local time, for example: 2015-12-24.\r\nValid from this day (inclusive). +\r\nFormat as per RFC 3339: full-date + \r\n\r\nRegex: ([12][0-9]{3})-(0[1-9]\\|1[0-2])-(0[1-9]\\|[12][0-9]\\|3[01])\r\n", "type": "string" }, "validToDate": { "description": "End date in local time, for example: 2015-12-27.\r\n Valid until this day (exclusive). Same syntax as _validFromDate_.\r\n", "type": "string" }, "evseKind": { "$ref": "#/definitions/EvseKindEnumType" }, "paymentBrand": { "description": "For which payment brand this (adhoc) tariff applies. Can be used to add a surcharge for certain payment brands.\r\n Based on value of _additionalIdToken_ from _idToken.additionalInfo.type_ = \"PaymentBrand\".\r\n", "type": "string", "maxLength": 20 }, "paymentRecognition": { "description": "Type of adhoc payment, e.g. CC, Debit.\r\n Based on value of _additionalIdToken_ from _idToken.additionalInfo.type_ = \"PaymentRecognition\".\r\n", "type": "string", "maxLength": 20 }, "customData": { "$ref": "#/definitions/CustomDataType" } } }, "TariffConditionsType": { "type": "object", "additionalProperties": false, "properties": { "startTimeOfDay": { "description": "Start time of day in local time. +\r\nFormat as per RFC 3339: time-hour \":\" time-minute +\r\nMust be in 24h format with leading zeros. Hour/Minute separator: \":\"\r\nRegex: ([0-1][0-9]\\|2[0-3]):[0-5][0-9]\r\n", "type": "string" }, "endTimeOfDay": { "description": "End time of day in local time. Same syntax as _startTimeOfDay_. +\r\n If end time < start time then the period wraps around to the next day. +\r\n To stop at end of the day use: 00:00.\r\n", "type": "string" }, "dayOfWeek": { "description": "Day(s) of the week this is tariff applies.\r\n", "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/DayOfWeekEnumType" }, "minItems": 1, "maxItems": 7 }, "validFromDate": { "description": "Start date in local time, for example: 2015-12-24.\r\nValid from this day (inclusive). +\r\nFormat as per RFC 3339: full-date + \r\n\r\nRegex: ([12][0-9]{3})-(0[1-9]\\|1[0-2])-(0[1-9]\\|[12][0-9]\\|3[01])\r\n", "type": "string" }, "validToDate": { "description": "End date in local time, for example: 2015-12-27.\r\n Valid until this day (exclusive). Same syntax as _validFromDate_.\r\n", "type": "string" }, "evseKind": { "$ref": "#/definitions/EvseKindEnumType" }, "minEnergy": { "description": "Minimum consumed energy in Wh, for example 20000 Wh.\r\n Valid from this amount of energy (inclusive) being used.\r\n", "type": "number" }, "maxEnergy": { "description": "Maximum consumed energy in Wh, for example 50000 Wh.\r\n Valid until this amount of energy (exclusive) being used.\r\n", "type": "number" }, "minCurrent": { "description": "Sum of the minimum current (in Amperes) over all phases, for example 5 A.\r\n When the EV is charging with more than, or equal to, the defined amount of current, this price is/becomes active. If the charging current is or becomes lower, this price is not or no longer valid and becomes inactive. +\r\n This is NOT about the minimum current over the entire transaction.\r\n", "type": "number" }, "maxCurrent": { "description": "Sum of the maximum current (in Amperes) over all phases, for example 20 A.\r\n When the EV is charging with less than the defined amount of current, this price becomes/is active. If the charging current is or becomes higher, this price is not or no longer valid and becomes inactive.\r\n This is NOT about the maximum current over the entire transaction.\r\n", "type": "number" }, "minPower": { "description": "Minimum power in W, for example 5000 W.\r\n When the EV is charging with more than, or equal to, the defined amount of power, this price is/becomes active.\r\n If the charging power is or becomes lower, this price is not or no longer valid and becomes inactive.\r\n This is NOT about the minimum power over the entire transaction.\r\n", "type": "number" }, "maxPower": { "description": "Maximum power in W, for example 20000 W.\r\n When the EV is charging with less than the defined amount of power, this price becomes/is active.\r\n If the charging power is or becomes higher, this price is not or no longer valid and becomes inactive.\r\n This is NOT about the maximum power over the entire transaction.\r\n", "type": "number" }, "minTime": { "description": "Minimum duration in seconds the transaction (charging & idle) MUST last (inclusive).\r\n When the duration of a transaction is longer than the defined value, this price is or becomes active.\r\n Before that moment, this price is not yet active.\r\n", "type": "integer" }, "maxTime": { "description": "Maximum duration in seconds the transaction (charging & idle) MUST last (exclusive).\r\n When the duration of a transaction is shorter than the defined value, this price is or becomes active.\r\n After that moment, this price is no longer active.\r\n", "type": "integer" }, "minChargingTime": { "description": "Minimum duration in seconds the charging MUST last (inclusive).\r\n When the duration of a charging is longer than the defined value, this price is or becomes active.\r\n Before that moment, this price is not yet active.\r\n", "type": "integer" }, "maxChargingTime": { "description": "Maximum duration in seconds the charging MUST last (exclusive).\r\n When the duration of a charging is shorter than the defined value, this price is or becomes active.\r\n After that moment, this price is no longer active.\r\n", "type": "integer" }, "minIdleTime": { "description": "Minimum duration in seconds the idle period (i.e. not charging) MUST last (inclusive).\r\n When the duration of the idle time is longer than the defined value, this price is or becomes active.\r\n Before that moment, this price is not yet active.\r\n", "type": "integer" }, "maxIdleTime": { "description": "Maximum duration in seconds the idle period (i.e. not charging) MUST last (exclusive).\r\n When the duration of idle time is shorter than the defined value, this price is or becomes active.\r\n After that moment, this price is no longer active.\r\n", "type": "integer" }, "customData": { "$ref": "#/definitions/CustomDataType" } } }, "TariffEnergyPriceType": { "type": "object", "additionalProperties": false, "properties": { "priceKwh": { "description": "Price per kWh (excl. tax) for this element.\r\n", "type": "number" }, "conditions": { "$ref": "#/definitions/TariffConditionsType" }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "priceKwh" ] }, "TariffEnergyType": { "type": "object", "additionalProperties": false, "properties": { "prices": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/TariffEnergyPriceType" }, "minItems": 1 }, "taxRates": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/TaxRateType" }, "minItems": 1, "maxItems": 5 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "prices" ] }, "TariffFixedPriceType": { "type": "object", "additionalProperties": false, "properties": { "conditions": { "$ref": "#/definitions/TariffConditionsFixedType" }, "priceFixed": { "description": "Fixed price for this element e.g. a start fee.\r\n", "type": "number" }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "priceFixed" ] }, "TariffFixedType": { "type": "object", "additionalProperties": false, "properties": { "prices": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/TariffFixedPriceType" }, "minItems": 1 }, "taxRates": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/TaxRateType" }, "minItems": 1, "maxItems": 5 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "prices" ] }, "TariffTimePriceType": { "type": "object", "additionalProperties": false, "properties": { "priceMinute": { "description": "Price per minute (excl. tax) for this element.\r\n", "type": "number" }, "conditions": { "$ref": "#/definitions/TariffConditionsType" }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "priceMinute" ] }, "TariffTimeType": { "type": "object", "additionalProperties": false, "properties": { "prices": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/TariffTimePriceType" }, "minItems": 1 }, "taxRates": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/TaxRateType" }, "minItems": 1, "maxItems": 5 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "prices" ] }, "TariffType": { "type": "object", "additionalProperties": false, "properties": { "tariffId": { "description": "Unique id of tariff\r\n", "type": "string", "maxLength": 60 }, "description": { "type": "array", "additionalItems": false, "items": { "$ref": "#/definitions/MessageContentType" }, "minItems": 1, "maxItems": 10 }, "currency": { "description": "Currency code according to ISO 4217\r\n", "type": "string", "maxLength": 3 }, "energy": { "$ref": "#/definitions/TariffEnergyType" }, "validFrom": { "description": "Time when this tariff becomes active. When absent, it is immediately active.\r\n", "type": "string", "format": "date-time" }, "chargingTime": { "$ref": "#/definitions/TariffTimeType" }, "idleTime": { "$ref": "#/definitions/TariffTimeType" }, "fixedFee": { "$ref": "#/definitions/TariffFixedType" }, "reservationTime": { "$ref": "#/definitions/TariffTimeType" }, "reservationFixed": { "$ref": "#/definitions/TariffFixedType" }, "minCost": { "$ref": "#/definitions/PriceType" }, "maxCost": { "$ref": "#/definitions/PriceType" }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "tariffId", "currency" ] }, "TaxRateType": { "type": "object", "additionalProperties": false, "properties": { "type": { "description": "Type of this tax, e.g. \"Federal \", \"State\", for information on receipt.\r\n", "type": "string", "maxLength": 20 }, "tax": { "description": "Tax percentage\r\n", "type": "number" }, "stack": { "description": "Stack level for this type of tax. Default value, when absent, is 0. +\r\n_stack_ = 0: tax on net price; +\r\n_stack_ = 1: tax added on top of _stack_ 0; +\r\n_stack_ = 2: tax added on top of _stack_ 1, etc. \r\n", "type": "integer", "minimum": 0 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "type", "tax" ] }, "BatterySwapEventEnumType": { "type": "string", "additionalProperties": false, "enum": [ "BatteryIn", "BatteryOut", "BatteryOutTimeout" ] }, "BatteryDataType": { "type": "object", "additionalProperties": false, "properties": { "evseId": { "description": "Slot number where battery is inserted or removed.\r\n", "type": "integer", "minimum": 0 }, "serialNumber": { "description": "Serial number of battery.\r\n", "type": "string", "maxLength": 50 }, "soC": { "description": "State of charge\r\n", "type": "number", "minimum": 0, "maximum": 100 }, "soH": { "description": "State of health\r\n\r\n", "type": "number", "minimum": 0, "maximum": 100 }, "productionDate": { "description": "Production date of battery.\r\n\r\n", "type": "string", "format": "date-time" }, "vendorInfo": { "description": "Vendor-specific info from battery in undefined format.\r\n", "type": "string", "maxLength": 500 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "evseId", "serialNumber", "soC", "soH" ] }, "BootReasonEnumType": { "type": "string", "additionalProperties": false, "enum": [ "ApplicationReset", "FirmwareUpdate", "LocalReset", "PowerUp", "RemoteReset", "ScheduledReset", "Triggered", "Unknown", "Watchdog" ] }, "ChargingStationType": { "type": "object", "additionalProperties": false, "properties": { "serialNumber": { "description": "Vendor-specific device identifier.\r\n", "type": "string", "maxLength": 25 }, "model": { "description": "Defines 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 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "model", "vendorName" ] }, "ModemType": { "type": "object", "additionalProperties": false, "properties": { "iccid": { "description": "This contains the ICCID of the modem’s SIM card.\r\n", "type": "string", "maxLength": 20 }, "imsi": { "description": "This contains the IMSI of the modem’s SIM card.\r\n", "type": "string", "maxLength": 20 }, "customData": { "$ref": "#/definitions/CustomDataType" } } }, "RegistrationStatusEnumType": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Pending", "Rejected" ] }, "CancelReservationStatusEnumType": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Rejected" ] }, "CertificateSigningUseEnumType": { "type": "string", "additionalProperties": false, "enum": [ "ChargingStationCertificate", "V2GCertificate", "V2G20Certificate" ] }, "CertificateSignedStatusEnumType": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Rejected" ] }, "OperationalStatusEnumType": { "type": "string", "additionalProperties": false, "enum": [ "Inoperative", "Operative" ] }, "EVSEType": { "type": "object", "additionalProperties": false, "properties": { "id": { "description": "EVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", "type": "integer", "minimum": 0 }, "connectorId": { "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", "type": "integer", "minimum": 0 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "id" ] }, "ChangeAvailabilityStatusEnumType": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Rejected", "Scheduled" ] }, "TariffChangeStatusEnumType": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Rejected", "TooManyElements", "ConditionNotSupported", "TxNotFound", "NoCurrencyChange" ] }, "ClearCacheStatusEnumType": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Rejected" ] }, "ChargingProfilePurposeEnumType": { "type": "string", "additionalProperties": false, "enum": [ "ChargingStationExternalConstraints", "ChargingStationMaxProfile", "TxDefaultProfile", "TxProfile", "PriorityCharging", "LocalGeneration" ] }, "ClearChargingProfileType": { "type": "object", "additionalProperties": false, "properties": { "evseId": { "description": "Specifies 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", "minimum": 0 }, "chargingProfilePurpose": { "$ref": "#/definitions/ChargingProfilePurposeEnumType" }, "stackLevel": { "description": "Specifies the stackLevel for which charging profiles will be cleared, if they meet the other criteria in the request.\r\n", "type": "integer", "minimum": 0 }, "customData": { "$ref": "#/definitions/CustomDataType" } } }, "ClearChargingProfileStatusEnumType": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Unknown" ] }, "DERControlEnumType": { "type": "string", "additionalProperties": false, "enum": [ "EnterService", "FreqDroop", "FreqWatt", "FixedPFAbsorb", "FixedPFInject", "FixedVar", "Gradients", "HFMustTrip", "HFMayTrip", "HVMustTrip", "HVMomCess", "HVMayTrip", "LimitMaxDischarge", "LFMustTrip", "LVMustTrip", "LVMomCess", "LVMayTrip", "PowerMonitoringMustTrip", "VoltVar", "VoltWatt", "WattPF", "WattVar" ] }, "DERControlStatusEnumType": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Rejected", "NotSupported", "NotFound" ] }, "ClearMessageStatusEnumType": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Unknown", "Rejected" ] }, "TariffClearStatusEnumType": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Rejected", "NoTariff" ] }, "ClearTariffsResultType": { "type": "object", "additionalProperties": false, "properties": { "statusInfo": { "$ref": "#/definitions/StatusInfoType" }, "tariffId": { "description": "Id of tariff for which _status_ is reported. If no tariffs were found, then this field is absent, and _status_ will be `NoTariff`.\r\n", "type": "string", "maxLength": 60 }, "status": { "$ref": "#/definitions/TariffClearStatusEnumType" }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "status" ] }, "ClearMonitoringStatusEnumType": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Rejected", "NotFound" ] }, "ClearMonitoringResultType": { "type": "object", "additionalProperties": false, "properties": { "status": { "$ref": "#/definitions/ClearMonitoringStatusEnumType" }, "id": { "description": "Id of the monitor of which a clear was requested.\r\n\r\n", "type": "integer", "minimum": 0 }, "statusInfo": { "$ref": "#/definitions/StatusInfoType" }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "status", "id" ] }, "CertificateHashDataType": { "type": "object", "additionalProperties": false, "properties": { "hashAlgorithm": { "$ref": "#/definitions/HashAlgorithmEnumType" }, "issuerNameHash": { "description": "The hash of the issuer’s distinguished\r\nname (DN), that must be calculated over the DER\r\nencoding of the issuer’s name field in the certificate\r\nbeing checked.\r\n\r\n", "type": "string", "maxLength": 128 }, "issuerKeyHash": { "description": "The hash of the DER encoded public key:\r\nthe value (excluding tag and length) of the subject\r\npublic key field in the issuer’s certificate.\r\n", "type": "string", "maxLength": 128 }, "serialNumber": { "description": "The string representation of the\r\nhexadecimal value of the serial number without the\r\nprefix \"0x\" and without leading zeroes.\r\n", "type": "string", "maxLength": 40 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "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" ] }, "CertificateStatusSourceEnumType": { "type": "string", "additionalProperties": false, "enum": [ "CRL", "OCSP" ] }, "CertificateStatusRequestInfoType": { "type": "object", "additionalProperties": false, "properties": { "certificateHashData": { "$ref": "#/definitions/CertificateHashDataType" }, "source": { "$ref": "#/definitions/CertificateStatusSourceEnumType" }, "urls": { "description": "URL(s) of _source_.\r\n", "type": "array", "additionalItems": false, "items": { "type": "string", "maxLength": 2000 }, "minItems": 1, "maxItems": 5 }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "source", "urls", "certificateHashData" ] }, "CertificateStatusEnumType": { "type": "string", "additionalProperties": false, "enum": [ "Good", "Revoked", "Unknown", "Failed" ] }, "CertificateStatusType": { "type": "object", "additionalProperties": false, "properties": { "certificateHashData": { "$ref": "#/definitions/CertificateHashDataType" }, "source": { "$ref": "#/definitions/CertificateStatusSourceEnumType" }, "status": { "$ref": "#/definitions/CertificateStatusEnumType" }, "nextUpdate": { "type": "string", "format": "date-time" }, "customData": { "$ref": "#/definitions/CustomDataType" } }, "required": [ "source", "status", "nextUpdate", "certificateHashData" ] }, "GetCertificateStatusEnumType": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "Failed" ] }, "ChargingProfileCriterionType": { "type": "object", "additionalProperties": false, "properties": { "chargingProfilePurpose": { "$ref": "#/definitions/ChargingProfilePurposeEnumType" }, "stackLevel": { "description": "Value determining level in hierarchy stack of profiles. Higher values have precedence over lower values. Lowest level is 0.\r\n", "type": "integer", "minimum": 0 }, "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. Values defined in Appendix as ChargingLimitSourceEnumStringType.\r\n", "type": "array", "additionalItems": false, "items": { "type": "string", "maxLength": 20 }, "minItems": 1, "maxItems": 4 }, "customData": { "$ref": "#/definitions/CustomDataType" } } }, "GetChargingProfileStatusEnumType": { "type": "string", "additionalProperties": false, "enum": [ "Accepted", "NoProfiles" ] }, "ChargingRateUnitEnumType": { "type": "string", "additionalProperties": false, "enum": [ "W", "A" ] }, "OperationModeEnumType": { "type": "string", "additionalProperties": false, "enum": [ "Idle", "ChargingOnly", "CentralSetpoint", "ExternalSetpoint", "ExternalLimits", "CentralFrequency", "LocalFrequency", "LocalLoadBalancing" ] }, "ChargingSchedulePeriodType": { "type": "object", "additionalProperties": false, "properties": { "startPeriod": { "description": "Start 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": "Optional only when not required by the _operationMode_, as in CentralSetpoint, ExternalSetpoint, ExternalLimits, LocalFrequency, LocalLoadBalancing. +\r\nCharging rate limit during the schedule period, in the applicable _chargingRateUnit_. \r\nThis SHOULD be a non-negative value; a negative value is only supported for backwards compatibility with older systems that use a negative value to specify a discharging limit.\r\nWhen using _chargingRateUnit_ = `W`, this field represents the sum of the power of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", "type": "number" }, "limit_L2": { "description": "*(2.1)* Charging rate limit on phase L2 in the applicable _chargingRateUnit_. \r\n", "type": "number" }, "limit_L3": { "description": "*(2.1)* Charging rate limit on phase L3 in the applicable _chargingRateUnit_. \r\n", "type": "number" }, "numberPhases": { "description": "The number of phases that can be used for charging. +\r\nFor a DC EVSE this field should be omitted. +\r\nFor an AC EVSE a default value of _numberPhases_ = 3 will be assumed if the field is absent.\r\n", "type": "integer", "minimum": 0, "maximum": 3 }, "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", "minimum": 0, "maximum": 3 }, "dischargeLimit": { "description": "*(2.1)* Limit in _chargingRateUnit_ that the EV is allowed to discharge with. Note, these are negative values in order to be consistent with _setpoint_, which can be positive and negative. +\r\nFor AC this field represents the sum of all phases, unless values are provided for L2 and L3, in which case this field represents phase L1.\r\n", "type": "number", "maximum": 0 }, "dischargeLimit_L2": { "description": "*(2.1)* Limit in _chargingRateUnit_ on