@@ -104,6 +104,7 @@ def to_code(code: int):
104104
105105
106106class TargetBatteryCode (Enum ):
107+ P_IGNORE = 0
107108 P_40 = 1
108109 P_50 = 2
109110 P_60 = 3
@@ -257,6 +258,14 @@ def charge_target_soc(self) -> Optional[TargetBatteryCode]:
257258 except ValueError :
258259 return None
259260
261+ @property
262+ def charge_current_limit (self ) -> Optional [ChargeCurrentLimitCode ]:
263+ raw_charge_current_limit = self .bmsAltngChrgCrntDspCmd
264+ try :
265+ return ChargeCurrentLimitCode (raw_charge_current_limit )
266+ except ValueError :
267+ return None
268+
260269 @property
261270 def is_battery_heating (self ) -> bool :
262271 return self .bmsPTCHeatReqDspCmd == 1
@@ -349,6 +358,30 @@ class ChargingSettingResp:
349358 def rvc_req_sts_decoded (self ) -> Optional [bytes ]:
350359 return decode_bytes (input_value = self .rvcReqSts , field_name = 'rvcReqSts' )
351360
361+ @property
362+ def charge_target_soc (self ) -> Optional [TargetBatteryCode ]:
363+ raw_target_soc = self .bmsOnBdChrgTrgtSOCDspCmd
364+ try :
365+ return TargetBatteryCode (raw_target_soc )
366+ except ValueError :
367+ return None
368+
369+ @property
370+ def charge_current_limit (self ) -> Optional [ChargeCurrentLimitCode ]:
371+ raw_charge_current_limit = self .bmsAltngChrgCrntDspCmd
372+ try :
373+ return ChargeCurrentLimitCode (raw_charge_current_limit )
374+ except ValueError :
375+ return None
376+
377+ @property
378+ def v2x_target_soc (self ) -> Optional [TargetBatteryCode ]:
379+ raw_target_soc = self .imcuDschrgTrgtSOCDspCmd
380+ try :
381+ return TargetBatteryCode (raw_target_soc )
382+ except ValueError :
383+ return None
384+
352385
353386@dataclass
354387class ScheduledChargingRequest :
@@ -399,6 +432,7 @@ def heating_stop_reason(self) -> HeatingStopReason | None:
399432 return HeatingStopReason .to_code (self .ptcHeatResp )
400433 return None
401434
435+
402436@dataclass
403437class ChargingControlRequest :
404438 chrgCtrlReq : int = None
@@ -477,6 +511,22 @@ def charge_target_soc(self) -> Optional[TargetBatteryCode]:
477511 except ValueError :
478512 return None
479513
514+ @property
515+ def charge_current_limit (self ) -> Optional [ChargeCurrentLimitCode ]:
516+ raw_charge_current_limit = self .bmsAltngChrgCrntDspCmd
517+ try :
518+ return ChargeCurrentLimitCode (raw_charge_current_limit )
519+ except ValueError :
520+ return None
521+
522+ @property
523+ def v2x_target_soc (self ) -> Optional [TargetBatteryCode ]:
524+ raw_target_soc = self .imcuDschrgTrgtSOCDspCmd
525+ try :
526+ return TargetBatteryCode (raw_target_soc )
527+ except ValueError :
528+ return None
529+
480530 @property
481531 def is_battery_heating (self ) -> bool :
482532 return self .bmsPTCHeatReqDspCmd == 1
0 commit comments