|
@@ -40,8 +40,8 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
{
|
|
|
case Actions.DataTransfer:
|
|
|
{
|
|
|
-
|
|
|
- var confirm = new DataTransferConfirmation() { status= DataTransferStatus.Rejected };
|
|
|
+
|
|
|
+ var confirm = new DataTransferConfirmation() { status = DataTransferStatus.Rejected };
|
|
|
|
|
|
result.Message = confirm;
|
|
|
result.Success = true;
|
|
@@ -176,25 +176,30 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
break;
|
|
|
case Actions.Heartbeat:
|
|
|
{
|
|
|
- using (var db = new MainDBContext())
|
|
|
- {
|
|
|
- // var machine = db.Machine.Where(x => x.ChargeBoxId == session.ChargeBoxId).FirstOrDefault();
|
|
|
- var machine = new Machine() { Id = session.MachineId };
|
|
|
- if (machine != null)
|
|
|
- {
|
|
|
- db.Configuration.AutoDetectChangesEnabled = false;
|
|
|
- db.Configuration.ValidateOnSaveEnabled = false;
|
|
|
- db.Machine.Attach(machine);
|
|
|
- machine.HeartbeatUpdatedOn = DateTime.Now;
|
|
|
- machine.ConnectionType = session.UriScheme.Equals("wss") ? 2 : 1;
|
|
|
- db.Entry(machine).Property(x => x.HeartbeatUpdatedOn).IsModified = true;
|
|
|
- db.Entry(machine).Property(x => x.ConnectionType).IsModified = true;
|
|
|
- await db.SaveChangesAsync();
|
|
|
- }
|
|
|
- var confirm = new HeartbeatConfirmation() { currentTime = DateTime.Now };
|
|
|
- result.Message = confirm;
|
|
|
- result.Success = true;
|
|
|
- }
|
|
|
+ //Task updateBeatTask = Task.Run(async () =>
|
|
|
+ // {
|
|
|
+ // using (var db = new MainDBContext())
|
|
|
+ // {
|
|
|
+ // var machine = new Machine() { Id = session.MachineId };
|
|
|
+ // if (machine != null)
|
|
|
+ // {
|
|
|
+ // db.Configuration.AutoDetectChangesEnabled = false;
|
|
|
+ // db.Configuration.ValidateOnSaveEnabled = false;
|
|
|
+ // db.Machine.Attach(machine);
|
|
|
+ // machine.HeartbeatUpdatedOn = DateTime.Now;
|
|
|
+ // machine.ConnectionType = session.UriScheme.Equals("wss") ? 2 : 1;
|
|
|
+ // db.Entry(machine).Property(x => x.HeartbeatUpdatedOn).IsModified = true;
|
|
|
+ // db.Entry(machine).Property(x => x.ConnectionType).IsModified = true;
|
|
|
+ // await db.SaveChangesAsync();
|
|
|
+ // }
|
|
|
+
|
|
|
+ // }
|
|
|
+
|
|
|
+ // });
|
|
|
+
|
|
|
+ var confirm = new HeartbeatConfirmation() { currentTime = DateTime.Now };
|
|
|
+ result.Message = confirm;
|
|
|
+ result.Success = true;
|
|
|
}
|
|
|
break;
|
|
|
case Actions.MeterValues:
|
|
@@ -249,7 +254,7 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
break;
|
|
|
case Actions.StartTransaction:
|
|
|
{
|
|
|
-
|
|
|
+
|
|
|
StartTransactionRequest _request = request as StartTransactionRequest;
|
|
|
IdTagInfo _idTagInfo = new IdTagInfo()
|
|
|
{
|
|
@@ -429,13 +434,13 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
break;
|
|
|
default:
|
|
|
{
|
|
|
- Console.WriteLine(string.Format("Not Implement {0} Logic", request.GetType().ToString().Replace("OCPPPackage.Messages.Core.", "")));
|
|
|
+ Console.WriteLine(string.Format("Not Implement {0} Logic(ExecuteCoreRequest)", request.GetType().ToString().Replace("OCPPPackage.Messages.Core.", "")));
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
- {
|
|
|
+ {
|
|
|
logger.Fatal(string.Format("chargeBoxId:{0} {1}", session.ChargeBoxId, action));
|
|
|
logger.Fatal(string.Format("Data {0}", request.ToString()));
|
|
|
logger.Fatal(string.Format("Error {0}", ex.ToString()));
|
|
@@ -464,10 +469,25 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
operation.FinishedOn = DateTime.Now;
|
|
|
operation.Status = 1;//電樁有回覆
|
|
|
operation.EVSE_Status = (int)_confirm.status;
|
|
|
- operation.EVSE_Value = _confirm.data;
|
|
|
+ operation.EVSE_Value = string.IsNullOrEmpty(_confirm.data) ? "" : _confirm.data;
|
|
|
db.SaveChanges();
|
|
|
}
|
|
|
- }
|
|
|
+
|
|
|
+ if (_request.messageId == "ID_FirmwareVersion")
|
|
|
+ {
|
|
|
+ var machine = new Machine() { Id = session.MachineId };
|
|
|
+ if (machine != null)
|
|
|
+ {
|
|
|
+ db.Configuration.AutoDetectChangesEnabled = false;
|
|
|
+ db.Configuration.ValidateOnSaveEnabled = false;
|
|
|
+ db.Machine.Attach(machine);
|
|
|
+ machine.BoardVersions = _confirm.data;
|
|
|
+ db.Entry(machine).Property(x => x.BoardVersions).IsModified = true;
|
|
|
+ db.SaveChanges();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
break;
|
|
|
case Actions.ChangeAvailability:
|
|
@@ -718,7 +738,7 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
break;
|
|
|
default:
|
|
|
{
|
|
|
- Console.WriteLine(string.Format("Not Implement {0} Logic", confirm.GetType().ToString().Replace("OCPPPackage.Messages.Core.", "")));
|
|
|
+ Console.WriteLine(string.Format("Not Implement {0} Logic(ExecuteCoreConfirm)", confirm.GetType().ToString().Replace("OCPPPackage.Messages.Core.", "")));
|
|
|
}
|
|
|
break;
|
|
|
}
|
|
@@ -740,7 +760,13 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
case Actions.Reset:
|
|
|
case Actions.GetConfiguration:
|
|
|
case Actions.UnlockConnector:
|
|
|
+ case Actions.DataTransfer:
|
|
|
{
|
|
|
+ if (action == Actions.DataTransfer)
|
|
|
+ {
|
|
|
+ logger.Debug(string.Format("DataTransfer Error {0}: {1}", session.ChargeBoxId, requestId));
|
|
|
+ }
|
|
|
+
|
|
|
using (var db = new MainDBContext())
|
|
|
{
|
|
|
var operation = db.MachineOperateRecord.Where(x => x.SerialNo == requestId &&
|
|
@@ -761,7 +787,7 @@ namespace EVCB_OCPP.WSServer.Message
|
|
|
|
|
|
default:
|
|
|
{
|
|
|
- Console.WriteLine(string.Format("Not Implement {0} Logic", action));
|
|
|
+ Console.WriteLine(string.Format("Not Implement {0} Logic(ReceivedCoreError)", action));
|
|
|
}
|
|
|
break;
|
|
|
}
|