From 43b0d5870d528f23ecd6aeceb6cfd4325188b46f Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期四, 01 七月 2021 15:50:43 +0800
Subject: [PATCH] Revert "1"

---
 HDL_ON/DAL/DriverLayer/Control.cs |   91 ++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 80 insertions(+), 11 deletions(-)

diff --git a/HDL_ON/DAL/DriverLayer/Control.cs b/HDL_ON/DAL/DriverLayer/Control.cs
index 8319edc..8f82384 100644
--- a/HDL_ON/DAL/DriverLayer/Control.cs
+++ b/HDL_ON/DAL/DriverLayer/Control.cs
@@ -283,6 +283,30 @@
         /// </summary>
         public void ControlScene(Scene scene)
         {
+            //浣撻獙妯″紡
+            if(MainPage.NoLoginMode)
+            {
+                foreach(var sceneFunction in scene.functions)
+                {
+                    var revString = "";
+                    var upDataObj = new AlinkFunctionStatusObj();
+                    upDataObj.id = "999";
+                    upDataObj.objects = new List<AlinkStatusData>();
+                    var asd = new AlinkStatusData() { deviceId = sceneFunction.localFunction.deviceId, sid = sceneFunction.sid };
+                    var status1 = new List<AttributesStatus>();
+                    foreach (var dic in sceneFunction.status)
+                    {
+                        status1.Add(new AttributesStatus() { key = dic.key, value = dic.value });
+                    }
+                    asd.status = status1;
+                    upDataObj.objects.Add(asd);
+                    revString = Newtonsoft.Json.JsonConvert.SerializeObject(upDataObj);
+                    UpdataFunctionStatus(revString, null, true);
+                }
+                return;
+            }
+
+            //杩滅▼鎴栬�呮帶鍒秎ink缃戝叧鍦烘櫙
             if (!Ins.GatewayOnline_Local || DB_ResidenceData.Instance.GatewayType == 1)
             {
                 new System.Threading.Thread(() =>
@@ -336,10 +360,31 @@
                 }
             }
 
+            ///dome鎺у埗
+            if (MainPage.NoLoginMode)
+            {
+                var revString = "";
+                var upDataObj = new AlinkFunctionStatusObj();
+                upDataObj.id = "999";
+                upDataObj.objects = new List<AlinkStatusData>();
+                var asd = new AlinkStatusData() { deviceId = function.deviceId, sid = function.sid };
+                var status1 = new List<AttributesStatus>();
+                foreach (var dic in commandDictionary)
+                {
+                    status1.Add(new AttributesStatus() { key = dic.Key, value = dic.Value });
+                }
+                asd.status = status1;
+                upDataObj.objects.Add(asd);
+                revString = Newtonsoft.Json.JsonConvert.SerializeObject(upDataObj);
+                UpdataFunctionStatus(revString, null, true);
+                return;
+            }
+
+
             //MainPage.Log($"鍙戦�佹暟鎹�:{Newtonsoft.Json.JsonConvert.SerializeObject(commandDictionary)}");
 
             ///绗笁鏂规秱楦﹁澶囩粺涓�浣跨敤杩滅▼鎺у埗
-            switch(function.spk)
+            switch (function.spk)
             {
                 case SPK.ElectricTuyaAirCleaner:
                 case SPK.ElectricTuyaFan:
@@ -414,6 +459,23 @@
         /// </summary>
         public void SwtichFunctions(bool open,List<Function> functions)
         {
+            //dome妯″紡鎺у埗
+            if(MainPage.NoLoginMode)
+            {
+                new System.Threading.Thread(() =>
+                {
+                    foreach (var temp in functions)
+                    {
+                        Dictionary<string, string> d1 = new Dictionary<string, string>();
+                        d1.Add(FunctionAttributeKey.OnOff, open ? "on" : "off");
+                        SendWriteCommand(temp, d1);
+                        System.Threading.Thread.Sleep(100);
+                    }
+                })
+                { IsBackground = true }.Start();
+                return;
+            }
+
             var count = 0;
             var logString = open ? "鎵撳紑\r\n" : "鍏抽棴\r\n";
             List<ApiAlinkControlActionObj> actionObjs = new List<ApiAlinkControlActionObj>();
@@ -559,7 +621,7 @@
             }
         }
         /// <summary>
-        /// 杞崲閫氳鏁版嵁
+        /// 杞崲鍙戦�佹暟鎹�
         /// </summary>
         public byte[] ConvertSendBodyData(string topic, string bodyDataString)
         {
@@ -669,15 +731,6 @@
         /// <param name="updateBytes"></param>
         public void UpdataFunctionStatus(string revString, byte[] usefulBytes,bool isCloudData = false)
         {
-
-            if (Ins.GatewayOnline_Local && isCloudData)//鏈湴閾炬帴锛岄櫎浜嗘秱楦﹁澶囨暟鎹箣澶栫殑浜戠鏁版嵁涓嶅鐞�
-            {
-                if (FunctionList.List.GetDeviceFunctionList(SPK.BrandType.Tuya).Count == 0)
-                {
-                    //MainPage.Log($"A鍗忚鏇存柊鐘舵��:鏈湴閾炬帴锛岄櫎浜嗘秱楦﹁澶囨暟鎹箣澶栫殑浜戠鏁版嵁涓嶅鐞�...");
-                    return;
-                }
-            }
             var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<AlinkFunctionStatusObj>(revString);
             if (temp != null)
             {
@@ -687,6 +740,22 @@
                 {
                     try
                     {
+
+                        if (Ins.GatewayOnline_Local && isCloudData)//鏈湴閾炬帴锛岄櫎浜嗘秱楦﹁澶囨暟鎹箣澶栫殑浜戠鏁版嵁涓嶅鐞�
+                        {
+                            if (FunctionList.List.OtherBrandFunction.Count != 0)
+                            {
+                                if (FunctionList.List.OtherBrandFunction.Find((obj) => obj.sid == updateTemp.sid) == null)
+                                {
+                                    //MainPage.Log($"A鍗忚鏇存柊鐘舵��:鏈湴閾炬帴锛岄櫎浜嗘秱楦﹁澶囨暟鎹箣澶栫殑浜戠鏁版嵁涓嶅鐞�...");
+                                    return;
+                                }
+                            }
+                        }
+
+
+
+
                         var localFunction = allLocalFuntion.Find((obj) => obj.sid == updateTemp.sid);
                         if (localFunction == null)
                         {

--
Gitblit v1.8.0