]> Piment Noir Git Repositories - e-mobility-charging-stations-simulator.git/commitdiff
refactor(ocpp): harmonize sampled value builders between versions
authorJérôme Benoit <jerome.benoit@sap.com>
Wed, 1 Apr 2026 23:02:04 +0000 (01:02 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Wed, 1 Apr 2026 23:02:04 +0000 (01:02 +0200)
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
src/charging-station/ocpp/2.0/OCPP20RequestBuilders.ts

index ae768e147b477a2e48dcb8f0247302fb0c161b3d..094915027b16b2406c9df13836459def724c3555 100644 (file)
@@ -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
index f9e47e1fb5e2b6a4616d0f40a61205abacbd76dd..274108f625b6cfad7a548029ca52d4d82b8cde3e 100644 (file)
@@ -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