From 12c0f46bfaf9753c06a6b0f3a9084053c019f96a Mon Sep 17 00:00:00 2001 From: canberkdurmus Date: Fri, 10 Oct 2025 16:29:03 +0200 Subject: [PATCH 1/3] Add PEV Generic CAN Interface v2.3 updates --- .../Advantics_Generic_PEV_protocol_v2.3.dbc | 585 +++++++++++ .../Advantics_Generic_PEV_protocol_v2.3.kcd | 972 ++++++++++++++++++ charge-controllers/evcc_generic/can_v2.md | 1 + .../evcc_generic/databases_v2.md | 6 +- 4 files changed, 1562 insertions(+), 2 deletions(-) create mode 100644 charge-controllers/evcc_generic/Advantics_Generic_PEV_protocol_v2.3.dbc create mode 100644 charge-controllers/evcc_generic/Advantics_Generic_PEV_protocol_v2.3.kcd diff --git a/charge-controllers/evcc_generic/Advantics_Generic_PEV_protocol_v2.3.dbc b/charge-controllers/evcc_generic/Advantics_Generic_PEV_protocol_v2.3.dbc new file mode 100644 index 0000000..0e38b90 --- /dev/null +++ b/charge-controllers/evcc_generic/Advantics_Generic_PEV_protocol_v2.3.dbc @@ -0,0 +1,585 @@ +VERSION "created by canmatrix" + + +NS_ : + +BS_: + +BU_: Advantics_Charge_Controller Vehicle + + +BO_ 1536 EVSE_Information: 6 Advantics_Charge_Controller + SG_ Communication_Stage : 0|8@1+ (1,0) [0|255] "" Vector__XXX + SG_ Protocol : 8|8@1+ (1,0) [0|255] "" Vector__XXX + SG_ Pins : 16|8@1+ (1,0) [0|255] "" Vector__XXX + SG_ Max_Current : 24|16@1- (1,0) [-32768|32767] "Amps" Vector__XXX + SG_ RCD_Status : 40|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ Reserved_Flags : 41|7@1+ (1,0) [0|127] "" Vector__XXX + +BO_ 1552 EV_Information: 3 Vehicle + SG_ State_of_Charge : 0|8@1+ (1,0) [0|100] "%" Vector__XXX + SG_ Energy_Capacity : 8|16@1+ (0.1,0) [0|6553] "kWh" Vector__XXX + +BO_ 1537 AC_Control: 1 Advantics_Charge_Controller + SG_ Ready_To_Deliver_Power : 0|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ Reserved_Flags : 1|7@1+ (1,0) [0|127] "" Vector__XXX + +BO_ 1553 AC_Status: 1 Vehicle + SG_ Ready_To_Charge : 0|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ Reserved_Flags : 1|7@1+ (1,0) [0|127] "" Vector__XXX + +BO_ 1538 DC_Control: 1 Advantics_Charge_Controller + SG_ Close_Contactors : 0|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ Reserved_Flags : 1|7@1+ (1,0) [0|127] "" Vector__XXX + +BO_ 1554 DC_Status1: 8 Vehicle + SG_ Max_Charge_Current : 0|16@1- (1,0) [-32768|32767] "Amps" Vector__XXX + SG_ Present_Current : 16|16@1- (1,0) [-32768|32767] "Amps" Vector__XXX + SG_ Max_Discharge_Current : 32|16@1+ (1,0) [0|65535] "Amps" Vector__XXX + SG_ Target_Voltage : 48|16@1+ (1,0) [0|65535] "Volts" Vector__XXX + +BO_ 1555 DC_Status2: 5 Vehicle + SG_ Contactors_Closed : 0|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ Normal_End_of_Charge : 1|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ Emergency_Stop : 2|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ Reserved_Flags : 3|5@1+ (1,0) [0|31] "" Vector__XXX + SG_ Battery_Voltage : 8|16@1+ (0.1,0) [0|6553] "Volts" Vector__XXX + SG_ Inlet_Voltage : 24|16@1+ (0.1,0) [0|6553] "Volts" Vector__XXX + +BO_ 1560 EV_Status: 8 Vehicle + SG_ HV_Preparing_Hold_Off : 0|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ Reserved_Flags : 1|63@1+ (1,0) [0|9223372036854775807] "" Vector__XXX + +BO_ 1556 EV_Energy_Request: 6 Vehicle + SG_ Target_Energy_Request : 0|16@1+ (0.1,0) [0|6553] "kWh" Vector__XXX + SG_ Maximum_Energy_Request : 16|16@1+ (0.1,0) [0|6553] "kWh" Vector__XXX + SG_ Minimum_Energy_Request : 32|16@1+ (0.1,0) [0|6553] "kWh" Vector__XXX + +BO_ 1557 EV_V2X_Energy_Request: 4 Vehicle + SG_ Minimum_V2X_Energy_Request : 0|16@1+ (0.1,0) [0|6553] "kWh" Vector__XXX + SG_ Maximum_V2X_Energy_Request : 16|16@1+ (0.1,0) [0|6553] "kWh" Vector__XXX + +BO_ 1558 EV_Extra_BPT_Information: 4 Vehicle + SG_ Departure_Time : 0|32@1+ (1,0) [0|4294967296] "Seconds" Vector__XXX + +BO_ 1539 CCS_Extra_Information: 6 Advantics_Charge_Controller + SG_ CP_Duty_Cycle : 0|16@1+ (0.1,0) [0|100] "%" Vector__XXX + SG_ CP_Top_Voltage : 16|8@1+ (0.1,0) [0|25.5] "Volts" Vector__XXX + SG_ CP_State : 24|8@1+ (1,0) [0|255] "" Vector__XXX + SG_ PP_Resistance : 32|8@1+ (10,0) [0|2550] "Ohms" Vector__XXX + SG_ Inlet_Lock_State : 40|2@1+ (1,0) [0|3] "" Vector__XXX + SG_ Reserved_Flags : 42|6@1+ (1,0) [0|63] "" Vector__XXX + +BO_ 1559 ADM_CS_EVCC_MEVC_Outputs: 8 Vehicle + SG_ Digital_Output1 : 0|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ Digital_Output2 : 1|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ Digital_Output3 : 2|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ Reserved : 3|37@1+ (1,0) [0|137438953471] "" Vector__XXX + SG_ Led1 : 40|8@1+ (1,0) [0|255] "" Vector__XXX + SG_ Led2 : 48|8@1+ (1,0) [0|255] "" Vector__XXX + SG_ Led3 : 56|8@1+ (1,0) [0|255] "" Vector__XXX + +BO_ 1540 ADM_CS_EVCC_Inputs: 6 Advantics_Charge_Controller + SG_ DC_Contactor_Positive_Feedback : 0|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ DC_Contactor_Negative_Feedback : 1|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ Digital_Input1 : 2|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ Digital_Input2 : 3|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ Stop_Charge : 4|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ Reserved_Flags : 5|3@1+ (1,0) [0|7] "" Vector__XXX + SG_ PTC0 : 8|8@1+ (1,-40) [-40|215] "°C" Vector__XXX + SG_ PTC1 : 16|8@1+ (1,-40) [-40|215] "°C" Vector__XXX + SG_ PTC2 : 24|8@1+ (1,-40) [-40|215] "°C" Vector__XXX + SG_ CPU_Temperature : 32|8@1+ (1,-40) [-40|215] "°C" Vector__XXX + SG_ CAN_Sensor_Temperature : 40|8@1+ (1,-40) [-40|215] "°C" Vector__XXX + +BO_ 1541 EVCC_MEVC_Diagnostic_Status: 8 Advantics_Charge_Controller + SG_ LockFailure : 0|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ UnlockDeclinedInletEnergized : 1|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ HighTemperature : 2|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ ContactorFault : 3|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ VoltageDeviation : 4|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ CurrentDeviation : 5|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ PrechargeTimeout : 6|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ ProximityPilotNotDetected : 7|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ InsertionDetectionNotDetected : 8|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ ControlPilotFault : 9|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ ChargeEnableFault : 10|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ ControlPilotDutyCycleUnexpected : 11|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ ControlPilotStateUnexpected : 12|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ ChargeEnableStateUnexpected : 13|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ ControlPilotStateNotSupported : 14|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ PLCFault : 15|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ V2GTPTLSError : 16|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ V2GTPAuthorizationFailure : 17|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ V2GTPServiceSelectionFailure : 18|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ V2GTPProtocolVersionInvalid : 19|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ V2GTPSessionIDUnexpected : 20|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ V2GTPPayloadInvalid : 21|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ V2GTPEnergyTransferModeNotSuppor : 22|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ V2GTPSequenceError : 23|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ V2GTPSequenceTimeout : 24|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ SDPError : 25|1@1+ (1,0) [0|1] "" Vector__XXX + SG_ Reserved_Flags : 26|22@1+ (1,0) [0|4194303] "" Vector__XXX + SG_ HLC_ResponseCode : 48|8@1+ (1,0) [0|255] "" Vector__XXX + SG_ EVSE_StatusCode : 56|4@1+ (1,0) [0|15] "" Vector__XXX + SG_ EVSE_Isolation_Level : 60|4@1+ (1,0) [0|15] "" Vector__XXX + + +CM_ BO_ 1536 "Information about the EVSE (AC or DC source), when available."; +CM_ BO_ 1552 "Information provided by the vehicle."; +CM_ BO_ 1537 "AC charging specific control (from charge controller to on-board charger)."; +CM_ BO_ 1553 "AC charging specific status (from on-board charger to charge controller)."; +CM_ BO_ 1538 "DC charging specific control (from charge controller to BMS)."; +CM_ BO_ 1554 "DC charging specific status (from BMS to charge controller), message 1."; +CM_ BO_ 1555 "DC charging specific status (from BMS to charge controller), message 2."; +CM_ BO_ 1560 "Used to report the status of the EV (from BMS to charge controller)"; +CM_ BO_ 1556 " + ISO 15118-20 specific message. + The energy of the EV corresponding to the SOC specified by the owner. + The energy request is represented by an energy range including a target energy request. + + Energy requests should satisfy the following relationship: + Minimum_Energy_Request Target_Energy_Request Maximum_Energy_Request + "; +CM_ BO_ 1557 " + ISO 15118-20 specific message. (Optional) + Indicates a preferred operational V2X range for bidirectional cycling. + V2X energy requests should satisfy the following relationships: + Minimum_Energy_Request Minimum_V2X_Energy_Request + Maximum_V2X_Energy_Request Maximum_Energy_Request + "; +CM_ BO_ 1558 " + ISO 15118-20 specific message. + EV extra bidirectional power transfer information. + "; +CM_ BO_ 1539 "Extra information from CCS (for information only)."; +CM_ BO_ 1559 " + Controller (ADM-CS-EVCC and ADM-CS-MEVC hardware variant) has various outputs that + can be controlled through this message. + "; +CM_ BO_ 1540 " + Controller (ADM-CS-EVCC hardware variant) is reporting various information + about its inputs. It is sent every seconds (for temperature channels). + Or on change for other digital inputs. + "; +CM_ BO_ 1541 " + Diagnostic status of the charge controller. + This message gets reset to default values when the controller the state cycles back to + Communication_Stage.Waiting_For_EVSE + "; + +CM_ SG_ 1536 Communication_Stage " + Current internal state of the charge controller, reflecting communication stage. + + Initialising:: Controller's applications are starting up. + Waiting_For_EVSE:: Controller is idle and ready for a plug-in. + Negotiating_Connection:: Controller is plugged to a charger and the connection is + being initialised. Important charge information are exchanged. + Connected_With_Full_Info:: All charge information from the EVSE were retrieved + and a charge session can be considered to be properly started. + Insulation_Test:: Insulation of charge cable is being tested by charger. + Precharge:: Charger is matching its output voltage to present voltage of the + battery. + Waiting_For_Charge:: PEV is about to begin the actual charge. + Charging:: Main charging loop going on. + Ending_Charge:: A normal charge stop condition happened and the PEV is exiting + the charging loop. + Welding_Detection:: PEV is testing if its contactors are welded. + Closing_Communication:: PEV can unplug and we are reinitialising in order to + then go back to __Waiting_For_EVSE__. + "; +CM_ SG_ 1536 Protocol "The charging protocol EVSE is using."; +CM_ SG_ 1536 Pins "Pins on which current is supplied. __CCS_AC__ corresponds to any AC pins."; +CM_ SG_ 1536 Max_Current " + Maximum current the on-board charger (AC) or BMS (DC) is allowed to draw. + + In AC, it is defined as the minimum between EVSE max current + (ie. CP PWM duty cycle) and cable max current (ie. PP resistance). + + In DC it corresponds to HLC data. + "; +CM_ SG_ 1536 RCD_Status " + Status of EVSE Residual Current Device (only available in HLC mode, 0 otherwise). + For information only. + "; +CM_ SG_ 1536 Reserved_Flags "Reserved bits for future uses."; +CM_ SG_ 1552 State_of_Charge "Battery SoC in percent (only used in HLC mode)."; +CM_ SG_ 1552 Energy_Capacity " + The energy capacity of the EV battery. + In case this value is 0 we default to the config file entry `energy_capacity`. + "; +CM_ SG_ 1537 Ready_To_Deliver_Power " + EVSE is in position of delivering power. + + WARNING: Does not mean that power is currently being delivered! + + When going to __Ready__, the on-board charger should set its + <> flag, and THEN start to draw current. + + When going to __Not_Ready__ it means the AC source request a normal stop. + On-board charger should stop drawing current and THEN set its + <> flag to 0. + "; +CM_ SG_ 1537 Reserved_Flags "Reserved bits for future uses."; +CM_ SG_ 1553 Ready_To_Charge " + On-board charger is ready to charge (corresponds to asserting CP state C/D). + You should set it to 1 before starting to draw current. + And set it to 0 after current draw stops. + + Only exception is in case of emergency stop, where you can set it to 0 without + waiting for the current draw to stop beforehand. + "; +CM_ SG_ 1553 Reserved_Flags "Reserved bits for future uses."; +CM_ SG_ 1538 Close_Contactors " + Request for closing contactors. Close contactors when 1. Open them when 0. + If the message does not come after 1s timeout, consider it to be an emergency + situation and open contactors. + + Alternatively, ADM-CS-EVCC unit has DC contactor drivers. To use them directly + instead of this CAN signal, enable them in the `/srv/config.cfg` file: + + [vehicle] + dc_contactors_use_ios = true + "; +CM_ SG_ 1538 Reserved_Flags "Reserved bits for future uses."; +CM_ SG_ 1554 Max_Charge_Current " + Used as the target current sent to EVSE except for power transfer with CCS ISO15118-20 Dynamic mode, + this signal will be used as the EV Maximum charge current. Note that negative values will be + disregarded in CCS ISO 15118-20 Dynamic mode. + + This signal can be dynamically updated by the BMS to limit the charge current + + Will be capped by maximum current from config file and from EVSE data. + + When in <>, the target current will be set to the config file + entry \"max_current\". When doing so, you should set a safe `max_charge_voltage` to terminate the + charge earlier than at full pack (ie. bulk charging): + + [vehicle] + no_bms = true + max_current = 20 + max_charge_voltage = 380 + target_voltage = 410 + max_voltage = 450 + + In no BMS mode, this signal will be ignored. + + NOTE: Signal is of signed data type for compatibility with future bidirectional + implementations. + "; +CM_ SG_ 1554 Present_Current " + Measurement of current flowing in or out of the battery. + + Alternatively, this information can be obtained by using a supported CAN sensor. + Declare it as such in `/srv/config.cfg`: + + [vehicle] + use_can_sensor = Isabellenhutte IVT-S + + In such case, this signal will be ignored. + Refer to <> documentation to know how the sensor should be wired. + + NOTE: Signal is of signed data type for compatibility with future bidirectional + implementations. + "; +CM_ SG_ 1554 Max_Discharge_Current " + Only taken into account in CCS ISO15118-20 Dynamic mode. + This signal can be used to dynamically update the EV Maximum Discharge current. + + This signal can be dynamically updated by the BMS to limit the discharge current + + Note that negative values will be disregarded. + Will be capped by max_discharge_current from config file. + "; +CM_ SG_ 1554 Target_Voltage " + Allows dynamic target voltage updates. + Will be capped by maximum voltage from config file and from EVSE data. + Only taken into account when the config entry dynamic_target_voltage is set to true. + Declare it as such in `/srv/config.cfg`: + + [vehicle] + dynamic_target_voltage = True + + Note: This signal will be ignored if the config entry dynamic_target_voltage is set to false. + "; +CM_ SG_ 1555 Contactors_Closed " + Report states of contactors. + + Alternatively, ADM-CS-EVCC unit has DC contactors feedback inputs. + To use them directly instead of this CAN signal, enable them in + the `/srv/config.cfg` file: + + [vehicle] + dc_contactors_use_ios = true + "; +CM_ SG_ 1555 Normal_End_of_Charge " + Vehicle request a normal charge termination + (user request, or soft battery voltage limit reached (eg. bulk charging)). + + Only acts on change (so you need to cycle it back to 0). + + Alternatively, you can also use the 12V input (R-3F) on ADM-CS-EVCC unit. + "; +CM_ SG_ 1555 Emergency_Stop " + Vehicle request an emergency charge termination + Only acts on change (so you need to cycle it back to 0). + "; +CM_ SG_ 1555 Reserved_Flags "Reserved bits for future uses."; +CM_ SG_ 1555 Battery_Voltage " + Measurement of battery pack voltage. + + Alternatively, this information can be obtained by using a supported CAN sensor. + Declare it as such in `/srv/config.cfg`: + + [vehicle] + use_can_sensor = Isabellenhutte IVT-S + + In such case, this signal will be ignored. + Refer to <> documentation to know how the sensor should be wired. + "; +CM_ SG_ 1555 Inlet_Voltage " + Measurement of inlet voltage (ie. before contactors). + + Alternatively, this information can be obtained by using a supported CAN sensor. + Declare it as such in `/srv/config.cfg`: + + [vehicle] + use_can_sensor = Isabellenhutte IVT-S + + In such case, this signal will be ignored. + Refer to <> documentation to know how the sensor should be wired. + "; +CM_ SG_ 1560 HV_Preparing_Hold_Off " + Allows the vehicle to delay the transition to powered states (starting from the insulation test) until the HV system is ready. + + Use cases: + - Make sure the vehicle IMD is disabled before sending cablecheck request. + - Wait while preparing the HV system for power. + + This signal should be set to 0 if the vehicle is ready for power. + When the charger is plugged-in and this signal is set to 1, the session will block at Communication_Stage.Connected_With_Full_Info state until this signal is set to 0 (and the inlet is locked). + + 0=False (Hold off Not Requested), 1=True (Hold off) + + Note: limited by wait_hv_ready_timeout_ms config entry. Default is 40 seconds (defined by the standards): + [ccs] + wait_hv_ready_timeout_ms = 40000 + + "; +CM_ SG_ 1560 Reserved_Flags "Reserved bits for future uses."; +CM_ SG_ 1556 Target_Energy_Request " + The energy of the EV corresponding to the target SOC. + "; +CM_ SG_ 1556 Maximum_Energy_Request " + The energy of the EV corresponding the to maximum SOC. + + In case this message is not sent we default to the config file entry `max_energy_request`. + + Will be capped by Energy_Capacity. + "; +CM_ SG_ 1556 Minimum_Energy_Request " + The energy of the EV corresponding to the minimum SOC. + In case this message is not sent we default to the config file entry `min_energy_request`. + "; +CM_ SG_ 1557 Minimum_V2X_Energy_Request "The minimum energy level for the bidirectional cycling activity range."; +CM_ SG_ 1557 Maximum_V2X_Energy_Request "The maximum energy level for the bidirectional cycling activity range."; +CM_ SG_ 1558 Departure_Time " + Indicate when the EV intends to finish the charging process + The offset in seconds from the point in time of sending this message. + "; +CM_ SG_ 1539 CP_Duty_Cycle "Measured PWM duty cycle on the CP line."; +CM_ SG_ 1539 CP_Top_Voltage "Measured PWM top voltage on the CP line."; +CM_ SG_ 1539 CP_State "Measured CP state."; +CM_ SG_ 1539 PP_Resistance "Measured resistance from PP. 2550 Ohms means disconnected."; +CM_ SG_ 1539 Inlet_Lock_State "CCS Inlet lock state."; +CM_ SG_ 1539 Reserved_Flags "Reserved bits for future uses."; +CM_ SG_ 1559 Digital_Output1 " + Sets the logical state of DIG_OUT1. + Needs to be declared as monitored in `/srv/config.cfg`: + + [hardware] + dig_out1 = CAN_Controlled + "; +CM_ SG_ 1559 Digital_Output2 " + Reports the logical state of DIG_OUT2. + Needs to be declared as monitored in `/srv/config.cfg`: + + [hardware] + dig_out2 = CAN_Controlled + "; +CM_ SG_ 1559 Digital_Output3 " + Reports the logical state of DIG_OUT3. + Needs to be declared as monitored in `/srv/config.cfg`: + + [hardware] + dig_out3 = CAN_Controlled + "; +CM_ SG_ 1559 Reserved "Padding bits between digital outputs and leds."; +CM_ SG_ 1559 Led1 " + Sets the brightness of LED1 (3C1) in a scale from 1 to 100. + Greater values than 100 will be treated as max brigthness. + Needs to be declared as monitored in `/srv/config.cfg`: + + [hardware] + led1 = CAN_Controlled + "; +CM_ SG_ 1559 Led2 " + Sets the brightness of LED2 (3C2) in a scale from 1 to 100. + Greater values than 100 will be treated as max brigthness. + Needs to be declared as monitored in `/srv/config.cfg`: + + [hardware] + led2 = CAN_Controlled + "; +CM_ SG_ 1559 Led3 " + Sets the brightness of LED3 (3C3) in a scale from 1 to 100. + Greater values than 100 will be treated as max brigthness. + Needs to be declared as monitored in `/srv/config.cfg`: + + [hardware] + led3 = CAN_Controlled + "; +CM_ SG_ 1540 DC_Contactor_Positive_Feedback "Reports the logical state of R-2E."; +CM_ SG_ 1540 DC_Contactor_Negative_Feedback "Reports the logical state of R-2F."; +CM_ SG_ 1540 Digital_Input1 " + Reports the logical state of R-1G. + Needs to be declared as monitored in `/srv/config.cfg`: + + [hardware] + dig_in1 = Monitor + "; +CM_ SG_ 1540 Digital_Input2 " + Reports the logical state of R-2G. + Needs to be declared as monitored in `/srv/config.cfg`: + + [hardware] + dig_in2 = Monitor + "; +CM_ SG_ 1540 Stop_Charge " + Reports the logical state of R-3F (or any other input declared as Stop function). + "; +CM_ SG_ 1540 Reserved_Flags "Reserved bits for future uses."; +CM_ SG_ 1540 PTC0 "Measured temperature sensor on L-2D."; +CM_ SG_ 1540 PTC1 "Measured temperature sensor on L-1E."; +CM_ SG_ 1540 PTC2 "Measured temperature sensor on L-3E."; +CM_ SG_ 1540 CPU_Temperature "Temperature reported by the CPU chip of the charge controller."; +CM_ SG_ 1540 CAN_Sensor_Temperature "If using a CAN sensor, and it has a temperature channel."; +CM_ SG_ 1541 LockFailure " + Indicates a failure in locking the connector. + "; +CM_ SG_ 1541 UnlockDeclinedInletEnergized " + Unlock request declined due to voltage/current measured at the inlet. + "; +CM_ SG_ 1541 HighTemperature " + Error due to high temperature detected. + "; +CM_ SG_ 1541 ContactorFault " + Indicates a contactor fault. Can also be caused by wrong wiring or configuration of contactor feedbacks. + "; +CM_ SG_ 1541 VoltageDeviation " + Voltage deviation detected beyond allowed limits. + "; +CM_ SG_ 1541 CurrentDeviation " + Current deviation detected beyond allowed limits. + "; +CM_ SG_ 1541 PrechargeTimeout " + Precharge process did not complete within the expected time. + "; +CM_ SG_ 1541 ProximityPilotNotDetected " + CCS PP signal not detected. + "; +CM_ SG_ 1541 InsertionDetectionNotDetected " + MCS ID signal not detected. + "; +CM_ SG_ 1541 ControlPilotFault " + Fault detected on the CCS CP line. + "; +CM_ SG_ 1541 ChargeEnableFault " + Fault detected in MCS CE line. + "; +CM_ SG_ 1541 ControlPilotDutyCycleUnexpected " + Unexpected duty cycle detected on CCS CP line. + "; +CM_ SG_ 1541 ControlPilotStateUnexpected " + Unexpected state detected on CCS CP line. + "; +CM_ SG_ 1541 ChargeEnableStateUnexpected " + Unexpected state detected in MCS CE line. + "; +CM_ SG_ 1541 ControlPilotStateNotSupported " + CCS CP state not supported by the system. + "; +CM_ SG_ 1541 PLCFault " + Power Line Communication (PLC) fault detected. + This is a generic flag, for more specific information (when available) refer to the V2GTP* flags below. + "; +CM_ SG_ 1541 V2GTPTLSError " + V2GTP TLS error occurred during communication. + "; +CM_ SG_ 1541 V2GTPAuthorizationFailure " + V2GTP authorization process failed. + "; +CM_ SG_ 1541 V2GTPServiceSelectionFailure " + V2GTP service selection failed. + "; +CM_ SG_ 1541 V2GTPProtocolVersionInvalid " + Invalid V2GTP protocol version detected. + "; +CM_ SG_ 1541 V2GTPSessionIDUnexpected " + Unexpected V2GTP session ID encountered. + "; +CM_ SG_ 1541 V2GTPPayloadInvalid " + Invalid payload detected in V2GTP communication. + "; +CM_ SG_ 1541 V2GTPEnergyTransferModeNotSuppor " + V2GTP energy transfer mode not supported. + "; +CM_ SG_ 1541 V2GTPSequenceError " + Sequence error detected in V2GTP communication. + "; +CM_ SG_ 1541 V2GTPSequenceTimeout " + Timeout occurred in V2GTP sequence. + "; +CM_ SG_ 1541 SDPError " + Service Discovery Protocol (SDP) error detected. + "; +CM_ SG_ 1541 Reserved_Flags "Reserved bits for future uses."; +CM_ SG_ 1541 HLC_ResponseCode " + High-Level Communication (HLC) response codes for EVSE communication protocols. + "; +CM_ SG_ 1541 EVSE_StatusCode " + Only relevant for DIN SPEC 70121 and ISO 15118-2 protocols. + (was removed in ISO 15118-20) + "; +CM_ SG_ 1541 EVSE_Isolation_Level " + Only relevant for DIN SPEC 70121 and ISO 15118-2 protocols. + (was removed in ISO 15118-20) + "; + + +BA_DEF_ SG_ "GenSigStartValue" FLOAT 0 100000000000; +BA_DEF_ SG_ "SystemSignalLongSymbol" STRING; + + + +BA_ "SystemSignalLongSymbol" SG_ 1541 V2GTPEnergyTransferModeNotSuppor "V2GTPEnergyTransferModeNotSupported"; + +VAL_ 1536 Communication_Stage 0 "Initialising" 1 "Waiting_For_EVSE" 2 "Negotiating_Connection" 3 "Connected_With_Full_Info" 4 "Insulation_Test" 5 "Precharge" 6 "Waiting_For_Charge" 7 "Charging" 8 "Ending_Charge" 9 "Welding_Detection" 10 "Closing_Communication"; +VAL_ 1536 Protocol 0 "" 1 "CCS_PWM" 2 "CCS_DIN_70121_2012_v2" 3 "CCS_ISO_15118_2013_v2" 4 "CCS_ISO_15118_2022"; +VAL_ 1536 Pins 0 "" 1 "CCS_AC" 2 "CCS_AC_Single_Phase_Core" 3 "CCS_AC_Three_Phase_Core" 4 "CCS_DC_Core" 5 "CCS_DC_Extended" 6 "MCS"; +VAL_ 1536 RCD_Status 0 "No_Error" 1 "Error"; +VAL_ 1537 Ready_To_Deliver_Power 0 "Not_Ready" 1 "Ready"; +VAL_ 1553 Ready_To_Charge 0 "Not_Ready" 1 "Ready"; +VAL_ 1538 Close_Contactors 0 "Open" 1 "Close"; +VAL_ 1555 Contactors_Closed 0 "Open" 1 "Close"; +VAL_ 1555 Normal_End_of_Charge 0 "No_Request" 1 "Stop_Requested"; +VAL_ 1555 Emergency_Stop 0 "No_Request" 1 "Emergency_Stop_Requested"; +VAL_ 1560 HV_Preparing_Hold_Off 0 "Hold_Off_Not_Requested" 1 "Hold_Off"; +VAL_ 1539 CP_State 0 "E_or_F" 3 "D" 6 "C" 9 "B" 12 "A"; +VAL_ 1539 Inlet_Lock_State 0 "Unlocked" 1 "Locked" 2 "Fault"; +VAL_ 1540 DC_Contactor_Positive_Feedback 0 "Open" 1 "Close"; +VAL_ 1540 DC_Contactor_Negative_Feedback 0 "Open" 1 "Close"; +VAL_ 1540 Stop_Charge 0 "No_Request" 1 "Stop_Requested"; +VAL_ 1541 HLC_ResponseCode 0 "Undefined" 1 "OK" 2 "OK_CertificateExpiresSoon" 3 "OK_NewSessionEstablished" 4 "OK_OldSessionJoined" 5 "OK_PowerToleranceConfirmed" 6 "WARNING_AuthorizationSelectionInvalid" 7 "WARNING_CertificateExpired" 8 "WARNING_CertificateNotYetValid" 9 "WARNING_CertificateRevoked" 10 "WARNING_CertificateValidationError" 11 "WARNING_ChallengeInvalid" 12 "WARNING_EIMAuthorizationFailure" 13 "WARNING_eMSPUnknown" 14 "WARNING_EVPowerProfileViolation" 15 "WARNING_GeneralPnCAuthorizationError" 16 "WARNING_NoCertificateAvailable" 17 "WARNING_NoContractMatchingPCIDFound" 18 "WARNING_PowerToleranceNotConfirmed" 19 "WARNING_ScheduleRenegotiationFailed" 20 "WARNING_StandbyNotAllowed" 21 "WARNING_WPT" 22 "FAILED" 23 "FAILED_AssociationError" 24 "FAILED_ContactorError" 25 "FAILED_EVPowerProfileInvalid" 26 "FAILED_EVPowerProfileViolation" 27 "FAILED_MeteringSignatureNotValid" 28 "FAILED_NoEnergyTransferServiceSelected" 29 "FAILED_NoServiceRenegotiationSupported" 30 "FAILED_PauseNotAllowed" 31 "FAILED_PowerDeliveryNotApplied" 32 "FAILED_PowerToleranceNotConfirmed" 33 "FAILED_ScheduleRenegotiation" 34 "FAILED_ScheduleSelectionInvalid" 35 "FAILED_SequenceError" 36 "FAILED_ServiceIDInvalid" 37 "FAILED_ServiceSelectionInvalid" 38 "FAILED_SignatureError" 39 "FAILED_UnknownSession" 40 "FAILED_WrongChargeParameter" 41 "FAILED_PaymentSelectionInvalid" 42 "FAILED_CertificateExpired" 43 "FAILED_CertChainError" 44 "FAILED_ChallengeInvalid" 45 "FAILED_ContractCanceled" 46 "FAILED_TariffSelectionInvalid" 47 "FAILED_ChargingProfileInvalid" 48 "FAILED_NoChargeServiceSelected" 49 "FAILED_WrongEnergyTransferMode" 50 "FAILED_CertificateNotAllowedAtThisEVSE" 51 "FAILED_CertificateRevoked" 52 "FAILED_EVSEPresentVoltageToLow" 53 "FAILED_WrongEnergyTransferType"; +VAL_ 1541 EVSE_StatusCode 0 "Undefined" 1 "EVSE_NotReady" 2 "EVSE_Ready" 3 "EVSE_Shutdown" 4 "EVSE_UtilityInterruptEvent" 5 "EVSE_IsolationMonitoringActive" 6 "EVSE_EmergencyShutdown" 7 "EVSE_Malfunction" 8 "Invalid"; +VAL_ 1541 EVSE_Isolation_Level 0 "Undefined" 1 "Invalid" 2 "Valid" 3 "Warning" 4 "Fault" 5 "No_IMD"; diff --git a/charge-controllers/evcc_generic/Advantics_Generic_PEV_protocol_v2.3.kcd b/charge-controllers/evcc_generic/Advantics_Generic_PEV_protocol_v2.3.kcd new file mode 100644 index 0000000..dc08713 --- /dev/null +++ b/charge-controllers/evcc_generic/Advantics_Generic_PEV_protocol_v2.3.kcd @@ -0,0 +1,972 @@ + + + + + + + + + + Information about the EVSE (AC or DC source), when available. + + + + + + + + Current internal state of the charge controller, reflecting communication stage. + + Initialising:: Controller's applications are starting up. + Waiting_For_EVSE:: Controller is idle and ready for a plug-in. + Negotiating_Connection:: Controller is plugged to a charger and the connection is + being initialised. Important charge information are exchanged. + Connected_With_Full_Info:: All charge information from the EVSE were retrieved + and a charge session can be considered to be properly started. + Insulation_Test:: Insulation of charge cable is being tested by charger. + Precharge:: Charger is matching its output voltage to present voltage of the + battery. + Waiting_For_Charge:: PEV is about to begin the actual charge. + Charging:: Main charging loop going on. + Ending_Charge:: A normal charge stop condition happened and the PEV is exiting + the charging loop. + Welding_Detection:: PEV is testing if its contactors are welded. + Closing_Communication:: PEV can unplug and we are reinitialising in order to + then go back to __Waiting_For_EVSE__. + + + + + + + The charging protocol EVSE is using. + + + + + + Pins on which current is supplied. __CCS_AC__ corresponds to any AC pins. + + + + + + + Maximum current the on-board charger (AC) or BMS (DC) is allowed to draw. + + In AC, it is defined as the minimum between EVSE max current + (ie. CP PWM duty cycle) and cable max current (ie. PP resistance). + + In DC it corresponds to HLC data. + + + + + + + Status of EVSE Residual Current Device (only available in HLC mode, 0 otherwise). + For information only. + + + + + + + Reserved bits for future uses. + + + + + Information provided by the vehicle. + + + + + + + Battery SoC in percent (only used in HLC mode). + + + + + + The energy capacity of the EV battery. + In case this value is 0 we default to the config file entry `energy_capacity`. + + + + + + + + AC charging specific control (from charge controller to on-board charger). + + + + + + + > flag, and THEN start to draw current. + + When going to __Not_Ready__ it means the AC source request a normal stop. + On-board charger should stop drawing current and THEN set its + <> flag to 0. + ]]> + + + + + + Reserved bits for future uses. + + + + + AC charging specific status (from on-board charger to charge controller). + + + + + + + + On-board charger is ready to charge (corresponds to asserting CP state C/D). + You should set it to 1 before starting to draw current. + And set it to 0 after current draw stops. + + Only exception is in case of emergency stop, where you can set it to 0 without + waiting for the current draw to stop beforehand. + + + + + + + Reserved bits for future uses. + + + + + DC charging specific control (from charge controller to BMS). + + + + + + + + Request for closing contactors. Close contactors when 1. Open them when 0. + If the message does not come after 1s timeout, consider it to be an emergency + situation and open contactors. + + Alternatively, ADM-CS-EVCC unit has DC contactor drivers. To use them directly + instead of this CAN signal, enable them in the `/srv/config.cfg` file: + + [vehicle] + dc_contactors_use_ios = true + + + + + + + Reserved bits for future uses. + + + + + DC charging specific status (from BMS to charge controller), message 1. + + + + + + + >, the target current will be set to the config file + entry "max_current". When doing so, you should set a safe `max_charge_voltage` to terminate the + charge earlier than at full pack (ie. bulk charging): + + [vehicle] + no_bms = true + max_current = 20 + max_charge_voltage = 380 + target_voltage = 410 + max_voltage = 450 + + In no BMS mode, this signal will be ignored. + + NOTE: Signal is of signed data type for compatibility with future bidirectional + implementations. + ]]> + + + + + > documentation to know how the sensor should be wired. + + NOTE: Signal is of signed data type for compatibility with future bidirectional + implementations. + ]]> + + + + + + + + + + + + + + + + DC charging specific status (from BMS to charge controller), message 2. + + + + + + + + Report states of contactors. + + Alternatively, ADM-CS-EVCC unit has DC contactors feedback inputs. + To use them directly instead of this CAN signal, enable them in + the `/srv/config.cfg` file: + + [vehicle] + dc_contactors_use_ios = true + + + + + + + + Vehicle request a normal charge termination + (user request, or soft battery voltage limit reached (eg. bulk charging)). + + Only acts on change (so you need to cycle it back to 0). + + Alternatively, you can also use the 12V input (R-3F) on ADM-CS-EVCC unit. + + + + + + + + Vehicle request an emergency charge termination + Only acts on change (so you need to cycle it back to 0). + + + + + + + + Reserved bits for future uses. + + + + > documentation to know how the sensor should be wired. + ]]> + + + + + > documentation to know how the sensor should be wired. + ]]> + + + + + + Used to report the status of the EV (from BMS to charge controller) + + + + + + + + Allows the vehicle to delay the transition to powered states (starting from the insulation test) until the HV system is ready. + + Use cases: + - Make sure the vehicle IMD is disabled before sending cablecheck request. + - Wait while preparing the HV system for power. + + This signal should be set to 0 if the vehicle is ready for power. + When the charger is plugged-in and this signal is set to 1, the session will block at Communication_Stage.Connected_With_Full_Info state until this signal is set to 0 (and the inlet is locked). + + 0=False (Hold off Not Requested), 1=True (Hold off) + + Note: limited by wait_hv_ready_timeout_ms config entry. Default is 40 seconds (defined by the standards): + [ccs] + wait_hv_ready_timeout_ms = 40000 + + + + + + + + Reserved bits for future uses. + + + + + + ISO 15118-20 specific message. + The energy of the EV corresponding to the SOC specified by the owner. + The energy request is represented by an energy range including a target energy request. + + Energy requests should satisfy the following relationship: + Minimum_Energy_Request ≤ Target_Energy_Request ≤ Maximum_Energy_Request + + + + + + + + + The energy of the EV corresponding to the target SOC. + + + + + + + The energy of the EV corresponding the to maximum SOC. + + In case this message is not sent we default to the config file entry `max_energy_request`. + + Will be capped by Energy_Capacity. + + + + + + + The energy of the EV corresponding to the minimum SOC. + In case this message is not sent we default to the config file entry `min_energy_request`. + + + + + + + + ISO 15118-20 specific message. (Optional) + Indicates a preferred operational V2X range for bidirectional cycling. + V2X energy requests should satisfy the following relationships: + Minimum_Energy_Request ≤ Minimum_V2X_Energy_Request + Maximum_V2X_Energy_Request ≤ Maximum_Energy_Request + + + + + + + + The minimum energy level for the bidirectional cycling activity range. + + + + + The maximum energy level for the bidirectional cycling activity range. + + + + + + + ISO 15118-20 specific message. + EV extra bidirectional power transfer information. + + + + + + + + + Indicate when the EV intends to finish the charging process + The offset in seconds from the point in time of sending this message. + + + + + + + + Extra information from CCS (for information only). + + + + + + + Measured PWM duty cycle on the CP line. + + + + + Measured PWM top voltage on the CP line. + + + + + Measured CP state. + + + + + + Measured resistance from PP. 2550 Ohms means disconnected. + + + + + CCS Inlet lock state. + + + + + + Reserved bits for future uses. + + + + + + Controller (ADM-CS-EVCC and ADM-CS-MEVC hardware variant) has various outputs that + can be controlled through this message. + + + + + + + + + Sets the logical state of DIG_OUT1. + Needs to be declared as monitored in `/srv/config.cfg`: + + [hardware] + dig_out1 = CAN_Controlled + + + + + + + Reports the logical state of DIG_OUT2. + Needs to be declared as monitored in `/srv/config.cfg`: + + [hardware] + dig_out2 = CAN_Controlled + + + + + + + Reports the logical state of DIG_OUT3. + Needs to be declared as monitored in `/srv/config.cfg`: + + [hardware] + dig_out3 = CAN_Controlled + + + + + + Padding bits between digital outputs and leds. + + + + + Sets the brightness of LED1 (3C1) in a scale from 1 to 100. + Greater values than 100 will be treated as max brigthness. + Needs to be declared as monitored in `/srv/config.cfg`: + + [hardware] + led1 = CAN_Controlled + + + + + + + Sets the brightness of LED2 (3C2) in a scale from 1 to 100. + Greater values than 100 will be treated as max brigthness. + Needs to be declared as monitored in `/srv/config.cfg`: + + [hardware] + led2 = CAN_Controlled + + + + + + + Sets the brightness of LED3 (3C3) in a scale from 1 to 100. + Greater values than 100 will be treated as max brigthness. + Needs to be declared as monitored in `/srv/config.cfg`: + + [hardware] + led3 = CAN_Controlled + + + + + + + + Controller (ADM-CS-EVCC hardware variant) is reporting various information + about its inputs. It is sent every seconds (for temperature channels). + Or on change for other digital inputs. + + + + + + + + Reports the logical state of R-2E. + + + + + + Reports the logical state of R-2F. + + + + + + + Reports the logical state of R-1G. + Needs to be declared as monitored in `/srv/config.cfg`: + + [hardware] + dig_in1 = Monitor + + + + + + + Reports the logical state of R-2G. + Needs to be declared as monitored in `/srv/config.cfg`: + + [hardware] + dig_in2 = Monitor + + + + + + + Reports the logical state of R-3F (or any other input declared as Stop function). + + + + + + + Reserved bits for future uses. + + + + Measured temperature sensor on L-2D. + + + + + Measured temperature sensor on L-1E. + + + + + Measured temperature sensor on L-3E. + + + + + Temperature reported by the CPU chip of the charge controller. + + + + + If using a CAN sensor, and it has a temperature channel. + + + + + + + Diagnostic status of the charge controller. + This message gets reset to default values when the controller the state cycles back to + Communication_Stage.Waiting_For_EVSE + + + + + + + + + Indicates a failure in locking the connector. + + + + + Unlock request declined due to voltage/current measured at the inlet. + + + + + Error due to high temperature detected. + + + + + Indicates a contactor fault. Can also be caused by wrong wiring or configuration of contactor feedbacks. + + + + + Voltage deviation detected beyond allowed limits. + + + + + Current deviation detected beyond allowed limits. + + + + + Precharge process did not complete within the expected time. + + + + + CCS PP signal not detected. + + + + + MCS ID signal not detected. + + + + + Fault detected on the CCS CP line. + + + + + Fault detected in MCS CE line. + + + + + Unexpected duty cycle detected on CCS CP line. + + + + + Unexpected state detected on CCS CP line. + + + + + Unexpected state detected in MCS CE line. + + + + + CCS CP state not supported by the system. + + + + + Power Line Communication (PLC) fault detected. + This is a generic flag, for more specific information (when available) refer to the V2GTP* flags below. + + + + + V2GTP TLS error occurred during communication. + + + + + V2GTP authorization process failed. + + + + + V2GTP service selection failed. + + + + + Invalid V2GTP protocol version detected. + + + + + Unexpected V2GTP session ID encountered. + + + + + Invalid payload detected in V2GTP communication. + + + + + V2GTP energy transfer mode not supported. + + + + + Sequence error detected in V2GTP communication. + + + + + Timeout occurred in V2GTP sequence. + + + + + Service Discovery Protocol (SDP) error detected. + + + + + Reserved bits for future uses. + + + + + High-Level Communication (HLC) response codes for EVSE communication protocols. + + + + + + + + Only relevant for DIN SPEC 70121 and ISO 15118-2 protocols. + (was removed in ISO 15118-20) + + + + + + + + Only relevant for DIN SPEC 70121 and ISO 15118-2 protocols. + (was removed in ISO 15118-20) + + + + + + + diff --git a/charge-controllers/evcc_generic/can_v2.md b/charge-controllers/evcc_generic/can_v2.md index 56da71a..b08c92a 100644 --- a/charge-controllers/evcc_generic/can_v2.md +++ b/charge-controllers/evcc_generic/can_v2.md @@ -1128,6 +1128,7 @@ DC charging specific status (from BMS to charge controller), message 1. | Max_Charge_Current | 16 | Signed | | Present_Current | 16 | Signed | | Max_Discharge_Current | 16 | Unsigned | +| Target_Voltage | 16 | Unsigned | diff --git a/charge-controllers/evcc_generic/databases_v2.md b/charge-controllers/evcc_generic/databases_v2.md index e43da9d..9dc1bb0 100644 --- a/charge-controllers/evcc_generic/databases_v2.md +++ b/charge-controllers/evcc_generic/databases_v2.md @@ -9,7 +9,8 @@ format, and our software and firmware use it directly. -- [Advantics Generic PEV protocol v2.2 (Kayak format)](charge-controllers/evcc_generic/Advantics_Generic_PEV_protocol_v2.2.kcd ':ignore') + +- [Advantics Generic PEV protocol v2.3 (Kayak format)](charge-controllers/evcc_generic/Advantics_Generic_PEV_protocol_v2.3.kcd ':ignore') ## DBC format @@ -19,4 +20,5 @@ converted from the Kayak ones. Therefore, they are not the reference DBs. -- [Advantics Generic PEV protocol v2.2 (DBC format)](charge-controllers/evcc_generic/Advantics_Generic_PEV_protocol_v2.2.dbc ':ignore') + +- [Advantics Generic PEV protocol v2.3 (DBC format)](charge-controllers/evcc_generic/Advantics_Generic_PEV_protocol_v2.3.dbc ':ignore') From a2ef59ef1528a1321998db49bc4b909f53fec3fc Mon Sep 17 00:00:00 2001 From: canberkdurmus Date: Fri, 10 Oct 2025 16:38:21 +0200 Subject: [PATCH 2/3] Add description for DC_Status1.Target_Voltage --- charge-controllers/evcc_generic/can_v2.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/charge-controllers/evcc_generic/can_v2.md b/charge-controllers/evcc_generic/can_v2.md index b08c92a..d25c15a 100644 --- a/charge-controllers/evcc_generic/can_v2.md +++ b/charge-controllers/evcc_generic/can_v2.md @@ -1214,6 +1214,26 @@ Will be capped by max_discharge_current from config file. +#### Target_Voltage :id=DC_Status1-Target_Voltage + +Allows dynamic target voltage updates. +Will be capped by maximum voltage from config file and from EVSE data. +Only taken into account when the config entry dynamic_target_voltage is set to true. +Declare it as such in `/srv/config.cfg`: +``` +[vehicle] +dynamic_target_voltage = True +``` +Note: This signal will be ignored if the config entry dynamic_target_voltage is set to false. + +
+ +| Start bit | Length (bits) | Type | Unit | Scale | Offset | Min | Max | +|-----------|---------------|------|------|-------|--------|-----|-----| +| 48 | 16 | Unsigned | Volts | 1 | 0 | 0 | 65535 | + +
+ ## DC_Status2
From 0f7932579e5d2c3a67589c6a05fedd2c2dedd3aa Mon Sep 17 00:00:00 2001 From: canberkdurmus Date: Fri, 10 Oct 2025 16:41:51 +0200 Subject: [PATCH 3/3] Add an additional clarification to EV_Status.HV_Preparing_Hold_Off signal --- charge-controllers/evcc_generic/can_v2.md | 1 + 1 file changed, 1 insertion(+) diff --git a/charge-controllers/evcc_generic/can_v2.md b/charge-controllers/evcc_generic/can_v2.md index d25c15a..9ef91b9 100644 --- a/charge-controllers/evcc_generic/can_v2.md +++ b/charge-controllers/evcc_generic/can_v2.md @@ -1457,6 +1457,7 @@ Use cases: This signal should be set to 0 if the vehicle is ready for power. When the charger is plugged-in and this signal is set to 1, the session will block at Communication_Stage.Connected_With_Full_Info state until this signal is set to 0 (and the inlet is locked). +This signal should be set before the Communication_Stage.Connected_With_Full_Info stage. 0=False (Hold off Not Requested), 1=True (Hold off)