From: Jérôme Benoit Date: Sun, 21 May 2023 23:14:23 +0000 (+0200) Subject: refactor: organize constants X-Git-Tag: v1.2.14~29 X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=c3da35d496cbb2c78e85fb3d2e125ffd6fd297f4;p=e-mobility-charging-stations-simulator.git refactor: organize constants Signed-off-by: Jérôme Benoit --- diff --git a/.vscode/settings.json b/.vscode/settings.json index f76083ba..b8f730ca 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -20,6 +20,7 @@ "evse", "evses", "iccid", + "idtag", "imsi", "lcov", "logform", diff --git a/src/charging-station/ocpp/OCPPConstants.ts b/src/charging-station/ocpp/OCPPConstants.ts index e4ac8d7f..5a271f59 100644 --- a/src/charging-station/ocpp/OCPPConstants.ts +++ b/src/charging-station/ocpp/OCPPConstants.ts @@ -5,6 +5,7 @@ import { ConfigurationStatus, DataTransferStatus, GenericStatus, + MeterValueMeasurand, TriggerMessageStatus, UnlockStatus, } from '../../types'; @@ -14,6 +15,14 @@ export class OCPPConstants { 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 }); diff --git a/src/charging-station/ocpp/OCPPServiceUtils.ts b/src/charging-station/ocpp/OCPPServiceUtils.ts index 55a1017a..c5387f33 100644 --- a/src/charging-station/ocpp/OCPPServiceUtils.ts +++ b/src/charging-station/ocpp/OCPPServiceUtils.ts @@ -6,6 +6,7 @@ import type { DefinedError, ErrorObject, JSONSchemaType } from 'ajv'; import { OCPP16Constants } from './1.6/OCPP16Constants'; import { OCPP20Constants } from './2.0/OCPP20Constants'; +import { OCPPConstants } from './OCPPConstants'; import { type ChargingStation, ChargingStationConfigurationUtils } from '../../charging-station'; import { BaseError } from '../../exception'; import { @@ -280,7 +281,7 @@ export class OCPPServiceUtils { phase?: MeterValuePhase ): SampledValueTemplate | undefined { const onPhaseStr = phase ? `on phase ${phase} ` : ''; - if (Constants.SUPPORTED_MEASURANDS.includes(measurand) === false) { + if (OCPPConstants.OCPP_MEASURANDS_SUPPORTED.includes(measurand) === false) { logger.warn( `${chargingStation.logPrefix()} Trying to get unsupported MeterValues measurand '${measurand}' ${onPhaseStr}in template on connector id ${connectorId}` ); @@ -308,7 +309,7 @@ export class OCPPServiceUtils { index++ ) { if ( - Constants.SUPPORTED_MEASURANDS.includes( + OCPPConstants.OCPP_MEASURANDS_SUPPORTED.includes( sampledValueTemplates[index]?.measurand ?? MeterValueMeasurand.ENERGY_ACTIVE_IMPORT_REGISTER ) === false diff --git a/src/utils/Constants.ts b/src/utils/Constants.ts index 730f1f28..8608e480 100644 --- a/src/utils/Constants.ts +++ b/src/utils/Constants.ts @@ -1,7 +1,7 @@ -import { MeterValueMeasurand } from '../types'; - export class Constants { static readonly DEFAULT_BOOT_NOTIFICATION_INTERVAL = 60000; // Ms + static readonly DEFAULT_HEARTBEAT_INTERVAL = 60000; // Ms + static readonly DEFAULT_METER_VALUES_INTERVAL = 60000; // Ms static readonly CHARGING_STATION_DEFAULT_RESET_TIME = 60000; // Ms static readonly CHARGING_STATION_ATG_INITIALIZATION_TIME = 1000; // Ms @@ -21,17 +21,6 @@ export class Constants { static readonly DEFAULT_LOG_STATISTICS_INTERVAL = 60; // Seconds - static readonly DEFAULT_HEARTBEAT_INTERVAL = 60000; // Ms - static readonly DEFAULT_METER_VALUES_INTERVAL = 60000; // Ms - - static readonly SUPPORTED_MEASURANDS = Object.freeze([ - MeterValueMeasurand.STATE_OF_CHARGE, - MeterValueMeasurand.VOLTAGE, - MeterValueMeasurand.POWER_ACTIVE_IMPORT, - MeterValueMeasurand.CURRENT_IMPORT, - MeterValueMeasurand.ENERGY_ACTIVE_IMPORT_REGISTER, - ]); - static readonly DEFAULT_FLUCTUATION_PERCENT = 5; static readonly DEFAULT_PERFORMANCE_RECORDS_FILENAME = 'performanceRecords.json';