]> Piment Noir Git Repositories - e-mobility-charging-stations-simulator.git/commitdiff
fix(ocpp): keep StopTransactionRequest as 1.6 wire type, narrow reason via indexed...
authorJérôme Benoit <jerome.benoit@sap.com>
Thu, 19 Mar 2026 14:53:24 +0000 (15:53 +0100)
committerJérôme Benoit <jerome.benoit@sap.com>
Thu, 19 Mar 2026 14:53:24 +0000 (15:53 +0100)
Revert the Omit-based widening of StopTransactionRequest — it's a 1.6
wire protocol message and should not accept OCPP 2.0 reason values.
Use StopTransactionRequest['reason'] indexed access type for narrowing
in ChargingStation, avoiding any version-specific OCPP16* import.

src/charging-station/ChargingStation.ts

index 2d63905c85723cbe43a0b484d83f44c7bcc51638..0021490d8232226dcd4218bbb8db29952fe9ab74 100644 (file)
@@ -9,8 +9,6 @@ import { URL } from 'node:url'
 import { parentPort } from 'node:worker_threads'
 import { type RawData, WebSocket } from 'ws'
 
-import type { OCPP16StopTransactionReason } from '../types/index.js'
-
 import { BaseError, OCPPError } from '../exception/index.js'
 import { PerformanceStatistics } from '../performance/index.js'
 import {
@@ -1225,7 +1223,7 @@ export class ChargingStation extends EventEmitter {
     >(this, RequestCommand.STOP_TRANSACTION, {
       meterStop: this.getEnergyActiveImportRegisterByTransactionId(rawTransactionId, true),
       transactionId,
-      ...(reason != null && { reason: reason as OCPP16StopTransactionReason }),
+      ...(reason != null && { reason: reason as StopTransactionRequest['reason'] }),
     })
   }