-import type ChargingStation from '../../charging-station/ChargingStation';
-import type OCPPError from '../../exception/OCPPError';
-import type { JsonType } from '../JsonType';
import { OCPP16DiagnosticsStatus } from './1.6/DiagnosticsStatus';
import type { OCPP16MeterValuesRequest } from './1.6/MeterValues';
import {
OCPP16AvailabilityType,
type OCPP16BootNotificationRequest,
+ type OCPP16CancelReservationRequest,
type OCPP16DataTransferRequest,
type OCPP16DiagnosticsStatusNotificationRequest,
OCPP16FirmwareStatus,
OCPP16IncomingRequestCommand,
OCPP16MessageTrigger,
OCPP16RequestCommand,
+ type OCPP16ReserveNowRequest,
type OCPP16StatusNotificationRequest,
} from './1.6/Requests';
+import { OperationalStatusEnumType } from './2.0/Common';
import {
type OCPP20BootNotificationRequest,
OCPP20IncomingRequestCommand,
OCPP20RequestCommand,
+ type OCPP20StatusNotificationRequest,
} from './2.0/Requests';
import type { MessageType } from './MessageType';
+import type { ChargingStation } from '../../charging-station';
+import type { OCPPError } from '../../exception';
+import type { JsonType } from '../JsonType';
export const RequestCommand = {
...OCPP16RequestCommand,
export type OutgoingRequest = [MessageType.CALL_MESSAGE, string, RequestCommand, JsonType];
-export type RequestParams = {
+export interface RequestParams {
skipBufferingOnError?: boolean;
triggerMessage?: boolean;
-};
+ throwError?: boolean;
+}
export const IncomingRequestCommand = {
...OCPP16IncomingRequestCommand,
export type IncomingRequest = [MessageType.CALL_MESSAGE, string, IncomingRequestCommand, JsonType];
+export type IncomingRequestHandler = (
+ chargingStation: ChargingStation,
+ commandPayload: JsonType,
+) => JsonType | Promise<JsonType>;
+
export type ResponseCallback = (payload: JsonType, requestPayload: JsonType) => void;
-export type ErrorCallback = (error: OCPPError, requestStatistic?: boolean) => void;
+export type ErrorCallback = (ocppError: OCPPError, requestStatistic?: boolean) => void;
export type CachedRequest = [
ResponseCallback,
ErrorCallback,
RequestCommand | IncomingRequestCommand,
- JsonType
+ JsonType,
];
export const MessageTrigger = {
export type HeartbeatRequest = OCPP16HeartbeatRequest;
-export type StatusNotificationRequest = OCPP16StatusNotificationRequest;
+export type StatusNotificationRequest =
+ | OCPP16StatusNotificationRequest
+ | OCPP20StatusNotificationRequest;
export type MeterValuesRequest = OCPP16MeterValuesRequest;
export type FirmwareStatusNotificationRequest = OCPP16FirmwareStatusNotificationRequest;
-export type IncomingRequestHandler = (
- chargingStation: ChargingStation,
- commandPayload: JsonType
-) => JsonType | Promise<JsonType>;
-
export const AvailabilityType = {
...OCPP16AvailabilityType,
+ ...OperationalStatusEnumType,
} as const;
-export type AvailabilityType = OCPP16AvailabilityType;
+export type AvailabilityType = OCPP16AvailabilityType | OperationalStatusEnumType;
export const DiagnosticsStatus = {
...OCPP16DiagnosticsStatus,
export type FirmwareStatus = OCPP16FirmwareStatus;
export type ResponseType = JsonType | OCPPError;
+
+export type ReserveNowRequest = OCPP16ReserveNowRequest;
+
+export type CancelReservationRequest = OCPP16CancelReservationRequest;