Description:
In the current EVCC release (0.309.2), when running in DB‑only mode, EVCC always uses the embedded OCPP template from the binary.
During the OCPP connection handshake, EVCC automatically sends the following OCPP commands:
ChangeAvailability
SetWebSocketPingInterval
ChargingProfile updates before a valid transaction exists
These commands cannot be disabled or overridden in DB‑only mode.
Problem:
Some OCPP chargers — especially Huawei SCharger KT22‑S0 — do not support these commands or react very strictly to them.
This leads to:
failed configuring availability: Rejected
failed configuring WebSocketPingInterval: NotSupported
charger out of sync
failure to generate a valid TransactionId
OCPP state machine deadlocks
charger freeze requiring hardware reset
Root Cause:
In DB‑only mode, the following OCPP policy parameters cannot be configured or overridden:
availability
websocketpinginterval
stoptransactiononevsidedisconnect
stoptransactiononinvalidid
ChargingProfile behavior
EVCC also does not load local templates in DB‑only mode.
This makes it impossible to adjust OCPP behavior for chargers that require stricter sequencing.
Expected Behavior:
Even in DB‑only mode, EVCC should allow configuration of OCPP policy parameters, for example via:
additional keys in the configs table
a dedicated OCPP policy block in the loadpoint
or by allowing local templates to override embedded templates
Proposed Solution:
Add OCPP policy parameters to the DB configuration, such as:
availability
websocketpinginterval
stoptransactiononevsidedisconnect
stoptransactiononinvalidid
ChargingProfile handling options
Allow EVCC to load local templates even in DB‑only mode (if present).
Optionally: support a DB key to override the embedded OCPP template.
Benefits:
Full compatibility with strict OCPP chargers (Huawei, ABB, etc.)
No more charger freezes or TransactionId deadlocks
EVCC remains fully functional in DB‑only mode
No need to switch back to YAML configuration
Future‑proof, since EVCC is clearly moving toward DB‑only operation
Description:
In the current EVCC release (0.309.2), when running in DB‑only mode, EVCC always uses the embedded OCPP template from the binary.
During the OCPP connection handshake, EVCC automatically sends the following OCPP commands:
ChangeAvailability
SetWebSocketPingInterval
ChargingProfile updates before a valid transaction exists
These commands cannot be disabled or overridden in DB‑only mode.
Problem:
Some OCPP chargers — especially Huawei SCharger KT22‑S0 — do not support these commands or react very strictly to them.
This leads to:
failed configuring availability: Rejected
failed configuring WebSocketPingInterval: NotSupported
charger out of sync
failure to generate a valid TransactionId
OCPP state machine deadlocks
charger freeze requiring hardware reset
Root Cause:
In DB‑only mode, the following OCPP policy parameters cannot be configured or overridden:
availability
websocketpinginterval
stoptransactiononevsidedisconnect
stoptransactiononinvalidid
ChargingProfile behavior
EVCC also does not load local templates in DB‑only mode.
This makes it impossible to adjust OCPP behavior for chargers that require stricter sequencing.
Expected Behavior:
Even in DB‑only mode, EVCC should allow configuration of OCPP policy parameters, for example via:
additional keys in the configs table
a dedicated OCPP policy block in the loadpoint
or by allowing local templates to override embedded templates
Proposed Solution:
Add OCPP policy parameters to the DB configuration, such as:
availability
websocketpinginterval
stoptransactiononevsidedisconnect
stoptransactiononinvalidid
ChargingProfile handling options
Allow EVCC to load local templates even in DB‑only mode (if present).
Optionally: support a DB key to override the embedded OCPP template.
Benefits:
Full compatibility with strict OCPP chargers (Huawei, ABB, etc.)
No more charger freezes or TransactionId deadlocks
EVCC remains fully functional in DB‑only mode
No need to switch back to YAML configuration
Future‑proof, since EVCC is clearly moving toward DB‑only operation