X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Focpp%2F2.0%2FOCPP20ResponseService.ts;h=50566300231ddfe3347870f3234737d64d31df9e;hb=022a231c76e227205b0124a7aef8e16ceb86a1d9;hp=129d8e52ddecb00fcefc437abdcedbf2c0eb9650;hpb=b768993dd4636df8276b0ea47158dd9bdc9a997b;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/ocpp/2.0/OCPP20ResponseService.ts b/src/charging-station/ocpp/2.0/OCPP20ResponseService.ts index 129d8e52..50566300 100644 --- a/src/charging-station/ocpp/2.0/OCPP20ResponseService.ts +++ b/src/charging-station/ocpp/2.0/OCPP20ResponseService.ts @@ -2,6 +2,7 @@ import type { JSONSchemaType } from 'ajv'; +import { OCPP20ServiceUtils } from './OCPP20ServiceUtils'; import { type ChargingStation, ChargingStationConfigurationUtils } from '../../../charging-station'; import { OCPPError } from '../../../exception'; import { @@ -19,8 +20,8 @@ import { RegistrationStatusEnumType, type ResponseHandler, } from '../../../types'; -import { Constants, logger } from '../../../utils'; -import { OCPP20ServiceUtils, OCPPResponseService } from '../internal'; +import { logger } from '../../../utils'; +import { OCPPResponseService } from '../OCPPResponseService'; const moduleName = 'OCPP20ResponseService'; @@ -47,7 +48,7 @@ export class OCPP20ResponseService extends OCPPResponseService { [ OCPP20RequestCommand.BOOT_NOTIFICATION, OCPP20ServiceUtils.parseJsonSchemaFile( - '../../../assets/json-schemas/ocpp/2.0/BootNotificationResponse.json', + 'assets/json-schemas/ocpp/2.0/BootNotificationResponse.json', moduleName, 'constructor' ), @@ -55,7 +56,7 @@ export class OCPP20ResponseService extends OCPPResponseService { [ OCPP20RequestCommand.HEARTBEAT, OCPP20ServiceUtils.parseJsonSchemaFile( - '../../../assets/json-schemas/ocpp/2.0/HeartbeatResponse.json', + 'assets/json-schemas/ocpp/2.0/HeartbeatResponse.json', moduleName, 'constructor' ), @@ -63,7 +64,7 @@ export class OCPP20ResponseService extends OCPPResponseService { [ OCPP20RequestCommand.STATUS_NOTIFICATION, OCPP20ServiceUtils.parseJsonSchemaFile( - '../../../assets/json-schemas/ocpp/2.0/StatusNotificationResponse.json', + 'assets/json-schemas/ocpp/2.0/StatusNotificationResponse.json', moduleName, 'constructor' ), @@ -73,13 +74,17 @@ export class OCPP20ResponseService extends OCPPResponseService { [ OCPP20IncomingRequestCommand.CLEAR_CACHE, OCPP20ServiceUtils.parseJsonSchemaFile( - '../../../assets/json-schemas/ocpp/2.0/ClearCacheResponse.json', + 'assets/json-schemas/ocpp/2.0/ClearCacheResponse.json', moduleName, 'constructor' ), ], ]); - this.validatePayload.bind(this); + this.validatePayload = this.validatePayload.bind(this) as ( + chargingStation: ChargingStation, + commandName: OCPP20RequestCommand, + payload: JsonType + ) => boolean; } public async responseHandler( @@ -161,12 +166,10 @@ export class OCPP20ResponseService extends OCPPResponseService { chargingStation, OCPP20OptionalVariableName.HeartbeatInterval, payload.interval.toString(), - Constants.EMPTY_OBJECT, + {}, { overwrite: true, save: true } ); - chargingStation.heartbeatSetInterval - ? chargingStation.restartHeartbeat() - : chargingStation.startHeartbeat(); + OCPP20ServiceUtils.startHeartbeatInterval(chargingStation, payload.interval); } if (Object.values(RegistrationStatusEnumType).includes(payload.status)) { const logMsg = `${chargingStation.logPrefix()} Charging station in '${