From: Jérôme Benoit Date: Fri, 20 Mar 2026 19:05:22 +0000 (+0100) Subject: fix(ocpp2.0): pass real transactionId to buildMeterValue for energy accumulation X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=dcfc120c6562e7d20830629a067a3224d5bc37ca;p=e-mobility-charging-stations-simulator.git fix(ocpp2.0): pass real transactionId to buildMeterValue for energy accumulation buildMeterValue was called with transactionId=0 for OCPP 2.0 stations, but transaction IDs are UUID strings in 2.0.1. The energy lookup compared 'uuid-string' === 0, always returning 0 Wh. Pass the actual connectorStatus.transactionId and widen the parameter type to number | string | undefined. --- diff --git a/src/charging-station/ocpp/2.0/OCPP20IncomingRequestService.ts b/src/charging-station/ocpp/2.0/OCPP20IncomingRequestService.ts index 5f9898aa..124f9c4d 100644 --- a/src/charging-station/ocpp/2.0/OCPP20IncomingRequestService.ts +++ b/src/charging-station/ocpp/2.0/OCPP20IncomingRequestService.ts @@ -511,7 +511,7 @@ export class OCPP20IncomingRequestService extends OCPPIncomingRequestService { const meterValue = buildMeterValue( chargingStation, cId, - 0, + connector.transactionId, txUpdatedInterval ) as OCPP20MeterValue OCPP20ServiceUtils.sendTransactionEvent( @@ -531,7 +531,7 @@ export class OCPP20IncomingRequestService extends OCPPIncomingRequestService { meterValue = buildMeterValue( chargingStation, fallbackEvseId > 0 ? fallbackEvseId : 1, - 0, + undefined, OCPP20ServiceUtils.getTxUpdatedInterval(chargingStation) ) as OCPP20MeterValue } catch { diff --git a/src/charging-station/ocpp/2.0/OCPP20ServiceUtils.ts b/src/charging-station/ocpp/2.0/OCPP20ServiceUtils.ts index c51ae341..588dc07d 100644 --- a/src/charging-station/ocpp/2.0/OCPP20ServiceUtils.ts +++ b/src/charging-station/ocpp/2.0/OCPP20ServiceUtils.ts @@ -560,7 +560,7 @@ export class OCPP20ServiceUtils extends OCPPServiceUtils { const meterValue = buildMeterValue( chargingStation, connectorId, - 0, + connectorStatus.transactionId, interval ) as OCPP20MeterValue OCPP20ServiceUtils.sendTransactionEvent( diff --git a/src/charging-station/ocpp/OCPPServiceUtils.ts b/src/charging-station/ocpp/OCPPServiceUtils.ts index 8098abc1..e96a7166 100644 --- a/src/charging-station/ocpp/OCPPServiceUtils.ts +++ b/src/charging-station/ocpp/OCPPServiceUtils.ts @@ -1523,7 +1523,7 @@ const buildCurrentMeasurandValue = ( export const buildMeterValue = ( chargingStation: ChargingStation, connectorId: number, - transactionId: number, + transactionId: number | string | undefined, interval: number, debug = false ): MeterValue => {