-// Partial Copyright Jerome Benoit. 2021. All Rights Reserved.
+// Partial Copyright Jerome Benoit. 2021-2023. All Rights Reserved.
import OCPPError from '../../../exception/OCPPError';
import { CurrentType, Voltage } from '../../../types/ChargingStationTemplate';
MeterValueContext,
MeterValueLocation,
MeterValueUnit,
- OCPP16MeterValue,
+ type OCPP16MeterValue,
OCPP16MeterValueMeasurand,
OCPP16MeterValuePhase,
- OCPP16SampledValue,
+ type OCPP16SampledValue,
} from '../../../types/ocpp/1.6/MeterValues';
import {
- OCPP16IncomingRequestCommand,
+ type OCPP16IncomingRequestCommand,
OCPP16RequestCommand,
} from '../../../types/ocpp/1.6/Requests';
import { ErrorType } from '../../../types/ocpp/ErrorType';
debug = false
): OCPP16MeterValue {
const meterValue: OCPP16MeterValue = {
- timestamp: new Date().toISOString(),
+ timestamp: new Date(),
sampledValue: [],
};
const connector = chargingStation.getConnectorStatus(connectorId);
// Persist previous value on connector
if (
connector &&
- !Utils.isNullOrUndefined(connector.energyActiveImportRegisterValue) &&
+ Utils.isNullOrUndefined(connector.energyActiveImportRegisterValue) === false &&
connector.energyActiveImportRegisterValue >= 0 &&
- !Utils.isNullOrUndefined(connector.transactionEnergyActiveImportRegisterValue) &&
+ Utils.isNullOrUndefined(connector.transactionEnergyActiveImportRegisterValue) === false &&
connector.transactionEnergyActiveImportRegisterValue >= 0
) {
connector.energyActiveImportRegisterValue += energyValueRounded;
meterStart: number
): OCPP16MeterValue {
const meterValue: OCPP16MeterValue = {
- timestamp: new Date().toISOString(),
+ timestamp: new Date(),
sampledValue: [],
};
// Energy.Active.Import.Register measurand (default)
meterValue.sampledValue.push(
OCPP16ServiceUtils.buildSampledValue(
sampledValueTemplate,
- Utils.roundTo(meterStart / unitDivider, 4),
+ Utils.roundTo((meterStart ?? 0) / unitDivider, 4),
MeterValueContext.TRANSACTION_BEGIN
)
);
meterStop: number
): OCPP16MeterValue {
const meterValue: OCPP16MeterValue = {
- timestamp: new Date().toISOString(),
+ timestamp: new Date(),
sampledValue: [],
};
// Energy.Active.Import.Register measurand (default)
meterValue.sampledValue.push(
OCPP16ServiceUtils.buildSampledValue(
sampledValueTemplate,
- Utils.roundTo(meterStop / unitDivider, 4),
+ Utils.roundTo((meterStop ?? 0) / unitDivider, 4),
MeterValueContext.TRANSACTION_END
)
);