From d89a8ccb3d48d39f920b294c1966a3522ee8adbc Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期二, 23 二月 2021 17:17:37 +0800
Subject: [PATCH] 11

---
 HDL_ON/Entity/FunctionList.cs |   73 +++++++++++++++++++++---------------
 1 files changed, 42 insertions(+), 31 deletions(-)

diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs
index 0a3615e..e9376a3 100644
--- a/HDL_ON/Entity/FunctionList.cs
+++ b/HDL_ON/Entity/FunctionList.cs
@@ -241,7 +241,8 @@
                             break;
                         case SPK.SensorSmoke:
                         case SPK.SensorWater:
-                        case SPK.SensorGas:
+                        case SPK.SensorDoorWindow:
+                        case SPK.SensorPir:
                             var ser = Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(functionDataString);
                             List.sensorsArm.Add(ser);
                             deviceFunctionList.Add(ser);
@@ -565,6 +566,33 @@
         }
 
         bool lockReadFunctionStatus = false;
+
+        /// <summary>
+        /// 璇诲彇绗笁鏂硅澶囩姸鎬�
+        /// </summary>
+        public void Read3tyFunctionStatus()
+        {
+            //璇诲彇娑傞甫璁惧鐘舵��
+            if (GetDeviceFunctionList(SPK.BrandType.Tuya).Count > 0)
+            {
+                var page = new List<string>();
+                int count = 0;
+                foreach (var function in GetDeviceFunctionList(SPK.BrandType.Tuya))
+                {
+                    page.Add(function.deviceId);
+                    count++;
+                    if (count > 9)
+                    {
+                        DriverLayer.Control.Ins.ReadFunctionsInfo(page);
+                        page.Clear();
+                        count = 0;
+                    }
+                }
+                DriverLayer.Control.Ins.ReadFunctionsInfo(page);
+            }
+
+        }
+
         /// <summary>
         /// 璇诲彇鍏ㄩ儴鍔熻兘鐨勭姸鎬�
         /// </summary>
@@ -586,26 +614,25 @@
                 lockReadFunctionStatus = true;
                 try
                 {
-                    //璇诲彇娑傞甫璁惧鐘舵��
-                    if (GetDeviceFunctionList(SPK.BrandType.Tuya).Count > 0)
+                    Read3tyFunctionStatus();
+
+                    if(DriverLayer.Control.Ins.GatewayOnline_Local)
                     {
-                        var page = new List<string>();
-                        int count = 0;
-                        foreach (var function in GetDeviceFunctionList(SPK.BrandType.Tuya))
+                        foreach (var function in GetDeviceFunctionList(SPK.BrandType.Hdl))
                         {
-                            page.Add(function.deviceId);
-                            count++;
-                            if (count > 9)
+                            switch (function.Spk_Prefix)
                             {
-                                DriverLayer.Control.Ins.ReadFunctionsInfo(page);
-                                page.Clear();
-                                count = 0;
+                                case FunctionCategory.Light:
+                                case FunctionCategory.Electric:
+                                case FunctionCategory.Curtain:
+                                case FunctionCategory.AC:
+                                case FunctionCategory.FloorHeat:
+                                    DriverLayer.Control.Ins.SendReadCommand(function);
+                                    break;
                             }
                         }
-                        DriverLayer.Control.Ins.ReadFunctionsInfo(page);
                     }
-
-                    if (DriverLayer.Control.Ins.IsRemote)
+                    else
                     {
                         var page = new List<string>();
                         int count = 0;
@@ -622,22 +649,6 @@
                             }
                         }
                         DriverLayer.Control.Ins.SendApiReadCommand(page);
-                    }
-                    else
-                    {
-                        foreach (var function in GetDeviceFunctionList(SPK.BrandType.Hdl))
-                        {
-                            switch (function.Spk_Prefix)
-                            {
-                                case FunctionCategory.Light:
-                                case FunctionCategory.Electric:
-                                case FunctionCategory.Curtain:
-                                case FunctionCategory.AC:
-                                case FunctionCategory.FloorHeat:
-                                    DriverLayer.Control.Ins.SendReadCommand(function);
-                                    break;
-                            }
-                        }
                     }
                 }
                 catch (Exception ex)

--
Gitblit v1.8.0