- 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
76 lines
3.7 KiB
YAML
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
|