-import { ChargingProfilePurposeType, OCPP16ChargingProfile } from './ChargingProfile';
-
-import { OCPP16ChargePointErrorCode } from './ChargePointErrorCode';
-import { OCPP16ChargePointStatus } from './ChargePointStatus';
-import { OCPP16DiagnosticsStatus } from './DiagnosticsStatus';
-import { OCPP16StandardParametersKey } from './Configuration';
+import type { OCPP16ChargePointErrorCode } from './ChargePointErrorCode';
+import type { OCPP16ChargePointStatus } from './ChargePointStatus';
+import type {
+ OCPP16ChargingProfile,
+ OCPP16ChargingProfilePurposeType,
+ OCPP16ChargingRateUnitType,
+} from './ChargingProfile';
+import type { OCPP16StandardParametersKey, OCPP16VendorParametersKey } from './Configuration';
+import type { OCPP16DiagnosticsStatus } from './DiagnosticsStatus';
+import type { EmptyObject } from '../../EmptyObject';
+import type { JsonObject } from '../../JsonType';
export enum OCPP16RequestCommand {
BOOT_NOTIFICATION = 'BootNotification',
HEARTBEAT = 'Heartbeat',
STATUS_NOTIFICATION = 'StatusNotification',
- CHANGE_CONFIGURATION = 'ChangeConfiguration',
AUTHORIZE = 'Authorize',
START_TRANSACTION = 'StartTransaction',
STOP_TRANSACTION = 'StopTransaction',
METER_VALUES = 'MeterValues',
- DIAGNOSTICS_STATUS_NOTIFICATION= 'DiagnosticsStatusNotification'
+ DIAGNOSTICS_STATUS_NOTIFICATION = 'DiagnosticsStatusNotification',
+ FIRMWARE_STATUS_NOTIFICATION = 'FirmwareStatusNotification',
+ DATA_TRANSFER = 'DataTransfer',
}
export enum OCPP16IncomingRequestCommand {
UNLOCK_CONNECTOR = 'UnlockConnector',
GET_CONFIGURATION = 'GetConfiguration',
CHANGE_CONFIGURATION = 'ChangeConfiguration',
+ GET_COMPOSITE_SCHEDULE = 'GetCompositeSchedule',
SET_CHARGING_PROFILE = 'SetChargingProfile',
CLEAR_CHARGING_PROFILE = 'ClearChargingProfile',
REMOTE_START_TRANSACTION = 'RemoteStartTransaction',
REMOTE_STOP_TRANSACTION = 'RemoteStopTransaction',
- GET_DIAGNOSTICS = 'GetDiagnostics'
+ GET_DIAGNOSTICS = 'GetDiagnostics',
+ TRIGGER_MESSAGE = 'TriggerMessage',
+ DATA_TRANSFER = 'DataTransfer',
+ UPDATE_FIRMWARE = 'UpdateFirmware',
}
-// eslint-disable-next-line @typescript-eslint/no-empty-interface
-export interface HeartbeatRequest { }
+export type OCPP16HeartbeatRequest = EmptyObject;
-export interface OCPP16BootNotificationRequest {
- chargeBoxSerialNumber?: string;
+export interface OCPP16BootNotificationRequest extends JsonObject {
+ chargePointVendor: string;
chargePointModel: string;
chargePointSerialNumber?: string;
- chargePointVendor: string;
+ chargeBoxSerialNumber?: string;
firmwareVersion?: string;
iccid?: string;
imsi?: string;
- meterSerialNumber?: string;
meterType?: string;
+ meterSerialNumber?: string;
}
-export interface StatusNotificationRequest {
+export interface OCPP16StatusNotificationRequest extends JsonObject {
connectorId: number;
errorCode: OCPP16ChargePointErrorCode;
- info?: string;
status: OCPP16ChargePointStatus;
- timestamp?: string;
+ info?: string;
+ timestamp?: Date;
vendorId?: string;
vendorErrorCode?: string;
}
-export interface ChangeConfigurationRequest {
- key: string | OCPP16StandardParametersKey;
+export type OCPP16ClearCacheRequest = EmptyObject;
+
+type OCPP16ConfigurationKey = string | OCPP16StandardParametersKey | OCPP16VendorParametersKey;
+
+export interface ChangeConfigurationRequest extends JsonObject {
+ key: OCPP16ConfigurationKey;
value: string;
}
-export interface RemoteStartTransactionRequest {
+export interface RemoteStartTransactionRequest extends JsonObject {
connectorId: number;
idTag: string;
chargingProfile?: OCPP16ChargingProfile;
}
-export interface RemoteStopTransactionRequest {
+export interface RemoteStopTransactionRequest extends JsonObject {
transactionId: number;
}
-export interface UnlockConnectorRequest {
+export interface UnlockConnectorRequest extends JsonObject {
connectorId: number;
}
-export interface GetConfigurationRequest {
- key?: string | OCPP16StandardParametersKey[];
+export interface GetConfigurationRequest extends JsonObject {
+ key?: OCPP16ConfigurationKey[];
}
-export enum ResetType {
+enum ResetType {
HARD = 'Hard',
- SOFT = 'Soft'
+ SOFT = 'Soft',
}
-export interface ResetRequest {
+export interface ResetRequest extends JsonObject {
type: ResetType;
}
-export interface SetChargingProfileRequest {
+export interface OCPP16GetCompositeScheduleRequest extends JsonObject {
+ connectorId: number;
+ duration: number;
+ chargingRateUnit?: OCPP16ChargingRateUnitType;
+}
+
+export interface SetChargingProfileRequest extends JsonObject {
connectorId: number;
csChargingProfiles: OCPP16ChargingProfile;
}
export enum OCPP16AvailabilityType {
- INOPERATIVE = 'Inoperative',
- OPERATIVE = 'Operative'
+ Inoperative = 'Inoperative',
+ Operative = 'Operative',
}
-export interface ChangeAvailabilityRequest {
+export interface ChangeAvailabilityRequest extends JsonObject {
connectorId: number;
type: OCPP16AvailabilityType;
}
-export interface ClearChargingProfileRequest {
+export interface ClearChargingProfileRequest extends JsonObject {
id?: number;
connectorId?: number;
- chargingProfilePurpose?: ChargingProfilePurposeType;
+ chargingProfilePurpose?: OCPP16ChargingProfilePurposeType;
stackLevel?: number;
}
-export interface GetDiagnosticsRequest {
+export interface OCPP16UpdateFirmwareRequest extends JsonObject {
+ location: string;
+ retrieveDate: Date;
+ retries?: number;
+ retryInterval?: number;
+}
+
+export enum OCPP16FirmwareStatus {
+ Downloaded = 'Downloaded',
+ DownloadFailed = 'DownloadFailed',
+ Downloading = 'Downloading',
+ Idle = 'Idle',
+ InstallationFailed = 'InstallationFailed',
+ Installing = 'Installing',
+ Installed = 'Installed',
+}
+
+export type OCPP16FirmwareStatusNotificationRequest = {
+ status: OCPP16FirmwareStatus;
+} & JsonObject;
+
+export interface GetDiagnosticsRequest extends JsonObject {
location: string;
retries?: number;
retryInterval?: number;
stopTime?: Date;
}
-export interface DiagnosticsStatusNotificationRequest {
- status: OCPP16DiagnosticsStatus
+export interface OCPP16DiagnosticsStatusNotificationRequest extends JsonObject {
+ status: OCPP16DiagnosticsStatus;
+}
+
+export enum OCPP16MessageTrigger {
+ BootNotification = 'BootNotification',
+ DiagnosticsStatusNotification = 'DiagnosticsStatusNotification',
+ FirmwareStatusNotification = 'FirmwareStatusNotification',
+ Heartbeat = 'Heartbeat',
+ MeterValues = 'MeterValues',
+ StatusNotification = 'StatusNotification',
+}
+
+export interface OCPP16TriggerMessageRequest extends JsonObject {
+ requestedMessage: OCPP16MessageTrigger;
+ connectorId?: number;
+}
+
+export enum OCPP16DataTransferVendorId {}
+
+export interface OCPP16DataTransferRequest extends JsonObject {
+ vendorId: string;
+ messageId?: string;
+ data?: string;
}