X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Ftypes%2Focpp%2F1.6%2FRequests.ts;h=bc45189844dcd9fd09e5f29a717d9375bd25d163;hb=1185579a331f3484e8ed7882203d2e58466635dd;hp=78123f87ece78fa591438fb30ad49de29ed4f26a;hpb=63b48f776a09ac5a5ffb5b161c108e3ca625a3cb;p=e-mobility-charging-stations-simulator.git diff --git a/src/types/ocpp/1.6/Requests.ts b/src/types/ocpp/1.6/Requests.ts index 78123f87..bc451898 100644 --- a/src/types/ocpp/1.6/Requests.ts +++ b/src/types/ocpp/1.6/Requests.ts @@ -1,5 +1,178 @@ -import OCPPError from '../../../charging-station/OcppError'; +import type { + EmptyObject, + JsonObject, + OCPP16ChargePointErrorCode, + OCPP16ChargePointStatus, + OCPP16ChargingProfile, + OCPP16ChargingProfilePurposeType, + OCPP16DiagnosticsStatus, + OCPP16StandardParametersKey, + OCPP16VendorParametersKey, +} from '../../internal'; -export default interface Requests { - [id: string]: [(payload?, requestPayload?) => void, (error?: OCPPError) => void, object]; +export enum OCPP16RequestCommand { + BOOT_NOTIFICATION = 'BootNotification', + HEARTBEAT = 'Heartbeat', + STATUS_NOTIFICATION = 'StatusNotification', + AUTHORIZE = 'Authorize', + START_TRANSACTION = 'StartTransaction', + STOP_TRANSACTION = 'StopTransaction', + METER_VALUES = 'MeterValues', + DIAGNOSTICS_STATUS_NOTIFICATION = 'DiagnosticsStatusNotification', + FIRMWARE_STATUS_NOTIFICATION = 'FirmwareStatusNotification', + DATA_TRANSFER = 'DataTransfer', +} + +export enum OCPP16IncomingRequestCommand { + RESET = 'Reset', + CLEAR_CACHE = 'ClearCache', + CHANGE_AVAILABILITY = 'ChangeAvailability', + UNLOCK_CONNECTOR = 'UnlockConnector', + GET_CONFIGURATION = 'GetConfiguration', + CHANGE_CONFIGURATION = 'ChangeConfiguration', + SET_CHARGING_PROFILE = 'SetChargingProfile', + CLEAR_CHARGING_PROFILE = 'ClearChargingProfile', + REMOTE_START_TRANSACTION = 'RemoteStartTransaction', + REMOTE_STOP_TRANSACTION = 'RemoteStopTransaction', + GET_DIAGNOSTICS = 'GetDiagnostics', + TRIGGER_MESSAGE = 'TriggerMessage', + DATA_TRANSFER = 'DataTransfer', + UPDATE_FIRMWARE = 'UpdateFirmware', +} + +export type OCPP16HeartbeatRequest = EmptyObject; + +export interface OCPP16BootNotificationRequest extends JsonObject { + chargePointVendor: string; + chargePointModel: string; + chargePointSerialNumber?: string; + chargeBoxSerialNumber?: string; + firmwareVersion?: string; + iccid?: string; + imsi?: string; + meterType?: string; + meterSerialNumber?: string; +} + +export interface OCPP16StatusNotificationRequest extends JsonObject { + connectorId: number; + errorCode: OCPP16ChargePointErrorCode; + status: OCPP16ChargePointStatus; + info?: string; + timestamp?: Date; + vendorId?: string; + vendorErrorCode?: string; +} + +export type OCPP16ClearCacheRequest = EmptyObject; + +type OCPP16ConfigurationKey = string | OCPP16StandardParametersKey | OCPP16VendorParametersKey; + +export interface ChangeConfigurationRequest extends JsonObject { + key: OCPP16ConfigurationKey; + value: string; +} + +export interface RemoteStartTransactionRequest extends JsonObject { + connectorId: number; + idTag: string; + chargingProfile?: OCPP16ChargingProfile; +} + +export interface RemoteStopTransactionRequest extends JsonObject { + transactionId: number; +} + +export interface UnlockConnectorRequest extends JsonObject { + connectorId: number; +} + +export interface GetConfigurationRequest extends JsonObject { + key?: OCPP16ConfigurationKey[]; +} + +enum ResetType { + HARD = 'Hard', + SOFT = 'Soft', +} + +export interface ResetRequest extends JsonObject { + type: ResetType; +} + +export interface SetChargingProfileRequest extends JsonObject { + connectorId: number; + csChargingProfiles: OCPP16ChargingProfile; +} + +export enum OCPP16AvailabilityType { + INOPERATIVE = 'Inoperative', + OPERATIVE = 'Operative', +} + +export interface ChangeAvailabilityRequest extends JsonObject { + connectorId: number; + type: OCPP16AvailabilityType; +} + +export interface ClearChargingProfileRequest extends JsonObject { + id?: number; + connectorId?: number; + chargingProfilePurpose?: OCPP16ChargingProfilePurposeType; + stackLevel?: number; +} + +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; + startTime?: Date; + stopTime?: Date; +} + +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; }