From 52bbfcf4c9430de96e7a8addb65b18fb97ee43d3 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 22 六月 2022 14:43:03 +0800
Subject: [PATCH] 1

---
 Crabtree/SmartHome/HDL/Operation/Control.cs |   61 +++++++++++++++++++++++++++++-
 1 files changed, 58 insertions(+), 3 deletions(-)

diff --git a/Crabtree/SmartHome/HDL/Operation/Control.cs b/Crabtree/SmartHome/HDL/Operation/Control.cs
index c30e693..a0e7570 100644
--- a/Crabtree/SmartHome/HDL/Operation/Control.cs
+++ b/Crabtree/SmartHome/HDL/Operation/Control.cs
@@ -79,6 +79,14 @@
                 string receiveFlag = string.Format ("{0},{1},{2},", subnetID, deviceID, (int)command);
 
                 switch ((Command)command) {
+                case Command.enjoyUpgradeACK:
+                case Command.enjoyUpgrade2ACK:
+                case Command.readGatewayVisionACK:
+                case Command.InitializationGatewayACK:
+                case Command.WriteSecretKeyACK:
+                case Command.WriteHomeIdACK:
+                    receiveFlag += "";
+                    break;
                 case Command.ReadDoorLockSceneObjACK:
                     receiveFlag += string.Format ("{0},{1},{2},{3},{4}", usefulBytes [0], usefulBytes [1], usefulBytes [2], usefulBytes [3], usefulBytes [4]);
                     break;
@@ -271,7 +279,7 @@
                 default:
                     break;
                 }
-                //System.Console.WriteLine ("鎺ユ敹鍒版暟鎹細" + receiveFlag);
+                System.Console.WriteLine ("鎺ユ敹鍒版暟鎹細" + receiveFlag);
 
                 for (int i = 0; i < controlList.Count; i++) {
                     try {
@@ -393,8 +401,43 @@
                     //MainPage.AddTip (Language.StringByID (SimpleControl.R.MyInternationalizationString.OperationFailed));
                 }
             }
-        }
+            return;
+            //if (Shared.SimpleControl.CommonPage.IsRemote && !isLocal) {
+            //    System.Console.WriteLine ("杩滅▼鍙戦�佹暟鎹�:" + SendFlag);
+            //    SmartHome.MqttCommon.MqttRemoteSend (Packet.Bytes);
+            //    Packet.FlagDateTime = DateTime.Now;
+            //    Packet.HaveSendCount--;
+            //    //杩欓噷鏄噸鍙戜袱娆�
+            //    while (Packet.HaveSendCount < 3) {
+            //        if (Packet.FlagDateTime.AddMilliseconds (1000).Ticks <= System.DateTime.Now.Ticks) {
+            //            SmartHome.MqttCommon.MqttRemoteSend (Packet.Bytes);
+            //            System.Console.WriteLine ("閲嶅彂杩滅▼鍙戦�佹暟鎹�:" + SendFlag);
+            //            Packet.FlagDateTime = DateTime.Now;
+            //            Packet.HaveSendCount++;
+            //        }
+            //        System.Threading.Thread.Sleep (100);
+            //    }鈥�            //    allDone.Set ();鈥�            //} else {
+            //    try {
+            //        System.Console.WriteLine ("鍙戦�佹暟鎹�:" + SendFlag);
+            //        BusSocket.AsyncBeginSend (Packet);
+            //        Packet.HaveSendCount--;
 
+            //        //杩欓噷鏄噸鍙戜袱娆�
+            //        while (Packet.HaveSendCount < 3) {
+            //            if (Packet.FlagDateTime.AddMilliseconds (1000).Ticks <= System.DateTime.Now.Ticks) {
+            //                System.Console.WriteLine ("閲嶅彂鏁版嵁:" + SendFlag);
+            //                BusSocket.AsyncBeginSend (Packet);
+            //            }
+            //            System.Threading.Thread.Sleep (100);
+            //        }
+
+            //    } catch (Exception ex) {
+            //        Console.WriteLine ("managerSendCount:" + ex.ToString ());
+            //    } finally {
+            //        allDone.Set ();
+            //    }
+            //}
+        }
         /// <summary>
         /// 褰撳墠鏁版嵁鍖�
         /// </summary>
@@ -405,6 +448,16 @@
             this.SendFlag = string.Format ("{0},{1},{2},", target.SubnetID, target.DeviceID, (int)target.Command + 1);
 
             switch (target.Command) {
+            case Command.readGatewayVision:
+            case Command.enjoyUpgrade:
+            case Command.InitializationGateway:
+            case Command.WriteSecretKey:
+            case Command.WriteHomeId:
+                this.SendFlag += "";
+                break;
+            case Command.enjoyUpgrade2:
+                this.SendFlag = string.Format ("{0},{1},{2},", target.SubnetID, target.DeviceID, (int)target.Command - 1);
+                break;
             case Command.ReadDoorLockSceneObj:
                 this.SendFlag += string.Format ("{0},{1},{2},{3},{4}", target.AddData [0], target.AddData [1], target.AddData [2], target.AddData [3], target.AddData [4]);
                 break;
@@ -586,8 +639,9 @@
         /// </summary>
         /// <param name="target">鍙戦�佸璞�</param>
         /// <param name="sendCount">閲嶅彂娆℃暟</param>
-        public void Send (Target target, SendCount sendCount, bool isWait)
+        public void Send (Target target, SendCount sendCount, bool isWait, bool needLocal = false)
         {
+            isLocal = needLocal;
             Packet = new Packet (target.SendBytes, target.IPEndPoint);
             Packet.HaveSendCount = 3 - (int)sendCount;
 
@@ -597,5 +651,6 @@
                 this.wait ();
             }
         }
+        bool isLocal = false;
     }
 }
\ No newline at end of file

--
Gitblit v1.8.0