Conformance Test Report

IEC 61851-1, DIN 70121 and ISO 15118 (SLAC & V2G message) test cases — SECC under test (VTB)

Report generated: 2026-10-10 07:55:59

Overall: PASS 1 operator-accepted deviation(s)

System Under Test

Manufacturer-
Model / type-
Software / firmwareEVerest testing/main @ 2e710bc8191bd5a29c16a4d0815c6bcd9318c51d
Serial / identification-
NotesNightly CI, all SECC stacks Evse15118D20. SUT config: config-test-conformance-ac-dc100.yaml (one of the nightly's rig cycles, each with its own report)
Transfer modeAC

Black-box DUT: the internal software stack is not observable by the test system; the identification above was entered by the test operator.

Declared capability profile (PICS/PIXIT)

CapabilityPICS/PIXITDeclared
Energy transfer mode PICS_CMN_CMN_ChargingMode ac
Payment options offered PIXIT_SECC_CMN_PaymentOption / PICS_CMN_CMN_IdentificationMode ExternalPayment
Certificate services offered PIXIT_SECC_CMN_CertificateHandling none
Certificate validity checked against current time PICS_SECC_CertificateValidationCheck yes
Tester CSMS is the DUT's OCPP backend PIXIT_SECC_TesterCSMS yes
Transport security accepted PIXIT_SECC_CMN_TLS tcp
Value-added service list (VAS) PIXIT_SECC_CMN_VAS == serviceDetail / PICS_SECC_VAS no
Internet access service PIXIT_SECC_CMN_InternetAccess == internetAccess no
Metering receipts requested PIXIT_SECC_CMN_ReceiptRequired yes
MeterInfo in charge-loop responses PIXIT_SECC_CMN_MeterInfo == meterInfo yes
MeteringConfirmation requested (ISO 15118-20) PICS_CMN_MeteringConfirmationRequested no
SalesTariff in schedules PIXIT_SECC_CMN_SalesTariff == salesTariff no
Control modes offered (ISO 15118-20) PICS_CMN_ControlMode Dynamic
Schedule initially unavailable (ISO 15118-20) PIXIT_SECC_ScheduleRetrievalSuspended no
DepartureTime considered PICS_SECC_CMN_DepartureTime yes
MaxEntriesSAScheduleTuple considered PICS_SECC_CMN_MaxEntriesSAScheduleTuple yes
Renegotiation supported PICS_CMN_CMN_Renegotiation no
CP State D (ventilation) during charging PICS_SECC_CMN_EvStateInChargeProgress == D no
Pause / resume supported PICS_SECC_CMN_Pause no
Welding detection supported PICS_SECC_DC_WeldingDetection n/a (DC-only)
ISO 15118-2 supported PICS_SECC_CMN_ISO15118_2 yes
ISO 15118-20 supported PICS_SECC_CMN_ISO15118_20 no
DIN SPEC 70121 supported (DC) PICS_SECC_DC_DIN70121 n/a (DC-only)
DC energy transfer mode(s) advertised PIXIT_SECC_DC_SupportedEnergyTransferMode n/a (DC-only)
CableCheck answers Ongoing PIXIT_SECC_DC_CableCheckOngoing == ongoing n/a (DC-only)
Authorization answers Ongoing PIXIT_SECC_CMN_AuthorizationOngoing == ongoing no
ChargeParameterDiscovery answers Ongoing PIXIT_SECC_CMN_ChargeParameterDiscoveryOngoing == ongoing no
CM_VALIDATE (BCB-toggle validation) PIXIT_SECC_CMN_CmValidate == cmValidate no
Architecture makes validation unnecessary PIXIT_SECC_CMN_ArchitectureValidationNotRequired no
CM_AMP_MAP supported PIXIT_CMN_CMN_CmAmpMap no
SECC initiates CM_AMP_MAP PICS_CMN_CMN_InitiateCmAmpMap no
Self-initiated wake-up from pause PIXIT_CMN_CMN_WakeUp < PICS_CMN_CMN_WakeUp no
AC connection-loss handling PIXIT_SECC_AC_ConnectionLossHandling optionA
AC CP duty cycle after plug-in PIXIT_SECC_AC_InitialDutyCyle dc100
IEC 61851-1 basic charging (AC) PIXIT_SECC_IEC61851_1_BasicCharging yes
Identification modes supported PICS_CMN_CMN_IdentificationMode ExternalPayment
Certificate services used PIXIT_EVCC_CMN_CertificateHandling none
Renegotiation supported PICS_CMN_CMN_Renegotiation no
Pause / resume (sleep mode) supported PIXIT_EVCC_CMN_Pause no
Optimises the charging profile against sales tariffs PIXIT_EVCC_CMN_ChargingProfileOptimization unknown
States MaxNumberOfPhasesInUse (AC) PIXIT_EVCC_AC_MaxNumberOfPhasesInUse no
Queries value-added services (ServiceDetail) PIXIT_EVCC_CMN_VAS no
Transport security requested PIXIT_EVCC_CMN_TLS none_
Welding detection performed (DC) PIXIT_EVCC_DC_WeldingDetection weldingDetection
Reaction to a Pmax=0 W schedule PICS_EVCC_CMN_PmaxSchedulewithZeroPow noSleep
SLAC validation (CM_VALIDATE / BCB toggle) PIXIT_EVCC_CMN_CmValidate unknown
AC connection-loss handling PIXIT_EVCC_AC_ConnectionLossHandling optionA
CM_AMP_MAP supported PIXIT_CMN_CMN_CmAmpMap no
EV initiates CM_AMP_MAP PICS_CMN_CMN_InitiateCmAmpMap no

Declared by the test operator (profile v1); the test-case selection of this run was derived from this declaration, mirroring the ISO 15118-4 ATS control part ([V2G4-018]/[V2G4-019]). Test cases the declaration marks not applicable were deselected by default; any that were explicitly force-run are annotated “declared N/A (operator force-run)” at their result.

Test families & variants

ISO 15118-3 SLAC (-5) DUT (dut)
ISO 15118-2 message layer (-4) DUT (dut)

Test Environment

Test suite version-
Test suite git SHA-
Test suite branch-
ModeHW (CHARGEBRIDGE, BLACK-BOX DUT)
HostCI runner
Kernel6.8.0-86-generic
PLC taps (EVSE / EV) - / cb_plc_ev
MQTT broker/tmp/everest-conformance-mqtt.sock:1883
EVerest prefix-
Pause between TCs3 s
EV BSP module idev_bsp

Totals

ISO 15118-3 SLAC (-5)
DUT (dut)
2 pass
0 fail
1 accepted fail
0 not run
0 inconclusive
ISO 15118-2 message layer (-4)
DUT (dut)
2 pass
0 fail
0 not run
0 inconclusive

Verdict semantics: expected failures (author-flagged known deviations / non-deterministic cases) are reported as FAIL EXPECTED — genuine reds that are not hidden and must be explicitly accepted by the operator. A FAIL (or FAIL EXPECTED) accepted by the operator is reported as ACCEPTED FAIL with the mandatory justification and does not count against the overall verdict. Overall verdict is PASS only if no test case FAILs (or is left FAIL EXPECTED without acceptance) on any variant.

Operator-accepted deviations

Test caseJustification
TC_SECC_AC_VTB_CmSlacParm_003 Operator-accepted deviation from ISO 15118-3 [V2G3-M06-08]: after a positive EIM the dc100 SUT goes from X1 straight to nominal PWM without the E/F step for T_step_EF. Kept on purpose for compatibility with EVs without HLC that follow plain IEC 61851-1 charging and are confused by the extra E/F step.

Summary matrix — ISO 15118-3 SLAC (-5)

Test case DUT (dut)
VerdictDuration
CmSlacParm
TC_SECC_AC_VTB_CmSlacParm_003 ACCEPTED FAIL operator-accepted deviation 17.19 s
PLCLinkStatus
TC_SECC_AC_VTB_PLCLinkStatus_009 PASS 4.29 s
TC_SECC_AC_VTB_PLCLinkStatus_011 PASS 8.69 s

Summary matrix — ISO 15118-2 message layer (-4)

Test case DUT (dut)
VerdictDuration
PaymentServiceSelection
TC_SECC_CMN_VTB_PaymentServiceSelection_009 PASS 6.06 s
SDP
TC_SECC_CMN_VTB_SDP_007 PASS 5.60 s

Test case details — ISO 15118-3 SLAC (-5)

TC_SECC_AC_VTB_CmSlacParm_003

TC_SECC_AC_VTB_CmSlacParm_003.

Test objective: Test System executes GoodCase procedure, indicates the initial CP State B waits for 100 % duty cycle and executes successful EIM process. Test System then checks that a nominal duty cycle can be detected after SUT changes CP State to E or F for T_step_EF. Furthermore a successful SLAC matching process shall be performed afterwards.

DUT (dut) ACCEPTED FAIL operator-accepted deviation 17.19 s
Known deviation: Operator-accepted deviation from ISO 15118-3 [V2G3-M06-08]: after a positive EIM the dc100 SUT goes from X1 straight to nominal PWM without the E/F step for T_step_EF. Kept on purpose for compatibility with EVs without HLC that follow plain IEC 61851-1 charging and are confused by the extra E/F step.
Operator-accepted failure: Operator-accepted deviation from ISO 15118-3 [V2G3-M06-08]: after a positive EIM the dc100 SUT goes from X1 straight to nominal PWM without the E/F step for T_step_EF. Kept on purpose for compatibility with EVs without HLC that follow plain IEC 61851-1 charging and are confused by the extra E/F step.
Failure reason
tests/test_secc_ac_cm_slac_parm.py:132
TimeoutError: CP E/F (duty 0) step not observed before the window closed (last duty=26.666667938232422)
Measurement Measured Target / range Result
initial CP duty cycle (dc100) 100.0 % 100 ± 1.5 % ✓
Failure detail (excerpt):
E   TimeoutError: CP E/F (duty 0) step not observed before the window closed (last duty=26.666667938232422)

TC_SECC_AC_VTB_PLCLinkStatus_009

TC_SECC_AC_VTB_PLCLinkStatus_009.

Test objective: Test System executes GoodCase procedure, initiates an EIM authorization during the SLAC process, indicates the key at the local PLC node and then checks that the data link connection is established within 'TT_match_join'. Test System then checks if the SUT has changed from 100 % initial duty cycle to a nominal duty cycle during the matching process by detecting X1(100 %) to X2(nominal) transition after successful EIM process during the matching process.

DUT (dut) PASS 4.29 s
Conformance check Observed Result
nominal duty applied within par_SECC_change_to_Nominal (3.0s) of the EIM nominal duty 0.309s after EIM ✓
X2(nominal) duty period observed ✓
X1(100%) period observed before the nominal duty ✓
no 5% HLC duty period precedes the nominal duty (dc100 X1->X2(nominal) transition) ✓
CP duty valid throughout the dc100 X1->X2(nominal) transition chain all samples within range ✓
Measurement Measured Target / range Result
initial CP duty cycle (dc100) 100.0 % 100 ± 1.5 % ✓
CM_SLAC_PARM.CNF response time 0.7 ms ≤ 200 ms (TT_match_response) ✓
CM_ATTEN_CHAR.IND after sounding 409.9 ms ≤ 1200 ms (TT_EV_atten_results) ✓
CM_SLAC_MATCH.CNF response time 0.6 ms ≤ 200 ms (TT_match_response) ✓
CM_SET_KEY.CNF response time 0.2 ms - info
nominal duty after EIM (par_SECC_change_to_Nominal) 0.309 s ≤ 3.0 s ✓
nominal CP duty cycle after EIM (dc100 duringSlac) 26.7 % [10.0, 96.0] % ✓

TC_SECC_AC_VTB_PLCLinkStatus_011

TC_SECC_AC_VTB_PLCLinkStatus_011.

Test objective: Test System executes GoodCase procedure (100 % duty cycle), indicates the key at the local PLC node and then checks that the data link connection is established within 'TT_match_join'. Afterwards Test System initiates a connection loss by setting a new key at the local node. Test System then checks that the SUT performs a CP State X1 to E/F transition. Furthermore Test System checks that the SUT applies CP State E or F for T_step_EF and will switch to CP State X1 or X2 afterwards.

DUT (dut) PASS 8.69 s
Conformance check Observed Result
SUT terminates the PLC link within TP_match_leave (1.25s) on connection loss (AC dc100) left after 0.001s ✓
X1 -> E/F directly on connection loss (no intervening X2 duty step) (AC dc100) direct X1->E/F ✓
SUT sends no unexpected SLAC frame for 3.99032s silent for 3.99032s ✓
CP E/F step ends within T_step_EF max on connection loss (AC dc100) ✓
CP E/F step within T_step_EF [4.0, 8.0]s on connection loss (AC dc100) E/F step 4.012s ✓
CP duty after E/F step is a valid AC duty (3..7% or 10..100%) (AC dc100) post-E/F duty 100.0% ✓
Measurement Measured Target / range Result
initial CP duty cycle (dc100) 100.0 % 100 ± 1.5 % ✓
CM_SLAC_PARM.CNF response time 1.5 ms ≤ 200 ms (TT_match_response) ✓
CM_ATTEN_CHAR.IND after sounding 410.6 ms ≤ 1200 ms (TT_EV_atten_results) ✓
CM_SLAC_MATCH.CNF response time 0.5 ms ≤ 200 ms (TT_match_response) ✓
CM_SET_KEY.CNF response time 0.2 ms - info
CP duty at connection loss (X1 premise) 100.0 % 100 ± 1.5 % ✓
CM_SET_KEY.CNF response time 0.7 ms - info
left logical network on connection loss (AC dc100) 0.001 s ≤ 1.25 s ✓
T_step_EF on connection loss (AC dc100) 4.012 s [4.0, 8.0] s ✓
CP duty after E/F step (AC: 3..7% or 10..100%) (AC dc100) 100.0 % - info
CM_SET_KEY.CNF response time 0.4 ms - info

Test case details — ISO 15118-2 message layer (-4)

TC_SECC_CMN_VTB_PaymentServiceSelection_009

TC_SECC_CMN_VTB_PaymentServiceSelection_009.

Test objective: GoodCase; Test System sends PaymentServiceSelectionReq with SelectedPaymentOption Contract and a valid ServiceID while the SUT is configured for externalPayment/eIM, and checks the SUT replies with the current SessionID, FAILED_PaymentSelectionInvalid, then closes TCP within par_CMN_TCP_Connection_Termination_Timeout.

DUT (dut) PASS 6.06 s
Conformance check Observed Result
Response echoes the current SessionID ✓
Response echoes the current SessionID ✓
ResponseCode = FAILED_PaymentSelectionInvalid got 'FAILED_PaymentSelectionInvalid' ✓
SUT closes the TCP connection after the error response ✓
Measurement Measured Target / range Result
CM_SLAC_PARM.CNF response time 0.9 ms ≤ 200 ms (TT_match_response) ✓
CM_ATTEN_CHAR.IND after sounding 412.2 ms ≤ 1200 ms (TT_EV_atten_results) ✓
CM_SLAC_MATCH.CNF response time 1.2 ms ≤ 200 ms (TT_match_response) ✓
CM_SET_KEY.CNF response time 0.2 ms - info
supportedAppProtocolRes response time 100.9 ms ≤ 2000 ms (V2G_EVCC_Msg_Timeout) ✓
SessionSetupRes response time 101.4 ms ≤ 2000 ms (V2G_EVCC_Msg_Timeout) ✓
ServiceDiscoveryRes response time 101.3 ms ≤ 2000 ms (V2G_EVCC_Msg_Timeout) ✓
PaymentServiceSelectionRes response time 101.9 ms ≤ 2000 ms (V2G_EVCC_Msg_Timeout) ✓
TCP connection close after failure/timeout 0.1 ms ≤ 5000 ms (CMN_TCP_Connection_Termination_Timeout) ✓

TC_SECC_CMN_VTB_SDP_007

TC_SECC_CMN_VTB_SDP_007.

Test objective: GoodCase (eIM / no-TLS); the Test System sends an SDP request with Security=0x00 (TLS requested) and TransportProtocol=0x00, and checks the SUT -- which offers only no-transport-security -- answers an SDP response announcing Security=0x10 (no TLS), TransportProtocol=0x00 and a valid port + IP. This is the transport-security-negotiation (mismatch) case that matters for the TCP-only SUT: a TLS-requesting EV must be told to fall back to plain TCP.

DUT (dut) PASS 5.60 s
Conformance check Observed Result
SDP response TransportProtocol = 0x00 (TCP) got 0x00 ✓
SUT does not echo the requested Security=0x00 (TLS) back to the EV ✓
SDP response Security = 0x10 (no-TLS fallback) got 0x10 ✓
SDP response carries a valid port + IP port=50000 addr=fe80::e82a:6ff:fe1a:721f ✓
Measurement Measured Target / range Result
CM_SLAC_PARM.CNF response time 1.0 ms ≤ 200 ms (TT_match_response) ✓
CM_ATTEN_CHAR.IND after sounding 410.5 ms ≤ 1200 ms (TT_EV_atten_results) ✓
CM_SLAC_MATCH.CNF response time 0.6 ms ≤ 200 ms (TT_match_response) ✓
CM_SET_KEY.CNF response time 0.1 ms - info
SDP advertised TCP port 50000 - info

Appendix

Codec self-tests

No codec self-tests were included in this run.

Toolchain / report metadata

pytest versionunknown
Report created2026-10-10 07:55:52
pytest exit code0
Report generatorPionix conformance tester report generator
Generation timestamp2026-10-10 07:55:59