refactor: organize constants
authorJérôme Benoit <jerome.benoit@sap.com>
Sun, 21 May 2023 23:14:23 +0000 (01:14 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Sun, 21 May 2023 23:14:23 +0000 (01:14 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
.vscode/settings.json
src/charging-station/ocpp/OCPPConstants.ts
src/charging-station/ocpp/OCPPServiceUtils.ts
src/utils/Constants.ts

index f76083ba617a187a15ad5881a633791fc9502b1e..b8f730caa6ca2df877f8029e5833c8bc6b86fb4b 100644 (file)
@@ -20,6 +20,7 @@
     "evse",
     "evses",
     "iccid",
+    "idtag",
     "imsi",
     "lcov",
     "logform",
index e4ac8d7ffce43dbfa19a66ade823e6792ed3df9d..5a271f5902f2a8f36e39d42cbdd407b32be97498 100644 (file)
@@ -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 });
index 55a1017a1cdbce5e46bdc397d5f08d44ad798d62..c5387f33f9c693f41ff21f1b20d9f40d7c5cd514 100644 (file)
@@ -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
index 730f1f28db9f610667c162f9edcbef7ce22900a0..8608e480f7d7b4a3a1ff938e0c487c216da8912c 100644 (file)
@@ -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';