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
This commit is contained in:
498
tools/EVerest-main/modules/EVSE/EvseManager/manifest.yaml
Normal file
498
tools/EVerest-main/modules/EVSE/EvseManager/manifest.yaml
Normal file
@@ -0,0 +1,498 @@
|
||||
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
|
||||
Reference in New Issue
Block a user