From: Jérôme Benoit Date: Wed, 1 Apr 2026 21:25:59 +0000 (+0200) Subject: fix(ocpp): wire context param through OCPP 1.6 meter value builder X-Git-Tag: ocpp-server@v4.2.0~12 X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=3cbdf10bee1e69c8b48685ab2387626ae427a873;p=e-mobility-charging-stations-simulator.git fix(ocpp): wire context param through OCPP 1.6 meter value builder The context parameter was silently dropped during extraction to OCPP16RequestBuilders, unlike the OCPP 2.0 version which correctly passes it to all internal calls. --- diff --git a/src/charging-station/ocpp/1.6/OCPP16RequestBuilders.ts b/src/charging-station/ocpp/1.6/OCPP16RequestBuilders.ts index 7beb3181..ae768e14 100644 --- a/src/charging-station/ocpp/1.6/OCPP16RequestBuilders.ts +++ b/src/charging-station/ocpp/1.6/OCPP16RequestBuilders.ts @@ -95,7 +95,11 @@ export const buildOCPP16MeterValue = ( measurandsKey ) if (socMeasurand != null) { - const socSampledValue = buildVersionedSampledValue(socMeasurand.template, socMeasurand.value) + const socSampledValue = buildVersionedSampledValue( + socMeasurand.template, + socMeasurand.value, + context + ) meterValue.sampledValue.push(socSampledValue) validateSocMeasurandValue( chargingStation, @@ -118,7 +122,8 @@ export const buildOCPP16MeterValue = ( chargingStation, meterValue, voltageMeasurand, - buildVersionedSampledValue + buildVersionedSampledValue, + context ) for ( let phase = 1; @@ -131,7 +136,9 @@ export const buildOCPP16MeterValue = ( meterValue, voltageMeasurand, phase, - buildVersionedSampledValue + buildVersionedSampledValue, + measurandsKey, + context ) addLineToLineVoltageToMeterValue( chargingStation, @@ -139,7 +146,9 @@ export const buildOCPP16MeterValue = ( meterValue, voltageMeasurand, phase, - buildVersionedSampledValue + buildVersionedSampledValue, + measurandsKey, + context ) } } @@ -158,7 +167,7 @@ export const buildOCPP16MeterValue = ( const connectorMinimumPower = Math.round(powerMeasurand.template.minimumValue ?? 0) meterValue.sampledValue.push( - buildVersionedSampledValue(powerMeasurand.template, powerMeasurand.values.allPhases) + buildVersionedSampledValue(powerMeasurand.template, powerMeasurand.values.allPhases, context) ) const sampledValuesIndex = meterValue.sampledValue.length - 1 validatePowerMeasurandValue( @@ -187,7 +196,7 @@ export const buildOCPP16MeterValue = ( const phasePowerValue = powerMeasurand.values[`L${phase.toString()}` as keyof MeasurandValues] meterValue.sampledValue.push( - buildVersionedSampledValue(phaseTemplate, phasePowerValue, undefined, phaseValue) + buildVersionedSampledValue(phaseTemplate, phasePowerValue, context, phaseValue) ) const sampledValuesPerPhaseIndex = meterValue.sampledValue.length - 1 validatePowerMeasurandValue( @@ -224,7 +233,11 @@ export const buildOCPP16MeterValue = ( const connectorMinimumAmperage = currentMeasurand.template.minimumValue ?? 0 meterValue.sampledValue.push( - buildVersionedSampledValue(currentMeasurand.template, currentMeasurand.values.allPhases) + buildVersionedSampledValue( + currentMeasurand.template, + currentMeasurand.values.allPhases, + context + ) ) const sampledValuesIndex = meterValue.sampledValue.length - 1 validateCurrentMeasurandValue( @@ -248,7 +261,7 @@ export const buildOCPP16MeterValue = ( phaseValue as keyof MeasurandPerPhaseSampledValueTemplates ] ?? currentMeasurand.template, currentMeasurand.values[phaseValue as keyof MeasurandPerPhaseSampledValueTemplates], - undefined, + context, phaseValue ) ) @@ -280,7 +293,8 @@ export const buildOCPP16MeterValue = ( roundTo( chargingStation.getEnergyActiveImportRegisterByTransactionId(transactionId) / unitDivider, 2 - ) + ), + context ) meterValue.sampledValue.push(energySampledValue) const connectorMaximumAvailablePower =