- 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
499 lines
21 KiB
YAML
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
|