專案

一般

配置概況

動作

Bug #1459

進行中

[Backend Bug] 華城 DataTransfer 後 Charge Point 狀態殘留充電中

是由 陳國瑋 於 29 天 前加入. 於 29 天 前更新.

狀態:
Resolved
優先權:
High
被分派者:
開始日期:
2026-09-02
完成日期:
預估工時:

概述

問題背景

A17 華城設備 CBDAX50A-25L-A6-A072 的交易 788 已於 2026-09-01 19:53:10 完成,實體 Connector 隨後於 19:53:30 回報 StatusNotification(Available)。目前 Connector 已為 AVAILABLE、currentTransactionId = NULL,且不存在 ACTIVE transaction,但 e_charge_points.status 仍殘留 CHARGING,使 Branch Admin 的「設備狀態」顯示為充電中。

已確認原因

  • 2026-09-01 19:53:05,華城透過 DataTransfer(vendorId=FE-EVI, messageId=ChargeErrorNotification) 回報交易 788、errorCode=1000。
  • DataTransferHandler 將此事件投影成 Connector SUSPENDED_EV 與 Charge Point CHARGING。
  • 後續華城只以 connectorId=1 回報 Available;現行 StatusNotificationHandler 僅允許 connectorId=0 更新 Charge Point,因此無法清除先前的 CHARGING。
  • 本次 DataTransfer 發生時交易 788 仍是目前交易,因此「找不到 transaction 後 fallback」不是此次 incident 的直接觸發點。

已確認領域前提

華城(Fortune / FE-EVI)設備的 Charge Point 與實體 Connector 固定為 1:1,不存在同一華城 CP 下的其他實體 Connector。

預期調整

  1. 為不回報 connectorId=0 的 Fortune 設備補相容性 reconciliation:
    • 收到唯一實體 Connector 的狀態後,可依 1:1 前提同步 Charge Point。
    • Connector 回到 AVAILABLE 且沒有目前/ACTIVE transaction 時,Charge Point 不得繼續顯示 CHARGING。
  2. 收斂 DataTransferHandler 的 transaction correlation:
    • 有 transactionId 且仍對應目前 ACTIVE transaction:允許更新唯一 Connector 與 Charge Point。
    • 有 transactionId 但已不對應目前 ACTIVE transaction:只留下可稽核紀錄,不覆寫目前 operational status。
    • 無 transactionId 的設備層事件:可依 Fortune 1:1 前提作用於唯一 Connector;若資料不符合恰好一個 Connector,fail closed 並記錄異常。
  3. 非 Fortune 設備與標準 connectorId=0 station-level 行為維持不變。

驗收條件

  • 補單元測試覆蓋 Fortune SUSPENDED_EV / CHARGING → StopTransaction → Available 後 Charge Point 收斂。
  • 補單元測試覆蓋 matching、stale/unmatched、無 transactionId 與 Fortune topology 異常。
  • 更新 E2E regression case OCP-017,保留 connection、station operational status、Connector 與 transaction 的分離語意。
  • 不以偽造 OCPP event 或直接修改 production DB 作為修正方式。

E2E 初步影響

  • Update:OCP-017
  • 初步優先級:P1
  • Trigger:Fortune DataTransfer、StatusNotification station projection、Charge Point 清單或 production incident 修正
  • Release pack:Charging / OCPP(P0 + P1 + 受影響 P2)
動作

匯出至 Atom PDF