Skip to content

Commit

Permalink
Merge branch 'master' into jtt_912_share_display_params_with_cs
Browse files Browse the repository at this point in the history
  • Loading branch information
shalinnijel2 authored Apr 30, 2024
2 parents 710901a + c4bd721 commit e8c6ddd
Show file tree
Hide file tree
Showing 6 changed files with 28 additions and 1 deletion.
15 changes: 15 additions & 0 deletions iso15118/secc/controller/interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -1063,3 +1063,18 @@ async def send_display_params(self):
Share display params with CS.
"""
raise NotImplementedError

@abstractmethod
async def send_rated_limits(self):
"""
This method is called in the state ChargeParameterDiscovery state for all
protocols.
The message is used to share the physical limitations of the EV (perhaps
for this session alone) with the charging station.
Relevant for:
- DIN SPEC 70121
- ISO 15118-2
- ISO 15118-20
"""
raise NotImplementedError
6 changes: 6 additions & 0 deletions iso15118/secc/controller/simulator.py
Original file line number Diff line number Diff line change
Expand Up @@ -1096,3 +1096,9 @@ async def send_display_params(self):
Share display params with CS.
"""
logger.info("Send display params to CS.")

async def send_rated_limits(self):
"""
Overrides EVSEControllerInterface.send_rated_limits
"""
logger.info("Send rated limits to CS.")
2 changes: 1 addition & 1 deletion iso15118/secc/states/din_spec_states.py
Original file line number Diff line number Diff line change
Expand Up @@ -392,7 +392,7 @@ async def process_message(
ev_data_context.update_dc_charge_parameters(
charge_parameter_discovery_req.dc_ev_charge_parameter
)

await self.comm_session.evse_controller.send_rated_limits()
dc_evse_charge_params = (
await self.comm_session.evse_controller.get_dc_charge_parameters_dinspec() # noqa
)
Expand Down
2 changes: 2 additions & 0 deletions iso15118/secc/states/iso15118_20_states.py
Original file line number Diff line number Diff line change
Expand Up @@ -1350,6 +1350,7 @@ async def process_message(
ev_data_context.update_ac_charge_parameters_v20(energy_service, ac_cpd_req)
evse_data_context = self.comm_session.evse_controller.evse_data_context
evse_data_context.current_type = CurrentType.AC
await self.comm_session.evse_controller.send_rated_limits()
except UnknownEnergyService:
self.stop_state_machine(
f"Invalid charge parameter for service {energy_service}",
Expand Down Expand Up @@ -1545,6 +1546,7 @@ async def process_message(
ev_data_context.update_dc_charge_parameters_v20(energy_service, dc_cpd_req)
evse_data_context = self.comm_session.evse_controller.evse_data_context
evse_data_context.current_type = CurrentType.DC
await self.comm_session.evse_controller.send_rated_limits()
except UnknownEnergyService:
self.stop_state_machine(
f"Invalid charge parameter for service {energy_service}",
Expand Down
1 change: 1 addition & 0 deletions iso15118/secc/states/iso15118_2_states.py
Original file line number Diff line number Diff line change
Expand Up @@ -1379,6 +1379,7 @@ async def process_message(
ev_data_context.update_dc_charge_parameters(
charge_params_req.dc_ev_charge_parameter
)
await self.comm_session.evse_controller.send_rated_limits()

departure_time = (
ev_data_context.departure_time if ev_data_context.departure_time else 0
Expand Down
3 changes: 3 additions & 0 deletions tests/shared/messages/test_interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,9 @@ async def session_ended(self, _):
async def send_display_params(self):
pass

async def send_rated_limits(self):
pass


@pytest.fixture
def evse_controller_interface():
Expand Down

0 comments on commit e8c6ddd

Please sign in to comment.