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.
const meterValue = buildMeterValue(
chargingStation,
cId,
- 0,
+ connector.transactionId,
txUpdatedInterval
) as OCPP20MeterValue
OCPP20ServiceUtils.sendTransactionEvent(
meterValue = buildMeterValue(
chargingStation,
fallbackEvseId > 0 ? fallbackEvseId : 1,
- 0,
+ undefined,
OCPP20ServiceUtils.getTxUpdatedInterval(chargingStation)
) as OCPP20MeterValue
} catch {
const meterValue = buildMeterValue(
chargingStation,
connectorId,
- 0,
+ connectorStatus.transactionId,
interval
) as OCPP20MeterValue
OCPP20ServiceUtils.sendTransactionEvent(
export const buildMeterValue = (
chargingStation: ChargingStation,
connectorId: number,
- transactionId: number,
+ transactionId: number | string | undefined,
interval: number,
debug = false
): MeterValue => {