-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,
+ type OCPP16FirmwareStatusNotificationRequest,
type OCPP16HeartbeatRequest,
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 RequestParams = {
skipBufferingOnError?: boolean;
triggerMessage?: boolean;
+ throwError?: boolean;
};
export const IncomingRequestCommand = {
export type HeartbeatRequest = OCPP16HeartbeatRequest;
-export type StatusNotificationRequest = OCPP16StatusNotificationRequest;
+export type StatusNotificationRequest =
+ | OCPP16StatusNotificationRequest
+ | OCPP20StatusNotificationRequest;
export type MeterValuesRequest = OCPP16MeterValuesRequest;
export type DataTransferRequest = OCPP16DataTransferRequest;
+export type DiagnosticsStatusNotificationRequest = OCPP16DiagnosticsStatusNotificationRequest;
+
+export type FirmwareStatusNotificationRequest = OCPP16FirmwareStatusNotificationRequest;
+
export type IncomingRequestHandler = (
chargingStation: ChargingStation,
commandPayload: 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;