From 4eae7a79854bca65b00bf29aa670e1442be9d34e Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Thu, 2 Apr 2026 01:02:04 +0200 Subject: [PATCH] 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. --- src/charging-station/ocpp/1.6/OCPP16RequestBuilders.ts | 6 +++--- src/charging-station/ocpp/2.0/OCPP20RequestBuilders.ts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) 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 -- 2.53.0