feat(EvseManager): Improve EV compatibility for AC ISO-2 PnC#1589
Conversation
|
I tested Plug&Charge in the SIL with it and I see multiple 2025-12-05 13:34:36.343599 [INFO] auth:Auth :: Providing authorization to evse#1
2025-12-05 13:34:36.460274 [INFO] evse_manager_1: :: EVSE IEC Transaction Started (0 kWh)
2025-12-05 13:34:36.460502 [INFO] evse_manager_1: :: EVSE ISO V2G AuthorizationRes
2025-12-05 13:34:36.461202 [INFO] auth:Auth :: Result for token: [redacted] hash: 772A94DA47EE0039: USED_TO_START_TRANSACTION
2025-12-05 13:34:36.461574 [INFO] evse_manager_1: :: EVSE IEC PnC Authorization received
2025-12-05 13:34:36.462528 [INFO] ocpp:OCPP :: EVSE#1: Received TransactionStarted
2025-12-05 13:34:36.604671 [INFO] evse_manager_1: :: EVSE IEC Transaction Started (0 kWh)
2025-12-05 13:34:36.606013 [INFO] ocpp:OCPP :: EVSE#1: Received TransactionStarted
2025-12-05 13:34:36.606317 [ERRO] ocpp:OCPP virtual everest::db::sqlite::Statement::~Statement() :: Error finalizing statement: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:36.606346 [WARN] ocpp:OCPP void ocpp::v16::ChargePointImpl::start_transaction(std::shared_ptr<ocpp::v16::Transaction>) :: Could not insert transaction with session_id 765e32d7-cc32-4a85-8e2a-f69e470e3cee into database: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:36.748292 [INFO] evse_manager_1: :: EVSE IEC Transaction Started (0 kWh)
2025-12-05 13:34:36.749753 [INFO] ocpp:OCPP :: EVSE#1: Received TransactionStarted
2025-12-05 13:34:36.750053 [ERRO] ocpp:OCPP virtual everest::db::sqlite::Statement::~Statement() :: Error finalizing statement: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:36.750086 [WARN] ocpp:OCPP void ocpp::v16::ChargePointImpl::start_transaction(std::shared_ptr<ocpp::v16::Transaction>) :: Could not insert transaction with session_id 765e32d7-cc32-4a85-8e2a-f69e470e3cee into database: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:36.891840 [INFO] evse_manager_1: :: EVSE IEC Transaction Started (0 kWh)
2025-12-05 13:34:36.893442 [INFO] ocpp:OCPP :: EVSE#1: Received TransactionStarted
2025-12-05 13:34:36.893720 [ERRO] ocpp:OCPP virtual everest::db::sqlite::Statement::~Statement() :: Error finalizing statement: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:36.893745 [WARN] ocpp:OCPP void ocpp::v16::ChargePointImpl::start_transaction(std::shared_ptr<ocpp::v16::Transaction>) :: Could not insert transaction with session_id 765e32d7-cc32-4a85-8e2a-f69e470e3cee into database: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:36.977108 [INFO] evse_manager_1: :: CAR ISO V2G AuthorizationReq
2025-12-05 13:34:37.035219 [INFO] evse_manager_1: :: EVSE IEC Transaction Started (0 kWh)
2025-12-05 13:34:37.036627 [INFO] ocpp:OCPP :: EVSE#1: Received TransactionStarted
2025-12-05 13:34:37.036909 [ERRO] ocpp:OCPP virtual everest::db::sqlite::Statement::~Statement() :: Error finalizing statement: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:37.036952 [WARN] ocpp:OCPP void ocpp::v16::ChargePointImpl::start_transaction(std::shared_ptr<ocpp::v16::Transaction>) :: Could not insert transaction with session_id 765e32d7-cc32-4a85-8e2a-f69e470e3cee into database: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:37.076422 [INFO] evse_manager_1: :: EVSE ISO V2G AuthorizationRes
2025-12-05 13:34:37.178976 [INFO] evse_manager_1: :: EVSE IEC Transaction Started (0 kWh)
2025-12-05 13:34:37.181271 [INFO] ocpp:OCPP :: EVSE#1: Received TransactionStarted
2025-12-05 13:34:37.181676 [ERRO] ocpp:OCPP virtual everest::db::sqlite::Statement::~Statement() :: Error finalizing statement: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:37.181725 [WARN] ocpp:OCPP void ocpp::v16::ChargePointImpl::start_transaction(std::shared_ptr<ocpp::v16::Transaction>) :: Could not insert transaction with session_id 765e32d7-cc32-4a85-8e2a-f69e470e3cee into database: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:37.321461 [INFO] evse_manager_1: :: EVSE IEC Transaction Started (0 kWh)
2025-12-05 13:34:37.322982 [INFO] ocpp:OCPP :: EVSE#1: Received TransactionStarted
2025-12-05 13:34:37.323216 [ERRO] ocpp:OCPP virtual everest::db::sqlite::Statement::~Statement() :: Error finalizing statement: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:37.323242 [WARN] ocpp:OCPP void ocpp::v16::ChargePointImpl::start_transaction(std::shared_ptr<ocpp::v16::Transaction>) :: Could not insert transaction with session_id 765e32d7-cc32-4a85-8e2a-f69e470e3cee into database: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:37.464100 [INFO] evse_manager_1: :: EVSE IEC Transaction Started (0 kWh)
2025-12-05 13:34:37.465952 [INFO] ocpp:OCPP :: EVSE#1: Received TransactionStarted
2025-12-05 13:34:37.466209 [ERRO] ocpp:OCPP virtual everest::db::sqlite::Statement::~Statement() :: Error finalizing statement: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:37.466235 [WARN] ocpp:OCPP void ocpp::v16::ChargePointImpl::start_transaction(std::shared_ptr<ocpp::v16::Transaction>) :: Could not insert transaction with session_id 765e32d7-cc32-4a85-8e2a-f69e470e3cee into database: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:37.581246 [INFO] iso15118_charge :: Parameter-phase started
2025-12-05 13:34:37.582179 [INFO] iso15118_charge :: Selected energy transfer mode: AC_three_phase_core
2025-12-05 13:34:37.582207 [INFO] iso15118_charge :: before adjusting for departure time, max_current 32.000000, nom_voltage 230, pmax 22080, departure_duration 86400
2025-12-05 13:34:37.606675 [INFO] evse_manager_1: :: EVSE IEC Transaction Started (0 kWh)
2025-12-05 13:34:37.608635 [INFO] ocpp:OCPP :: EVSE#1: Received TransactionStarted
2025-12-05 13:34:37.608877 [ERRO] ocpp:OCPP virtual everest::db::sqlite::Statement::~Statement() :: Error finalizing statement: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:37.608900 [WARN] ocpp:OCPP void ocpp::v16::ChargePointImpl::start_transaction(std::shared_ptr<ocpp::v16::Transaction>) :: Could not insert transaction with session_id 765e32d7-cc32-4a85-8e2a-f69e470e3cee into database: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:37.708122 [INFO] evse_manager_1: :: CAR ISO V2G ChargeParameterDiscoveryReq
2025-12-05 13:34:37.708280 [INFO] evse_manager_1: :: EVSE ISO V2G ChargeParameterDiscoveryRes
2025-12-05 13:34:37.723696 [INFO] evse_manager_1: :: EVSE IEC Transaction Started (0 kWh)
2025-12-05 13:34:37.727300 [INFO] ocpp:OCPP :: EVSE#1: Received TransactionStarted
2025-12-05 13:34:37.727664 [ERRO] ocpp:OCPP virtual everest::db::sqlite::Statement::~Statement() :: Error finalizing statement: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:37.727712 [WARN] ocpp:OCPP void ocpp::v16::ChargePointImpl::start_transaction(std::shared_ptr<ocpp::v16::Transaction>) :: Could not insert transaction with session_id 765e32d7-cc32-4a85-8e2a-f69e470e3cee into database: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:37.867666 [INFO] evse_manager_1: :: EVSE IEC Transaction Started (0 kWh)
2025-12-05 13:34:37.869136 [INFO] ocpp:OCPP :: EVSE#1: Received TransactionStarted
2025-12-05 13:34:37.869372 [ERRO] ocpp:OCPP virtual everest::db::sqlite::Statement::~Statement() :: Error finalizing statement: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:37.869395 [WARN] ocpp:OCPP void ocpp::v16::ChargePointImpl::start_transaction(std::shared_ptr<ocpp::v16::Transaction>) :: Could not insert transaction with session_id 765e32d7-cc32-4a85-8e2a-f69e470e3cee into database: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:38.012244 [INFO] evse_manager_1: :: EVSE IEC Transaction Started (0 kWh)
2025-12-05 13:34:38.013582 [INFO] ocpp:OCPP :: EVSE#1: Received TransactionStarted
2025-12-05 13:34:38.013832 [ERRO] ocpp:OCPP virtual everest::db::sqlite::Statement::~Statement() :: Error finalizing statement: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:38.013860 [WARN] ocpp:OCPP void ocpp::v16::ChargePointImpl::start_transaction(std::shared_ptr<ocpp::v16::Transaction>) :: Could not insert transaction with session_id 765e32d7-cc32-4a85-8e2a-f69e470e3cee into database: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:38.156000 [INFO] evse_manager_1: :: EVSE IEC Transaction Started (0 kWh)
2025-12-05 13:34:38.157968 [INFO] ocpp:OCPP :: EVSE#1: Received TransactionStarted
2025-12-05 13:34:38.158216 [ERRO] ocpp:OCPP virtual everest::db::sqlite::Statement::~Statement() :: Error finalizing statement: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:38.158241 [WARN] ocpp:OCPP void ocpp::v16::ChargePointImpl::start_transaction(std::shared_ptr<ocpp::v16::Transaction>) :: Could not insert transaction with session_id 765e32d7-cc32-4a85-8e2a-f69e470e3cee into database: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:38.197573 [INFO] evse_manager_1: :: CAR IEC Event CarRequestedPower
2025-12-05 13:34:38.228719 [INFO] iso15118_charge :: Waiting for contactor is closed
2025-12-05 13:34:38.239654 [INFO] evse_manager_1: :: EVSE IEC Transaction Started (0 kWh)
2025-12-05 13:34:38.241586 [INFO] ocpp:OCPP :: EVSE#1: Received TransactionStarted
2025-12-05 13:34:38.241831 [ERRO] ocpp:OCPP virtual everest::db::sqlite::Statement::~Statement() :: Error finalizing statement: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:38.241855 [WARN] ocpp:OCPP void ocpp::v16::ChargePointImpl::start_transaction(std::shared_ptr<ocpp::v16::Transaction>) :: Could not insert transaction with session_id 765e32d7-cc32-4a85-8e2a-f69e470e3cee into database: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:38.281507 [INFO] evse_manager_1: :: EVSE IEC Transaction Started (0 kWh)
2025-12-05 13:34:38.282127 [INFO] evse_manager_1: :: CAR IEC B->C transition before PWM is enabled at this stage violates IEC61851-1
2025-12-05 13:34:38.283369 [INFO] ocpp:OCPP :: EVSE#1: Received TransactionStarted
2025-12-05 13:34:38.283602 [ERRO] ocpp:OCPP virtual everest::db::sqlite::Statement::~Statement() :: Error finalizing statement: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:38.283637 [WARN] ocpp:OCPP void ocpp::v16::ChargePointImpl::start_transaction(std::shared_ptr<ocpp::v16::Transaction>) :: Could not insert transaction with session_id 765e32d7-cc32-4a85-8e2a-f69e470e3cee into database: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:38.323530 [INFO] evse_manager_1: :: EVSE IEC Transaction Started (0 kWh)
2025-12-05 13:34:38.325032 [INFO] ocpp:OCPP :: EVSE#1: Received TransactionStarted
2025-12-05 13:34:38.325318 [ERRO] ocpp:OCPP virtual everest::db::sqlite::Statement::~Statement() :: Error finalizing statement: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:38.325347 [WARN] ocpp:OCPP void ocpp::v16::ChargePointImpl::start_transaction(std::shared_ptr<ocpp::v16::Transaction>) :: Could not insert transaction with session_id 765e32d7-cc32-4a85-8e2a-f69e470e3cee into database: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:38.365585 [INFO] evse_manager_1: :: EVSE IEC Transaction Started (0 kWh)
2025-12-05 13:34:38.366218 [INFO] evse_manager_1: :: CAR ISO AC HLC Close contactor
2025-12-05 13:34:38.367110 [INFO] ocpp:OCPP :: EVSE#1: Received TransactionStarted
2025-12-05 13:34:38.367363 [ERRO] ocpp:OCPP virtual everest::db::sqlite::Statement::~Statement() :: Error finalizing statement: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:38.367396 [WARN] ocpp:OCPP void ocpp::v16::ChargePointImpl::start_transaction(std::shared_ptr<ocpp::v16::Transaction>) :: Could not insert transaction with session_id 765e32d7-cc32-4a85-8e2a-f69e470e3cee into database: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:38.508418 [INFO] evse_manager_1: :: EVSE IEC Transaction Started (0 kWh)
2025-12-05 13:34:38.509071 [INFO] evse_manager_1: :: EVSE IEC AC mode, HLC, PnC auth received. We will continue with 5percent as HLC charing loop was started.
2025-12-05 13:34:38.509186 [INFO] evse_manager_1: :: EVSE IEC Charger state: Wait for Auth->PrepareCharging
2025-12-05 13:34:38.509461 [INFO] evse_manager_1: :: EVSE IEC Set PWM On (5.0%) took 0 ms
2025-12-05 13:34:38.510256 [INFO] ocpp:OCPP :: EVSE#1: Received TransactionStarted
2025-12-05 13:34:38.510886 [ERRO] ocpp:OCPP virtual everest::db::sqlite::Statement::~Statement() :: Error finalizing statement: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:38.510936 [WARN] ocpp:OCPP void ocpp::v16::ChargePointImpl::start_transaction(std::shared_ptr<ocpp::v16::Transaction>) :: Could not insert transaction with session_id 765e32d7-cc32-4a85-8e2a-f69e470e3cee into database: UNIQUE constraint failed: TRANSACTIONS.ID
2025-12-05 13:34:38.594781 [INFO] evse_manager_1: :: EVSE IEC Charger state: PrepareCharging->Charging
2025-12-05 13:34:38.685831 [INFO] evse_manager_1: :: EVSE IEC Event PowerOn
2025-12-05 13:34:38.686609 [WARN] iso15118_charge void dlog_func(dloglevel_t, const char*, int, const char*, const char*, ...) :: Response message (type 14) not configured within 98 ms (took 458 ms)
2025-12-05 13:34:38.727491 [INFO] evse_manager_1: :: CAR ISO V2G PowerDeliveryReq
2025-12-05 13:34:38.727783 [INFO] evse_manager_1: :: EVSE ISO V2G PowerDeliveryRes
2025-12-05 13:34:39.224286 [INFO] evse_manager_1: :: CAR ISO V2G ChargingStatusReq
2025-12-05 13:34:39.322452 [INFO] evse_manager_1: :: EVSE ISO V2G ChargingStatusRes
2025-12-05 13:34:39.860238 [INFO] evse_manager_1: :: CAR ISO V2G ChargingStatusReq
|
Interesting, need to look into this. I tested with real vehicles but without OCPP. |
|
This is totally awesome and exactly what we need! When would this realistically be expected in a future release? |
|
Why is there no movement here for a month? Or even a reply? |
Funny, just today, I am checking this PR. We (chargebyte GmbH) have been using these modifications to build our EvseManager refactoring on top of. I was checking whether it had already been merged. We weren't aware of Piet's comment #1589 (comment) though, and haven't tested that. |
- Improve compatibility for AC ISO-2 5% w/X1 fallback - Fix auth before plugin to use nominal right from beginning - PnC: Use EF fallback to nominal if charging loop does not start after auth within timeout Taken from EVerest#1589 (unmerged as of 2026-01-12) Signed-off-by: Cornelius Claussen <cc@pionix.de>
c3926f1 to
71300e4
Compare
71300e4 to
186cd5d
Compare
816ebc2 to
913e0cf
Compare
- Improve compatibility for AC ISO-2 5% w/X1 fallback - Fix auth before plugin to use nominal right from beginning - PnC: Use EF fallback to nominal if charging loop does not start after auth within timeout Signed-off-by: Cornelius Claussen <cc@pionix.de> Co-authored-by: Piet Gömpel <37657534+Pietfried@users.noreply.github.com>
913e0cf to
19b9c6d
Compare
…#1589) - Improve compatibility for AC ISO-2 5% w/X1 fallback - Fix auth before plugin to use nominal right from beginning - PnC: Use EF fallback to nominal if charging loop does not start after auth within timeout Signed-off-by: Cornelius Claussen <cc@pionix.de> Co-authored-by: Piet Gömpel <37657534+Pietfried@users.noreply.github.com>
- Improve compatibility for AC ISO-2 5% w/X1 fallback - Fix auth before plugin to use nominal right from beginning - PnC: Use EF fallback to nominal if charging loop does not start after auth within timeout Taken from EVerest#1589 (unmerged as of 2026-01-12) Signed-off-by: Cornelius Claussen <cc@pionix.de>
- Improve compatibility for AC ISO-2 5% w/X1 fallback - Fix auth before plugin to use nominal right from beginning - PnC: Use EF fallback to nominal if charging loop does not start after auth within timeout Taken from EVerest#1589 (unmerged as of 2026-01-12) Signed-off-by: Cornelius Claussen <cc@pionix.de>
Describe your changes
Issue ticket number and link
Checklist before requesting a review