Documentation Index Fetch the complete documentation index at: https://mintlify.com/EVerest/everest-core/llms.txt
Use this file to discover all available pages before exploring further.
EVerest uses YAML configuration files to define the module topology and connections. This guide provides production-ready examples from actual deployment scenarios.
Configuration Structure
EVerest configurations consist of:
active_modules : Defines which modules to load and their settings
config_module : Module-level configuration parameters
config_implementation : Implementation-specific settings
connections : Defines how modules communicate
x-module-layout : Visual layout metadata (optional)
All examples in this guide are taken from the EVerest Core repository’s config/ directory and represent tested, working configurations.
AC Charging Configuration
Basic AC Charger with ISO 15118
This configuration represents a single-connector AC charging station with ISO 15118-20 support.
active_modules :
iso15118_charger :
module : Evse15118D20
config_module :
device : auto
connections :
security :
- module_id : evse_security
implementation_id : main
evse_manager :
module : EvseManager
config_module :
ac_enforce_hlc : false
ac_hlc_enabled : true
ac_hlc_use_5percent : false
ac_nominal_voltage : 230
supported_iso_ac_bpt : true # Bidirectional power transfer
charge_mode : AC
connector_id : 1
evse_id : DE*PNX*E12345*1
has_ventilation : true
payment_enable_contract : false
payment_enable_eim : true # External identification means
session_logging : true
session_logging_path : /tmp/everest-logs
bpt_channel : Unified
bpt_generator_mode : GridFollowing
connections :
bsp :
- module_id : connector_1_powerpath
implementation_id : board_support
hlc :
- module_id : iso15118_charger
implementation_id : charger
slac :
- module_id : slac
implementation_id : evse
ac_rcd :
- implementation_id : rcd
module_id : connector_1_powerpath
connector_lock :
- implementation_id : connector_lock
module_id : connector_1_powerpath
connector_1_powerpath :
config_module :
connector_id : 1
module : YetiSimulator
telemetry :
id : 1
slac :
module : SlacSimulator
auth :
module : Auth
config_module :
connection_timeout : 10
selection_algorithm : FindFirst
connections :
token_provider :
- module_id : token_provider
implementation_id : main
token_validator :
- module_id : token_validator
implementation_id : main
evse_manager :
- module_id : evse_manager
implementation_id : evse
token_provider :
module : DummyTokenProvider
config_implementation :
main :
timeout : 10
token : DEADBEEF
connections :
evse :
- module_id : evse_manager
implementation_id : evse
token_validator :
module : DummyTokenValidator
config_implementation :
main :
validation_result : Accepted
validation_reason : Token seems valid
sleep : 0.25
evse_security :
module : EvseSecurity
config_module :
private_key_password : "123456"
energy_manager :
module : EnergyManager
config_module :
schedule_total_duration : 1
schedule_interval_duration : 60
debug : false
connections :
energy_trunk :
- module_id : grid_connection_point
implementation_id : energy_grid
grid_connection_point :
module : EnergyNode
config_module :
fuse_limit_A : 40.0
phase_count : 3
connections :
energy_consumer :
- module_id : api_sink
implementation_id : energy_grid
powermeter :
- module_id : connector_1_powerpath
implementation_id : powermeter
api_sink :
module : EnergyNode
mapping :
module :
evse : 1
config_module :
fuse_limit_A : 32.0
phase_count : 3
connections :
energy_consumer :
- module_id : evse_manager
implementation_id : energy_grid
api :
module : API
connections :
evse_manager :
- module_id : evse_manager
implementation_id : evse
error_history :
- module_id : error_history
implementation_id : error_history
evse_energy_sink :
- module_id : api_sink
implementation_id : external_limits
error_history :
module : ErrorHistory
config_implementation :
error_history :
database_path : /tmp/error_history.db
Key Configuration Points :
ac_hlc_enabled: true enables high-level communication (ISO 15118)
supported_iso_ac_bpt: true enables bidirectional AC charging (V2G/V2H)
fuse_limit_A defines the grid connection capacity
payment_enable_eim: true allows Plug & Charge without pre-authorization
Hardware-Based AC Charger
Production configuration for Pionix ChargeBridge hardware:
connector_1 :
module : EvseManager
config_module :
connector_id : 1
evse_id : DE*PNX*E12345*1
charge_mode : AC
ac_nominal_voltage : 230
ac_hlc_enabled : true
ac_enforce_hlc : true
session_logging : true
session_logging_path : /tmp/everest-logs
connections :
bsp :
- implementation_id : main
module_id : cb_bsp
hlc :
- implementation_id : charger
module_id : iso15118_charger
slac :
- implementation_id : main
module_id : slac
ac_rcd :
- implementation_id : rcd
module_id : cb_bsp
connector_lock :
- implementation_id : connector_lock
module_id : cb_bsp
cb_bsp :
module : evse_board_support_API # Hardware-specific BSP
connections : {}
iso15118_charger :
module : EvseV2G
config_module :
device : cb_plc # ChargeBridge PLC device
tls_security : prohibit
supported_DIN70121 : false
connections :
security :
- module_id : evse_security
implementation_id : main
slac :
module : EvseSlac
config_implementation :
main :
device : cb_plc
Replace YetiSimulator with your actual hardware module (e.g., evse_board_support_API) for production deployment.
DC Charging Configuration
ISO 15118-20 DC Charger
Complete DC fast charging configuration:
iso15118_charger :
module : Evse15118D20
config_module :
device : auto
connections :
security :
- module_id : evse_security
implementation_id : main
evse_manager :
module : EvseManager
config_module :
connector_id : 1
evse_id : DE*PNX*E12345*1
evse_id_din : 49A80737A45678
session_logging : true
session_logging_path : /tmp/everest-logs
charge_mode : DC
payment_enable_contract : false
bpt_channel : Unified
bpt_generator_mode : GridFollowing
connections :
bsp :
- module_id : yeti_driver
implementation_id : board_support
powermeter_car_side :
- module_id : powersupply_dc
implementation_id : powermeter
slac :
- module_id : slac
implementation_id : evse
hlc :
- module_id : iso15118_charger
implementation_id : charger
powersupply_DC :
- module_id : powersupply_dc
implementation_id : main
imd :
- module_id : imd
implementation_id : main
powersupply_dc :
module : DCSupplySimulator
imd :
module : IMDSimulator
config_implementation :
main :
selftest_success : true
yeti_driver :
module : YetiSimulator
config_module :
connector_id : 1
slac :
module : SlacSimulator
DC Charging Safety : Ensure proper configuration of:
Isolation monitoring (imd)
Emergency stop circuits
Pre-charge and contactor sequencing
Maximum voltage and current limits
OCPP Integration
OCPP 2.0.1 Configuration
Full OCPP 2.0.1 setup with two connectors:
ocpp :
module : OCPP201
connections :
evse_manager :
- module_id : evse_manager_1
implementation_id : evse
- module_id : evse_manager_2
implementation_id : evse
auth :
- module_id : auth
implementation_id : main
system :
- module_id : system
implementation_id : main
security :
- module_id : evse_security
implementation_id : main
evse_energy_sink :
- module_id : grid_connection_point
implementation_id : external_limits
- module_id : evse_manager_1_ocpp_sink
implementation_id : external_limits
- module_id : evse_manager_2_ocpp_sink
implementation_id : external_limits
reservation :
- module_id : auth
implementation_id : reservation
access :
config :
allow_global_read : true
allow_global_write : false
allow_set_read_only : false
modules :
auth :
allow_read : true
allow_write : true
allow_set_read_only : true
evse_security :
module : EvseSecurity
config_module :
private_key_password : "123456"
persistent_store :
module : PersistentStore
auth :
module : Auth
config_module :
connection_timeout : 60
selection_algorithm : FindFirst
connections :
token_provider :
- module_id : token_provider_1
implementation_id : main
- module_id : ocpp
implementation_id : auth_provider
token_validator :
- module_id : ocpp
implementation_id : auth_validator
evse_manager :
- module_id : evse_manager_1
implementation_id : evse
- module_id : evse_manager_2
implementation_id : evse
kvs :
- module_id : persistent_store
implementation_id : main
system :
module : System
OCPP 1.6 Configuration File
OCPP 1.6 uses JSON for protocol configuration:
{
"Internal" : {
"ChargePointId" : "cp001" ,
"CentralSystemURI" : "ws://csms.example.com:8180/ocpp/CP001" ,
"ChargeBoxSerialNumber" : "cp001" ,
"ChargePointModel" : "Yeti" ,
"ChargePointVendor" : "Pionix" ,
"FirmwareVersion" : "2024.3.0"
},
"Core" : {
"AuthorizeRemoteTxRequests" : false ,
"HeartbeatInterval" : 86400 ,
"ConnectionTimeOut" : 10 ,
"NumberOfConnectors" : 1 ,
"MeterValueSampleInterval" : 60 ,
"MeterValuesAlignedData" : "Energy.Active.Import.Register" ,
"MeterValuesSampledData" : "Energy.Active.Import.Register,Power.Active.Import,Current.Import,Voltage" ,
"StopTransactionOnEVSideDisconnect" : true ,
"UnlockConnectorOnEVSideDisconnect" : true
},
"Security" : {
"SecurityProfile" : 2
},
"PnC" : {
"ISO15118CertificateManagementEnabled" : true ,
"ISO15118PnCEnabled" : true ,
"ContractValidationOffline" : true
},
"SmartCharging" : {
"ChargeProfileMaxStackLevel" : 10 ,
"ChargingScheduleMaxPeriods" : 24 ,
"MaxChargingProfilesInstalled" : 20
}
}
OCPP Security Profiles :
Profile 0: Unsecured WebSocket
Profile 1: Basic authentication over TLS
Profile 2: Client-side certificate authentication
Profile 3: TLS with mutual authentication (most secure)
Multi-Connector Configurations
Dual Connector Station
Configuration for a station with two independent charging points:
evse_manager_1 :
module : EvseManager
mapping :
module :
evse : 1
config_module :
connector_id : 1
evse_id : "1"
connector_type : "cType2"
connections :
bsp :
- module_id : yeti_driver_1
implementation_id : board_support
powermeter_grid_side :
- module_id : yeti_driver_1
implementation_id : powermeter
evse_manager_2 :
module : EvseManager
mapping :
module :
evse : 2
config_module :
connector_id : 2
evse_id : "2"
connector_type : "cType2"
connections :
bsp :
- module_id : yeti_driver_2
implementation_id : board_support
powermeter_grid_side :
- module_id : yeti_driver_2
implementation_id : powermeter
# Separate energy nodes for load balancing
evse_manager_1_api_sink :
module : EnergyNode
config_module :
fuse_limit_A : 32.0
phase_count : 3
evse_manager_2_api_sink :
module : EnergyNode
config_module :
fuse_limit_A : 32.0
phase_count : 3
grid_connection_point :
module : EnergyNode
config_module :
fuse_limit_A : 40.0 # Total grid capacity
phase_count : 3
connections :
energy_consumer :
- module_id : evse_manager_1_api_sink
implementation_id : energy_grid
- module_id : evse_manager_2_api_sink
implementation_id : energy_grid
Energy Management
Dynamic Load Balancing
energy_manager :
module : EnergyManager
config_module :
switch_3ph1ph_while_charging_mode : Both
switch_3ph1ph_max_nr_of_switches_per_session : 5
switch_3ph1ph_time_hysteresis_s : 20
switch_3ph1ph_power_hysteresis_W : 1000
schedule_interval_duration : 60
schedule_total_duration : 10
debug : false
connections :
energy_trunk :
- implementation_id : energy_grid
module_id : grid_connection_point
grid_connection_point :
module : EnergyNode
config_module :
fuse_limit_A : 63.0 # Grid connection limit
phase_count : 3
Energy Management Features :
Automatic 3-phase to 1-phase switching based on load
Hysteresis to prevent rapid switching
Session-based switching limits
Time-based scheduling
Testing and Development
Simulation Configuration
For development without hardware:
active_modules :
# All simulators for complete testing
yeti_driver :
module : YetiSimulator
powersupply_dc :
module : DCSupplySimulator
slac :
module : SlacSimulator
imd :
module : IMDSimulator
token_provider :
module : DummyTokenProvider
token_validator :
module : DummyTokenValidator
Configuration Validation
Validate your configuration before deployment:
# Check configuration syntax
/usr/bin/manager --check /path/to/config.yaml
# Run in dry-run mode
/usr/bin/manager --config /path/to/config.yaml --dryrun
# Enable debug logging
/usr/bin/manager --config /path/to/config.yaml --log-level debug
Next Steps
Module Reference Detailed module configuration options
Security Setup Configure certificates and TPM
OCPP Guide Connect to CSMS backends
Hardware Setup Configure hardware peripherals