瀏覽代碼

更新BootNotification 邏輯
電樁剛連上線進pending 此後再上報的BootNotification 的都Accepted

Jessica Tseng 2 年之前
父節點
當前提交
2624426b73

+ 13 - 2
EVCB_OCPP.WSServer/Message/CoreProfileHandler.cs

@@ -201,9 +201,20 @@ namespace EVCB_OCPP.WSServer.Message
                                     int.TryParse(configVaule, out heartbeat_interval);
                                 }
                             }
-                            var confirm = new BootNotificationConfirmation() { currentTime = DateTime.UtcNow, interval = session.IsPending ? heartbeat_interval : 5, status = session.IsPending ? Packet.Messages.SubTypes.RegistrationStatus.Accepted : RegistrationStatus.Pending };
+                            if (session.IsPending == true)
+                            {
+                                session.IsPending = false;
+                            }
+                            if (session.IsPending == null)
+                            {
+                                session.IsPending = true;
+                            }
+                          
+                            var confirm = new BootNotificationConfirmation() { currentTime = DateTime.UtcNow, interval = session.IsPending.Value ? 5:heartbeat_interval , status = session.IsPending.Value ?RegistrationStatus.Pending : RegistrationStatus.Accepted };
+
 
-                            session.IsPending = !session.IsPending;
+                          
+                           
                             result.Message = confirm;
                             result.Success = true;
                         }

+ 1 - 1
EVCB_OCPP.WSServer/Properties/AssemblyInfo.cs

@@ -35,4 +35,4 @@ using System.Runtime.InteropServices;
 [assembly: AssemblyVersion("1.2.1.0")]
 [assembly: AssemblyFileVersion("1.2.1.0")]
 
-[assembly: AssemblyInformationalVersion("8d29f79")]
+[assembly: AssemblyInformationalVersion("2d3a9cd")]

+ 2 - 2
EVCB_OCPP.WSServer/SuperSocket.Protocol/ClientData.cs

@@ -16,7 +16,7 @@ namespace OCPPServer.Protocol
 
         public EVCB_OCPP20.Packet.Messages.Basic.Queue queue20 = new EVCB_OCPP20.Packet.Messages.Basic.Queue();
 
-        public bool IsPending { set; get; }
+        public bool? IsPending { set; get; }
         public bool IsCheckIn { set; get; }
 
         public string ChargeBoxId { set; get; }
@@ -88,7 +88,7 @@ namespace OCPPServer.Protocol
         public ClientData()
         {
             IsAC = true;
-            IsPending = false;
+          
             IsCheckIn = false;
             ChargeBoxId = SessionID;
             MachineId = SessionID;