X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Focpp%2FOCPPConstants.ts;h=b8448fb63de6539d941646555dfbce427a8b0d30;hb=0ed4ca0a1bd55fddf3c219e8cca11ca6d7f33b54;hp=1064a95a0e3ab1651162b38e1ad1defb7fd59e0c;hpb=f1bf81be82f85af01906effff244cc1d95e7e57a;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/ocpp/OCPPConstants.ts b/src/charging-station/ocpp/OCPPConstants.ts index 1064a95a..b8448fb6 100644 --- a/src/charging-station/ocpp/OCPPConstants.ts +++ b/src/charging-station/ocpp/OCPPConstants.ts @@ -5,13 +5,27 @@ import { ConfigurationStatus, DataTransferStatus, GenericStatus, + MeterValueMeasurand, TriggerMessageStatus, UnlockStatus, } from '../../types'; +import { CancelReservationStatus, ReservationStatus } from '../../types/ocpp/Responses'; +import { Constants } from '../../utils'; export class OCPPConstants { - static readonly OCPP_REQUEST_EMPTY = Object.freeze({}); - static readonly OCPP_RESPONSE_EMPTY = Object.freeze({}); + static readonly OCPP_WEBSOCKET_TIMEOUT = 60000; // Ms + static readonly OCPP_TRIGGER_MESSAGE_DELAY = 500; // Ms + + static readonly OCPP_MEASURANDS_SUPPORTED = Object.freeze([ + MeterValueMeasurand.STATE_OF_CHARGE, + MeterValueMeasurand.VOLTAGE, + MeterValueMeasurand.POWER_ACTIVE_IMPORT, + MeterValueMeasurand.CURRENT_IMPORT, + MeterValueMeasurand.ENERGY_ACTIVE_IMPORT_REGISTER, + ]); + + static readonly OCPP_REQUEST_EMPTY = Constants.EMPTY_FREEZED_OBJECT; + static readonly OCPP_RESPONSE_EMPTY = Constants.EMPTY_FREEZED_OBJECT; static readonly OCPP_RESPONSE_ACCEPTED = Object.freeze({ status: GenericStatus.Accepted }); static readonly OCPP_RESPONSE_REJECTED = Object.freeze({ status: GenericStatus.Rejected }); @@ -88,7 +102,19 @@ export class OCPPConstants { status: DataTransferStatus.REJECTED, }); - private constructor() { + static readonly OCPP_RESERVATION_RESPONSE_ACCEPTED = Object.freeze({ status: ReservationStatus.ACCEPTED }); // Reservation has been made + static readonly OCPP_RESERVATION_RESPONSE_FAULTED = Object.freeze({ status: ReservationStatus.FAULTED }); // Reservation has not been made, because of connector in FAULTED state + static readonly OCPP_RESERVATION_RESPONSE_OCCUPIED = Object.freeze({ status: ReservationStatus.OCCUPIED }); // Reservation has not been made, because all connectors are OCCUPIED + static readonly OCPP_RESERVATION_RESPONSE_REJECTED = Object.freeze({ status: ReservationStatus.REJECTED }); // Reservation has not been made, because CS is not configured to accept reservations + static readonly OCPP_RESERVATION_RESPONSE_UNAVAILABLE = Object.freeze({ status: ReservationStatus.UNAVAILABLE }); // Reservation has not been made, because connectors are spec. connector is in UNAVAILABLE state + + static readonly OCPP_CANCEL_RESERVATION_RESPONSE_ACCEPTED = Object.freeze({ status: CancelReservationStatus.ACCEPTED }); // Reservation for id has been cancelled has been made + static readonly OCPP_CANCEL_RESERVATION_RESPONSE_REJECTED = Object.freeze({ status: CancelReservationStatus.REJECTED }); // Reservation could not be cancelled, because there is no reservation active for id + + static readonly OCPP_SUPPORTED_FEATURE_PROFILE_RESERVATION = 'Reservation'; + static readonly OCPP_RESERVE_CONNECTOR_ZERO_SUPPORTED = 'ReserveConnectorZeroSupported'; + + protected constructor() { // This is intentional } }