+
+ private handleResponseBootNotification(
+ chargingStation: ChargingStation,
+ payload: OCPP20BootNotificationResponse
+ ): void {
+ if (payload.status === RegistrationStatusEnumType.ACCEPTED) {
+ // ChargingStationConfigurationUtils.addConfigurationKey(
+ // chargingStation,
+ // OCPP16StandardParametersKey.HeartbeatInterval,
+ // payload.interval.toString(),
+ // {},
+ // { overwrite: true, save: true }
+ // );
+ // ChargingStationConfigurationUtils.addConfigurationKey(
+ // chargingStation,
+ // OCPP16StandardParametersKey.HeartBeatInterval,
+ // payload.interval.toString(),
+ // { visible: false },
+ // { overwrite: true, save: true }
+ // );
+ chargingStation.heartbeatSetInterval
+ ? chargingStation.restartHeartbeat()
+ : chargingStation.startHeartbeat();
+ }
+ if (Object.values(RegistrationStatusEnumType).includes(payload.status)) {
+ const logMsg = `${chargingStation.logPrefix()} Charging station in '${
+ payload.status
+ }' state on the central server`;
+ payload.status === RegistrationStatusEnumType.REJECTED
+ ? logger.warn(logMsg)
+ : logger.info(logMsg);
+ } else {
+ logger.error(
+ `${chargingStation.logPrefix()} Charging station boot notification response received: %j with undefined registration status`,
+ payload
+ );
+ }
+ }
+
+ private parseJsonSchemaFile<T extends JsonType>(relativePath: string): JSONSchemaType<T> {
+ return JSON.parse(
+ fs.readFileSync(
+ path.resolve(path.dirname(fileURLToPath(import.meta.url)), relativePath),
+ 'utf8'
+ )
+ ) as JSONSchemaType<T>;
+ }