import type { JsonObject } from './JsonType';
export type ChargingStationData = {
- stationInfo: ChargingStationInfo;
started: boolean;
+ stationInfo: ChargingStationInfo;
+ connectors: ConnectorStatus[];
+ evses: EvseStatus[];
wsState?:
| typeof WebSocket.CONNECTING
| typeof WebSocket.OPEN
| typeof WebSocket.CLOSING
| typeof WebSocket.CLOSED;
- bootNotificationResponse: BootNotificationResponse;
- connectors: ConnectorStatus[];
- automaticTransactionGeneratorStatuses?: Status[];
+ bootNotificationResponse?: BootNotificationResponse;
+ automaticTransactionGenerator?: Status[];
};
+export enum OCPP16FirmwareStatus {
+ Downloaded = 'Downloaded',
+ DownloadFailed = 'DownloadFailed',
+ Downloading = 'Downloading',
+ Idle = 'Idle',
+ InstallationFailed = 'InstallationFailed',
+ Installing = 'Installing',
+ Installed = 'Installed',
+}
+
+export const FirmwareStatus = {
+ ...OCPP16FirmwareStatus,
+} as const;
+export type FirmwareStatus = OCPP16FirmwareStatus;
+
export type ChargingStationInfo = {
hashId: string;
chargingStationId?: string;
chargePointModel: string;
chargePointVendor: string;
+ firmwareVersionPattern?: string;
firmwareVersion?: string;
+ firmwareStatus?: FirmwareStatus;
numberOfConnectors?: number | number[];
baseName: string;
- infoHash?: string;
templateHash?: string;
chargeBoxSerialNumber?: string;
chargePointSerialNumber?: string;
ocppStrictCompliance?: boolean;
ocppPersistentConfiguration?: boolean;
stationInfoPersistentConfiguration?: boolean;
- authorizationFile?: string;
+ idTagsFile?: string;
nameSuffix?: string;
fixedName?: boolean;
iccid?: string;
reconnectExponentialDelay?: boolean;
registrationMaxRetries?: number;
enableStatistics?: boolean;
- mustAuthorizeAtRemoteStart?: boolean;
+ remoteAuthorization?: boolean;
amperageLimitationOcppKey?: string;
amperageLimitationUnit?: AmpereUnits;
beginEndMeterValues?: boolean;
phaseLineToLineVoltageMeterValues?: boolean;
customValueLimitationMeterValues?: boolean;
commandsSupport?: CommandsSupport;
+ messageTriggerSupport?: Record<MessageTrigger, boolean>;
};
export enum OCPP16IncomingRequestCommand {
TRIGGER_MESSAGE = 'TriggerMessage',
}
-export type IncomingRequestCommand = OCPP16IncomingRequestCommand;
-
export const IncomingRequestCommand = {
...OCPP16IncomingRequestCommand,
-};
+} as const;
+export type IncomingRequestCommand = OCPP16IncomingRequestCommand;
export enum OCPP16RequestCommand {
BOOT_NOTIFICATION = 'BootNotification',
DIAGNOSTICS_STATUS_NOTIFICATION = 'DiagnosticsStatusNotification',
}
-export type RequestCommand = OCPP16RequestCommand;
-
export const RequestCommand = {
...OCPP16RequestCommand,
-};
+} as const;
+export type RequestCommand = OCPP16RequestCommand;
export type BootNotificationResponse = OCPP16BootNotificationResponse;
export interface OCPP16BootNotificationResponse extends JsonObject {
status: OCPP16RegistrationStatus;
- currentTime: string;
+ currentTime: Date;
interval: number;
}
+export enum OCPP16MessageTrigger {
+ BootNotification = 'BootNotification',
+ DiagnosticsStatusNotification = 'DiagnosticsStatusNotification',
+ FirmwareStatusNotification = 'FirmwareStatusNotification',
+ Heartbeat = 'Heartbeat',
+ MeterValues = 'MeterValues',
+ StatusNotification = 'StatusNotification',
+}
+
+export const MessageTrigger = {
+ ...OCPP16MessageTrigger,
+} as const;
+export type MessageTrigger = OCPP16MessageTrigger;
+
type CommandsSupport = {
incomingCommands: Record<IncomingRequestCommand, boolean>;
outgoingCommands?: Record<RequestCommand, boolean>;
}
export enum OCPPProtocol {
- SOAP = 'soap',
JSON = 'json',
}
transactionEnergyActiveImportRegisterValue?: number; // In Wh
};
-export type AvailabilityType = OCPP16AvailabilityType;
+export type EvseStatus = {
+ availability: AvailabilityType;
+ connectors?: ConnectorStatus[];
+};
export enum OCPP16AvailabilityType {
INOPERATIVE = 'Inoperative',
OPERATIVE = 'Operative',
}
-
-export type ChargePointStatus = OCPP16ChargePointStatus;
+export type AvailabilityType = OCPP16AvailabilityType;
export enum OCPP16ChargePointStatus {
AVAILABLE = 'Available',
UNAVAILABLE = 'Unavailable',
FAULTED = 'Faulted',
}
+export type ChargePointStatus = OCPP16ChargePointStatus;
export type Status = {
start?: boolean;