|
|
@@ -78,10 +78,24 @@ public class WaitForMeteringReceiptRes extends ClientState {
|
|
|
// TODO regard [V2G2-305] (new SalesTariff if EAmount not yet met and tariff finished)
|
|
|
|
|
|
if (isAcCharging() && getCommSessionContext().getEvController().isChargingLoopActive()) {
|
|
|
- ChargingStatusReqType chargingStatusReq = new ChargingStatusReqType();
|
|
|
- return getSendMessage(chargingStatusReq, V2GMessages.CHARGING_STATUS_RES);
|
|
|
+ // Check whether or not the EV controller triggered a renegotiation
|
|
|
+ if (getCommSessionContext().isRenegotiationRequested()) {
|
|
|
+ return getSendMessage(getPowerDeliveryReq(ChargeProgressType.RENEGOTIATE),
|
|
|
+ V2GMessages.POWER_DELIVERY_RES,
|
|
|
+ " (ChargeProgress = RE_NEGOTIATION)");
|
|
|
+ } else {
|
|
|
+ ChargingStatusReqType chargingStatusReq = new ChargingStatusReqType();
|
|
|
+ return getSendMessage(chargingStatusReq, V2GMessages.CHARGING_STATUS_RES);
|
|
|
+ }
|
|
|
} else if (getCommSessionContext().getEvController().isChargingLoopActive()) {
|
|
|
- return getSendMessage(getCurrentDemandReq(), V2GMessages.CURRENT_DEMAND_RES);
|
|
|
+ // Check whether or not the EV controller triggered a renegotiation
|
|
|
+ if (getCommSessionContext().isRenegotiationRequested()) {
|
|
|
+ return getSendMessage(getPowerDeliveryReq(ChargeProgressType.RENEGOTIATE),
|
|
|
+ V2GMessages.POWER_DELIVERY_RES,
|
|
|
+ " (ChargeProgress = RE_NEGOTIATION)");
|
|
|
+ } else {
|
|
|
+ return getSendMessage(getCurrentDemandReq(), V2GMessages.CURRENT_DEMAND_RES);
|
|
|
+ }
|
|
|
} else {
|
|
|
getCommSessionContext().setStopChargingRequested(true);
|
|
|
return getSendMessage(getPowerDeliveryReq(ChargeProgressType.STOP),
|