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,361 lines • 70.6 kB
TypeScript
export interface CustomDataType {
vendorId: string;
[k: string]: unknown;
}
export type GenericStatusEnumType = "Accepted" | "Rejected";
export interface StatusInfoType {
reasonCode: string;
additionalInfo?: string;
customData?: CustomDataType;
}
export interface PeriodicEventStreamParamsType {
interval?: number;
values?: number;
customData?: CustomDataType;
}
export type HashAlgorithmEnumType = "SHA256" | "SHA384" | "SHA512";
export interface AdditionalInfoType {
additionalIdToken: string;
type: string;
customData?: CustomDataType;
}
export interface IdTokenType {
additionalInfo?: AdditionalInfoType[];
idToken: string;
type: string;
customData?: CustomDataType;
}
export interface OCSPRequestDataType {
hashAlgorithm: HashAlgorithmEnumType;
issuerNameHash: string;
issuerKeyHash: string;
serialNumber: string;
responderURL: string;
customData?: CustomDataType;
}
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 DayOfWeekEnumType = "Monday" | "Tuesday" | "Wednesday" | "Thursday" | "Friday" | "Saturday" | "Sunday";
export type EnergyTransferModeEnumType = "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";
export type EvseKindEnumType = "AC" | "DC";
export type MessageFormatEnumType = "ASCII" | "HTML" | "URI" | "UTF8" | "QRCODE";
export interface IdTokenInfoType {
status: AuthorizationStatusEnumType;
cacheExpiryDateTime?: string;
chargingPriority?: number;
groupIdToken?: IdTokenType;
language1?: string;
language2?: string;
evseId?: number[];
personalMessage?: MessageContentType;
customData?: CustomDataType;
}
export interface MessageContentType {
format: MessageFormatEnumType;
language?: string;
content: string;
customData?: CustomDataType;
}
export interface PriceType {
exclTax?: number;
inclTax?: number;
taxRates?: TaxRateType[];
customData?: CustomDataType;
}
export interface TariffConditionsFixedType {
startTimeOfDay?: string;
endTimeOfDay?: string;
dayOfWeek?: DayOfWeekEnumType[];
validFromDate?: string;
validToDate?: string;
evseKind?: EvseKindEnumType;
paymentBrand?: string;
paymentRecognition?: string;
customData?: CustomDataType;
}
export interface TariffConditionsType {
startTimeOfDay?: string;
endTimeOfDay?: string;
dayOfWeek?: DayOfWeekEnumType[];
validFromDate?: string;
validToDate?: string;
evseKind?: EvseKindEnumType;
minEnergy?: number;
maxEnergy?: number;
minCurrent?: number;
maxCurrent?: number;
minPower?: number;
maxPower?: number;
minTime?: number;
maxTime?: number;
minChargingTime?: number;
maxChargingTime?: number;
minIdleTime?: number;
maxIdleTime?: number;
customData?: CustomDataType;
}
export interface TariffEnergyPriceType {
priceKwh: number;
conditions?: TariffConditionsType;
customData?: CustomDataType;
}
export interface TariffEnergyType {
prices: TariffEnergyPriceType[];
taxRates?: TaxRateType[];
customData?: CustomDataType;
}
export interface TariffFixedPriceType {
conditions?: TariffConditionsFixedType;
priceFixed: number;
customData?: CustomDataType;
}
export interface TariffFixedType {
prices: TariffFixedPriceType[];
taxRates?: TaxRateType[];
customData?: CustomDataType;
}
export interface TariffTimePriceType {
priceMinute: number;
conditions?: TariffConditionsType;
customData?: CustomDataType;
}
export interface TariffTimeType {
prices: TariffTimePriceType[];
taxRates?: TaxRateType[];
customData?: CustomDataType;
}
export interface TariffType {
tariffId: string;
description?: MessageContentType[];
currency: string;
energy?: TariffEnergyType;
validFrom?: string;
chargingTime?: TariffTimeType;
idleTime?: TariffTimeType;
fixedFee?: TariffFixedType;
reservationTime?: TariffTimeType;
reservationFixed?: TariffFixedType;
minCost?: PriceType;
maxCost?: PriceType;
customData?: CustomDataType;
}
export interface TaxRateType {
type: string;
tax: number;
stack?: number;
customData?: CustomDataType;
}
export type BatterySwapEventEnumType = "BatteryIn" | "BatteryOut" | "BatteryOutTimeout";
export interface BatteryDataType {
evseId: number;
serialNumber: string;
soC: number;
soH: number;
productionDate?: string;
vendorInfo?: string;
customData?: CustomDataType;
}
export type BootReasonEnumType = "ApplicationReset" | "FirmwareUpdate" | "LocalReset" | "PowerUp" | "RemoteReset" | "ScheduledReset" | "Triggered" | "Unknown" | "Watchdog";
export interface ChargingStationType {
serialNumber?: string;
model: string;
modem?: ModemType;
vendorName: string;
firmwareVersion?: string;
customData?: CustomDataType;
}
export interface ModemType {
iccid?: string;
imsi?: string;
customData?: CustomDataType;
}
export type RegistrationStatusEnumType = "Accepted" | "Pending" | "Rejected";
export type CancelReservationStatusEnumType = "Accepted" | "Rejected";
export type CertificateSigningUseEnumType = "ChargingStationCertificate" | "V2GCertificate" | "V2G20Certificate";
export type CertificateSignedStatusEnumType = "Accepted" | "Rejected";
export type OperationalStatusEnumType = "Inoperative" | "Operative";
export interface EVSEType {
id: number;
connectorId?: number;
customData?: CustomDataType;
}
export type ChangeAvailabilityStatusEnumType = "Accepted" | "Rejected" | "Scheduled";
export type TariffChangeStatusEnumType = "Accepted" | "Rejected" | "TooManyElements" | "ConditionNotSupported" | "TxNotFound" | "NoCurrencyChange";
export type ClearCacheStatusEnumType = "Accepted" | "Rejected";
export type ChargingProfilePurposeEnumType = "ChargingStationExternalConstraints" | "ChargingStationMaxProfile" | "TxDefaultProfile" | "TxProfile" | "PriorityCharging" | "LocalGeneration";
export interface ClearChargingProfileType {
evseId?: number;
chargingProfilePurpose?: ChargingProfilePurposeEnumType;
stackLevel?: number;
customData?: CustomDataType;
}
export type ClearChargingProfileStatusEnumType = "Accepted" | "Unknown";
export type DERControlEnumType = "EnterService" | "FreqDroop" | "FreqWatt" | "FixedPFAbsorb" | "FixedPFInject" | "FixedVar" | "Gradients" | "HFMustTrip" | "HFMayTrip" | "HVMustTrip" | "HVMomCess" | "HVMayTrip" | "LimitMaxDischarge" | "LFMustTrip" | "LVMustTrip" | "LVMomCess" | "LVMayTrip" | "PowerMonitoringMustTrip" | "VoltVar" | "VoltWatt" | "WattPF" | "WattVar";
export type DERControlStatusEnumType = "Accepted" | "Rejected" | "NotSupported" | "NotFound";
export type ClearMessageStatusEnumType = "Accepted" | "Unknown" | "Rejected";
export type TariffClearStatusEnumType = "Accepted" | "Rejected" | "NoTariff";
export interface ClearTariffsResultType {
statusInfo?: StatusInfoType;
tariffId?: string;
status: TariffClearStatusEnumType;
customData?: CustomDataType;
}
export type ClearMonitoringStatusEnumType = "Accepted" | "Rejected" | "NotFound";
export interface ClearMonitoringResultType {
status: ClearMonitoringStatusEnumType;
id: number;
statusInfo?: StatusInfoType;
customData?: CustomDataType;
}
export interface CertificateHashDataType {
hashAlgorithm: HashAlgorithmEnumType;
issuerNameHash: string;
issuerKeyHash: string;
serialNumber: string;
customData?: CustomDataType;
}
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 CertificateStatusSourceEnumType = "CRL" | "OCSP";
export interface CertificateStatusRequestInfoType {
certificateHashData: CertificateHashDataType;
source: CertificateStatusSourceEnumType;
urls: string[];
customData?: CustomDataType;
}
export type CertificateStatusEnumType = "Good" | "Revoked" | "Unknown" | "Failed";
export interface CertificateStatusType {
certificateHashData: CertificateHashDataType;
source: CertificateStatusSourceEnumType;
status: CertificateStatusEnumType;
nextUpdate: string;
customData?: CustomDataType;
}
export type GetCertificateStatusEnumType = "Accepted" | "Failed";
export interface ChargingProfileCriterionType {
chargingProfilePurpose?: ChargingProfilePurposeEnumType;
stackLevel?: number;
chargingProfileId?: number[];
chargingLimitSource?: string[];
customData?: CustomDataType;
}
export type GetChargingProfileStatusEnumType = "Accepted" | "NoProfiles";
export type ChargingRateUnitEnumType = "W" | "A";
export type OperationModeEnumType = "Idle" | "ChargingOnly" | "CentralSetpoint" | "ExternalSetpoint" | "ExternalLimits" | "CentralFrequency" | "LocalFrequency" | "LocalLoadBalancing";
export interface ChargingSchedulePeriodType {
startPeriod: number;
limit?: number;
limit_L2?: number;
limit_L3?: number;
numberPhases?: number;
phaseToUse?: number;
dischargeLimit?: number;
dischargeLimit_L2?: number;
dischargeLimit_L3?: number;
setpoint?: number;
setpoint_L2?: number;
setpoint_L3?: number;
setpointReactive?: number;
setpointReactive_L2?: number;
setpointReactive_L3?: number;
preconditioningRequest?: boolean;
evseSleep?: boolean;
v2xBaseline?: number;
operationMode?: OperationModeEnumType;
v2xFreqWattCurve?: V2XFreqWattPointType[];
v2xSignalWattCurve?: V2XSignalWattPointType[];
customData?: CustomDataType;
}
export interface CompositeScheduleType {
evseId: number;
duration: number;
scheduleStart: string;
chargingRateUnit: ChargingRateUnitEnumType;
chargingSchedulePeriod: ChargingSchedulePeriodType[];
customData?: CustomDataType;
}
export interface V2XFreqWattPointType {
frequency: number;
power: number;
customData?: CustomDataType;
}
export interface V2XSignalWattPointType {
signal: number;
power: number;
customData?: CustomDataType;
}
export type MessagePriorityEnumType = "AlwaysFront" | "InFront" | "NormalCycle";
export type MessageStateEnumType = "Charging" | "Faulted" | "Idle" | "Unavailable" | "Suspended" | "Discharging";
export type GetDisplayMessagesStatusEnumType = "Accepted" | "Unknown";
export type GetCertificateIdUseEnumType = "V2GRootCertificate" | "MORootCertificate" | "CSMSRootCertificate" | "V2GCertificateChain" | "ManufacturerRootCertificate" | "OEMRootCertificate";
export type GetInstalledCertificateStatusEnumType = "Accepted" | "NotFound";
export interface CertificateHashDataChainType {
certificateHashData: CertificateHashDataType;
certificateType: GetCertificateIdUseEnumType;
childCertificateHashData?: CertificateHashDataType[];
customData?: CustomDataType;
}
export type LogEnumType = "DiagnosticsLog" | "SecurityLog" | "DataCollectorLog";
export interface LogParametersType {
remoteLocation: string;
oldestTimestamp?: string;
latestTimestamp?: string;
customData?: CustomDataType;
}
export type LogStatusEnumType = "Accepted" | "Rejected" | "AcceptedCanceled";
export type MonitoringCriterionEnumType = "ThresholdMonitoring" | "DeltaMonitoring" | "PeriodicMonitoring";
export interface ComponentType {
evse?: EVSEType;
name: string;
instance?: string;
customData?: CustomDataType;
}
export interface ComponentVariableType {
component: ComponentType;
variable?: VariableType;
customData?: CustomDataType;
}
export interface VariableType {
name: string;
instance?: string;
customData?: CustomDataType;
}
export interface ConstantStreamDataType {
id: number;
params: PeriodicEventStreamParamsType;
variableMonitoringId: number;
customData?: CustomDataType;
}
export type ComponentCriterionEnumType = "Active" | "Available" | "Enabled" | "Problem";
export type TariffGetStatusEnumType = "Accepted" | "Rejected" | "NoTariff";
export type TariffKindEnumType = "DefaultTariff" | "DriverTariff";
export interface TariffAssignmentType {
tariffId: string;
tariffKind: TariffKindEnumType;
validFrom?: string;
evseIds?: number[];
idTokens?: string[];
customData?: CustomDataType;
}
export type AttributeEnumType = "Actual" | "Target" | "MinSet" | "MaxSet";
export interface GetVariableDataType {
attributeType?: AttributeEnumType;
component: ComponentType;
variable: VariableType;
customData?: CustomDataType;
}
export type GetVariableStatusEnumType = "Accepted" | "Rejected" | "UnknownComponent" | "UnknownVariable" | "NotSupportedAttributeType";
export interface GetVariableResultType {
attributeStatus: GetVariableStatusEnumType;
attributeStatusInfo?: StatusInfoType;
attributeType?: AttributeEnumType;
attributeValue?: string;
component: ComponentType;
variable: VariableType;
customData?: CustomDataType;
}
export type InstallCertificateUseEnumType = "V2GRootCertificate" | "MORootCertificate" | "ManufacturerRootCertificate" | "CSMSRootCertificate" | "OEMRootCertificate";
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" | "Upstream";
export type MeasurandEnumType = "Current.Export" | "Current.Export.Offered" | "Current.Export.Minimum" | "Current.Import" | "Current.Import.Offered" | "Current.Import.Minimum" | "Current.Offered" | "Display.PresentSOC" | "Display.MinimumSOC" | "Display.TargetSOC" | "Display.MaximumSOC" | "Display.RemainingTimeToMinimumSOC" | "Display.RemainingTimeToTargetSOC" | "Display.RemainingTimeToMaximumSOC" | "Display.ChargingComplete" | "Display.BatteryEnergyCapacity" | "Display.InletHot" | "Energy.Active.Export.Interval" | "Energy.Active.Export.Register" | "Energy.Active.Import.Interval" | "Energy.Active.Import.Register" | "Energy.Active.Import.CableLoss" | "Energy.Active.Import.LocalGeneration.Register" | "Energy.Active.Net" | "Energy.Active.Setpoint.Interval" | "Energy.Apparent.Export" | "Energy.Apparent.Import" | "Energy.Apparent.Net" | "Energy.Reactive.Export.Interval" | "Energy.Reactive.Export.Register" | "Energy.Reactive.Import.Interval" | "Energy.Reactive.Import.Register" | "Energy.Reactive.Net" | "EnergyRequest.Target" | "EnergyRequest.Minimum" | "EnergyRequest.Maximum" | "EnergyRequest.Minimum.V2X" | "EnergyRequest.Maximum.V2X" | "EnergyRequest.Bulk" | "Frequency" | "Power.Active.Export" | "Power.Active.Import" | "Power.Active.Setpoint" | "Power.Active.Residual" | "Power.Export.Minimum" | "Power.Export.Offered" | "Power.Factor" | "Power.Import.Offered" | "Power.Import.Minimum" | "Power.Offered" | "Power.Reactive.Export" | "Power.Reactive.Import" | "SoC" | "Voltage" | "Voltage.Minimum" | "Voltage.Maximum";
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 {
sampledValue: SampledValueType[];
timestamp: string;
customData?: CustomDataType;
}
export interface SampledValueType {
value: number;
measurand?: MeasurandEnumType;
context?: ReadingContextEnumType;
phase?: PhaseEnumType;
location?: LocationEnumType;
signedMeterValue?: SignedMeterValueType;
unitOfMeasure?: UnitOfMeasureType;
customData?: CustomDataType;
}
export interface SignedMeterValueType {
signedMeterData: string;
signingMethod?: string;
encodingMethod: string;
publicKey?: string;
customData?: CustomDataType;
}
export interface UnitOfMeasureType {
unit?: string;
multiplier?: number;
customData?: CustomDataType;
}
export type NotifyAllowedEnergyTransferStatusEnumType = "Accepted" | "Rejected";
export type CostKindEnumType = "CarbonDioxideEmission" | "RelativePricePercentage" | "RenewableGenerationPercentage";
export interface AbsolutePriceScheduleType {
timeAnchor: string;
priceScheduleID: number;
priceScheduleDescription?: string;
currency: string;
language: string;
priceAlgorithm: string;
minimumCost?: RationalNumberType;
maximumCost?: RationalNumberType;
priceRuleStacks: PriceRuleStackType[];
taxRules?: TaxRuleType[];
overstayRuleList?: OverstayRuleListType;
additionalSelectedServices?: AdditionalSelectedServicesType[];
customData?: CustomDataType;
}
export interface AdditionalSelectedServicesType {
serviceFee: RationalNumberType;
serviceName: string;
customData?: CustomDataType;
}
export interface ChargingLimitType {
chargingLimitSource: string;
isLocalGeneration?: boolean;
isGridCritical?: boolean;
customData?: CustomDataType;
}
export interface ChargingScheduleType {
id: number;
limitAtSoC?: LimitAtSoCType;
startSchedule?: string;
duration?: number;
chargingRateUnit: ChargingRateUnitEnumType;
minChargingRate?: number;
powerTolerance?: number;
signatureId?: number;
digestValue?: string;
useLocalTime?: boolean;
chargingSchedulePeriod: ChargingSchedulePeriodType[];
randomizedDelay?: number;
salesTariff?: SalesTariffType;
absolutePriceSchedule?: AbsolutePriceScheduleType;
priceLevelSchedule?: PriceLevelScheduleType;
customData?: CustomDataType;
}
export interface ConsumptionCostType {
startValue: number;
cost: CostType[];
customData?: CustomDataType;
}
export interface CostType {
costKind: CostKindEnumType;
amount: number;
amountMultiplier?: number;
customData?: CustomDataType;
}
export interface LimitAtSoCType {
soc: number;
limit: number;
customData?: CustomDataType;
}
export interface OverstayRuleListType {
overstayPowerThreshold?: RationalNumberType;
overstayRule: OverstayRuleType[];
overstayTimeThreshold?: number;
customData?: CustomDataType;
}
export interface OverstayRuleType {
overstayFee: RationalNumberType;
overstayRuleDescription?: string;
startTime: number;
overstayFeePeriod: number;
customData?: CustomDataType;
}
export interface PriceLevelScheduleEntryType {
duration: number;
priceLevel: number;
customData?: CustomDataType;
}
export interface PriceLevelScheduleType {
priceLevelScheduleEntries: PriceLevelScheduleEntryType[];
timeAnchor: string;
priceScheduleId: number;
priceScheduleDescription?: string;
numberOfPriceLevels: number;
customData?: CustomDataType;
}
export interface PriceRuleStackType {
duration: number;
priceRule: PriceRuleType[];
customData?: CustomDataType;
}
export interface PriceRuleType {
parkingFeePeriod?: number;
carbonDioxideEmission?: number;
renewableGenerationPercentage?: number;
energyFee: RationalNumberType;
parkingFee?: RationalNumberType;
powerRangeStart: RationalNumberType;
customData?: CustomDataType;
}
export interface RationalNumberType {
exponent: number;
value: number;
customData?: CustomDataType;
}
export interface RelativeTimeIntervalType {
start: number;
duration?: number;
customData?: CustomDataType;
}
export interface SalesTariffEntryType {
relativeTimeInterval: RelativeTimeIntervalType;
ePriceLevel?: number;
consumptionCost?: ConsumptionCostType[];
customData?: CustomDataType;
}
export interface SalesTariffType {
id: number;
salesTariffDescription?: string;
numEPriceLevels?: number;
salesTariffEntry: SalesTariffEntryType[];
customData?: CustomDataType;
}
export interface TaxRuleType {
taxRuleID: number;
taxRuleName?: string;
taxIncludedInPrice?: boolean;
appliesToEnergyFee: boolean;
appliesToParkingFee: boolean;
appliesToOverstayFee: boolean;
appliesToMinimumMaximumCost: boolean;
taxRate: RationalNumberType;
customData?: CustomDataType;
}
export type GridEventFaultEnumType = "CurrentImbalance" | "LocalEmergency" | "LowInputPower" | "OverCurrent" | "OverFrequency" | "OverVoltage" | "PhaseRotation" | "RemoteEmergency" | "UnderFrequency" | "UnderVoltage" | "VoltageImbalance";
export interface MessageInfoType {
display?: ComponentType;
id: number;
priority: MessagePriorityEnumType;
state?: MessageStateEnumType;
startDateTime?: string;
endDateTime?: string;
transactionId?: string;
message: MessageContentType;
messageExtra?: MessageContentType[];
customData?: CustomDataType;
}
export type ControlModeEnumType = "ScheduledControl" | "DynamicControl";
export type IslandingDetectionEnumType = "NoAntiIslandingSupport" | "RoCoF" | "UVP_OVP" | "UFP_OFP" | "VoltageVectorShift" | "ZeroCrossingDetection" | "OtherPassive" | "ImpedanceMeasurement" | "ImpedanceAtFrequency" | "SlipModeFrequencyShift" | "SandiaFrequencyShift" | "SandiaVoltageShift" | "FrequencyJump" | "RCLQFactor" | "OtherActive";
export type MobilityNeedsModeEnumType = "EVCC" | "EVCC_SECC";
export interface ACChargingParametersType {
energyAmount: number;
evMinCurrent: number;
evMaxCurrent: number;
evMaxVoltage: number;
customData?: CustomDataType;
}
export interface ChargingNeedsType {
acChargingParameters?: ACChargingParametersType;
derChargingParameters?: DERChargingParametersType;
evEnergyOffer?: EVEnergyOfferType;
requestedEnergyTransfer: EnergyTransferModeEnumType;
dcChargingParameters?: DCChargingParametersType;
v2xChargingParameters?: V2XChargingParametersType;
availableEnergyTransfer?: EnergyTransferModeEnumType[];
controlMode?: ControlModeEnumType;
mobilityNeedsMode?: MobilityNeedsModeEnumType;
departureTime?: string;
customData?: CustomDataType;
}
export interface DCChargingParametersType {
evMaxCurrent: number;
evMaxVoltage: number;
evMaxPower?: number;
evEnergyCapacity?: number;
energyAmount?: number;
stateOfCharge?: number;
fullSoC?: number;
bulkSoC?: number;
customData?: CustomDataType;
}
export interface DERChargingParametersType {
evSupportedDERControl?: DERControlEnumType[];
evOverExcitedMaxDischargePower?: number;
evOverExcitedPowerFactor?: number;
evUnderExcitedMaxDischargePower?: number;
evUnderExcitedPowerFactor?: number;
maxApparentPower?: number;
maxChargeApparentPower?: number;
maxChargeApparentPower_L2?: number;
maxChargeApparentPower_L3?: number;
maxDischargeApparentPower?: number;
maxDischargeApparentPower_L2?: number;
maxDischargeApparentPower_L3?: number;
maxChargeReactivePower?: number;
maxChargeReactivePower_L2?: number;
maxChargeReactivePower_L3?: number;
minChargeReactivePower?: number;
minChargeReactivePower_L2?: number;
minChargeReactivePower_L3?: number;
maxDischargeReactivePower?: number;
maxDischargeReactivePower_L2?: number;
maxDischargeReactivePower_L3?: number;
minDischargeReactivePower?: number;
minDischargeReactivePower_L2?: number;
minDischargeReactivePower_L3?: number;
nominalVoltage?: number;
nominalVoltageOffset?: number;
maxNominalVoltage?: number;
minNominalVoltage?: number;
evInverterManufacturer?: string;
evInverterModel?: string;
evInverterSerialNumber?: string;
evInverterSwVersion?: string;
evInverterHwVersion?: string;
evIslandingDetectionMethod?: IslandingDetectionEnumType[];
evIslandingTripTime?: number;
evMaximumLevel1DCInjection?: number;
evDurationLevel1DCInjection?: number;
evMaximumLevel2DCInjection?: number;
evDurationLevel2DCInjection?: number;
evReactiveSusceptance?: number;
evSessionTotalDischargeEnergyAvailable?: number;
customData?: CustomDataType;
}
export interface EVAbsolutePriceScheduleEntryType {
duration: number;
evPriceRule: EVPriceRuleType[];
customData?: CustomDataType;
}
export interface EVAbsolutePriceScheduleType {
timeAnchor: string;
currency: string;
evAbsolutePriceScheduleEntries: EVAbsolutePriceScheduleEntryType[];
priceAlgorithm: string;
customData?: CustomDataType;
}
export interface EVEnergyOfferType {
evAbsolutePriceSchedule?: EVAbsolutePriceScheduleType;
evPowerSchedule: EVPowerScheduleType;
customData?: CustomDataType;
}
export interface EVPowerScheduleEntryType {
duration: number;
power: number;
customData?: CustomDataType;
}
export interface EVPowerScheduleType {
evPowerScheduleEntries: EVPowerScheduleEntryType[];
timeAnchor: string;
customData?: CustomDataType;
}
export interface EVPriceRuleType {
energyFee: number;
powerRangeStart: number;
customData?: CustomDataType;
}
export interface V2XChargingParametersType {
minChargePower?: number;
minChargePower_L2?: number;
minChargePower_L3?: number;
maxChargePower?: number;
maxChargePower_L2?: number;
maxChargePower_L3?: number;
minDischargePower?: number;
minDischargePower_L2?: number;
minDischargePower_L3?: number;
maxDischargePower?: number;
maxDischargePower_L2?: number;
maxDischargePower_L3?: number;
minChargeCurrent?: number;
maxChargeCurrent?: number;
minDischargeCurrent?: number;
maxDischargeCurrent?: number;
minVoltage?: number;
maxVoltage?: number;
evTargetEnergyRequest?: number;
evMinEnergyRequest?: number;
evMaxEnergyRequest?: number;
evMinV2XEnergyRequest?: number;
evMaxV2XEnergyRequest?: number;
targetSoC?: number;
customData?: CustomDataType;
}
export type NotifyEVChargingNeedsStatusEnumType = "Accepted" | "Rejected" | "Processing" | "NoChargingProfile";
export type EventNotificationEnumType = "HardWiredNotification" | "HardWiredMonitor" | "PreconfiguredMonitor" | "CustomMonitor";
export type EventTriggerEnumType = "Alerting" | "Delta" | "Periodic";
export interface EventDataType {
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;
severity?: number;
customData?: CustomDataType;
}
export type MonitorEnumType = "UpperThreshold" | "LowerThreshold" | "Delta" | "Periodic" | "PeriodicClockAligned" | "TargetDelta" | "TargetDeltaRelative";
export interface MonitoringDataType {
component: ComponentType;
variable: VariableType;
variableMonitoring: VariableMonitoringType[];
customData?: CustomDataType;
}
export interface VariableMonitoringType {
id: number;
transaction: boolean;
value: number;
type: MonitorEnumType;
severity: number;
eventNotificationType: EventNotificationEnumType;
customData?: CustomDataType;
}
export interface StreamDataElementType {
t: number;
v: string;
customData?: CustomDataType;
}
export type DataEnumType = "string" | "decimal" | "integer" | "dateTime" | "boolean" | "OptionList" | "SequenceList" | "MemberList";
export type MutabilityEnumType = "ReadOnly" | "WriteOnly" | "ReadWrite";
export interface ReportDataType {
component: ComponentType;
variable: VariableType;
variableAttribute: VariableAttributeType[];
variableCharacteristics?: VariableCharacteristicsType;
customData?: CustomDataType;
}
export interface VariableAttributeType {
type?: AttributeEnumType;
value?: string;
mutability?: MutabilityEnumType;
persistent?: boolean;
constant?: boolean;
customData?: CustomDataType;
}
export interface VariableCharacteristicsType {
unit?: string;
dataType: DataEnumType;
minLimit?: number;
maxLimit?: number;
maxElements?: number;
valuesList?: string;
supportsMonitoring: boolean;
customData?: CustomDataType;
}
export type PaymentStatusEnumType = "Settled" | "Canceled" | "Rejected" | "Failed";
export interface AddressType {
name: string;
address1: string;
address2?: string;
city: string;
postalCode?: string;
country: string;
customData?: CustomDataType;
}
export type PublishFirmwareStatusEnumType = "Idle" | "DownloadScheduled" | "Downloading" | "Downloaded" | "Published" | "DownloadFailed" | "DownloadPaused" | "InvalidChecksum" | "ChecksumVerified" | "PublishFailed";
export type ChargingProfileStatusEnumType = "Accepted" | "Rejected";
export interface ChargingScheduleUpdateType {
limit?: number;
limit_L2?: number;
limit_L3?: number;
dischargeLimit?: number;
dischargeLimit_L2?: number;
dischargeLimit_L3?: number;
setpoint?: number;
setpoint_L2?: number;
setpoint_L3?: number;
setpointReactive?: number;
setpointReactive_L2?: number;
setpointReactive_L3?: number;
customData?: CustomDataType;
}
export type ChargingProfileKindEnumType = "Absolute" | "Recurring" | "Relative" | "Dynamic";
export type RecurrencyKindEnumType = "Daily" | "Weekly";
export interface ChargingProfileType {
id: number;
stackLevel: number;
chargingProfilePurpose: ChargingProfilePurposeEnumType;
chargingProfileKind: ChargingProfileKindEnumType;
recurrencyKind?: RecurrencyKindEnumType;
validFrom?: string;
validTo?: string;
transactionId?: string;
maxOfflineDuration?: number;
chargingSchedule: ChargingScheduleType[];
invalidAfterOfflineDuration?: boolean;
dynUpdateInterval?: number;
dynUpdateTime?: string;
priceScheduleSignature?: string;
customData?: CustomDataType;
}
export type DERUnitEnumType = "Not_Applicable" | "PctMaxW" | "PctMaxVar" | "PctWAvail" | "PctVarAvail" | "PctEffectiveV";
export type PowerDuringCessationEnumType = "Active" | "Reactive";
export interface DERCurveGetType {
curve: DERCurveType;
id: string;
curveType: DERControlEnumType;
isDefault: boolean;
isSuperseded: boolean;
customData?: CustomDataType;
}
export interface DERCurvePointsType {
x: number;
y: number;
customData?: CustomDataType;
}
export interface DERCurveType {
curveData: DERCurvePointsType[];
hysteresis?: HysteresisType;
priority: number;
reactivePowerParams?: ReactivePowerParamsType;
voltageParams?: VoltageParamsType;
yUnit: DERUnitEnumType;
responseTime?: number;
startTime?: string;
duration?: number;
customData?: CustomDataType;
}
export interface EnterServiceGetType {
enterService: EnterServiceType;
id: string;
customData?: CustomDataType;
}
export interface EnterServiceType {
priority: number;
highVoltage: number;
lowVoltage: number;
highFreq: number;
lowFreq: number;
delay?: number;
randomDelay?: number;
rampRate?: number;
customData?: CustomDataType;
}
export interface FixedPFGetType {
fixedPF: FixedPFType;
id: string;
isDefault: boolean;
isSuperseded: boolean;
customData?: CustomDataType;
}
export interface FixedPFType {
priority: number;
displacement: number;
excitation: boolean;
startTime?: string;
duration?: number;
customData?: CustomDataType;
}
export interface FixedVarGetType {
fixedVar: FixedVarType;
id: string;
isDefault: boolean;
isSuperseded: boolean;
customData?: CustomDataType;
}
export interface FixedVarType {
priority: number;
setpoint: number;
unit: DERUnitEnumType;
startTime?: string;
duration?: number;
customData?: CustomDataType;
}
export interface FreqDroopGetType {
freqDroop: FreqDroopType;
id: string;
isDefault: boolean;
isSuperseded: boolean;
customData?: CustomDataType;
}
export interface FreqDroopType {
priority: number;
overFreq: number;
underFreq: number;
overDroop: number;
underDroop: number;
responseTime: number;
startTime?: string;
duration?: number;
customData?: CustomDataType;
}
export interface GradientGetType {
gradient: GradientType;
id: string;
customData?: CustomDataType;
}
export interface GradientType {
priority: number;
gradient: number;
softGradient: number;
customData?: CustomDataType;
}
export interface HysteresisType {
hysteresisHigh?: number;
hysteresisLow?: number;
hysteresisDelay?: number;
hysteresisGradient?: number;
customData?: CustomDataType;
}
export interface LimitMaxDischargeGetType {
id: string;
isDefault: boolean;
isSuperseded: boolean;
limitMaxDischarge: LimitMaxDischargeType;
customData?: CustomDataType;
}
export interface LimitMaxDischargeType {
priority: number;
pctMaxDischargePower?: number;
powerMonitoringMustTrip?: DERCurveType;
startTime?: string;
duration?: number;
customData?: CustomDataType;
}
export interface ReactivePowerParamsType {
vRef?: number;
autonomousVRefEnable?: boolean;
autonomousVRefTimeConstant?: number;
customData?: CustomDataType;
}
export interface VoltageParamsType {
hv10MinMeanValue?: number;
hv10MinMeanTripDelay?: number;
powerDuringCessation?: PowerDuringCessationEnumType;
customData?: CustomDataType;
}
export type RequestStartStopStatusEnumType = "Accepted" | "Rejected";
export type ReservationUpdateStatusEnumType = "Expired" | "Removed" | "NoTransaction";
export type ReserveNowStatusEnumType = "Accepted" | "Faulted" | "Occupied" | "Rejected" | "Unavailable";
export type ResetEnumType = "Immediate" | "OnIdle" | "ImmediateAndResume";
export type ResetStatusEnumType = "Accepted" | "Rejected" | "Scheduled";
export type UpdateEnumType = "Differential" | "Full";
export interface AuthorizationData {
idToken: IdTokenType;
idTokenInfo?: IdTokenInfoType;
customData?: CustomDataType;
}
export type SendLocalListStatusEnumType = "Accepted" | "Failed" | "VersionMismatch";
export type TariffSetStatusEnumType = "Accepted" | "Rejected" | "TooManyElements" | "ConditionNotSupported" | "DuplicateTariffId";
export type DisplayMessageStatusEnumType = "Accepted" | "NotSupportedMessageFormat" | "Rejected" | "NotSupportedPriority" | "NotSupportedState" | "UnknownTransaction" | "LanguageNotSupported";
export type MonitoringBaseEnumType = "All" | "FactoryDefault" | "HardWiredOnly";
export type APNAuthenticationEnumType = "PAP" | "CHAP" | "NONE" | "AUTO";
export type OCPPInterfaceEnumType = "Wired0" | "Wired1" | "Wired2" | "Wired3" | "Wireless0" | "Wireless1" | "Wireless2" | "Wireless3" | "Any";
export type OCPPTransportEnumType = "SOAP" | "JSON";
export type OCPPVersionEnumType = "OCPP12" | "OCPP15" | "OCPP16" | "OCPP20" | "OCPP201" | "OCPP21";
export type VPNEnumType = "IKEv2" | "IPSec" | "L2TP" | "PPTP";
export interface APNType {
apn: string;
apnUserName?: string;
apnPassword?: string;
simPin?: number;
preferredNetwork?: string;
useOnlyPreferredNetwork?: boolean;
apnAuthentication: APNAuthenticationEnumType;
customData?: CustomDataType;
}
export interface NetworkConnectionProfileType {
apn?: APNType;
ocppVersion?: OCPPVersionEnumType;
ocppInterface: OCPPInterfaceEnumType;
ocppTransport: OCPPTransportEnumType;
messageTimeout: number;
ocppCsmsUrl: string;
securityProfile: number;
identity?: string;
basicAuthPassword?: string;
vpn?: VPNType;
customData?: CustomDataType;
}
export interface VPNType {
server: string;
user: string;
group?: string;
password: string;
key: string;
type: VPNEnumType;
customData?: CustomDataType;
}
export type SetNetworkProfileStatusEnumType = "Accepted" | "Rejected" | "Failed";
export interface SetMonitoringDataType {
id?: number;
periodicEventStream?: PeriodicEventStreamParamsType;
transaction?: boolean;
value: number;
type: MonitorEnumType;
severity: number;
component: ComponentType;
variable: VariableType;
customData?: CustomDataType;
}
export type SetMonitoringStatusEnumType = "Accepted" | "UnknownComponent" | "UnknownVariable" | "UnsupportedMonitorType" | "Rejected" | "Duplicate";
export interface SetMonitoringResultType {
id?: number;
statusInfo?: StatusInfoType;
status: SetMonitoringStatusEnumType;
type: MonitorEnumType;
component: ComponentType;
variable: VariableType;
severity: number;
customData?: CustomDataType;
}
export interface SetVariableDataType {
attributeType?: AttributeEnumType;
attributeValue: string;
component: ComponentType;
variable: VariableType;
customData?: CustomDataType;
}
export type SetVariableStatusEnumType = "Accepted" | "Rejected" | "UnknownComponent" | "UnknownVariable" | "NotSupportedAttributeType" | "RebootRequired";
export interface SetVariableResultType {
attributeType?: AttributeEnumType;
attributeStatus: SetVariableStatusEnumType;
attributeStatusInfo?: StatusInfoType;
component: ComponentType;
variable: VariableType;
customData?: CustomDataType;
}
export type ConnectorStatusEnumType = "Available" | "Occupied" | "Reserved" | "Unavailable" | "Faulted";
export type ChargingStateEnumType = "EVConnected" | "Charging" | "SuspendedEV" | "SuspendedEVSE" | "Idle";
export type CostDimensionEnumType = "Energy" | "MaxCurrent" | "MinCurrent" | "MaxPower" | "MinPower" | "IdleTIme" | "ChargingTime";
export type PreconditioningStatusEnumType = "Unknown" | "Ready" | "NotReady" | "Preconditioning";
export type ReasonEnumType = "DeAuthorized" | "EmergencyStop" | "EnergyLimitReached" | "EVDisconnected" | "GroundFault" | "ImmediateReset" | "MasterPass" | "Local" | "LocalOutOfCredit" | "Other" | "OvercurrentFault" | "PowerLoss" | "PowerQuality" | "Reboot" | "Remote" | "SOCLimitReached" | "StoppedByEV" | "TimeLimitReached" | "Timeout" | "ReqEnergyTransferRejected";
export type TariffCostEnumType = "NormalCost" | "MinCost" | "MaxCost";
export type TransactionEventEnumType = "Ended" | "Started" | "Updated";
export type TriggerReasonEnumType = "AbnormalCondition" | "Authorized" | "CablePluggedIn" | "ChargingRateChanged" | "ChargingStateChanged" | "CostLimitReached" | "Deauthorized" | "EnergyLimitReached" | "EVCommunicationLost" | "EVConnectTimeout" | "EVDeparted" | "EVDetected" | "LimitSet" | "MeterValueClock" | "MeterValuePeriodic" | "OperationModeChanged" | "RemoteStart" | "RemoteStop" | "ResetCommand" | "RunningCost" | "SignedDataReceived" | "SoCLimitReached" | "StopAuthorized" | "TariffChanged" | "TariffNotAccepted" | "TimeLimitReached" | "Trigger" | "TxResumed" | "UnlockCommand";
export interface ChargingPeriodType {
dimensions?: CostDimensionType[];
tariffId?: string;
startPeriod: string;
customData?: CustomDataType;
}
export interface CostDetailsType {
chargingPeriods?: ChargingPeriodType[];
totalCost: TotalCostType;
totalUsage: TotalUsageType;
failureToCalculate?: boolean;
failureReason?: string;
customData?: CustomDataType;
}
export interface CostDimensionType {
type: CostDimensionEnumType;
volume: number;
customData?: CustomDataType;
}
export interface TotalCostType {
currency: string;
typeOfCost: TariffCostEnumType;
fixed?: PriceType;
energy?: PriceType;
chargingTime?: PriceType;
idleTime?: PriceType;
reservationTime?: PriceType;
reservationFixed?: PriceType;
total: TotalPriceType;
customData?: CustomDataType;
}
export interface TotalPriceType {
exclTax?: number;
inclTax?: number;
customData?: CustomDataType;
}
export interface TotalUsageType {
energy: number;
chargingTime: number;
idleTime: number;
reservationTime?: number;
customData?: CustomDataType;
}
export interface TransactionLimitType {
maxCost?: number;
maxEnergy?: number;
maxTime?: number;
maxSoC?: number;
customData?: CustomDataType;
}
export interface TransactionType {
transactionId: string;
chargingState?: ChargingStateEnumType;
timeSpentCharging?: number;
stoppedReason?: ReasonEnumType;
remoteStartId?: number;
operationMode?: OperationModeEnumType;
tariffId?: string;
transactionLimit?: TransactionLimitType;
customData?: CustomDataType;
}
export type MessageTriggerEnumType = "BootNotification" | "LogStatusNotification" | "FirmwareStatusNotification" | "Heartbeat" | "MeterValues" | "SignChargingStationCertificate" | "SignV2GCertificate" | "SignV2G20Certificate" | "StatusNotification" | "TransactionEvent" | "SignCombinedCertificate" | "PublishFirmwareStatusNotification" | "CustomTrigger";
export type TriggerMessageStatusEnumType = "Accepted" | "Rejected" | "NotImplemented";
export type UnlockStatusEnumType = "Unlocked" | "UnlockFailed" | "OngoingAuthorizedTransaction" | "UnknownConnector";
export type UnpublishFirmwareStatusEnumType = "DownloadOngoing" | "NoFirmware" | "Unpublished";
export interface FirmwareType {
location: string;
retrieveDateTime: string;
installDateTime?: string;
signingCertificate?: string;
signature?: string;
customData?: CustomDataType;
}
export type UpdateFirmwareStatusEnumType = "Accepted" | "Rejected" | "AcceptedCanceled" | "InvalidCertificate" | "RevokedCertificate";
export type PriorityChargingStatusEnumType = "Accepted" | "Rejected" | "NoProfile";
export interface AFRRSignalRequest {
timestamp: string;
signal: number;
customData?: CustomDataType;
}
export interface AFRRSignalResponse {
status: GenericStatusEnumType;
statusInfo?: StatusInfoType;
customData?: CustomDataType;
}
export interface AdjustPeriodicEventStreamRequest {
id: number;
params: PeriodicEventStreamParamsType;
customData?: CustomDataType;
}
export interface AdjustPeriodicEventStreamResponse {
status: GenericStatusEnumType;
statusInfo?: StatusInfoType;
customData?: CustomDataType;
}
export interface AuthorizeRequest {
idToken: IdTokenType;
certificate?: string;
iso15118CertificateHashData?: OCSPRequestDataType[];
customData?: CustomDataType;
}
export interface AuthorizeResponse {
idTokenInfo: IdTokenInfoType;
certificateStatus?: AuthorizeCertificateStatusEnumType;
allowedEnergyTransfer?: EnergyTransferModeEnumType[];
tariff?: TariffType;
customData?: CustomDataType;
}
export interface BatterySwapRequest {
batteryData: BatteryDataType[];
eventType: BatterySwapEventEnumType;
idToken: IdTokenType;
requestId: number;
customData?: CustomDataType;
}
export interface BatterySwapResponse {
customData?: CustomDataType;
}
export interface BootNotificationRequest {
chargingStation: ChargingStationType;
reason: BootReasonEnumType;
customData?: CustomDataType;
}
export interface BootNotificationResponse {
currentTime: string;
interval: number;
status: RegistrationStatusEnumType;
statusInfo?: StatusInfoType;
customData?: CustomDataType;
}
export interface CancelReservationRequest {
reservationId: number;
customData?: CustomDataType;
}
export interface CancelReservationResponse {
status: CancelReservationStatusEnumType;
statusInfo?: StatusInfoType;
customData?: CustomDataType;
}
export interface CertificateSignedRequest {
certificateChain: string;
certificateType?: CertificateSigningUseEnumType;
requestId?: number;
customData?: CustomDataType;
}
export interface CertificateSignedResponse {
status: CertificateSignedStatusEnumType;
statusInfo?: StatusInfoType;
customData?: CustomDataType;
}
export interface ChangeAvailabilityRequest {
evse?: EVSEType;
operationalStatus: OperationalStatusEnumType;
customData?: CustomDataType;
}
export interface ChangeAvailabilityResponse {
status: ChangeAvailabilityStatusEnumType;
statusInfo?: StatusInfoType;
customData?: CustomDataType;
}
export interface ChangeTransactionTariffRequest {
tariff: TariffType;
transactionId: string;
customData?: CustomDataType;
}
export interface ChangeTransactionTariffResponse {
status: TariffChangeStatusEnumType;
statusInfo?: StatusInfoType;
customData?: CustomDataType;
}
export interface ClearCacheRequest {
customData?: CustomDataType;
}
export interface ClearCacheResponse {
status: ClearCacheStatusEnumType;
statusInfo?: StatusInfoType;
customData?: CustomDataType;
}
export interface ClearChargingProfileRequest {
chargingProfileId?: number;
chargingProfileCriteria?: ClearChargingProfileType;
customData?: CustomDataType;
}
export interface ClearChargingProfileResponse {
status: ClearChargingProfileStatusEnumType;
statusInfo?: StatusInfoType;
customData?: CustomDataType;
}
export interface ClearDERControlRequest {
isDefault: boolean;
controlType?: DERControlEnumType;
controlId?: string;
customData?: CustomDataType;
}
export interface ClearDERControlResponse {
status: DERControlStatusEnumType;
statusInfo?: StatusInfoType;
customData?: CustomDataType;
}
export interface ClearDisplayMessageRequest {
id: number;
customData?: CustomDataType;
}
export interface ClearDisplayMessageResponse {
status: ClearMessageStatusEnumType;
statusInfo?: StatusInfoType;
customData?: CustomDataType;
}
export interface ClearTariffsRequest {
tariffIds?: string[];
evseId?: number;
customData?: CustomDataType;
}
export interface ClearTariffsResponse {
clearTariffsResult: ClearTariffsResultType[];
customData?: CustomDataType;
}
export interface ClearVariableMonitoringRequest {
id: number[];
customData?: CustomDataType;
}
export interface ClearVariableMonitoringResponse {
clearMonitoringResult: ClearMonitoringResultType[];
customData?: CustomDataType;
}
export interface ClearedChargingLimitRequest {
chargingLimitSource: string;
evseId?: number;
customData?: CustomDataType;
}
export interface ClearedChargingLimitResponse {
customData?: CustomDataType;
}
export interface ClosePeriodicEventStreamRequest {
id: number;
customData?: CustomDataType;
}
export interface ClosePeriodicEventStreamResponse {
customData?: CustomDataType;
}
export interface CostUpdatedRequest {
totalCost: number;
transactionId: string;
customData?: CustomDataType;
}
export interface CostUpdatedResponse {
customData?: CustomDataType;
}
export interface CustomerInformationRequest {
customerCertificate?: CertificateHashDataType;
idToken?: IdTokenType;
requestId: number;
report: boolean;
clear: boolean;
customerIdentifier?: string;
customData?: CustomDataType;
}
export interface CustomerInformationResponse {
status: CustomerInformationStatusEnumType;
statusInfo?: StatusInfoType;
customData?: CustomDataType;
}
export interface DataTransferRequest {
messageId?: string;
data?: {
[k: string]: unknown;
};
vendorId: string;
customData?: CustomDataType;
}
export interface DataTransferResponse {
status: DataTransferStatusEnumType;
statusInfo?: StatusInfoType;
data?: {
[k: string]: unknown;
};
customData?: CustomDataType;
}
export interface DeleteCertificateRequest {
certificateHashData: CertificateHashDataType;
customData?: CustomDataType;
}
export interface DeleteCertificateResponse {
status: DeleteCertificateStatusEnumType;
statusInfo?: StatusInfoType;
customData?: CustomDataType;
}
export interface FirmwareStatusNotificationRequest {
status: FirmwareStatusEnumType;
requestId?: number;
statusInfo?: StatusInfoType;
customData?: CustomDataType;
}
export interface FirmwareStatusNotificationResponse {
customData?: CustomDataType;
}
export interface Get15118EVCertificateRequest {
iso15118SchemaVersion: string;
action: CertificateActionEnumType;
exiRequest: string;
maximumContractCertificateChains?: number;
prioritizedEMAIDs?: string[];
customData?: CustomDataType;
}
export interface Get15118EVCertificateResponse {
status: Iso15118EVCertificateStatusEnumType;
statusInfo?: StatusInfoType;
exiResponse: string;
remainingContracts?: number;
customData?: CustomDataType;
}
export interface GetBaseReportRequest {
requestId: number;
reportBase: ReportBaseEnumType;
customData?: CustomDataType;
}
export interface GetBaseReportResponse {
status: GenericDeviceModelStatusEnumType;
statusInfo?: StatusInfoType;
customData?: CustomDataType;
}
export interface GetCertificateChainStatusRequest {
certificateStatusRequests: CertificateStatusRequestInfoType[];
customData?: CustomDataType;
}
export interface GetCertificateChainStatusResponse {
certificateStatus: CertificateStatusType[];
customData?: CustomDataType;
}
export int