From: Jérôme Benoit Date: Wed, 1 Apr 2026 23:02:04 +0000 (+0200) Subject: refactor(ocpp): harmonize sampled value builders between versions X-Git-Tag: ocpp-server@v4.2.0~10 X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=4eae7a79854bca65b00bf29aa670e1442be9d34e;p=e-mobility-charging-stations-simulator.git refactor(ocpp): harmonize sampled value builders between versions Align OCPP 1.6 unit field to conditional inclusion pattern matching OCPP 2.0, and normalize null checks to != null convention in both builders. --- diff --git a/src/charging-station/ocpp/1.6/OCPP16RequestBuilders.ts b/src/charging-station/ocpp/1.6/OCPP16RequestBuilders.ts index ae768e14..09491502 100644 --- a/src/charging-station/ocpp/1.6/OCPP16RequestBuilders.ts +++ b/src/charging-station/ocpp/1.6/OCPP16RequestBuilders.ts @@ -159,7 +159,7 @@ export const buildOCPP16MeterValue = ( undefined, measurandsKey ) - if (powerMeasurand != null) { + if (powerMeasurand?.values.allPhases != null) { const unitDivider = powerMeasurand.template.unit === MeterValueUnit.KILO_WATT ? 1000 : 1 const connectorMaximumAvailablePower = chargingStation.getConnectorMaximumAvailablePower(connectorId) @@ -219,7 +219,7 @@ export const buildOCPP16MeterValue = ( undefined, measurandsKey ) - if (currentMeasurand != null) { + if (currentMeasurand?.values.allPhases != null) { const connectorMaximumAvailablePower = chargingStation.getConnectorMaximumAvailablePower(connectorId) const connectorMaximumAmperage = @@ -337,7 +337,7 @@ export function buildOCPP16SampledValue ( context: fields.context, location: fields.location, measurand: fields.measurand, - unit: fields.unit, + ...(fields.unit != null && { unit: fields.unit }), value: fields.value.toString(), ...(fields.phase != null && { phase: fields.phase }), } as OCPP16SampledValue diff --git a/src/charging-station/ocpp/2.0/OCPP20RequestBuilders.ts b/src/charging-station/ocpp/2.0/OCPP20RequestBuilders.ts index f9e47e1f..274108f6 100644 --- a/src/charging-station/ocpp/2.0/OCPP20RequestBuilders.ts +++ b/src/charging-station/ocpp/2.0/OCPP20RequestBuilders.ts @@ -337,7 +337,7 @@ export function buildOCPP20SampledValue ( context: fields.context, location: fields.location, measurand: fields.measurand, - ...(fields.unit !== undefined && { unitOfMeasure: { unit: fields.unit } }), + ...(fields.unit != null && { unitOfMeasure: { unit: fields.unit } }), value: fields.value, ...(fields.phase != null && { phase: fields.phase }), } as OCPP20SampledValue