Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
b2320c5
RpcApi: add new JSON RPC API module
barsnick Aug 27, 2025
c98601b
RpcApi: Add check of the websocket_enabled config parameter
FaHaGit Aug 29, 2025
ad3a18b
RpcApi: fix missing newlines at EOF
barsnick Sep 1, 2025
b1ec0c8
RpcApi: fix version in README
barsnick Sep 1, 2025
df7aaa0
RpcApi: initialize phy_limit variable in set_charging_allowed method
FaHaGit Sep 1, 2025
bbe1820
RpcApi: change parameter type to const reference for evse_manager_pro…
FaHaGit Sep 1, 2025
19fa353
RpcApi: improve IP address handling in WebSocket connection callback
FaHaGit Sep 1, 2025
e3207c9
RpcApi: Removed unnecessary types::json_rpc_api namespace usage
FaHaGit Sep 1, 2025
a0a5334
RpcApi: update window title to include application version
FaHaGit Sep 1, 2025
71f94c6
RpcApi: add loop check before asyncio operations in WebSocket methods
FaHaGit Sep 1, 2025
31c6b21
RpcApi: Pin requirements.txt to specific version
FaHaGit Sep 1, 2025
5e2a0f7
RpcApi: Remove unused virtual method declaration in GenericInfoStore
FaHaGit Sep 1, 2025
60a48a0
RpcApi: Remove GenericInfoStore source file and update target sources
FaHaGit Sep 1, 2025
4997b63
RpcApi: replace boost::uuid with everest helper get_uuid()
barsnick Sep 1, 2025
fac3dee
RpcApi: fix several cppcheck findings
barsnick Sep 1, 2025
d23725d
RpcApi: clang-format
barsnick Sep 1, 2025
74536aa
RpcApi: adapt to moved EVerest libs
barsnick Sep 1, 2025
37ab59b
RpcApi: clang-format
FaHaGit Sep 1, 2025
5127c6c
RpcHandler: fix comment
FaHaGit Sep 2, 2025
8aa617e
RpcApi: fix finding json-rpc-cxx
barsnick Sep 4, 2025
b9a0711
RpcApi: update default port in manifest and remove websocket_port con…
FaHaGit Sep 8, 2025
402d489
RpcApi: restore lost variable initialization
barsnick Sep 8, 2025
3e41d12
RpcApi: Add missing copyright information and formatting
FaHaGit Sep 11, 2025
fe4a913
RpcApi: add GUI client copyright information
barsnick Sep 11, 2025
1bc4e8c
RpcApi: sanitize include guards
barsnick Sep 11, 2025
ede3c64
RpcApi: avoid sending intermediate "Unknown" state when Authorized
barsnick Sep 11, 2025
11ae80a
RpcApi: default WebSocket server to interface "lo"
barsnick Sep 11, 2025
1bcc1a2
RpcApi: fix WebSocket server interface in tests
barsnick Sep 12, 2025
e46e903
RpcApi: revert accidental commit of debug messages
barsnick Sep 15, 2025
9999231
RpcApi: ignore EVSE index 0 while setting/clearing EVSE error present…
FaHaGit Sep 15, 2025
d062722
RpcApi: add missing support for L2 and L3 current values in meterdata…
FaHaGit Sep 16, 2025
e31bd7e
RpcApi: fixed issue that charging_allowed is unexpectedly set to true…
FaHaGit Sep 16, 2025
9b1ee3f
RpcApi: prevent forwarding max_current=0 to API clients
FaHaGit Sep 16, 2025
16ee635
RpcApi: fix that current values were handled as power values
FaHaGit Sep 16, 2025
4087dd5
RpcApi: set current limit only to zero in case it is not charging
FaHaGit Sep 16, 2025
b03f6a1
RpcApi: skip applying limits when EVSE is in WaitingForEnergy state a…
FaHaGit Sep 16, 2025
04556ef
RpcApi: Add wait_for_current_limit_applied with timeout
FaHaGit Sep 18, 2025
f6d5ae4
RpcApi: Update EVSE.SetACChargingCurrent tests to include invalid max…
FaHaGit Sep 18, 2025
0a2d430
RpcApi: Enhance set_ac_charging_phase_count to consider existing limi…
FaHaGit Sep 26, 2025
fd359ec
Merge remote-tracking branch 'origin/main' into feature/json-rpc-api
barsnick Oct 20, 2025
3b22047
RpcApi: use C++-style casts
barsnick Nov 12, 2025
86101cb
RpcApi: use explicit constructor
barsnick Nov 14, 2025
768741a
RpcApi: report libwebsockets version
barsnick Nov 17, 2025
11a7be2
RpcApi: rename method
barsnick Nov 18, 2025
010b796
RpcApi: take number of phases in use from evse_manager interface
barsnick Nov 18, 2025
a8f8204
RpcApi: drop energy interface
barsnick Nov 18, 2025
1f50fd9
RpcApi: clang-format
barsnick Nov 18, 2025
b25af90
Merge remote-tracking branch 'origin/main' into feature/json-rpc-api
barsnick Nov 20, 2025
81fe1ff
RpcApi: remove energy interface from SIL config
barsnick Nov 21, 2025
559b3a5
RpcApi: clean up SIL config
barsnick Nov 21, 2025
603c414
RpcApi: fix script name in python client's README
barsnick Nov 21, 2025
837c025
RpcApi: remove energy interface from SIL config
barsnick Nov 27, 2025
bf5d800
RpcApi: clean up SIL config
barsnick Nov 27, 2025
0c18093
RpcApi: apply current limit as float
barsnick Nov 28, 2025
e096947
RpcApi: more consistent use of "this->"
barsnick Nov 28, 2025
7845cfa
RpcApi: use enforced_limits var for max current and phases
barsnick Nov 28, 2025
873203c
RpcApi: more consistent use of const
barsnick Nov 28, 2025
a780028
RpcApi: remove energy interface from SIL config
barsnick Dec 1, 2025
27f3651
RpcApi: code formatting
barsnick Dec 2, 2025
26a571c
RpcApi: extract DIN, ISO -2 SoC into display parameters
barsnick Dec 2, 2025
ede65f3
RpcApi: drop duplicate type definition from YAML
barsnick Dec 17, 2025
027fbfd
RpcApi: add mappings to DC SIL config
barsnick Dec 17, 2025
f9d2782
RpcApi: use const auto* instead of const auto where applicable
barsnick Dec 17, 2025
f258fe1
Merge remote-tracking branch 'origin/main' into feature/json-rpc-api
barsnick Dec 17, 2025
248b663
RpcApi: return const ref& where applicable
barsnick Dec 18, 2025
556b7f2
RpcApi: replace raw loop with std::find_if()
barsnick Dec 18, 2025
cde5803
RpcApi: move types from generated to everest_api_types
barsnick Dec 22, 2025
3ffbf66
RpcApi: avoid lambda template
barsnick Jan 2, 2026
19af285
RpcApi: fix several warnings
barsnick Jan 2, 2026
dabec88
Merge remote-tracking branch 'origin/main' into feature/json-rpc-api
barsnick Jan 5, 2026
6588e6f
RpcApi: clang-format
barsnick Jan 5, 2026
143545b
RpcApi: clang-format for everest_api_types/json_rpc_api
barsnick Jan 5, 2026
8852dfe
RpcApi: fix DC SIL config
barsnick Jan 7, 2026
4c2e674
RpcApi: reduce lambda captures
barsnick Jan 7, 2026
84f17d2
RpcApi: make local non-member functions static
barsnick Jan 7, 2026
a147f7b
RpcApi: don't assign display_parameters if empty
barsnick Jan 9, 2026
ecefb19
RpcApi: store type definition YAML for reference
barsnick Jan 12, 2026
b1fe248
Revert "RpcApi: move types from generated to everest_api_types"
barsnick Jan 13, 2026
83d1fd7
RpcApi: fix test RpcHandlerTest.EvseSetChargingAllowedReq
barsnick Jan 14, 2026
a7189ec
RpcApi: RpcHandlerTest.EvseSetChargingAllowedReq: also check for false
barsnick Jan 14, 2026
0a5d6e0
RpcApi: move types to module
barsnick Jan 13, 2026
e8f86f1
RpcApi: clang-format
barsnick Jan 14, 2026
1192bf9
RpcApi: fix missing types header
barsnick Jan 14, 2026
6945661
RpcApi: clang-format types header
barsnick Jan 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions config/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
generate_config_run_script(CONFIG sil)
generate_config_run_script(CONFIG sil-rpcapi)
generate_config_run_script(CONFIG sil-two-evse)
generate_config_run_script(CONFIG sil-two-evse-rpcapi)
generate_config_run_script(CONFIG sil-ocpp)
generate_config_run_script(CONFIG sil-ocpp201)
generate_config_run_script(CONFIG sil-dc)
generate_config_run_script(CONFIG sil-ac-d20)
generate_config_run_script(CONFIG sil-dc-d20)
generate_config_run_script(CONFIG sil-dc-rpcapi)
generate_config_run_script(CONFIG sil-dc-tls)
generate_config_run_script(CONFIG sil-dc-isomux)
generate_config_run_script(CONFIG sil-dc-isomux-tls)
Expand Down
176 changes: 176 additions & 0 deletions config/config-sil-dc-rpcapi.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
active_modules:
iso15118_charger:
module: EvseV2G
config_module:
device: auto
tls_security: allow
connections:
security:
- module_id: evse_security
implementation_id: main
iso15118_car:
module: PyEvJosev
config_module:
device: auto
supported_DIN70121: true
supported_ISO15118_2: true
evse_manager:
module: EvseManager
mapping:
module:
evse: 1
config_module:
connector_id: 1
evse_id: DE*PNX*E12345*1
evse_id_din: 49A80737A45678
session_logging: true
session_logging_xml: false
session_logging_path: /tmp/everest-logs
charge_mode: DC
hack_allow_bpt_with_iso2: true
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
over_voltage_monitor:
- module_id: ovm
implementation_id: main
powersupply_dc:
module: DCSupplySimulator
yeti_driver:
module: YetiSimulator
config_module:
connector_id: 1
slac:
module: SlacSimulator
imd:
module: IMDSimulator
config_implementation:
main:
selftest_success: true
ovm:
module: OVMSimulator
config_implementation:
main:
simulate_error: false
simulate_error_delay: 5
ev_manager:
module: EvManager
config_module:
connector_id: 1
auto_enable: true
auto_exec: false
auto_exec_commands: sleep 1;iec_wait_pwr_ready;sleep 1;draw_power_regulated 16,3;sleep 30;unplug
dc_target_current: 20
dc_target_voltage: 400
connections:
ev_board_support:
- module_id: yeti_driver
implementation_id: ev_board_support
ev:
- module_id: iso15118_car
implementation_id: ev
slac:
- module_id: slac
implementation_id: ev
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:
token: TOKEN1
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
mapping:
module:
evse: 0
config_module:
fuse_limit_A: 40.0
phase_count: 3
connections:
price_information: []
energy_consumer:
- module_id: api_sink_evsemgr
implementation_id: energy_grid
powermeter:
- module_id: yeti_driver
implementation_id: powermeter
api_sink_evsemgr:
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: RpcApi
config_module:
websocket_port: 8080
connections:
evse_manager:
- module_id: evse_manager
implementation_id: evse
evse_energy_sink:
- module_id: grid_connection_point
implementation_id: external_limits
- module_id: api_sink_evsemgr
implementation_id: external_limits
192 changes: 192 additions & 0 deletions config/config-sil-rpcapi.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,192 @@
settings:
telemetry_enabled: true
active_modules:
api:
module: RpcApi
connections:
evse_manager:
- module_id: connector_1
implementation_id: evse
evse_energy_sink:
- module_id: grid_connection_point
implementation_id: external_limits
- module_id: api_sink_1_evsemgr
implementation_id: external_limits
auth:
module: Auth
config_module:
connection_timeout: 10
prioritize_authorization_over_stopping_transaction: true
selection_algorithm: FindFirst
ignore_connector_faults: true
connections:
evse_manager:
- implementation_id: evse
module_id: connector_1
token_provider:
- implementation_id: main
module_id: token_provider
token_validator:
- implementation_id: main
module_id: token_validator
ev_manager:
module: EvManager
config_module:
auto_enable: true
auto_exec: false
auto_exec_commands: sleep 1;iec_wait_pwr_ready;sleep 1;draw_power_regulated 16,3;sleep 30;unplug
connector_id: 1
connections:
ev:
- implementation_id: ev
module_id: iso15118_car
ev_board_support:
- implementation_id: ev_board_support
module_id: connector_1_powerpath
slac:
- implementation_id: ev
module_id: slac
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
switch_3ph1ph_switch_limit_stickyness: SinglePhase
schedule_interval_duration: 60
schedule_total_duration: 10
debug: false
connections:
energy_trunk:
- implementation_id: energy_grid
module_id: grid_connection_point
api_sink_1_evsemgr:
module: EnergyNode
mapping:
module:
evse: 1
config_module:
fuse_limit_A: 32.0
phase_count: 3
connections:
energy_consumer:
- module_id: connector_1
implementation_id: energy_grid
connector_1:
module: EvseManager
mapping:
module:
evse: 1
config_module:
ac_enforce_hlc: false
ac_hlc_enabled: true
ac_hlc_use_5percent: false
ac_nominal_voltage: 230
charge_mode: AC
connector_id: 1
ev_receipt_required: false
evse_id: DE*PNX*E12345*1
has_ventilation: true
max_current_import_A: 32
max_current_export_A: 32
payment_enable_contract: true
payment_enable_eim: true
session_logging: true
session_logging_path: /tmp/everest-logs
session_logging_xml: false
switch_3ph1ph_delay_s: 5
switch_3ph1ph_cp_state: X1
connections:
bsp:
- implementation_id: board_support
module_id: connector_1_powerpath
hlc:
- implementation_id: charger
module_id: iso15118_charger
powermeter_grid_side:
- implementation_id: powermeter
module_id: connector_1_powerpath
slac:
- implementation_id: evse
module_id: slac
ac_rcd:
- implementation_id: rcd
module_id: connector_1_powerpath
connector_lock:
- implementation_id: connector_lock
module_id: connector_1_powerpath
telemetry:
id: 1
grid_connection_point:
module: EnergyNode
mapping:
module:
evse: 0
config_module:
fuse_limit_A: 40
phase_count: 3
connections:
energy_consumer:
- implementation_id: energy_grid
module_id: api_sink_1_evsemgr
iso15118_car:
module: PyEvJosev
config_module:
device: auto
supported_ISO15118_2: true
iso15118_charger:
module: EvseV2G
config_module:
device: auto
tls_security: allow
supported_DIN70121: false
connections:
security:
- module_id: evse_security
implementation_id: main
evse_security:
module: EvseSecurity
config_module:
private_key_password: "123456"
persistent_store:
module: PersistentStore
config_module:
sqlite_db_file_path: everest_persistent_store.db
setup:
module: Setup
config_module:
initialized_by_default: true
localization: true
online_check_host: lfenergy.org
setup_simulation: true
setup_wifi: false
connections:
store:
- implementation_id: main
module_id: persistent_store
slac:
module: SlacSimulator
token_provider:
module: DummyTokenProvider
config_implementation:
main:
timeout: 10
token: DEADBEEF
connections:
evse:
- implementation_id: evse
module_id: connector_1
token_validator:
module: DummyTokenValidator
config_implementation:
main:
sleep: 0.25
validation_reason: Token seems valid
validation_result: Accepted
connector_1_powerpath:
module: YetiSimulator
config_module:
connector_id: 1
telemetry:
id: 1
Loading