|
@@ -292,7 +292,7 @@ namespace EVCB_OCPP.WSServer
|
|
|
SerialNo = Guid.NewGuid().ToString(),
|
|
|
InMessage = string.Empty
|
|
|
|
|
|
- });
|
|
|
+ });
|
|
|
|
|
|
db.SaveChanges();
|
|
|
}
|
|
@@ -752,7 +752,7 @@ namespace EVCB_OCPP.WSServer
|
|
|
{
|
|
|
if (((BootNotificationConfirmation)replyResult.Message).status == Packet.Messages.SubTypes.RegistrationStatus.Accepted)
|
|
|
{
|
|
|
- session.IsCheckIn = true;
|
|
|
+ session.IsCheckIn = true;
|
|
|
CheckVersion(session.ChargeBoxId);
|
|
|
CheckEVSEConfigure(session.ChargeBoxId);
|
|
|
|
|
@@ -1324,7 +1324,7 @@ namespace EVCB_OCPP.WSServer
|
|
|
|
|
|
try
|
|
|
{
|
|
|
- RemoveConfirmMessage();
|
|
|
+ RemoveConfirmMessage();
|
|
|
BasicMessageHandler msgAnalyser = new BasicMessageHandler();
|
|
|
using (var db = new MainDBContext())
|
|
|
{
|
|
@@ -1346,7 +1346,7 @@ namespace EVCB_OCPP.WSServer
|
|
|
ClientData session;
|
|
|
if (clientDic.TryGetValue(resendItem.ChargePointSerialNumber, out session))
|
|
|
{
|
|
|
- if (DateTime.UtcNow.Subtract(resendItem.SentOn).TotalSeconds > 1)
|
|
|
+ if (resendItem.SentTimes > 0 && DateTime.UtcNow.Subtract(resendItem.SentOn).TotalSeconds > 1)
|
|
|
{
|
|
|
resendItem.SentTimes--;
|
|
|
resendItem.SentOn = DateTime.UtcNow;
|
|
@@ -1367,9 +1367,9 @@ namespace EVCB_OCPP.WSServer
|
|
|
if (session.IsCheckIn && !session.ISOCPP20)
|
|
|
{
|
|
|
string rawRequest = string.Empty;
|
|
|
-
|
|
|
+
|
|
|
var cmdList = commandList.Where(c => c.ChargeBoxId == charger_SN).ToList();
|
|
|
-
|
|
|
+
|
|
|
foreach (var item in cmdList)
|
|
|
{
|
|
|
IRequest request = null;
|
|
@@ -1392,7 +1392,7 @@ namespace EVCB_OCPP.WSServer
|
|
|
{
|
|
|
request = JsonConvert.DeserializeObject(item.OutRequest, _RequestType) as IRequest;
|
|
|
uuid = session.queue.store(request);
|
|
|
- rawRequest = BasicMessageHandler.GenerateRequest(uuid, item.OutAction, request);
|
|
|
+ rawRequest = BasicMessageHandler.GenerateRequest(uuid, item.OutAction, request);
|
|
|
Send(session, rawRequest, string.Format("{0} {1}", action, "Request"), "");
|
|
|
}
|
|
|
|
|
@@ -1404,14 +1404,14 @@ namespace EVCB_OCPP.WSServer
|
|
|
{
|
|
|
request = Activator.CreateInstance(_RequestType) as IRequest;
|
|
|
uuid = session.queue.store(request);
|
|
|
- rawRequest = BasicMessageHandler.GenerateDestroyRequest(uuid, item.OutAction, item.OutRequest);
|
|
|
+ rawRequest = BasicMessageHandler.GenerateDestroyRequest(uuid, item.OutAction, item.OutRequest);
|
|
|
Send(session, rawRequest, string.Format("{0} {1}", action, "Request"), "");
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
|
|
|
- rawRequest = BasicMessageHandler.GenerateDestroyRequest(Guid.NewGuid().ToString(), item.OutAction, item.OutRequest);
|
|
|
+ rawRequest = BasicMessageHandler.GenerateDestroyRequest(Guid.NewGuid().ToString(), item.OutAction, item.OutRequest);
|
|
|
Send(session, rawRequest, string.Format("{0} {1}", action, "Request"), "");
|
|
|
|
|
|
}
|
|
@@ -1934,20 +1934,20 @@ namespace EVCB_OCPP.WSServer
|
|
|
List<NeedConfirmMessage> sendMessages = new List<NeedConfirmMessage>();
|
|
|
lock (_lockConfirmPacketList)
|
|
|
{
|
|
|
- sendMessages = needConfirmPacketList.Where(x => x.SentTimes > 0 && x.CreatedBy == "Server").ToList();
|
|
|
+ sendMessages = needConfirmPacketList.Where(x => x.SentTimes > 1 && x.CreatedBy == "Server").ToList();
|
|
|
|
|
|
}
|
|
|
|
|
|
return sendMessages;
|
|
|
}
|
|
|
|
|
|
- private void AddConfirmMessage(string chargePointSerialNumber, int table_id, string requestId, string action, string msg_id, string createdBy,string sendMessage)
|
|
|
+ private void AddConfirmMessage(string chargePointSerialNumber, int table_id, string requestId, string action, string msg_id, string createdBy, string sendMessage)
|
|
|
{
|
|
|
NeedConfirmMessage _needConfirmMsg = new NeedConfirmMessage();
|
|
|
_needConfirmMsg.Id = table_id;
|
|
|
_needConfirmMsg.SentAction = action;
|
|
|
_needConfirmMsg.SentOn = DateTime.UtcNow;
|
|
|
- _needConfirmMsg.SentTimes = 3;
|
|
|
+ _needConfirmMsg.SentTimes = 4;
|
|
|
_needConfirmMsg.ChargePointSerialNumber = chargePointSerialNumber;
|
|
|
_needConfirmMsg.RequestId = requestId;
|
|
|
_needConfirmMsg.SentUniqueId = msg_id;
|
|
@@ -1966,15 +1966,14 @@ namespace EVCB_OCPP.WSServer
|
|
|
|
|
|
private void RemoveConfirmMessage()
|
|
|
{
|
|
|
-
|
|
|
- var before_3mins = DateTime.UtcNow.AddMinutes(-3);
|
|
|
+ var before10Mins = DateTime.UtcNow.AddMinutes(-10);
|
|
|
lock (_lockConfirmPacketList)
|
|
|
{
|
|
|
- var removeList = needConfirmPacketList.Where(x => x.SentTimes == 0 || x.SentOn < before_3mins).ToList();
|
|
|
+ var removeList = needConfirmPacketList.Where(x => x.SentTimes == 0 || x.SentOn < before10Mins).ToList();
|
|
|
foreach (var item in removeList)
|
|
|
{
|
|
|
needConfirmPacketList.Remove(item);
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|