- public abstract sendHeartbeat(params?: SendParams): Promise<void>;
- public abstract sendBootNotification(
- chargePointModel: string,
- chargePointVendor: string,
- chargeBoxSerialNumber?: string,
- firmwareVersion?: string,
- chargePointSerialNumber?: string,
- iccid?: string,
- imsi?: string,
- meterSerialNumber?: string,
- meterType?: string,
- params?: SendParams
- ): Promise<BootNotificationResponse>;
-
- public abstract sendStatusNotification(
- connectorId: number,
- status: ChargePointStatus,
- errorCode?: ChargePointErrorCode
- ): Promise<void>;
-
- public abstract sendAuthorize(connectorId: number, idTag?: string): Promise<AuthorizeResponse>;
- public abstract sendStartTransaction(
- connectorId: number,
- idTag?: string
- ): Promise<StartTransactionResponse>;
-
- public abstract sendStopTransaction(
- transactionId: number,
- meterStop: number,
- idTag?: string,
- reason?: StopTransactionReason
- ): Promise<StopTransactionResponse>;
-
- public abstract sendMeterValues(
- connectorId: number,
- transactionId: number,
- interval: number
- ): Promise<void>;
-
- public abstract sendTransactionBeginMeterValues(
- connectorId: number,
- transactionId: number,
- beginMeterValue: MeterValue
- ): Promise<void>;
-
- public abstract sendTransactionEndMeterValues(
- connectorId: number,
- transactionId: number,
- endMeterValue: MeterValue
- ): Promise<void>;
-
- public abstract sendDiagnosticsStatusNotification(
- diagnosticsStatus: DiagnosticsStatus
- ): Promise<void>;
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ public abstract requestHandler<ReqType extends JsonType, ResType extends JsonType>(
+ chargingStation: ChargingStation,
+ commandName: RequestCommand,
+ // FIXME: should be ReqType
+ commandParams?: JsonType,
+ params?: RequestParams
+ ): Promise<ResType>