Files
cariflex/tools/EVerest-main/modules/EVSE/EvseManager/manifest.yaml
Eric F d398a6ced2 Add extracted tools: CitrineOS, OpenOCPP, ShapeShifter
- CitrineOS core extracted (CSMS OCPP 2.0.1)
- OpenOCPP extracted (firmware OCPP 1.6J/2.0.1)
- ShapeShifter library installed (pip install -e)
- ShapeShifter specification extracted
- EVerest extracted

TODO updated with progress
2026-06-08 00:38:27 -04:00

499 lines
21 KiB
YAML

description: >-
EVSE Manager. Grid side power meter: Will be used for energy management.
Will also be used for billing if no car side power meter connected. Car side powermeter:
Will be used for billing if present.
config:
connector_id:
description: Connector id of this evse manager
type: integer
connector_type:
description: The connector type of this evse manager (/evse_manager#/ConnectorTypeEnum)
type: string
default: "Unknown"
evse_id:
description: EVSE ID
type: string
default: DE*PNX*E1234567*1
evse_id_din:
description: EVSE ID DIN after DIN SPEC 91286
type: string
default: 49A80737A45678
payment_enable_eim:
description: Set to true to enable EIM (e.g. RFID card or mobile app) authorization
type: boolean
default: true
payment_enable_contract:
description: Set to true to enable contract (aka plug and charge) authorization
type: boolean
default: true
ac_nominal_voltage:
description: Nominal AC voltage between phase and neutral in Volt
type: number
default: 230
ev_receipt_required:
description: "Unsupported: request receipt from EV with HLC"
type: boolean
default: false
session_logging:
description: Enable/Disable session log file output
type: boolean
default: false
session_logging_path:
description: Output directory for session log files
type: string
default: /tmp
session_logging_xml:
description: Log full XML messages for HLC
type: boolean
default: true
has_ventilation:
description: Allow ventilated charging or not
type: boolean
default: true
charge_mode:
description: Select charging mode
type: string
enum:
- AC
- DC
default: AC
supported_iso_ac_bpt:
description: Set to true if ISO15118-20 AC BPT is supported and should be offered to the EV
type: boolean
default: false
ac_hlc_enabled:
description: Enable or disable HLC (aka ISO15118) for AC mode
type: boolean
default: false
ac_hlc_use_5percent:
description: >-
If set to true, start with 5% PWM if HLC is enabled on AC. If set to false, start with X1. Note that
almost no EV will perform SLAC/HLC on X1. Recommendation is to set this to true.
type: boolean
default: true
ac_enforce_hlc:
description: >-
Combine with 5percent option to really enforce HLC even with EIM. ISO15118-3 forbids the usage of 5% if Auth happens before plugin,
but most EVs will not perform HLC with nominal PWM. For the home use case (always authorized or auth before plugin) it may still be desirable
to use HLC e.g. for better energy management.
In this case you can use this option, but be aware that EVs that do not support HLC may take a long time to start (or never start) charging.
This mode is not ISO15118-2/-3 compliant. Do not use for public charging stations.
type: boolean
default: false
ac_with_soc:
description: >-
Special mode that switches between AC and DC charging to get SoC percentage with AC charging
type: boolean
default: false
internal_over_voltage_duration_ms:
description: >-
Time in milliseconds the internal software over voltage monitor waits before raising MREC5 once the measured
voltage exceeds the negotiated limit.
type: integer
minimum: 0
default: 400
dbg_hlc_auth_after_tstep:
description: >-
Special mode: send HLC auth ok only after t_step_XX is finished (true) or directly when available (false)
type: boolean
default: false
dc_isolation_voltage_V:
description: Override DC voltage used to test isolation in CableCheck.
Default is 0, which means the voltage will be determined according to IEC 61851-23 (2023) CC.4.1.2
type: integer
default: 0
cable_check_wait_number_of_imd_measurements:
description: >-
Amount of isolation measurement samples to collect before the value can be trusted. This does not average,
it will evaluate the last measurement. Some IMDs (e.g. from Bender) need to measure for 10s to really get a trustable result.
In this case, at 1 Hz sample rate, specify 10 samples here. If the self test includes the isolation resistance checking
you may also set this to 0.
type: integer
default: 1
cable_check_enable_imd_self_test:
description: >-
Enable self testing of IMD in cable check with the voltage calculated from ev_max_voltage and with relays closed.
This is required e.g. for Bender IMDs which also perform an isolation measurement during the self test.
A self test is required for IEC 61851-23 (2023) compliance.
type: boolean
default: true
cable_check_enable_imd_self_test_relays_open:
description: >-
Enable self testing of IMD at the beginning of cable check where the relays may still be open.
The voltage is set by the cable_check_relays_open_voltage_V config option and may differ from the
voltage that is later used to perform the isolation resistance sample.
cable_check_wait_number_of_imd_measurements needs to be >=1 in this case as no isolation resistance checking
can be performed at this stage.
A self test is required for IEC 61851-23 (2023) compliance.
type: boolean
default: false
cable_check_relays_open_voltage_V:
description: >-
Voltage to set for the self test using cable_check_enable_imd_self_test_relays_open option.
type: integer
default: 48
cable_check_relays_closed_timeout_s:
description: >-
Timeout in seconds to wait for the relays to close at the beginning of cablecheck.
Normally they should be closed right away, but when cable_check_enable_imd_self_test_relays_open option,
the relays may close may be delayed by the self test.
type: integer
default: 5
cable_check_wait_below_60V_before_finish:
description: >-
Switch off power supply and wait until output voltage drops below 60V before cable check is finished.
Note: There are different versions of IEC 61851-23:2023 in the wild with the same version number but slightly different content.
The IEC was correcting mistakes _after_ releasing the document initially without tagging a new version number.
Some early versions require to wait for the output voltage to drop below 60V in CC.4.1.2 (last sentence).
Later versions do not have that requirement. The later versions are correct and should be used according to IEC.
Both settings (true and false) are compliant with the correct version of IEC 61851-23:2023.
Set to true when:
- the power supply has no active discharge, and lowering the voltage with no load takes a very long time. In this case
this option usually helps to ramp the voltage down quickly by switching it off. It will be switched on again in precharge.
Also, some EVs switch their internal relay on at a too high voltage when the voltage is ramped down directly from cablecheck voltage to precharge voltage,
so true is the recommended default.
Set to false when:
- the power supply has active discharge and can ramp down quickly without a switch off (by just setting a lower target voltage).
This may save a few seconds as it avoids unnecessary voltage down and up ramping.
type: boolean
default: true
hack_skoda_enyaq:
description: >-
Skoda Enyaq requests DC charging voltages below its battery level or even below 0 initially.
Set to true to enable dirty workaround.
type: boolean
default: false
hack_present_current_offset:
description: >-
Adds an offset [A] to the present current reported to the car on HLC.
Set to 0 unless you really know what you are doing.
type: integer
default: 0
hack_pause_imd_during_precharge:
description: >-
Disable IMD at the end of CableCheck and re-enable when current is flowing in CurrentDemand.
Some DCDC power supplies do not start current flow when insulation measurement is active.
Set to true to enable dirty workaround for some IMD hardware.
type: boolean
default: false
hack_allow_bpt_with_iso2:
description:
Hack. Allow bidirectional power transfer with DIN spec and ISO-2. Currents communicated on HLC will
always be positive but power supply may actually discharge the car.
type: boolean
default: false
hack_simplified_mode_limit_10A:
description: >-
Limit PWM to 10A if EV uses simplified charging mode. Set to false to be compliant with IEC61851-1:2019 section A.2.3.
It is the responsibility of the EV to limit to 10A according to the norm. Enable this option to deviate from the norm
and limit from the EVSE side.
type: boolean
default: false
autocharge_use_slac_instead_of_hlc:
description: Use slac ev mac address for autocharge instead of EVCCID from HLC
type: boolean
default: false
enable_autocharge:
description: >-
Enables Autocharge (i.e. Mac address for authorization). Disabled by default as PnC should be used instead.
type: boolean
default: false
logfile_suffix:
description: Use the string given for the log folder name. Special string session_uuid will be replaced with session uuid.
type: string
default: session_uuid
soft_over_current_tolerance_percent:
description: Allow for N percent over current in soft over current checking during AC charging.
type: number
default: 10.0
soft_over_current_measurement_noise_A:
description: Set current measurement noise. Added to limit as an offset to avoid false triggers.
type: number
default: 0.5
hack_fix_hlc_integer_current_requests:
description: >-
Some cars request only integer ampere values during DC charging. For low power DC charging that
means that they charge a few hundred watts slower then needed. If enabled, this will charge at full power if the difference
between EV requested current (integer) and HLC current limit is less then 1.0
type: boolean
default: false
disable_authentication:
description: >-
Do not wait for authorization from Auth module, offer a free service. Start charging immediately after plug in.
Do not use with Auth manager or OCPP, this option is only to allow charging with a standalone EvseManager that is not connected to an Auth manager.
Use DummyTokenProvider/Validator when testing with Auth module and/or OCPP.
type: boolean
default: false
sae_j2847_2_bpt_enabled:
description: Enable SAE J2847 2 V2G or V2H mode
type: boolean
default: false
sae_j2847_2_bpt_mode:
description: SAE J2847 2 BPT mode
type: string
enum:
- V2H
- V2G
default: V2G
request_zero_power_in_idle:
description: >-
"true: In Idle mode (no car connected), request 0A from energy management. In installations with many charging stations this should be set"
"to allow the power to be distributed to the chargers that are connected to a car."
"false: Request the normal current even if no car is connected. This speeds up the start of charging on AC BASIC charging as"
"EvseManager does not need to wait for energy from the energy manager after plug in."
type: boolean
default: false
external_ready_to_start_charging:
description: Enable the external ready to start charging signal that delays charging ready until it has been received
type: boolean
default: false
uk_smartcharging_random_delay_enable:
description: >-
"true: enable random_delays on start up, false: disable random delays on startup."
"They can also be enabled/disabled during runtime on the random_delay implementation."
type: boolean
default: false
uk_smartcharging_random_delay_max_duration:
description: >-
"Start up value for the maximum duration of a random delay."
"Can be modified during runtime on the random_delay implementation."
type: integer
default: 600
uk_smartcharging_random_delay_at_any_change:
description: >-
"True: use random delays on any current change during charging. False: Only use if current is reduced to zero or increased from zero."
type: boolean
default: true
initial_meter_value_timeout_ms:
description: >-
This timeout in ms defines for how long the EvseManager waits for an initial meter value from a powermeter before it becomes ready to start charging.
If configured to 0, the EvseManager will not wait for an initial meter value before it becomes ready to start charging.
type: integer
default: 5000
switch_3ph1ph_delay_s:
description: >-
Wait for n seconds when switching between 3ph/1ph mode.
type: integer
default: 10
switch_3ph1ph_cp_state:
description: >-
CP state to use for switching.
WARNING: Some EVs may be permanently destroyed when switching from 1ph to 3ph.
It is the responsibiltiy of the evse_board_support implementation to ensure the EV is capable of performing
the switch. If it is not, the capabilities must set the supports_changing_phases_during_charging to false.
Phase switching is only possible in basic charging mode.
type: string
enum:
- X1
- F
default: X1
soft_over_current_timeout_ms:
description: >-
Allow for over current to be present for N ms in soft over current checking during AC charging.
type: integer
minimum: 6000
default: 7000
lock_connector_in_state_b:
description: >-
Indicates if the connector lock should be locked in state B. If set to false, connector will remain unlocked in CP state B
and this violates IEC61851-1:2019 D.6.5 Table D.9 line 4 and should not be used in public environments!
type: boolean
default: true
state_F_after_fault_ms:
description: >-
Set state F after any fault that stops charging for the specified time in ms while in Charging mode (CX->F(300ms)->C1/B1).
When a fault occurs in state B2, no state F is added (B2->B1 on fault).
Some (especially older hybrid vehicles) may go into a permanent fault mode once they detect state F,
in this case EVerest cannot recover the charging session if the fault is cleared.
In this case you can set this parameter to 0, which will avoid to use state F in case of a fault
and only disables PWM (C2->C1) while switching off power. This will violate IEC 61851-1:2017 however.
The default is 300ms as the minimum suggested by IEC 61851-1:2017 Table A.5 (description) to be compliant.
This setting is only active in BASIC charging mode.
type: integer
default: 300
fail_on_powermeter_errors:
description: >-
Set the EVSE Manager to an inoperative state if the powermeter requirement is configured and has reported errors
type: boolean
default: true
raise_mrec9:
description: >-
Allows to configure if an MREC9 authorization timeout error shall be raised by this module in case an authorization
timeout occurs. It is recommended to disable it if OCPP1.6 is used.
type: boolean
default: false
sleep_before_enabling_pwm_hlc_mode_ms:
description: >-
Sleep before the PWM signal is updated in HLC mode. Teslas are really fast with sending the first slac packet after
enabling PWM, so the sleep allows SLAC to be ready for it. Some EV testers have issues with a value >= 1000ms,
although ISO15118 or IEC61851 does not specify a timeout.
type: integer
default: 500
central_contract_validation_allowed:
description: >-
Used for ISO15118 plug and charge:
If false, contract shall not be present in PaymentOptionList.
If true, contract may be present in PaymentOptionList if TLS is used.
type: boolean
default: false
contract_certificate_installation_enabled:
description: >-
Used for ISO15118 plug and charge: Indicates if the charger supports contract CertificateInstall and CertificateUpdate
type: boolean
default: true
inoperative_error_use_vendor_id:
description: >-
When raising evse_manager/Inoperative use the vendor ID from the original cause
type: boolean
default: false
voltage_plausibility_max_spread_threshold_V:
description: >-
Maximum allowed spread (max-min) in volts between voltage measurements from different
sources (power supply, powermeter, isolation monitor, over voltage monitor) before a
voltage plausibility fault is triggered. During DC charging, if the spread
exceeds this threshold for the configured duration, a fault is raised.
type: number
default: 50.0
voltage_plausibility_fault_duration_ms:
description: >-
Duration in milliseconds for which the spread must exceed the threshold
before a voltage plausibility fault is raised. A duration of 0 ms means that a fault
will be raised immediately when the threshold is exceeded.
type: integer
default: 30000
session_id_type:
description: >-
Type to use for generation of session ids.
UUID: 36 characters UUIDs
UUID_BASE64: 22 characters base64 encoded uuids
SHORT_BASE64: 16 characters base64 encoded ids
type: string
enum:
- UUID
- UUID_BASE64
- SHORT_BASE64
default: UUID
zero_power_ignore_pause:
description: >-
If no energy is available the charger can signal a pause to the car before cable check.
With this option the charger ignores that and continues as if energy were available.
This is not standard compliant!
As of today most EVs do not handle the pause signal correctly causing the session to be
terminated and not allowing to start charging again when energy is available.
The default of this value is true, allowing the session to proceed until the charge loop.
Terminating the session in the charge loop when no energy is available is handled more
gracefully by most EVs and allows to start charging again when energy is available without
the need of unplugging and plugging again.
type: boolean
default: true
zero_power_allow_ev_to_ignore_pause:
description: >-
If no energy is available the charger can signal a pause to the car before cable check.
With this option, the charger ignores that the ev goes to the energy phase instead of pausing
the session. This is not standard compliant!
type: boolean
default: false
bpt_channel:
description: Type of installed/uninstalled power transfer channel
type: string
enum:
- None
- Unified
- Separated
default: None
bpt_generator_mode:
description: Power converter behavior
type: string
enum:
- None
- GridFollowing
- GridForming
default: None
bpt_grid_code_island_method:
description: Active/inactive islanding detection method. Only for AC.
type: string
enum:
- None
- Active
- Passive
default: None
hlc_charge_loop_without_energy_timeout_s:
description: >-
Timeout (s) to allow HLC charge loop to continue without available energy;
when exceeded, the HLC session is stopped and PWM is disabled until energy returns.
If set too long, some EVs stop the session on their own. Then it cannot be resumed
when energy is available again.
type: integer
default: 5
dc_ramp_ampere_per_second:
description: >-
Maximum ampere per second limit for up/down ramping of current in charging loop.
type: integer
default: 25
provides:
evse:
interface: evse_manager
description: This is the main evsemanager interface
energy_grid:
description: This is the tree leaf interface to build the energy supply tree
interface: energy
token_provider:
description: Provides authtokens for autocharge or plug and charge
interface: auth_token_provider
random_delay:
description: Provides control over UK smart charging regulation random delay feature
interface: uk_random_delay
dc_external_derate:
description: Provides DC external derating capabilities
interface: dc_external_derate
requires:
bsp:
interface: evse_board_support
ac_rcd:
interface: ac_rcd
min_connections: 0
max_connections: 1
connector_lock:
interface: connector_lock
min_connections: 0
max_connections: 1
powermeter_grid_side:
interface: powermeter
min_connections: 0
max_connections: 1
powermeter_car_side:
interface: powermeter
min_connections: 0
max_connections: 1
slac:
interface: slac
min_connections: 0
max_connections: 1
hlc:
interface: ISO15118_charger
min_connections: 0
max_connections: 1
imd:
interface: isolation_monitor
min_connections: 0
max_connections: 1
over_voltage_monitor:
interface: over_voltage_monitor
min_connections: 0
max_connections: 1
powersupply_DC:
interface: power_supply_DC
min_connections: 0
max_connections: 1
store:
interface: kvs
min_connections: 0
max_connections: 1
enable_external_mqtt: true
enable_telemetry: true
metadata:
license: https://opensource.org/licenses/Apache-2.0
authors:
- Cornelius Claussen
- Anton Woellert