Files
cariflex/tools/EVerest-main/interfaces/power_supply_DC.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

76 lines
3.7 KiB
YAML

description: >-
Interface for power supplies used for DC charging
Implementation guidelines for this interface:
1) During start up of the driver, publish capabilities as soon as they are available, ideally in ready() function.
The charging logic in EvseManager will not allow any charging until it receives the capabilities at least once.
Capabilities may be published at any later point in time to update the values. This may happen if they e.g. change due
to thermal derating etc. If a charging session is active when the update is received,
only power/current limits will be applied immediately. All other values will become active at the next charging session.
2) setMode/setVoltageCurrent commands should be executed on the hardware immediately. If this is not possible because an error is currently active
(e.g. communication to the hardware is lost), the driver module shall cache the last mode and voltage/current settings.
Once the PSU is back on-line (e.g. after a CommunicationFault), set the last mode and voltage/current value received and only after that clear the error.
3) setMode to Off requires special attention. To avoid switching the output relays of the charger off under full load, make sure to return
from the setMode function(Off) only when the current is below a safe threshold for switching off the relays (exact value is hardware dependent).
If communication is lost with the power supply, make sure to still return, the call must not block for a longer period of time.
EVerest will ensure the order of the calls is correct during shutdown, but will not wait for the power supply to actually turn off:
1. call setMode(Off) on power_supply_DC
2. call allow_power_on(false) on evse_board_support
If the setMode(Off) returns immediately, it may happen that the bsp implementation opens the relays before the power supply is shutdown.
4) var voltage_current shall be published on regular intervals. The interval depends on the hardware, but it shall be at least once per second. If possible,
update at e.g. 4 Hertz is recommended.
cmds:
setMode:
description: Set operation mode of the bidirectional DC power supply
arguments:
mode:
description: Operation mode of power supply
type: string
$ref: /power_supply_DC#/Mode
phase:
description: >-
Charging phase for this mode change. This information should normally not be needed by the power supply,
as it should always just operate in CCCV mode. Some special setups however are handling CableCheck/PreCharge/Charge
a little bit different internally.
type: string
$ref: /power_supply_DC#/ChargingPhase
setExportVoltageCurrent:
description: Set output target voltage limit. Must be within reported limits.
arguments:
voltage:
description: Output voltage in Volt
type: number
current:
description: Output current limit in Ampere
type: number
setImportVoltageCurrent:
description: >-
Set minimal import voltage and current limit. Must be within reported
limits.
arguments:
voltage:
description: Current will be drawn if input is above this voltage (in Volt)
type: number
current:
description: Input current limit in Ampere
type: number
vars:
voltage_current:
description: Voltage/Current at the input/output
type: object
$ref: /power_supply_DC#/VoltageCurrent
mode:
description: Current mode. Published on change.
type: string
$ref: /power_supply_DC#/Mode
capabilities:
description: >-
Publish capabilities of this PSU.
type: object
$ref: /power_supply_DC#/Capabilities
errors:
- reference: /errors/power_supply_DC