ChargeLink Native

chargelink evcc

Run and inspect the EVCC (vehicle-side) role: dry-run, direct TCP or SDP sessions, loopback smoke, battery models and TLS probe.

← All commands

chargelink evcc

chargelink evcc [OPTIONS] <COMMAND>

Subcommands

SubcommandPurpose
startthe ISO 15118-20 TLS 1.3 named-group settings of either role. The curve profile only reorders the two ISO 15118-20 named groups (secp521r1, x448); the legacy groups are an engineering opt-in outside ISO 15118-20
stop 
status 
list-state 
profiles 
backends 
battery-models 
loopback-policyShow native EVCC loopback and direct TCP policy
external-smoke-policyShow external EVCC simulator smoke harness policy
external-smokeRun external EVCC simulator smoke harness
activate-profileActivate a selected EVCC profile against a running native EVSE listener using direct TCP
external-regression-policyShow standards-oriented IPv6 external EVCC regression pack policy
external-regression-packRun standards-oriented IPv6 external EVCC regression pack
local-loopback-policyShow local EVCC-to-EVSE executable loopback smoke policy
local-loopback-smokeRun local EVCC-to-EVSE executable loopback smoke
customer-smoke-planShow the EVCC customer workflow plan
external-simulator-planShow external EVCC simulator connection contract plan
tls-handshake-probeProbe transport and mutual TLS against an external SECC. No SDP, no V2GTP, no EXI, no session.

chargelink evcc activate-profile

Activate a selected EVCC profile against a running native EVSE listener using direct TCP

chargelink evcc activate-profile [OPTIONS]

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--iso20-curve-profile<CURVE>secp521r1ISO 15118-20 [V2G20-2320] curve setting: secp521r1 (default) or x448. Sets which ISO 15118-20 named group is preferred; both stay offered and accepted
--allow-legacy-tls-named-groupsflagAlso offer/accept secp256r1 after the ISO 15118-20 named groups, for P-256-only test peers. Engineering interop only, outside ISO 15118-20; the SECC also needs --allow-engineering-tls-identity, and every TLS record carries the legacy claim boundary
--protocol<PROTOCOL>
--profile-id<PROFILE_ID>
--profile<FILE>
--peer-ipv6<PEER_IPV6>Direct/no-SDP peer IPv6. Optional with --use-sdp because production SDP discovers the EVSE endpoint.
--tcp-port<TCP_PORT>Direct/no-SDP TCP port. Optional with --use-sdp because production SDP discovers the EVSE port.
--interface-index<INTERFACE_INDEX>Interface index used as the IPv6 link-local multicast scope for production SDP discovery.
--use-sdpflagUse real IPv6 SDP multicast over UDP 15118 before TCP/TLS/V2GTP. With this flag --peer-ipv6 is not required.
--probe-peerflag
--connect-timeout-ms<CONNECT_TIMEOUT_MS>250
--exi-mode<EXI_MODE>chargelink-exi
--tlsflag
--tls-cert
alias --cert
<FILE>
--tls-key
alias --key
<FILE>
--tls-cafile
alias --ca
<FILE>
--tls-server-name<TLS_SERVER_NAME>chargelink-secc.localExpected EVSE certificate DNS identity/SNI used by the native TLS client. TCP still connects to the SDP-discovered IPv6 endpoint.
--require-caflag
--max-steps<MAX_STEPS>14
--battery-model<BATTERY_MODEL>constant_power_reference
--battery-capacity-kwh<BATTERY_CAPACITY_KWH>77
--initial-soc-pct<INITIAL_SOC_PCT>32
--target-soc-pct<TARGET_SOC_PCT>80
--requested-power-kw<REQUESTED_POWER_KW>150
--battery-step-seconds<BATTERY_STEP_SECONDS>30

chargelink evcc backends

chargelink evcc backends [OPTIONS]

No options besides the global options.

chargelink evcc battery-models

chargelink evcc battery-models [OPTIONS]

No options besides the global options.

chargelink evcc customer-smoke-plan

Show the EVCC customer workflow plan

chargelink evcc customer-smoke-plan [OPTIONS]

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--write-artifactsflag
--profile-id<PROFILE_ID>iso15118_20_dc

chargelink evcc external-regression-pack

Run standards-oriented IPv6 external EVCC regression pack

chargelink evcc external-regression-pack [OPTIONS]

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--profile-set<PROFILE_SET>standards-ipv6-core
--peer-ipv6<PEER_IPV6>fe80::640b:3f3d:c4fe:3d9f%19
--tcp-port<TCP_PORT>55000
--include-optional-mcsflag
--include-optional-nacsflag
--include-diagnostic-ipv4-caseflag

chargelink evcc external-regression-policy

Show standards-oriented IPv6 external EVCC regression pack policy

chargelink evcc external-regression-policy [OPTIONS]

No options besides the global options.

chargelink evcc external-simulator-plan

Show external EVCC simulator connection contract plan

chargelink evcc external-simulator-plan [OPTIONS]

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--write-artifactsflag
--profile-id<PROFILE_ID>iso15118_20_dc

chargelink evcc external-smoke

Run external EVCC simulator smoke harness

chargelink evcc external-smoke [OPTIONS]

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--simulator-id<SIMULATOR_ID>external-evcc
--protocol<PROTOCOL>iso15118-20
--peer-ipv6<PEER_IPV6>fe80::640b:3f3d:c4fe:3d9f%19
--tcp-port<TCP_PORT>55000
--probe-peerflag
--connect-timeout-ms<CONNECT_TIMEOUT_MS>250
--simulator-command<SIMULATOR_COMMAND>
--simulator-arg<SIMULATOR_ARGS>
--working-dir<DIR>
--timeout-ms<TIMEOUT_MS>1500
--allow-nonstandard-ipv4flag

chargelink evcc external-smoke-policy

Show external EVCC simulator smoke harness policy

chargelink evcc external-smoke-policy [OPTIONS]

No options besides the global options.

chargelink evcc list-state

chargelink evcc list-state [OPTIONS]

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--run-id<RUN_ID>

chargelink evcc local-loopback-policy

Show local EVCC-to-EVSE executable loopback smoke policy

chargelink evcc local-loopback-policy [OPTIONS]

No options besides the global options.

chargelink evcc local-loopback-smoke

Run local EVCC-to-EVSE executable loopback smoke

chargelink evcc local-loopback-smoke [OPTIONS]

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--protocol<PROTOCOL>iso15118-20
--profile-id<PROFILE_ID>iso15118_20_dc
--peer-ipv6<PEER_IPV6>fe80::640b:3f3d:c4fe:3d9f%19
--tcp-port<TCP_PORT>50118
--exi-mode<EXI_MODE>chargelink-exi
--max-steps<MAX_STEPS>6
--battery-model<BATTERY_MODEL>constant_power_reference
--battery-capacity-kwh<BATTERY_CAPACITY_KWH>77
--initial-soc-pct<INITIAL_SOC_PCT>32
--target-soc-pct<TARGET_SOC_PCT>80
--requested-power-kw<REQUESTED_POWER_KW>150
--battery-step-seconds<BATTERY_STEP_SECONDS>30

chargelink evcc loopback-policy

Show native EVCC loopback and direct TCP policy

chargelink evcc loopback-policy [OPTIONS]

No options besides the global options.

chargelink evcc profiles

chargelink evcc profiles [OPTIONS]

No options besides the global options.

chargelink evcc start

the ISO 15118-20 TLS 1.3 named-group settings of either role. The curve profile only reorders the two ISO 15118-20 named groups (secp521r1, x448); the legacy groups are an engineering opt-in outside ISO 15118-20

chargelink evcc start [OPTIONS]

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--dry-runflag
--iso20-curve-profile<CURVE>secp521r1ISO 15118-20 [V2G20-2320] curve setting: secp521r1 (default) or x448. Sets which ISO 15118-20 named group is preferred; both stay offered and accepted
--allow-legacy-tls-named-groupsflagAlso offer/accept secp256r1 after the ISO 15118-20 named groups, for P-256-only test peers. Engineering interop only, outside ISO 15118-20; the SECC also needs --allow-engineering-tls-identity, and every TLS record carries the legacy claim boundary
--protocol<PROTOCOL>
--backend<BACKEND>
--profile-id<PROFILE_ID>
--profile<FILE>
--no-sdpflag
--peer-ipv6<PEER_IPV6>
--tcp-port<TCP_PORT>
--interface-index<INTERFACE_INDEX>Windows/Linux interface index used for IPv6 link-local SDP multicast scope. Required for production --use-sdp discovery without --peer-ipv6.
--exi-mode<EXI_MODE>chargelink-exi
--tlsflag
--tls-cert
alias --cert
<FILE>
--tls-key
alias --key
<FILE>
--tls-cafile
alias --ca
<FILE>
--tls-server-name<TLS_SERVER_NAME>chargelink-secc.localExpected EVSE certificate DNS identity/SNI used by the native TLS client. TCP still connects to the SDP-discovered IPv6 endpoint.
--require-caflag
--max-steps<MAX_STEPS>6
--probe-peerflag
--connect-timeout-ms<CONNECT_TIMEOUT_MS>250
--battery-model<BATTERY_MODEL>constant_power_reference
--battery-capacity-kwh<BATTERY_CAPACITY_KWH>77
--initial-soc-pct<INITIAL_SOC_PCT>32
--target-soc-pct<TARGET_SOC_PCT>80
--requested-power-kw<REQUESTED_POWER_KW>150
--battery-step-seconds<BATTERY_STEP_SECONDS>30

chargelink evcc status

chargelink evcc status [OPTIONS]

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--run-id<RUN_ID>

chargelink evcc stop

chargelink evcc stop [OPTIONS]

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--run-id<RUN_ID>

chargelink evcc tls-handshake-probe

Arguments for the transport/TLS-only probe. Deliberately carries no session arguments (no --use-sdp, --max-steps, --exi-mode or battery options): this command performs no ISO 15118-20 session, so accepting those flags would imply a capability it does not have.

chargelink evcc tls-handshake-probe [OPTIONS] --peer-ipv6 <PEER_IPV6>

Options (global options --json, --runtime-root, --artifact-root and --license are accepted everywhere and omitted here)

OptionValueDefaultDescription
--iso20-curve-profile<CURVE>secp521r1ISO 15118-20 [V2G20-2320] curve setting: secp521r1 (default) or x448. Sets which ISO 15118-20 named group is preferred; both stay offered and accepted
--allow-legacy-tls-named-groupsflagAlso offer/accept secp256r1 after the ISO 15118-20 named groups, for P-256-only test peers. Engineering interop only, outside ISO 15118-20; the SECC also needs --allow-engineering-tls-identity, and every TLS record carries the legacy claim boundary
--protocol<PROTOCOL>iso15118-20
--profile-id<PROFILE_ID>iso15118_20_dc_evcc_reference
--peer-ipv6<PEER_IPV6>requiredSECC IPv6 address. A link-local address must carry THIS machine's zone index.
--tcp-port<TCP_PORT>50118
--connect-timeout-ms<CONNECT_TIMEOUT_MS>250
--tlsflag
--tls-cert
alias --cert
<FILE>
--tls-key
alias --key
<FILE>
--tls-cafile
alias --ca
<FILE>
--tls-server-name<TLS_SERVER_NAME>chargelink-secc.localExpected SECC certificate DNS identity/SNI.
--require-caflag