-
Notifications
You must be signed in to change notification settings - Fork 123
feat(EvseManager): Improve EV compatibility for AC ISO-2 PnC #1589
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
- 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 <[email protected]>
Signed-off-by: Cornelius Claussen <[email protected]>
|
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. |
Signed-off-by: Cornelius Claussen <[email protected]>
|
This is totally awesome and exactly what we need! When would this realistically be expected in a future release? |
| "t_step_X1 and disable 5 percent."); | ||
| internal_context.t_step_X1_return_state = target_state; | ||
| internal_context.t_step_X1_return_pwm = 0.; | ||
| internal_context.t_step_EF_return_ampere = 0.; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| internal_context.t_step_EF_return_ampere = 0.; | |
| internal_context.t_step_X1_return_ampere = 0.; |
Describe your changes
Issue ticket number and link
Checklist before requesting a review