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,151 lines (1,150 loc) • 40.8 kB
TypeScript
export interface CustomDataType {
vendorId: string;
[k: string]: unknown;
}
export type HashAlgorithmEnumType = "SHA256" | "SHA384" | "SHA512";
export type IdTokenEnumType = "Central" | "eMAID" | "ISO14443" | "ISO15693" | "KeyCode" | "Local" | "MacAddress" | "NoAuthorization";
export interface AdditionalInfoType {
customData?: CustomDataType;
additionalIdToken: string;
type: string;
}
export interface IdTokenType {
customData?: CustomDataType;
additionalInfo?: AdditionalInfoType[];
idToken: string;
type: IdTokenEnumType;
}
export interface OCSPRequestDataType {
customData?: CustomDataType;
hashAlgorithm: HashAlgorithmEnumType;
issuerNameHash: string;
issuerKeyHash: string;
serialNumber: string;
responderURL: string;
}
export type AuthorizationStatusEnumType = "Accepted" | "Blocked" | "ConcurrentTx" | "Expired" | "Invalid" | "NoCredit" | "NotAllowedTypeEVSE" | "NotAtThisLocation" | "NotAtThisTime" | "Unknown";
export type AuthorizeCertificateStatusEnumType = "Accepted" | "SignatureError" | "CertificateExpired" | "CertificateRevoked" | "NoCertificateAvailable" | "CertChainError" | "ContractCancelled";
export type MessageFormatEnumType = "ASCII" | "HTML" | "URI" | "UTF8";
export interface IdTokenInfoType {
customData?: CustomDataType;
status: AuthorizationStatusEnumType;
cacheExpiryDateTime?: string;
chargingPriority?: number;
language1?: string;
evseId?: number[];
groupIdToken?: IdTokenType;
language2?: string;
personalMessage?: MessageContentType;
}
export interface MessageContentType {
customData?: CustomDataType;
format: MessageFormatEnumType;
language?: string;
content: string;
}
export type BootReasonEnumType = "ApplicationReset" | "FirmwareUpdate" | "LocalReset" | "PowerUp" | "RemoteReset" | "ScheduledReset" | "Triggered" | "Unknown" | "Watchdog";
export interface ChargingStationType {
customData?: CustomDataType;
serialNumber?: string;
model: string;
modem?: ModemType;
vendorName: string;
firmwareVersion?: string;
}
export interface ModemType {
customData?: CustomDataType;
iccid?: string;
imsi?: string;
}
export type RegistrationStatusEnumType = "Accepted" | "Pending" | "Rejected";
export interface StatusInfoType {
customData?: CustomDataType;
reasonCode: string;
additionalInfo?: string;
}
export type CancelReservationStatusEnumType = "Accepted" | "Rejected";
export type CertificateSigningUseEnumType = "ChargingStationCertificate" | "V2GCertificate";
export type CertificateSignedStatusEnumType = "Accepted" | "Rejected";
export type OperationalStatusEnumType = "Inoperative" | "Operative";
export interface EVSEType {
customData?: CustomDataType;
id: number;
connectorId?: number;
}
export type ChangeAvailabilityStatusEnumType = "Accepted" | "Rejected" | "Scheduled";
export type ClearCacheStatusEnumType = "Accepted" | "Rejected";
export type ChargingProfilePurposeEnumType = "ChargingStationExternalConstraints" | "ChargingStationMaxProfile" | "TxDefaultProfile" | "TxProfile";
export interface ClearChargingProfileType {
customData?: CustomDataType;
evseId?: number;
chargingProfilePurpose?: ChargingProfilePurposeEnumType;
stackLevel?: number;
}
export type ClearChargingProfileStatusEnumType = "Accepted" | "Unknown";
export type ClearMessageStatusEnumType = "Accepted" | "Unknown";
export type ClearMonitoringStatusEnumType = "Accepted" | "Rejected" | "NotFound";
export interface ClearMonitoringResultType {
customData?: CustomDataType;
status: ClearMonitoringStatusEnumType;
id: number;
statusInfo?: StatusInfoType;
}
export type ChargingLimitSourceEnumType = "EMS" | "Other" | "SO" | "CSO";
export interface CertificateHashDataType {
customData?: CustomDataType;
hashAlgorithm: HashAlgorithmEnumType;
issuerNameHash: string;
issuerKeyHash: string;
serialNumber: string;
}
export type CustomerInformationStatusEnumType = "Accepted" | "Rejected" | "Invalid";
export type DataTransferStatusEnumType = "Accepted" | "Rejected" | "UnknownMessageId" | "UnknownVendorId";
export type DeleteCertificateStatusEnumType = "Accepted" | "Failed" | "NotFound";
export type FirmwareStatusEnumType = "Downloaded" | "DownloadFailed" | "Downloading" | "DownloadScheduled" | "DownloadPaused" | "Idle" | "InstallationFailed" | "Installing" | "Installed" | "InstallRebooting" | "InstallScheduled" | "InstallVerificationFailed" | "InvalidSignature" | "SignatureVerified";
export type CertificateActionEnumType = "Install" | "Update";
export type Iso15118EVCertificateStatusEnumType = "Accepted" | "Failed";
export type ReportBaseEnumType = "ConfigurationInventory" | "FullInventory" | "SummaryInventory";
export type GenericDeviceModelStatusEnumType = "Accepted" | "Rejected" | "NotSupported" | "EmptyResultSet";
export type GetCertificateStatusEnumType = "Accepted" | "Failed";
export interface ChargingProfileCriterionType {
customData?: CustomDataType;
chargingProfilePurpose?: ChargingProfilePurposeEnumType;
stackLevel?: number;
chargingProfileId?: number[];
chargingLimitSource?: ChargingLimitSourceEnumType[];
}
export type GetChargingProfileStatusEnumType = "Accepted" | "NoProfiles";
export type ChargingRateUnitEnumType = "W" | "A";
export type GenericStatusEnumType = "Accepted" | "Rejected";
export interface ChargingSchedulePeriodType {
customData?: CustomDataType;
startPeriod: number;
limit: number;
numberPhases?: number;
phaseToUse?: number;
}
export interface CompositeScheduleType {
customData?: CustomDataType;
chargingSchedulePeriod: ChargingSchedulePeriodType[];
evseId: number;
duration: number;
scheduleStart: string;
chargingRateUnit: ChargingRateUnitEnumType;
}
export type MessagePriorityEnumType = "AlwaysFront" | "InFront" | "NormalCycle";
export type MessageStateEnumType = "Charging" | "Faulted" | "Idle" | "Unavailable";
export type GetDisplayMessagesStatusEnumType = "Accepted" | "Unknown";
export type GetCertificateIdUseEnumType = "V2GRootCertificate" | "MORootCertificate" | "CSMSRootCertificate" | "V2GCertificateChain" | "ManufacturerRootCertificate";
export type GetInstalledCertificateStatusEnumType = "Accepted" | "NotFound";
export interface CertificateHashDataChainType {
customData?: CustomDataType;
certificateHashData: CertificateHashDataType;
certificateType: GetCertificateIdUseEnumType;
childCertificateHashData?: CertificateHashDataType[];
}
export type LogEnumType = "DiagnosticsLog" | "SecurityLog";
export interface LogParametersType {
customData?: CustomDataType;
remoteLocation: string;
oldestTimestamp?: string;
latestTimestamp?: string;
}
export type LogStatusEnumType = "Accepted" | "Rejected" | "AcceptedCanceled";
export type MonitoringCriterionEnumType = "ThresholdMonitoring" | "DeltaMonitoring" | "PeriodicMonitoring";
export interface ComponentType {
customData?: CustomDataType;
evse?: EVSEType;
name: string;
instance?: string;
}
export interface ComponentVariableType {
customData?: CustomDataType;
component: ComponentType;
variable?: VariableType;
}
export interface VariableType {
customData?: CustomDataType;
name: string;
instance?: string;
}
export type ComponentCriterionEnumType = "Active" | "Available" | "Enabled" | "Problem";
export type AttributeEnumType = "Actual" | "Target" | "MinSet" | "MaxSet";
export interface GetVariableDataType {
customData?: CustomDataType;
attributeType?: AttributeEnumType;
component: ComponentType;
variable: VariableType;
}
export type GetVariableStatusEnumType = "Accepted" | "Rejected" | "UnknownComponent" | "UnknownVariable" | "NotSupportedAttributeType";
export interface GetVariableResultType {
customData?: CustomDataType;
attributeStatusInfo?: StatusInfoType;
attributeStatus: GetVariableStatusEnumType;
attributeType?: AttributeEnumType;
attributeValue?: string;
component: ComponentType;
variable: VariableType;
}
export type InstallCertificateUseEnumType = "V2GRootCertificate" | "MORootCertificate" | "CSMSRootCertificate" | "ManufacturerRootCertificate";
export type InstallCertificateStatusEnumType = "Accepted" | "Rejected" | "Failed";
export type UploadLogStatusEnumType = "BadMessage" | "Idle" | "NotSupportedOperation" | "PermissionDenied" | "Uploaded" | "UploadFailure" | "Uploading" | "AcceptedCanceled";
export type LocationEnumType = "Body" | "Cable" | "EV" | "Inlet" | "Outlet";
export type MeasurandEnumType = "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";
export type PhaseEnumType = "L1" | "L2" | "L3" | "N" | "L1-N" | "L2-N" | "L3-N" | "L1-L2" | "L2-L3" | "L3-L1";
export type ReadingContextEnumType = "Interruption.Begin" | "Interruption.End" | "Other" | "Sample.Clock" | "Sample.Periodic" | "Transaction.Begin" | "Transaction.End" | "Trigger";
export interface MeterValueType {
customData?: CustomDataType;
sampledValue: SampledValueType[];
timestamp: string;
}
export interface SampledValueType {
customData?: CustomDataType;
value: number;
context?: ReadingContextEnumType;
measurand?: MeasurandEnumType;
phase?: PhaseEnumType;
location?: LocationEnumType;
signedMeterValue?: SignedMeterValueType;
unitOfMeasure?: UnitOfMeasureType;
}
export interface SignedMeterValueType {
customData?: CustomDataType;
signedMeterData: string;
signingMethod: string;
encodingMethod: string;
publicKey: string;
}
export interface UnitOfMeasureType {
customData?: CustomDataType;
unit?: string;
multiplier?: number;
}
export type CostKindEnumType = "CarbonDioxideEmission" | "RelativePricePercentage" | "RenewableGenerationPercentage";
export interface ChargingLimitType {
customData?: CustomDataType;
chargingLimitSource: ChargingLimitSourceEnumType;
isGridCritical?: boolean;
}
export interface ChargingScheduleType {
customData?: CustomDataType;
id: number;
startSchedule?: string;
duration?: number;
chargingRateUnit: ChargingRateUnitEnumType;
chargingSchedulePeriod: ChargingSchedulePeriodType[];
minChargingRate?: number;
salesTariff?: SalesTariffType;
}
export interface ConsumptionCostType {
customData?: CustomDataType;
startValue: number;
cost: CostType[];
}
export interface CostType {
customData?: CustomDataType;
costKind: CostKindEnumType;
amount: number;
amountMultiplier?: number;
}
export interface RelativeTimeIntervalType {
customData?: CustomDataType;
start: number;
duration?: number;
}
export interface SalesTariffEntryType {
customData?: CustomDataType;
relativeTimeInterval: RelativeTimeIntervalType;
ePriceLevel?: number;
consumptionCost?: ConsumptionCostType[];
}
export interface SalesTariffType {
customData?: CustomDataType;
id: number;
salesTariffDescription?: string;
numEPriceLevels?: number;
salesTariffEntry: SalesTariffEntryType[];
}
export interface MessageInfoType {
customData?: CustomDataType;
display?: ComponentType;
id: number;
priority: MessagePriorityEnumType;
state?: MessageStateEnumType;
startDateTime?: string;
endDateTime?: string;
transactionId?: string;
message: MessageContentType;
}
export type EnergyTransferModeEnumType = "DC" | "AC_single_phase" | "AC_two_phase" | "AC_three_phase";
export interface ACChargingParametersType {
customData?: CustomDataType;
energyAmount: number;
evMinCurrent: number;
evMaxCurrent: number;
evMaxVoltage: number;
}
export interface ChargingNeedsType {
customData?: CustomDataType;
acChargingParameters?: ACChargingParametersType;
dcChargingParameters?: DCChargingParametersType;
requestedEnergyTransfer: EnergyTransferModeEnumType;
departureTime?: string;
}
export interface DCChargingParametersType {
customData?: CustomDataType;
evMaxCurrent: number;
evMaxVoltage: number;
energyAmount?: number;
evMaxPower?: number;
stateOfCharge?: number;
evEnergyCapacity?: number;
fullSoC?: number;
bulkSoC?: number;
}
export type NotifyEVChargingNeedsStatusEnumType = "Accepted" | "Rejected" | "Processing";
export type EventNotificationEnumType = "HardWiredNotification" | "HardWiredMonitor" | "PreconfiguredMonitor" | "CustomMonitor";
export type EventTriggerEnumType = "Alerting" | "Delta" | "Periodic";
export interface EventDataType {
customData?: CustomDataType;
eventId: number;
timestamp: string;
trigger: EventTriggerEnumType;
cause?: number;
actualValue: string;
techCode?: string;
techInfo?: string;
cleared?: boolean;
transactionId?: string;
component: ComponentType;
variableMonitoringId?: number;
eventNotificationType: EventNotificationEnumType;
variable: VariableType;
}
export type MonitorEnumType = "UpperThreshold" | "LowerThreshold" | "Delta" | "Periodic" | "PeriodicClockAligned";
export interface MonitoringDataType {
customData?: CustomDataType;
component: ComponentType;
variable: VariableType;
variableMonitoring: VariableMonitoringType[];
}
export interface VariableMonitoringType {
customData?: CustomDataType;
id: number;
transaction: boolean;
value: number;
type: MonitorEnumType;
severity: number;
}
export type DataEnumType = "string" | "decimal" | "integer" | "dateTime" | "boolean" | "OptionList" | "SequenceList" | "MemberList";
export type MutabilityEnumType = "ReadOnly" | "WriteOnly" | "ReadWrite";
export interface ReportDataType {
customData?: CustomDataType;
component: ComponentType;
variable: VariableType;
variableAttribute: VariableAttributeType[];
variableCharacteristics?: VariableCharacteristicsType;
}
export interface VariableAttributeType {
customData?: CustomDataType;
type?: AttributeEnumType;
value?: string;
mutability?: MutabilityEnumType;
persistent?: boolean;
constant?: boolean;
}
export interface VariableCharacteristicsType {
customData?: CustomDataType;
unit?: string;
dataType: DataEnumType;
minLimit?: number;
maxLimit?: number;
valuesList?: string;
supportsMonitoring: boolean;
}
export type PublishFirmwareStatusEnumType = "Idle" | "DownloadScheduled" | "Downloading" | "Downloaded" | "Published" | "DownloadFailed" | "DownloadPaused" | "InvalidChecksum" | "ChecksumVerified" | "PublishFailed";
export type ChargingProfileKindEnumType = "Absolute" | "Recurring" | "Relative";
export type RecurrencyKindEnumType = "Daily" | "Weekly";
export interface ChargingProfileType {
customData?: CustomDataType;
id: number;
stackLevel: number;
chargingProfilePurpose: ChargingProfilePurposeEnumType;
chargingProfileKind: ChargingProfileKindEnumType;
recurrencyKind?: RecurrencyKindEnumType;
validFrom?: string;
validTo?: string;
chargingSchedule: ChargingScheduleType[];
transactionId?: string;
}
export type RequestStartStopStatusEnumType = "Accepted" | "Rejected";
export type ReservationUpdateStatusEnumType = "Expired" | "Removed";
export type ConnectorEnumType = "cCCS1" | "cCCS2" | "cG105" | "cTesla" | "cType1" | "cType2" | "s309-1P-16A" | "s309-1P-32A" | "s309-3P-16A" | "s309-3P-32A" | "sBS1361" | "sCEE-7-7" | "sType2" | "sType3" | "Other1PhMax16A" | "Other1PhOver16A" | "Other3Ph" | "Pan" | "wInductive" | "wResonant" | "Undetermined" | "Unknown";
export type ReserveNowStatusEnumType = "Accepted" | "Faulted" | "Occupied" | "Rejected" | "Unavailable";
export type ResetEnumType = "Immediate" | "OnIdle";
export type ResetStatusEnumType = "Accepted" | "Rejected" | "Scheduled";
export type UpdateEnumType = "Differential" | "Full";
export interface AuthorizationData {
customData?: CustomDataType;
idToken: IdTokenType;
idTokenInfo?: IdTokenInfoType;
}
export type SendLocalListStatusEnumType = "Accepted" | "Failed" | "VersionMismatch";
export type ChargingProfileStatusEnumType = "Accepted" | "Rejected";
export type DisplayMessageStatusEnumType = "Accepted" | "NotSupportedMessageFormat" | "Rejected" | "NotSupportedPriority" | "NotSupportedState" | "UnknownTransaction";
export type MonitoringBaseEnumType = "All" | "FactoryDefault" | "HardWiredOnly";
export type APNAuthenticationEnumType = "CHAP" | "NONE" | "PAP" | "AUTO";
export type OCPPInterfaceEnumType = "Wired0" | "Wired1" | "Wired2" | "Wired3" | "Wireless0" | "Wireless1" | "Wireless2" | "Wireless3";
export type OCPPTransportEnumType = "JSON" | "SOAP";
export type OCPPVersionEnumType = "OCPP12" | "OCPP15" | "OCPP16" | "OCPP20";
export type VPNEnumType = "IKEv2" | "IPSec" | "L2TP" | "PPTP";
export interface APNType {
customData?: CustomDataType;
apn: string;
apnUserName?: string;
apnPassword?: string;
simPin?: number;
preferredNetwork?: string;
useOnlyPreferredNetwork?: boolean;
apnAuthentication: APNAuthenticationEnumType;
}
export interface NetworkConnectionProfileType {
customData?: CustomDataType;
apn?: APNType;
ocppVersion: OCPPVersionEnumType;
ocppTransport: OCPPTransportEnumType;
ocppCsmsUrl: string;
messageTimeout: number;
securityProfile: number;
ocppInterface: OCPPInterfaceEnumType;
vpn?: VPNType;
}
export interface VPNType {
customData?: CustomDataType;
server: string;
user: string;
group?: string;
password: string;
key: string;
type: VPNEnumType;
}
export type SetNetworkProfileStatusEnumType = "Accepted" | "Rejected" | "Failed";
export interface SetMonitoringDataType {
customData?: CustomDataType;
id?: number;
transaction?: boolean;
value: number;
type: MonitorEnumType;
severity: number;
component: ComponentType;
variable: VariableType;
}
export type SetMonitoringStatusEnumType = "Accepted" | "UnknownComponent" | "UnknownVariable" | "UnsupportedMonitorType" | "Rejected" | "Duplicate";
export interface SetMonitoringResultType {
customData?: CustomDataType;
id?: number;
statusInfo?: StatusInfoType;
status: SetMonitoringStatusEnumType;
type: MonitorEnumType;
component: ComponentType;
variable: VariableType;
severity: number;
}
export interface SetVariableDataType {
customData?: CustomDataType;
attributeType?: AttributeEnumType;
attributeValue: string;
component: ComponentType;
variable: VariableType;
}
export type SetVariableStatusEnumType = "Accepted" | "Rejected" | "UnknownComponent" | "UnknownVariable" | "NotSupportedAttributeType" | "RebootRequired";
export interface SetVariableResultType {
customData?: CustomDataType;
attributeType?: AttributeEnumType;
attributeStatus: SetVariableStatusEnumType;
attributeStatusInfo?: StatusInfoType;
component: ComponentType;
variable: VariableType;
}
export type ConnectorStatusEnumType = "Available" | "Occupied" | "Reserved" | "Unavailable" | "Faulted";
export type ChargingStateEnumType = "Charging" | "EVConnected" | "SuspendedEV" | "SuspendedEVSE" | "Idle";
export type ReasonEnumType = "DeAuthorized" | "EmergencyStop" | "EnergyLimitReached" | "EVDisconnected" | "GroundFault" | "ImmediateReset" | "Local" | "LocalOutOfCredit" | "MasterPass" | "Other" | "OvercurrentFault" | "PowerLoss" | "PowerQuality" | "Reboot" | "Remote" | "SOCLimitReached" | "StoppedByEV" | "TimeLimitReached" | "Timeout";
export type TransactionEventEnumType = "Ended" | "Started" | "Updated";
export type TriggerReasonEnumType = "Authorized" | "CablePluggedIn" | "ChargingRateChanged" | "ChargingStateChanged" | "Deauthorized" | "EnergyLimitReached" | "EVCommunicationLost" | "EVConnectTimeout" | "MeterValueClock" | "MeterValuePeriodic" | "TimeLimitReached" | "Trigger" | "UnlockCommand" | "StopAuthorized" | "EVDeparted" | "EVDetected" | "RemoteStop" | "RemoteStart" | "AbnormalCondition" | "SignedDataReceived" | "ResetCommand";
export interface TransactionType {
customData?: CustomDataType;
transactionId: string;
chargingState?: ChargingStateEnumType;
timeSpentCharging?: number;
stoppedReason?: ReasonEnumType;
remoteStartId?: number;
}
export type MessageTriggerEnumType = "BootNotification" | "LogStatusNotification" | "FirmwareStatusNotification" | "Heartbeat" | "MeterValues" | "SignChargingStationCertificate" | "SignV2GCertificate" | "StatusNotification" | "TransactionEvent" | "SignCombinedCertificate" | "PublishFirmwareStatusNotification";
export type TriggerMessageStatusEnumType = "Accepted" | "Rejected" | "NotImplemented";
export type UnlockStatusEnumType = "Unlocked" | "UnlockFailed" | "OngoingAuthorizedTransaction" | "UnknownConnector";
export type UnpublishFirmwareStatusEnumType = "DownloadOngoing" | "NoFirmware" | "Unpublished";
export interface FirmwareType {
customData?: CustomDataType;
location: string;
retrieveDateTime: string;
installDateTime?: string;
signingCertificate?: string;
signature?: string;
}
export type UpdateFirmwareStatusEnumType = "Accepted" | "Rejected" | "AcceptedCanceled" | "InvalidCertificate" | "RevokedCertificate";
export interface AuthorizeRequest {
customData?: CustomDataType;
idToken: IdTokenType;
certificate?: string;
iso15118CertificateHashData?: OCSPRequestDataType[];
}
export interface AuthorizeResponse {
customData?: CustomDataType;
idTokenInfo: IdTokenInfoType;
certificateStatus?: AuthorizeCertificateStatusEnumType;
}
export interface BootNotificationRequest {
customData?: CustomDataType;
chargingStation: ChargingStationType;
reason: BootReasonEnumType;
}
export interface BootNotificationResponse {
customData?: CustomDataType;
currentTime: string;
interval: number;
status: RegistrationStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface CancelReservationRequest {
customData?: CustomDataType;
reservationId: number;
}
export interface CancelReservationResponse {
customData?: CustomDataType;
status: CancelReservationStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface CertificateSignedRequest {
customData?: CustomDataType;
certificateChain: string;
certificateType?: CertificateSigningUseEnumType;
}
export interface CertificateSignedResponse {
customData?: CustomDataType;
status: CertificateSignedStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface ChangeAvailabilityRequest {
customData?: CustomDataType;
evse?: EVSEType;
operationalStatus: OperationalStatusEnumType;
}
export interface ChangeAvailabilityResponse {
customData?: CustomDataType;
status: ChangeAvailabilityStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface ClearCacheRequest {
customData?: CustomDataType;
}
export interface ClearCacheResponse {
customData?: CustomDataType;
status: ClearCacheStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface ClearChargingProfileRequest {
customData?: CustomDataType;
chargingProfileId?: number;
chargingProfileCriteria?: ClearChargingProfileType;
}
export interface ClearChargingProfileResponse {
customData?: CustomDataType;
status: ClearChargingProfileStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface ClearDisplayMessageRequest {
customData?: CustomDataType;
id: number;
}
export interface ClearDisplayMessageResponse {
customData?: CustomDataType;
status: ClearMessageStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface ClearVariableMonitoringRequest {
customData?: CustomDataType;
id: number[];
}
export interface ClearVariableMonitoringResponse {
customData?: CustomDataType;
clearMonitoringResult: ClearMonitoringResultType[];
}
export interface ClearedChargingLimitRequest {
customData?: CustomDataType;
chargingLimitSource: ChargingLimitSourceEnumType;
evseId?: number;
}
export interface ClearedChargingLimitResponse {
customData?: CustomDataType;
}
export interface CostUpdatedRequest {
customData?: CustomDataType;
totalCost: number;
transactionId: string;
}
export interface CostUpdatedResponse {
customData?: CustomDataType;
}
export interface CustomerInformationRequest {
customData?: CustomDataType;
customerCertificate?: CertificateHashDataType;
idToken?: IdTokenType;
requestId: number;
report: boolean;
clear: boolean;
customerIdentifier?: string;
}
export interface CustomerInformationResponse {
customData?: CustomDataType;
status: CustomerInformationStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface DataTransferRequest {
customData?: CustomDataType;
messageId?: string;
data?: {
[k: string]: unknown;
};
vendorId: string;
}
export interface DataTransferResponse {
customData?: CustomDataType;
status: DataTransferStatusEnumType;
statusInfo?: StatusInfoType;
data?: {
[k: string]: unknown;
};
}
export interface DeleteCertificateRequest {
customData?: CustomDataType;
certificateHashData: CertificateHashDataType;
}
export interface DeleteCertificateResponse {
customData?: CustomDataType;
status: DeleteCertificateStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface FirmwareStatusNotificationRequest {
customData?: CustomDataType;
status: FirmwareStatusEnumType;
requestId?: number;
}
export interface FirmwareStatusNotificationResponse {
customData?: CustomDataType;
}
export interface Get15118EVCertificateRequest {
customData?: CustomDataType;
iso15118SchemaVersion: string;
action: CertificateActionEnumType;
exiRequest: string;
}
export interface Get15118EVCertificateResponse {
customData?: CustomDataType;
status: Iso15118EVCertificateStatusEnumType;
statusInfo?: StatusInfoType;
exiResponse: string;
}
export interface GetBaseReportRequest {
customData?: CustomDataType;
requestId: number;
reportBase: ReportBaseEnumType;
}
export interface GetBaseReportResponse {
customData?: CustomDataType;
status: GenericDeviceModelStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface GetCertificateStatusRequest {
customData?: CustomDataType;
ocspRequestData: OCSPRequestDataType;
}
export interface GetCertificateStatusResponse {
customData?: CustomDataType;
status: GetCertificateStatusEnumType;
statusInfo?: StatusInfoType;
ocspResult?: string;
}
export interface GetChargingProfilesRequest {
customData?: CustomDataType;
requestId: number;
evseId?: number;
chargingProfile: ChargingProfileCriterionType;
}
export interface GetChargingProfilesResponse {
customData?: CustomDataType;
status: GetChargingProfileStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface GetCompositeScheduleRequest {
customData?: CustomDataType;
duration: number;
chargingRateUnit?: ChargingRateUnitEnumType;
evseId: number;
}
export interface GetCompositeScheduleResponse {
customData?: CustomDataType;
status: GenericStatusEnumType;
statusInfo?: StatusInfoType;
schedule?: CompositeScheduleType;
}
export interface GetDisplayMessagesRequest {
customData?: CustomDataType;
id?: number[];
requestId: number;
priority?: MessagePriorityEnumType;
state?: MessageStateEnumType;
}
export interface GetDisplayMessagesResponse {
customData?: CustomDataType;
status: GetDisplayMessagesStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface GetInstalledCertificateIdsRequest {
customData?: CustomDataType;
certificateType?: GetCertificateIdUseEnumType[];
}
export interface GetInstalledCertificateIdsResponse {
customData?: CustomDataType;
status: GetInstalledCertificateStatusEnumType;
statusInfo?: StatusInfoType;
certificateHashDataChain?: CertificateHashDataChainType[];
}
export interface GetLocalListVersionRequest {
customData?: CustomDataType;
}
export interface GetLocalListVersionResponse {
customData?: CustomDataType;
versionNumber: number;
}
export interface GetLogRequest {
customData?: CustomDataType;
log: LogParametersType;
logType: LogEnumType;
requestId: number;
retries?: number;
retryInterval?: number;
}
export interface GetLogResponse {
customData?: CustomDataType;
status: LogStatusEnumType;
statusInfo?: StatusInfoType;
filename?: string;
}
export interface GetMonitoringReportRequest {
customData?: CustomDataType;
componentVariable?: ComponentVariableType[];
requestId: number;
monitoringCriteria?: MonitoringCriterionEnumType[];
}
export interface GetMonitoringReportResponse {
customData?: CustomDataType;
status: GenericDeviceModelStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface GetReportRequest {
customData?: CustomDataType;
componentVariable?: ComponentVariableType[];
requestId: number;
componentCriteria?: ComponentCriterionEnumType[];
}
export interface GetReportResponse {
customData?: CustomDataType;
status: GenericDeviceModelStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface GetTransactionStatusRequest {
customData?: CustomDataType;
transactionId?: string;
}
export interface GetTransactionStatusResponse {
customData?: CustomDataType;
ongoingIndicator?: boolean;
messagesInQueue: boolean;
}
export interface GetVariablesRequest {
customData?: CustomDataType;
getVariableData: GetVariableDataType[];
}
export interface GetVariablesResponse {
customData?: CustomDataType;
getVariableResult: GetVariableResultType[];
}
export interface HeartbeatRequest {
customData?: CustomDataType;
}
export interface HeartbeatResponse {
customData?: CustomDataType;
currentTime: string;
}
export interface InstallCertificateRequest {
customData?: CustomDataType;
certificateType: InstallCertificateUseEnumType;
certificate: string;
}
export interface InstallCertificateResponse {
customData?: CustomDataType;
status: InstallCertificateStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface LogStatusNotificationRequest {
customData?: CustomDataType;
status: UploadLogStatusEnumType;
requestId?: number;
}
export interface LogStatusNotificationResponse {
customData?: CustomDataType;
}
export interface MeterValuesRequest {
customData?: CustomDataType;
evseId: number;
meterValue: MeterValueType[];
}
export interface MeterValuesResponse {
customData?: CustomDataType;
}
export interface NotifyChargingLimitRequest {
customData?: CustomDataType;
chargingSchedule?: ChargingScheduleType[];
evseId?: number;
chargingLimit: ChargingLimitType;
}
export interface NotifyChargingLimitResponse {
customData?: CustomDataType;
}
export interface NotifyCustomerInformationRequest {
customData?: CustomDataType;
data: string;
tbc?: boolean;
seqNo: number;
generatedAt: string;
requestId: number;
}
export interface NotifyCustomerInformationResponse {
customData?: CustomDataType;
}
export interface NotifyDisplayMessagesRequest {
customData?: CustomDataType;
messageInfo?: MessageInfoType[];
requestId: number;
tbc?: boolean;
}
export interface NotifyDisplayMessagesResponse {
customData?: CustomDataType;
}
export interface NotifyEVChargingNeedsRequest {
customData?: CustomDataType;
maxScheduleTuples?: number;
chargingNeeds: ChargingNeedsType;
evseId: number;
}
export interface NotifyEVChargingNeedsResponse {
customData?: CustomDataType;
status: NotifyEVChargingNeedsStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface NotifyEVChargingScheduleRequest {
customData?: CustomDataType;
timeBase: string;
chargingSchedule: ChargingScheduleType;
evseId: number;
}
export interface NotifyEVChargingScheduleResponse {
customData?: CustomDataType;
status: GenericStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface NotifyEventRequest {
customData?: CustomDataType;
generatedAt: string;
tbc?: boolean;
seqNo: number;
eventData: EventDataType[];
}
export interface NotifyEventResponse {
customData?: CustomDataType;
}
export interface NotifyMonitoringReportRequest {
customData?: CustomDataType;
monitor?: MonitoringDataType[];
requestId: number;
tbc?: boolean;
seqNo: number;
generatedAt: string;
}
export interface NotifyMonitoringReportResponse {
customData?: CustomDataType;
}
export interface NotifyReportRequest {
customData?: CustomDataType;
requestId: number;
generatedAt: string;
reportData?: ReportDataType[];
tbc?: boolean;
seqNo: number;
}
export interface NotifyReportResponse {
customData?: CustomDataType;
}
export interface PublishFirmwareRequest {
customData?: CustomDataType;
location: string;
retries?: number;
checksum: string;
requestId: number;
retryInterval?: number;
}
export interface PublishFirmwareResponse {
customData?: CustomDataType;
status: GenericStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface PublishFirmwareStatusNotificationRequest {
customData?: CustomDataType;
status: PublishFirmwareStatusEnumType;
location?: string[];
requestId?: number;
}
export interface PublishFirmwareStatusNotificationResponse {
customData?: CustomDataType;
}
export interface ReportChargingProfilesRequest {
customData?: CustomDataType;
requestId: number;
chargingLimitSource: ChargingLimitSourceEnumType;
chargingProfile: ChargingProfileType[];
tbc?: boolean;
evseId: number;
}
export interface ReportChargingProfilesResponse {
customData?: CustomDataType;
}
export interface RequestStartTransactionRequest {
customData?: CustomDataType;
evseId?: number;
groupIdToken?: IdTokenType;
idToken: IdTokenType;
remoteStartId: number;
chargingProfile?: ChargingProfileType;
}
export interface RequestStartTransactionResponse {
customData?: CustomDataType;
status: RequestStartStopStatusEnumType;
statusInfo?: StatusInfoType;
transactionId?: string;
}
export interface RequestStopTransactionRequest {
customData?: CustomDataType;
transactionId: string;
}
export interface RequestStopTransactionResponse {
customData?: CustomDataType;
status: RequestStartStopStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface ReservationStatusUpdateRequest {
customData?: CustomDataType;
reservationId: number;
reservationUpdateStatus: ReservationUpdateStatusEnumType;
}
export interface ReservationStatusUpdateResponse {
customData?: CustomDataType;
}
export interface ReserveNowRequest {
customData?: CustomDataType;
id: number;
expiryDateTime: string;
connectorType?: ConnectorEnumType;
idToken: IdTokenType;
evseId?: number;
groupIdToken?: IdTokenType;
}
export interface ReserveNowResponse {
customData?: CustomDataType;
status: ReserveNowStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface ResetRequest {
customData?: CustomDataType;
type: ResetEnumType;
evseId?: number;
}
export interface ResetResponse {
customData?: CustomDataType;
status: ResetStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface SecurityEventNotificationRequest {
customData?: CustomDataType;
type: string;
timestamp: string;
techInfo?: string;
}
export interface SecurityEventNotificationResponse {
customData?: CustomDataType;
}
export interface SendLocalListRequest {
customData?: CustomDataType;
localAuthorizationList?: AuthorizationData[];
versionNumber: number;
updateType: UpdateEnumType;
}
export interface SendLocalListResponse {
customData?: CustomDataType;
status: SendLocalListStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface SetChargingProfileRequest {
customData?: CustomDataType;
evseId: number;
chargingProfile: ChargingProfileType;
}
export interface SetChargingProfileResponse {
customData?: CustomDataType;
status: ChargingProfileStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface SetDisplayMessageRequest {
customData?: CustomDataType;
message: MessageInfoType;
}
export interface SetDisplayMessageResponse {
customData?: CustomDataType;
status: DisplayMessageStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface SetMonitoringBaseRequest {
customData?: CustomDataType;
monitoringBase: MonitoringBaseEnumType;
}
export interface SetMonitoringBaseResponse {
customData?: CustomDataType;
status: GenericDeviceModelStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface SetMonitoringLevelRequest {
customData?: CustomDataType;
severity: number;
}
export interface SetMonitoringLevelResponse {
customData?: CustomDataType;
status: GenericStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface SetNetworkProfileRequest {
customData?: CustomDataType;
configurationSlot: number;
connectionData: NetworkConnectionProfileType;
}
export interface SetNetworkProfileResponse {
customData?: CustomDataType;
status: SetNetworkProfileStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface SetVariableMonitoringRequest {
customData?: CustomDataType;
setMonitoringData: SetMonitoringDataType[];
}
export interface SetVariableMonitoringResponse {
customData?: CustomDataType;
setMonitoringResult: SetMonitoringResultType[];
}
export interface SetVariablesRequest {
customData?: CustomDataType;
setVariableData: SetVariableDataType[];
}
export interface SetVariablesResponse {
customData?: CustomDataType;
setVariableResult: SetVariableResultType[];
}
export interface SignCertificateRequest {
customData?: CustomDataType;
csr: string;
certificateType?: CertificateSigningUseEnumType;
}
export interface SignCertificateResponse {
customData?: CustomDataType;
status: GenericStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface StatusNotificationRequest {
customData?: CustomDataType;
timestamp: string;
connectorStatus: ConnectorStatusEnumType;
evseId: number;
connectorId: number;
}
export interface StatusNotificationResponse {
customData?: CustomDataType;
}
export interface TransactionEventRequest {
customData?: CustomDataType;
eventType: TransactionEventEnumType;
meterValue?: MeterValueType[];
timestamp: string;
triggerReason: TriggerReasonEnumType;
seqNo: number;
offline?: boolean;
numberOfPhasesUsed?: number;
cableMaxCurrent?: number;
reservationId?: number;
transactionInfo: TransactionType;
evse?: EVSEType;
idToken?: IdTokenType;
}
export interface TransactionEventResponse {
customData?: CustomDataType;
totalCost?: number;
chargingPriority?: number;
idTokenInfo?: IdTokenInfoType;
updatedPersonalMessage?: MessageContentType;
}
export interface TriggerMessageRequest {
customData?: CustomDataType;
evse?: EVSEType;
requestedMessage: MessageTriggerEnumType;
}
export interface TriggerMessageResponse {
customData?: CustomDataType;
status: TriggerMessageStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface UnlockConnectorRequest {
customData?: CustomDataType;
evseId: number;
connectorId: number;
}
export interface UnlockConnectorResponse {
customData?: CustomDataType;
status: UnlockStatusEnumType;
statusInfo?: StatusInfoType;
}
export interface UnpublishFirmwareRequest {
customData?: CustomDataType;
checksum: string;
}
export interface UnpublishFirmwareResponse {
customData?: CustomDataType;
status: UnpublishFirmwareStatusEnumType;
}
export interface UpdateFirmwareRequest {
customData?: CustomDataType;
retries?: number;
retryInterval?: number;
requestId: number;
firmware: FirmwareType;
}
export interface UpdateFirmwareResponse {
customData?: CustomDataType;
status: UpdateFirmwareStatusEnumType;
statusInfo?: StatusInfoType;
}