From 2d5cd35af7437ad4015d38594d8c721dc6166b11 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 29 八月 2023 09:22:38 +0800
Subject: [PATCH] Merge branch 'wjc' of http://59.41.255.150:6688/r/~wxr/OnPro into wjc

---
 HDL_ON/DAL/DriverLayer/Control.cs |   33 +++++++++++++++++++++++++--------
 1 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs
index 0df687c..85737d2 100644
--- a/HDL_ON/DAL/DriverLayer/Control.cs
+++ b/HDL_ON/DAL/DriverLayer/Control.cs
@@ -261,6 +261,7 @@
         /// </summary>
         public void OpenTcpClent()
         {
+            return;
             if (myTcpClient == null)
             {
                 myTcpClient = new Control_TcpClient(reportIp);
@@ -335,6 +336,7 @@
         /// </summary>
         public void LoginGateway()
         {
+            return;//tcp鎺у埗瀛樺湪闂锛屼絾鏄厛涓嶇敤tcp鎺у埗浜嗭紝瑕佺粡杩囨祴璇曞厛  2023-07-29 10:14:32
             if (loginGatewayThread == null)
             {
                 loginGatewayThread = new System.Threading.Thread(() =>
@@ -534,7 +536,7 @@
                         var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlFunctionTopic, functionControlDataJson);
                         new Control_Udp().SendLocalHdlLinkData(sendBytes, functionControlDataObj.id, resend);
                         MainPage.Log($"鏈湴閫氳 鍙戦�丠DL-Link鏁版嵁:{functionControlDataJson}");
-                            Ins.myTcpClient.SendMessage(sendBytes);
+                            //Ins.myTcpClient.SendMessage(sendBytes);
                     }
                 }
                 //杩滅▼閫氳
@@ -624,6 +626,10 @@
             {
                 foreach (var temp in functions)
                 {
+                    if((temp.trait_on_off.state.ToString() ==  "on" && open)|| temp.trait_on_off.state.ToString() == "off"&& !open)
+                    {
+                        continue;
+                    }
                     var apiControlData = temp.GetApiControlData(d);
                     actionObjs.Add(apiControlData);
                     count++;
@@ -635,7 +641,10 @@
                         System.Threading.Thread.Sleep(100);
                     }
                 }
-                var pack = pm.ControlDevice(actionObjs);
+                if (actionObjs.Count > 0)
+                {
+                    var pack = pm.ControlDevice(actionObjs);
+                }
             }
         }
 
@@ -861,7 +870,7 @@
                         },
                     time_stamp = Utlis.GetTimestamp()
                 };
-                var aLinkJson = Newtonsoft.Json.JsonConvert.SerializeObject(aLinkData);
+                var aLinkJson = JsonConvert.SerializeObject(aLinkData);
                 var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlScene, aLinkJson);
                 new Control_Udp().SendLocalHdlLinkData(sendBytes, aLinkData.id, 0);
             }
@@ -1010,7 +1019,7 @@
 
                 if (receiveObj.Topic == CommunicationTopic.ct.HeartBeat + "_reply")
                 {
-                    Ins.myTcpClient.ClearHeartBeatLog();
+                    //Ins.myTcpClient.ClearHeartBeatLog();
                     MainPage.Log("tcp蹇冭烦鍥炲");
                     return null;
                 }
@@ -1106,7 +1115,7 @@
                         Ins.IsLocalEncrypt = device.isLocalEncrypt;
                         //MainPage.Log("缃戝叧鏈湴鍔犲瘑鐘舵�侊細" + device.local_encrypt.ToString());
                         //鐧诲綍缃戝叧Tcp
-                        OpenTcpClent();
+                        //OpenTcpClent();
 
 
                     }
@@ -1208,7 +1217,7 @@
 
 
         /// <summary>
-        /// 鏇存柊璁惧鐘舵��
+        /// 鏇存柊缇ゆ帶璁惧鐘舵��
         /// A鍗忚鏁版嵁
         /// </summary>
         public void UpdataGroupControlStatus(string revString, byte[] usefulBytes, bool isCloudData = false)
@@ -1270,7 +1279,7 @@
             //    return;
             //}
 
-            var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<AlinkFunctionStatusObj>(revString);
+            var temp = JsonConvert.DeserializeObject<AlinkFunctionStatusObj>(revString);
             if (temp != null)
             {
                 Control_Udp.ReceiveRepeatManager(temp.id, usefulBytes);
@@ -1327,7 +1336,11 @@
                         {
                             localFunction.time_stamp = temp.time_stamp;
                             localFunction.SetAttrState(attr.key, attr.value);
-
+                            
+                        }
+                        if(localFunction.spk == SPK.AirSwitchP3)
+                        {
+                            localFunction.online = updateTemp.online;
                         }
 
                         //鏇存柊鐣岄潰鐘舵��
@@ -1347,6 +1360,10 @@
                                     EnergyMainPage.UpdataStatus(localFunction);
                                 }
                                 break;
+                            case SPK.AirSwitchP3:
+                                AirSwitchP3Page.UpdataState(localFunction);
+                                AirSwitchP3SubloopEnergyPage.UpdataStatus(localFunction);
+                                break;
                             case SPK.ElectricEnergy:
                                 EnergyMainPage.UpdataStatus(localFunction);
                                 break;

--
Gitblit v1.8.0