@@ -747,10 +747,15 @@ async def process_message(
747747 elif self .comm_session .selected_energy_service .service in (
748748 ServiceV20 .DC ,
749749 ServiceV20 .DC_BPT ,
750+ ServiceV20 .MCS ,
751+ ServiceV20 .MCS_BPT ,
750752 ):
751753 dc_params , bpt_dc_params = None , None
752754 self .comm_session .selected_charging_type_is_ac = False
753- if self .comm_session .selected_energy_service .service == ServiceV20 .DC :
755+ if self .comm_session .selected_energy_service .service in (
756+ ServiceV20 .DC ,
757+ ServiceV20 .MCS ,
758+ ):
754759 dc_params = await self .comm_session .ev_controller .get_charge_params_v20 (
755760 self .comm_session .selected_energy_service
756761 )
@@ -850,6 +855,7 @@ async def process_message(
850855 if self .comm_session .selected_energy_service .service in (
851856 ServiceV20 .AC_BPT ,
852857 ServiceV20 .DC_BPT ,
858+ ServiceV20 .MCS_BPT ,
853859 ):
854860 power_value = ev_power_profile .entry_list .entries [- 1 ].power .value
855861 if power_value < 0 :
@@ -934,6 +940,8 @@ async def process_message(
934940 if self .comm_session .selected_energy_service .service in [
935941 ServiceV20 .DC ,
936942 ServiceV20 .DC_BPT ,
943+ ServiceV20 .MCS ,
944+ ServiceV20 .MCS_BPT ,
937945 ]:
938946 welding_detection_req = DCWeldingDetectionReq (
939947 header = MessageHeader (
@@ -1022,8 +1030,13 @@ async def process_message(
10221030 ISOV20PayloadTypes .AC_MAINSTREAM ,
10231031 )
10241032
1025- elif selected_energy_service .service in [ServiceV20 .DC , ServiceV20 .DC_BPT ]:
1026- if selected_energy_service .service == ServiceV20 .DC :
1033+ elif selected_energy_service .service in [
1034+ ServiceV20 .DC ,
1035+ ServiceV20 .DC_BPT ,
1036+ ServiceV20 .MCS ,
1037+ ServiceV20 .MCS_BPT
1038+ ]:
1039+ if selected_energy_service .service in [ServiceV20 .DC , ServiceV20 .MCS ]:
10271040 if control_mode == ControlMode .SCHEDULED :
10281041 scheduled_params = (
10291042 await ev_controller .get_scheduled_dc_charge_loop_params ()
@@ -1032,7 +1045,7 @@ async def process_message(
10321045 dynamic_params = (
10331046 await ev_controller .get_dynamic_dc_charge_loop_params ()
10341047 )
1035- elif selected_energy_service .service == ServiceV20 .DC_BPT :
1048+ elif selected_energy_service .service in [ ServiceV20 .DC_BPT , ServiceV20 . MCS_BPT ] :
10361049 if control_mode == ControlMode .SCHEDULED :
10371050 bpt_scheduled_params = (
10381051 await ev_controller .get_bpt_scheduled_dc_charge_loop_params ()
@@ -1587,6 +1600,7 @@ async def build_power_delivery_req(self):
15871600 if self .comm_session .selected_energy_service .service in (
15881601 ServiceV20 .AC_BPT ,
15891602 ServiceV20 .DC_BPT ,
1603+ ServiceV20 .MCS_BPT ,
15901604 ):
15911605 bpt_channel_selection = ChannelSelection .CHARGE
15921606 if ev_power_profile is not None :
@@ -1691,7 +1705,7 @@ async def process_message(
16911705 async def build_current_demand_data (self ):
16921706 scheduled_params , dynamic_params = None , None
16931707 bpt_scheduled_params , bpt_dynamic_params = None , None
1694- if self .comm_session .selected_energy_service .service == ServiceV20 .DC :
1708+ if self .comm_session .selected_energy_service .service in [ ServiceV20 .DC , ServiceV20 . MCS ] :
16951709 if self .comm_session .control_mode == ControlMode .SCHEDULED :
16961710 scheduled_params = (
16971711 await self .comm_session .ev_controller .get_scheduled_dc_charge_loop_params () # noqa
@@ -1700,7 +1714,7 @@ async def build_current_demand_data(self):
17001714 dynamic_params = (
17011715 await self .comm_session .ev_controller .get_dynamic_dc_charge_loop_params () # noqa
17021716 )
1703- elif self .comm_session .selected_energy_service .service == ServiceV20 .DC_BPT :
1717+ elif self .comm_session .selected_energy_service .service in [ ServiceV20 .DC_BPT , ServiceV20 . MCS_BPT ] :
17041718 if self .comm_session .control_mode == ControlMode .SCHEDULED :
17051719 bpt_scheduled_params = (
17061720 await self .comm_session .ev_controller .get_bpt_scheduled_dc_charge_loop_params () # noqa
0 commit comments