From 404cdc88627f942df7944af04ee05b9d527752d6 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 30 九月 2019 13:22:40 +0800
Subject: [PATCH] 合并了徐梅的按键面板绑定

---
 ZigbeeApp/Shared/Phone/ZigBee/Device/Panel.cs | 1014 ++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 560 insertions(+), 454 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/ZigBee/Device/Panel.cs b/ZigbeeApp/Shared/Phone/ZigBee/Device/Panel.cs
index 3eb06bc..005792d 100755
--- a/ZigbeeApp/Shared/Phone/ZigBee/Device/Panel.cs
+++ b/ZigbeeApp/Shared/Phone/ZigBee/Device/Panel.cs
@@ -2,6 +2,7 @@
 using System.Collections.Generic;
 using System.Threading.Tasks;
 using Newtonsoft.Json.Linq;
+using Shared.Common;
 
 namespace ZigBee.Device
 {
@@ -27,13 +28,87 @@
         public int panelBacklightLevel = -1;
 
         /// <summary>
+        /// 褰撳墠閫夋嫨妯″紡
+        /// </summary>
+        public string currentKeySelectModeText = "";
+
+        /// <summary>
+        /// 褰撳墠寮�鍏虫ā寮�
+        /// </summary>
+        public string CurrentSwitchMode = "";
+        /// <summary>
+        /// 褰撳墠灞炴�фā寮�
+        /// </summary>
+        public int currentClusterID;
+
+        /// <summary>
+        /// 褰撳墠璋冨厜妯″紡
+        /// </summary>
+        public string CurrentDimmerMode = "";
+
+        /// <summary>
+        /// 褰撳墠閬槼妯″紡
+        /// </summary>
+        public string CurrentCurtainMode = "";
+
+        /// <summary>
+        /// 褰撳墠鎴块棿ID
+        /// </summary>
+        public string RoomId = "";
+
+        /// <summary>
+        /// 褰撳墠鎴块棿ID
+        /// </summary>
+        public string curSelectSceneID = "";
+
+        // <summary>
         /// 鎸夐敭涓缁戝畾鐨勭洰鏍囧垪琛�
         /// </summary>
         public System.Collections.Generic.List<BindListResponseObj> bindList = new System.Collections.Generic.List<BindListResponseObj> { };
         /// <summary>
         /// 鎸夐敭鏀寔鐨勭鏈夋ā寮忓垪琛�
         /// </summary>
-        public System.Collections.Generic.List<string> priFunList = new System.Collections.Generic.List<string> { };
+        public System.Collections.Generic.List<string> priFunList = new System.Collections.Generic.List<string> { };
+
+        /// <summary>
+        /// 绉佹湁鍔熻兘绫�
+        /// <para>256:Key,鎸夐敭绫荤被 </para>
+        /// <para>768:PIR,PIR绫�</para>
+        /// <para>1024:Light,鐏被</para>
+        /// </summary>
+        public List<int> privateFuncFirstLevelList = new List<int>();
+
+        /// <summary>
+        /// 绗簩绾т俊鎭�
+        /// <para>1:鐗规畩鍔熻兘</para>
+        /// <para>100:Switch,寮�鍏筹紙鎸夐敭绫伙級</para>
+        /// <para>200:Dimmer,璋冨厜锛堟寜閿被锛�</para>
+        /// <para>300:Curtain,绐楀笜锛堟寜閿被锛�</para>
+        /// <para>0:EnergySavingMode,鑺傝兘妯″紡锛堢伅绫伙級</para>
+        /// <para>1:SleepMode,鐫$湢妯″紡锛堢伅绫伙級</para>
+        /// <para>100:WhiteBalance,鐧藉钩琛★紙鐏被锛�</para>
+        /// <para>101:RGBColor,RGB鎸囩ず鐏鑹诧紙鐏被锛�</para>
+        /// <para>102:RGBLevel,RGB鎸囩ず鐏寒搴︼紙鐏被锛�</para>
+        /// </summary>
+        public List<int> privateFuncSecondLevelList = new List<int>();
+
+        /// <summary>
+        /// 绗笁绾т俊鎭�
+        /// <para>1:鍦烘櫙瑙﹀彂锛堢壒娈婂姛鑳斤級</para>
+        /// <para>65535:绂佹鍙戦�佸姛鑳斤紙鐗规畩鍔熻兘锛�</para>
+        /// <para>100:SwitchOpen,寮�鍏冲紑锛堟寜閿被锛�</para>
+        /// <para>101:SwitchClose,寮�鍏冲叧锛堟寜閿被锛�</para>
+        /// <para>102:SwitchChange,寮�鍏冲垏鎹紙鎸夐敭绫伙級</para>
+        /// <para>200:DimmerStepUp,澧炲ぇ璋冨厜锛堟寜閿被锛�</para>
+        /// <para>201:DimmerStepDown,闄嶄綆璋冨厜锛堟寜閿被锛�</para>
+        /// <para>202:DimmerStepChange,璋冨厜鍒囨崲锛堟寜閿被锛�</para>
+        /// <para>300:CurtainOpen,绐楀笜寮�锛堟寜閿被锛�</para>
+        /// <para>301:CurtainClose,绐楀笜鍏筹紙鎸夐敭绫伙級</para>
+        /// <para>302:CurtainStop,绐楀笜鍋�</para>
+        /// <para>303:CurtainUpStop,绐楀笜涓婂崌鍋�</para>
+        /// <para>304:CurtainDownstop,绐楀笜涓嬮檷鍋�</para>
+        /// </summary>
+        public List<int> privateFuncThirdLevelList = new List<int>();
         #region 鑾峰彇闈㈡澘鐨勭鏈変俊鎭�.
         /// <summary>
         ///鑾峰彇闈㈡澘鐨勭鏈変俊鎭�
@@ -120,6 +195,11 @@
                                                 {
                                                     int curIndex = 4 * j;
                                                     tempD.privateFuncTypeLevelFirstList.Add(Convert.ToInt32(listData[curIndex + 2] + listData[curIndex + 3].ToString() + listData[curIndex].ToString() + listData[curIndex + 1].ToString(), 16));
+                                                    //if (privateFuncFirstLevelList.Contains(256) == false)
+                                                    //{
+                                                    //    privateFuncFirstLevelList.Add(Convert.ToInt32(listData[curIndex + 2] + listData[curIndex + 3].ToString() + listData[curIndex].ToString() + listData[curIndex + 1].ToString(), 16));
+
+                                                    //}
                                                 }
                                                 break;
                                             case 2:
@@ -134,12 +214,19 @@
                                                     if (j == 0)
                                                     {
                                                         tempD.privateFuncTypeLevelFirstList.Add(Convert.ToInt32(listData[curIndex + 2] + listData[curIndex + 3].ToString() + listData[curIndex].ToString() + listData[curIndex + 1].ToString(), 16));
+                                                        //if (privateFuncFirstLevelList.Contains(256) == false)
+                                                        //{
+                                                        //    privateFuncFirstLevelList.Add(Convert.ToInt32(listData[curIndex + 2] + listData[curIndex + 3].ToString() + listData[curIndex].ToString() + listData[curIndex + 1].ToString(), 16));
+                                                        //}
                                                     }
                                                     else
                                                     {
                                                         tempD.privateFuncTypeLevelSecondList.Add(Convert.ToInt32(listData[curIndex + 2] + listData[curIndex + 3].ToString() + listData[curIndex].ToString() + listData[curIndex + 1].ToString(), 16));
+                                                        //if (privateFuncSecondLevelList.Contains(1) == false || privateFuncSecondLevelList.Contains(100) == false || privateFuncSecondLevelList.Contains(200) == false || privateFuncSecondLevelList.Contains(300) == false)
+                                                        //{
+                                                        //    privateFuncSecondLevelList.Add(Convert.ToInt32(listData[curIndex + 2] + listData[curIndex + 3].ToString() + listData[curIndex].ToString() + listData[curIndex + 1].ToString(), 16));
+                                                        //}
                                                     }
-
                                                 }
                                                 break;
                                             case 3:
@@ -154,14 +241,26 @@
                                                     if (j == 0)
                                                     {
                                                         tempD.privateFuncTypeLevelFirstList.Add(Convert.ToInt32(listData[curIndex + 2] + listData[curIndex + 3].ToString() + listData[curIndex].ToString() + listData[curIndex + 1].ToString(), 16));
+                                                        //if (privateFuncFirstLevelList.Contains(256) == false)
+                                                        //{
+                                                        //    privateFuncFirstLevelList.Add(Convert.ToInt32(listData[curIndex + 2] + listData[curIndex + 3].ToString() + listData[curIndex].ToString() + listData[curIndex + 1].ToString(), 16));
+                                                        //}
                                                     }
                                                     else if (j == 1)
                                                     {
                                                         tempD.privateFuncTypeLevelSecondList.Add(Convert.ToInt32(listData[curIndex + 2] + listData[curIndex + 3].ToString() + listData[curIndex].ToString() + listData[curIndex + 1].ToString(), 16));
+                                                        //if (privateFuncSecondLevelList.Contains(1) == false || privateFuncSecondLevelList.Contains(100) == false || privateFuncSecondLevelList.Contains(200) == false || privateFuncSecondLevelList.Contains(300) == false)
+                                                        //{
+                                                        //    privateFuncSecondLevelList.Add(Convert.ToInt32(listData[curIndex + 2] + listData[curIndex + 3].ToString() + listData[curIndex].ToString() + listData[curIndex + 1].ToString(), 16));
+                                                        //}
                                                     }
                                                     else
                                                     {
                                                         tempD.privateFuncTypeLevelThirdList.Add(Convert.ToInt32(listData[curIndex + 2] + listData[curIndex + 3].ToString() + listData[curIndex].ToString() + listData[curIndex + 1].ToString(), 16));
+                                                        //if (privateFuncThirdLevelList.Contains(1) == false || privateFuncThirdLevelList.Contains(65535) == false || privateFuncThirdLevelList.Contains(100) == false || privateFuncThirdLevelList.Contains(101) == false || privateFuncThirdLevelList.Contains(102) == false || privateFuncThirdLevelList.Contains(200) == false || privateFuncThirdLevelList.Contains(201) == false || privateFuncThirdLevelList.Contains(202) == false || privateFuncThirdLevelList.Contains(300) == false || privateFuncThirdLevelList.Contains(301) == false || privateFuncThirdLevelList.Contains(302) == false || privateFuncThirdLevelList.Contains(303) == false || privateFuncThirdLevelList.Contains(304) == false)
+                                                        //{
+                                                        //    privateFuncThirdLevelList.Add(Convert.ToInt32(listData[curIndex + 2] + listData[curIndex + 3].ToString() + listData[curIndex].ToString() + listData[curIndex + 1].ToString(), 16)); ;
+                                                        //}
                                                     }
                                                 }
                                                 break;
@@ -181,11 +280,10 @@
 
                 try
                 {
-                    OpenPassthroughControl(Gateway);
                     var passData = SendPanelPrivateFunctions(args);
                     var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } };
                     var data = new JObject { { "PassData", passData } };
-                    jObject.Add("Data", data);
+                    jObject.Add("Data", data);
                     Gateway.Send("ClientDataPassthrough", jObject.ToString());
                 }
                 catch { }
@@ -233,7 +331,7 @@
         }
 
         /// <summary>
-        /// PIR閰嶇疆鍙傛暟鍥炲
+        /// 閰嶇疆鍙傛暟鍥炲
         /// </summary>
         public PanelPrivateFunctionsResponseInfo panelPrivateFunctionsResponseInfo;
         [System.Serializable]
@@ -245,8 +343,8 @@
             /// <para>2:绗簩绾у埆</para>
             /// <para>3:绗笁绾у埆</para>
             /// </summary>
-            public int funLevel = -1;
-
+            public int funLevel = -1;
+
             /// <summary>
             /// 绉佹湁鍔熻兘绫�
             /// <para>256:Key,鎸夐敭绫荤被 </para>
@@ -285,8 +383,8 @@
             /// <para>303:CurtainUpStop,绐楀笜涓婂崌鍋�</para>
             /// <para>304:CurtainDownstop,绐楀笜涓嬮檷鍋�</para>
             /// </summary>
-            public List<int> privateFuncTypeLevelThirdList = new List<int>();
-
+            public List<int> privateFuncTypeLevelThirdList = new List<int>();
+
         }
 
         /// <summary>
@@ -306,7 +404,7 @@
             string addDataLength = "";
             string value0 = "";
             string value1 = "";
-            string value2 = "";
+            string value2 = "";
             try
             {
 
@@ -316,18 +414,18 @@
                     {
                         dataLength = string.Concat(0, 2 * args.Length + 5);
                     }
-                    else
-                    {
+                    else
+                    {
                         dataLength = Convert.ToString(2 * args.Length + 5, 16);
-                    }
-
-
+                    }
+
+
                     if (Convert.ToString(2 * args.Length, 16).Length == 1)
                     {
                         addDataLength = string.Concat(0, 2 * args.Length + 1);
                     }
                     else
-                    {
+                    {
                         addDataLength = Convert.ToString(2 * args.Length + 1, 16);
                     }
 
@@ -336,7 +434,7 @@
                         switch (args.Length)
                         {
                             case 1:
-                                value0 = "02";
+                                value0 = "02";
                                 switch (args[0])
                                 {
                                     case 1024:
@@ -396,15 +494,15 @@
                                     case 768:
                                         value1 = "0003";
                                         break;
-                                }
-
-                                break;
-                        }
+                                }
+
+                                break;
+                        }
                     }
 
-                }
-                else
-                {
+                }
+                else
+                {
                     dataLength = "05";
                     addDataLength = "01";
                     value0 = "01";
@@ -412,8 +510,8 @@
                 data = dataLength + dataComand1 + dataComand2 + dataSerialNum + addDataLength +
                         value0 + value1 + value2;
             }
-            catch { };
-
+            catch { };
+
             return data;
         }
 
@@ -428,7 +526,7 @@
             /// <para>768:PIR,PIR绫�</para>
             /// <para>1024:Light,鐏被</para>
             /// </summary>
-            public int privateFuncTypeOne;
+            public int privateFuncTypeOne;
         }
 
         /// <summary>
@@ -448,8 +546,8 @@
             /// <para>102:RGBLevel,RGB鎸囩ず鐏寒搴︼紙鐏被锛�</para>
             /// </summary>
             public int privateFuncTypeTwo;
-        }
-
+        }
+
         /// <summary>
         /// 绉佹湁鍔熻兘绫伙紙绗笁绾у埆锛変俊鎭�
         /// </summary>
@@ -488,6 +586,7 @@
             {
                 return null;
             }
+
             return result.panelPrivateFunctionsResponseInfo.privateFuncTypeLevelFirstList;
         }
 
@@ -617,11 +716,10 @@
 
                 try
                 {
-                    OpenPassthroughControl(Gateway);
                     var passData = ControlKeyData(keyNum, keyStatus);
                     var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } };
                     var data = new JObject { { "PassData", passData } };
-                    jObject.Add("Data", data);
+                    jObject.Add("Data", data);
                     Gateway.Send(("ClientDataPassthrough"), jObject.ToString());
                 }
                 catch { }
@@ -697,8 +795,8 @@
 
                 string td = attributeData.ToString("X4");
                 char[] td1 = td.ToCharArray();
-                string tempAttributeData = string.Concat(td1[2].ToString(), td1[3].ToString(), td1[0].ToString(), td1[1].ToString());
-
+                string tempAttributeData = string.Concat(td1[2].ToString(), td1[3].ToString(), td1[0].ToString(), td1[1].ToString());
+
                 switch (keyStatus)
                 {
                     case KeyStatus.close:
@@ -792,11 +890,10 @@
 
                 try
                 {
-                    OpenPassthroughControl(Gateway);
                     var passData = SetPanelColorData(keyColorData, keyNumStatus);
                     var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } };
                     var data = new JObject { { "PassData", passData } };
-                    jObject.Add("Data", data);
+                    jObject.Add("Data", data);
                     Gateway.Send(("ClientDataPassthrough"), jObject.ToString());
                 }
                 catch { }
@@ -866,14 +963,14 @@
                     Type type = keyNumStatus.GetType();
                     var obj = type.InvokeMember("Key" + i, System.Reflection.BindingFlags.GetField, null, keyNumStatus, null);
                     int value0 = 0;
-                    if (Convert.ToBoolean(obj) == true)
-                    {
+                    if (Convert.ToBoolean(obj) == true)
+                    {
                         value0 = 1;
                     }
                     int v = (int)Math.Pow(2, i - 1);
                     attributeData += value0 * v;
-                }
-
+                }
+
                 string td = attributeData.ToString("X4");
                 char[] td1 = td.ToCharArray();
                 string tempAttributeData = string.Concat(td1[2].ToString(), td1[3].ToString(), td1[0].ToString(), td1[1].ToString());
@@ -1168,11 +1265,10 @@
 
                 try
                 {
-                    OpenPassthroughControl(Gateway);
                     var passData = SetPanelLevelData(directionsLevel, backlightLevel);
                     var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } };
                     var data = new JObject { { "PassData", passData } };
-                    jObject.Add("Data", data);
+                    jObject.Add("Data", data);
                     Gateway.Send(("ClientDataPassthrough"), jObject.ToString());
                 }
                 catch { }
@@ -1320,11 +1416,10 @@
 
                 try
                 {
-                    OpenPassthroughControl(Gateway);
                     var passData = SetPanelModeModeData(modeEnable, modeTime, level);
                     var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } };
                     var data = new JObject { { "PassData", passData } };
-                    jObject.Add("Data", data);
+                    jObject.Add("Data", data);
                     Gateway.Send(("ClientDataPassthrough"), jObject.ToString());
                 }
                 catch { }
@@ -1362,7 +1457,7 @@
             string addDataLength = "03";
             string mode = "";
             string time = "";
-            string level = "";
+            string level = "";
             try
             {
                 if (modeEnable)
@@ -1396,7 +1491,7 @@
                         level = temp2;
                         break;
                 }
-
+
                 sbString1.Append(time.ToUpper());
                 sbString2.Append(level.ToUpper());
                 data = dataLength + dataComand1 + dataComand2 + dataSerialNum + addDataLength +
@@ -1535,11 +1630,10 @@
 
                 try
                 {
-                    OpenPassthroughControl(Gateway);
                     var passData = GetkeyColorData(keyNum);
                     var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } };
                     var data = new JObject { { "PassData", passData } };
-                    jObject.Add("Data", data);
+                    jObject.Add("Data", data);
                     Gateway.Send(("ClientDataPassthrough"), jObject.ToString());
                 }
                 catch { }
@@ -1734,11 +1828,10 @@
 
                 try
                 {
-                    OpenPassthroughControl(Gateway);
                     var passData = SendPanelSwitchLevelData(reserve);
                     var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } };
                     var data = new JObject { { "PassData", passData } };
-                    jObject.Add("Data", data);
+                    jObject.Add("Data", data);
                     Gateway.Send(("ClientDataPassthrough"), jObject.ToString());
                 }
                 catch { }
@@ -1890,15 +1983,14 @@
                 };
 
                 Gateway.Actions += action;
-                System.Console.WriteLine("ClientDataPassthrough_Actions 鍚姩" + System.DateTime.Now.ToString());
-
+                System.Console.WriteLine("ClientDataPassthrough_Actions 鍚姩" + System.DateTime.Now.ToString());
+
                 try
                 {
-                    OpenPassthroughControl(Gateway);
                     var passData = SendPanelSaveEnergyModeData(reserve);
                     var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } };
                     var data = new JObject { { "PassData", passData } };
-                    jObject.Add("Data", data);
+                    jObject.Add("Data", data);
                     Gateway.Send(("ClientDataPassthrough"), jObject.ToString());
                 }
                 catch { }
@@ -1991,401 +2083,401 @@
             /// 鑺傝兘妯″紡浜害(0-100)
             /// </summary>
             public int level = -1;
-        }
+        }
         #endregion
-
+
         #region 閰嶇疆鎸夐敭鎸囩ず鐏潯鐪犵粍鍒嗭紙鏆傛椂涓嶅仛锛�
         ///<summary >
         ///鑾峰彇鎸夐敭鎸囩ず鐏潯鐪犵粍
         ///<para>sleepGroup:鐫$湢缁勫彿</para>
         /// </summary>
-        //public async System.Threading.Tasks.Task<PanelSleepGroupResponseAllData> GetPanelSleepGroupAsync(SleepGroup sleepGroup)
-        //{
-        //    PanelSleepGroupResponseAllData result = null;
-        //    if (Gateway == null)
-        //    {
-        //        result = new PanelSleepGroupResponseAllData { errorMessageBase = "褰撳墠娌℃湁缃戝叧" };
-        //        return result;
-        //    }
-        //    return await System.Threading.Tasks.Task.Run(async () =>
-        //    {
-        //        Action<string, string> action = (topic, message) =>
-        //        {
-        //            var gatewayID = topic.Split('/')[0];
-        //            var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
-
-        //            if (topic == gatewayID + "/" + "Error_Respon")
-        //            {
-        //                var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID };
-        //                var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString());
-
-        //                if (temp == null)
-        //                {
-        //                    result = new PanelSleepGroupResponseAllData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" };
-        //                }
-
-        //                else
-        //                {
-        //                    result = new PanelSleepGroupResponseAllData { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) };
-        //                }
-        //            }
-        //            if (topic == gatewayID + "/" + "ZbDataPassthrough")
-        //            {
-        //                var gatewayTemp = new ZbGateway() { DataID = jobject.Value<int>("Data_ID") };
-        //                gatewayTemp.clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString());
-
-        //                if (gatewayTemp.clientDataPassthroughResponseData == null)
-        //                {
-        //                    result = new PanelSleepGroupResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
-        //                }
-        //                else
-        //                {
-        //                    if (gatewayTemp.clientDataPassthroughResponseData?.PassData != null)
-        //                    {
-        //                        var data = gatewayTemp.clientDataPassthroughResponseData.PassData;
-        //                        if (data.Length == 14)
-        //                        {
-        //                            var tempR = new PanelSleepGroupResponseData();
-        //                            tempR.status = int.Parse(data[12].ToString() + data[13].ToString());
-        //                            switch (data[10].ToString() + data[11].ToString())
-        //                            {
-        //                                case "01":
-        //                                    tempR.sleepGroupNum = SleepGroupNum.Group1;
-        //                                    break;
-        //                                case "02":
-        //                                    tempR.sleepGroupNum = SleepGroupNum.Group2;
-        //                                    break;
-        //                                case "03":
-        //                                    tempR.sleepGroupNum = SleepGroupNum.Group3;
-        //                                    break;
-        //                                case "04":
-        //                                    tempR.sleepGroupNum = SleepGroupNum.Group4;
-        //                                    break;
-        //                                case "05":
-        //                                    tempR.sleepGroupNum = SleepGroupNum.Group5;
-        //                                    break;
-        //                                case "06":
-        //                                    tempR.sleepGroupNum = SleepGroupNum.Group6;
-        //                                    break;
-        //                                case "07":
-        //                                    tempR.sleepGroupNum = SleepGroupNum.Group7;
-        //                                    break;
-        //                                case "08":
-        //                                    tempR.sleepGroupNum = SleepGroupNum.Group8;
-        //                                    break;
-        //                                case "09":
-        //                                    tempR.sleepGroupNum = SleepGroupNum.Group9;
-        //                                    break;
-        //                                case "0a":
-        //                                    tempR.sleepGroupNum = SleepGroupNum.Group10;
-        //                                    break;
-        //                                case "0b":
-        //                                    tempR.sleepGroupNum = SleepGroupNum.Group11;
-        //                                    break;
-        //                                case "0c":
-        //                                    tempR.sleepGroupNum = SleepGroupNum.Group12;
-        //                                    break;
-        //                                case "0d":
-        //                                    tempR.sleepGroupNum = SleepGroupNum.Group13;
-        //                                    break;
-        //                                case "0e":
-        //                                    tempR.sleepGroupNum = SleepGroupNum.Group14;
-        //                                    break;
-        //                                case "0f":
-        //                                    tempR.sleepGroupNum = SleepGroupNum.Group15;
-        //                                    break;
-        //                            }
-        //                            result = new PanelSleepGroupResponseAllData { panelSleepGroupResponseData = tempR };
-        //                        }
-        //                    }
-        //                    System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
-        //                }
-        //            }
-        //        };
-
-        //        Gateway.Actions += action;
-        //        System.Console.WriteLine("ClientDataPassthrough_Actions 鍚姩" + System.DateTime.Now.ToString());
-
-        //        try
-        //        {
-        //            OpenPassthroughControl(Gateway);
-        //            var passData = SetPanelSleepGroupData(sleepGroup);
-        //            var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } };
-        //            var data = new JObject { { "PassData", passData } };
-        //            jObject.Add("Data", data);
-        //            CurrentGateWayId = Gateway.getGatewayBaseInfo?.gwID;
-        //            Gateway.Send(("ClientDataPassthrough"), jObject.ToString());
-        //        }
-        //        catch { }
-
-        //        var dateTime = DateTime.Now;
-        //        while ((DateTime.Now - dateTime).TotalMilliseconds < WaitReceiveDataTime)
-        //        {
-        //            await System.Threading.Tasks.Task.Delay(10);
-        //            if (result != null)
-        //            {
-        //                break;
-        //            }
-        //        }
-        //        if ((DateTime.Now - dateTime).TotalMilliseconds > WaitReceiveDataTime)
-        //        {
-        //            result = new PanelSleepGroupResponseAllData { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
-        //        }
-        //        Gateway.Actions -= action;
-        //        System.Console.WriteLine("ClientDataPassthrough_Actions 閫�鍑�" + System.DateTime.Now.ToString());
-
-        //        return result;
-        //    });
-        //}
-
-        ///// <summary>
-        ///// 缁戝畾璁惧淇℃伅,缃戝叧鍙嶉淇℃伅
-        ///// </summary>
-        //public PanelSleepGroupResponseAllData panelSleepGroupResponseAllData;
-        //[System.Serializable]
-        //public class PanelSleepGroupResponseAllData
-        //{
-        //    /// <summary>
-        //    /// 閿欒淇℃伅
-        //    /// </summary>
-        //    public string errorMessageBase;
-        //    /// <summary>
-        //    /// 缃戝叧淇℃伅閿欒鍙嶉
-        //    /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
-        //    /// </summary>
-        //    public ErrorResponData errorResponData;
-        //    /// <summary>
-        //    /// 缁戝畾璁惧淇℃伅
-        //    /// </summary>
-        //    public PanelSleepGroupResponseData panelSleepGroupResponseData;
-        //}
-
-        ///// <summary>
-        ///// 缁戝畾璁惧淇℃伅,缃戝叧鍙嶉淇℃伅
-        ///// </summary>
-        //public PanelSleepGroupResponseData panelSleepGroupResponseData;
-        //[System.Serializable]
-        //public class PanelSleepGroupResponseData
-        //{
-        //    /// <summary>
-        //    /// 鐫$湢缁勫彿
-        //    /// </summary>
-        //    public SleepGroupNum sleepGroupNum;
-        //    /// <summary>
-        //    /// 鐘舵��
-        //    /// <para>0--鎵ц 1鈥斿敜閱�</para>
-        //    /// </summary>
-        //    public int status;
-        //}
-
-        ///// <summary>
-        ///// 閰嶇疆鎸夐敭鎸囩ず鐏潯鐪犵粍鍒嗗尯
-        ///// </summary>
-        //string SetPanelSleepGroupData(SleepGroup sleepGroup)
-        //{
-        //    string data = "";
-        //    string dataLength = "06";
-        //    string dataComand1 = "0a";
-        //    string dataComand2 = "04";
-        //    string dataSerialNum = "01";
-        //    string addDataLength = "02";
-        //    int attributeData = 0;
-
-        //    try
-        //    {
-        //        int bit0 = 0, bit1 = 0, bit2 = 0, bit3 = 0, bit4 = 0, bit5 = 0, bit6 = 0, bit7 = 0, bit8 = 0, bit9 = 0, bit10 = 0, bit11 = 0, bit12 = 0, bit13 = 0, bit14 = 0, bit15 = 0;
-        //        if (sleepGroup != null)
-        //        {
-        //            if (sleepGroup.bit0)
-        //            {
-        //                bit0 = 1;
-        //            }
-        //            if (sleepGroup.bit1)
-        //            {
-        //                bit1 = 1;
-        //            }
-        //            if (sleepGroup.bit2)
-        //            {
-        //                bit2 = 1;
-        //            }
-        //            if (sleepGroup.bit3)
-        //            {
-        //                bit3 = 1;
-        //            }
-        //            if (sleepGroup.bit4)
-        //            {
-        //                bit4 = 1;
-        //            }
-        //            if (sleepGroup.bit5)
-        //            {
-        //                bit5 = 1;
-        //            }
-        //            if (sleepGroup.bit6)
-        //            {
-        //                bit6 = 1;
-        //            }
-        //            if (sleepGroup.bit7)
-        //            {
-        //                bit7 = 1;
-        //            }
-        //            if (sleepGroup.bit8)
-        //            {
-        //                bit8 = 1;
-        //            }
-        //            if (sleepGroup.bit9)
-        //            {
-        //                bit9 = 1;
-        //            }
-        //            if (sleepGroup.bit10)
-        //            {
-        //                bit10 = 1;
-        //            }
-        //            if (sleepGroup.bit11)
-        //            {
-        //                bit11 = 1;
-        //            }
-        //            if (sleepGroup.bit12)
-        //            {
-        //                bit12 = 1;
-        //            }
-        //            if (sleepGroup.bit13)
-        //            {
-        //                bit13 = 1;
-        //            }
-        //            if (sleepGroup.bit14)
-        //            {
-        //                bit14 = 1;
-        //            }
-        //            if (sleepGroup.bit15)
-        //            {
-        //                bit15 = 1;
-        //            }
-        //            attributeData = bit0 * 1 + bit1 * 2 + bit2 * 4 + bit3 * 8 + bit4 * 16 + bit5 * 32 + bit6 * 64 + bit7 * 128 + bit8 * 256 + bit9 * 512 + bit10 * 1024 + bit11 * 2048 + bit12 * 4096 + bit13 * 8192 + bit14 * 16384 + bit15 * 32768;
-        //        }
-        //        string tempAttributeData = attributeData.ToString("X4");
-
-        //        if (sleepGroup != null)
-        //        {
-        //            data = dataLength + dataComand1 + dataComand2 + dataSerialNum + addDataLength +
-        //                   tempAttributeData;
-        //        }
-        //    }
-        //    catch { };
-
-        //    return data;
-        //}
-
-        ///// <summary>
-        ///// 鐫$湢缁勫彿锛堝彲浣嶆垨锛�
-        ///// </summary>
-        //public class SleepGroup
-        //{
-        //    /// <summary>
-        //    /// false:鍏�
-        //    /// true:寮�
-        //    /// </summary>
-        //    public bool bit0;
-        //    /// <summary>
-        //    /// false:鍏�
-        //    /// true:寮�
-        //    /// </summary>
-        //    public bool bit1;
-        //    /// <summary>
-        //    /// false:鍏�
-        //    /// true:寮�
-        //    /// </summary>
-        //    public bool bit2;
-        //    /// <summary>
-        //    /// false:鍏�
-        //    /// true:寮�
-        //    /// </summary>
-        //    public bool bit3;
-        //    /// <summary>
-        //    /// false:鍏�
-        //    /// true:寮�
-        //    /// </summary>
-        //    public bool bit4;
-        //    /// <summary>
-        //    /// false:鍏�
-        //    /// true:寮�
-        //    /// </summary>
-        //    public bool bit5;
-        //    /// <summary>
-        //    /// false:鍏�
-        //    /// true:寮�
-        //    /// </summary>
-        //    public bool bit6;
-        //    /// <summary>
-        //    /// false:鍏�
-        //    /// true:寮�
-        //    /// </summary>
-        //    public bool bit7;
-        //    /// <summary>
-        //    /// false:鍏�
-        //    /// true:寮�
-        //    /// </summary>
-        //    public bool bit8;
-        //    /// <summary>
-        //    /// false:鍏�
-        //    /// true:寮�
-        //    /// </summary>
-        //    public bool bit9;
-        //    /// <summary>
-        //    /// false:鍏�
-        //    /// true:寮�
-        //    /// </summary>
-        //    public bool bit10;
-        //    /// <summary>
-        //    /// false:鍏�
-        //    /// true:寮�
-        //    /// </summary>
-        //    public bool bit11;
-        //    /// <summary>
-        //    /// false:鍏�
-        //    /// true:寮�
-        //    /// </summary>
-        //    public bool bit12;
-        //    /// <summary>
-        //    /// false:鍏�
-        //    /// true:寮�
-        //    /// </summary>
-        //    public bool bit13;
-        //    /// <summary>
-        //    /// false:鍏�
-        //    /// true:寮�
-        //    /// </summary>
-        //    public bool bit14;
-        //    /// <summary>
-        //    /// false:鍏�
-        //    /// true:寮�
-        //    /// </summary>
-        //    public bool bit15;
-        //}
-
-        ///// <summary>
-        ///// 鎵ц鎸夐敭鎸囩ず鐏潯鐪犵粍
-        ///// </summary>
-        //public enum SleepGroupNum
-        //{
-        //    Group1 = 1,
-        //    Group2 = 2,
-        //    Group3 = 3,
-        //    Group4 = 4,
-        //    Group5 = 5,
-        //    Group6 = 6,
-        //    Group7 = 7,
-        //    Group8 = 8,
-        //    Group9 = 9,
-        //    Group10 = 10,
-        //    Group11 = 11,
-        //    Group12 = 12,
-        //    Group13 = 13,
-        //    Group14 = 14,
-        //    Group15 = 15,
-        //    Group16 = 16,
-        //}
+        //public async System.Threading.Tasks.Task<PanelSleepGroupResponseAllData> GetPanelSleepGroupAsync(SleepGroup sleepGroup)
+        //{
+        //    PanelSleepGroupResponseAllData result = null;
+        //    if (Gateway == null)
+        //    {
+        //        result = new PanelSleepGroupResponseAllData { errorMessageBase = "褰撳墠娌℃湁缃戝叧" };
+        //        return result;
+        //    }
+        //    return await System.Threading.Tasks.Task.Run(async () =>
+        //    {
+        //        Action<string, string> action = (topic, message) =>
+        //        {
+        //            var gatewayID = topic.Split('/')[0];
+        //            var jobject = Newtonsoft.Json.Linq.JObject.Parse(message);
+
+        //            if (topic == gatewayID + "/" + "Error_Respon")
+        //            {
+        //                var gatewayTemp = new ZbGateway() { Time = jobject.Value<int>("Time"), DataID = jobject.Value<int>("Data_ID"), CurrentGateWayId = Gateway.getGatewayBaseInfo.gwID };
+        //                var temp = Newtonsoft.Json.JsonConvert.DeserializeObject<ZbGateway.ErrorResponData>(jobject["Data"].ToString());
+
+        //                if (temp == null)
+        //                {
+        //                    result = new PanelSleepGroupResponseAllData { errorMessageBase = "缃戝叧閿欒鍥炲锛屼笖鏁版嵁鏄┖" };
+        //                }
+
+        //                else
+        //                {
+        //                    result = new PanelSleepGroupResponseAllData { errorResponData = temp, errorMessageBase = ErrorMess(temp.Error) };
+        //                }
+        //            }
+        //            if (topic == gatewayID + "/" + "ZbDataPassthrough")
+        //            {
+        //                var gatewayTemp = new ZbGateway() { DataID = jobject.Value<int>("Data_ID") };
+        //                gatewayTemp.clientDataPassthroughResponseData = Newtonsoft.Json.JsonConvert.DeserializeObject<ClientDataPassthroughResponseData>(jobject["Data"].ToString());
+
+        //                if (gatewayTemp.clientDataPassthroughResponseData == null)
+        //                {
+        //                    result = new PanelSleepGroupResponseAllData { errorMessageBase = "缃戝叧杩斿洖鐨勬暟鎹负绌�" };
+        //                }
+        //                else
+        //                {
+        //                    if (gatewayTemp.clientDataPassthroughResponseData?.PassData != null)
+        //                    {
+        //                        var data = gatewayTemp.clientDataPassthroughResponseData.PassData;
+        //                        if (data.Length == 14)
+        //                        {
+        //                            var tempR = new PanelSleepGroupResponseData();
+        //                            tempR.status = int.Parse(data[12].ToString() + data[13].ToString());
+        //                            switch (data[10].ToString() + data[11].ToString())
+        //                            {
+        //                                case "01":
+        //                                    tempR.sleepGroupNum = SleepGroupNum.Group1;
+        //                                    break;
+        //                                case "02":
+        //                                    tempR.sleepGroupNum = SleepGroupNum.Group2;
+        //                                    break;
+        //                                case "03":
+        //                                    tempR.sleepGroupNum = SleepGroupNum.Group3;
+        //                                    break;
+        //                                case "04":
+        //                                    tempR.sleepGroupNum = SleepGroupNum.Group4;
+        //                                    break;
+        //                                case "05":
+        //                                    tempR.sleepGroupNum = SleepGroupNum.Group5;
+        //                                    break;
+        //                                case "06":
+        //                                    tempR.sleepGroupNum = SleepGroupNum.Group6;
+        //                                    break;
+        //                                case "07":
+        //                                    tempR.sleepGroupNum = SleepGroupNum.Group7;
+        //                                    break;
+        //                                case "08":
+        //                                    tempR.sleepGroupNum = SleepGroupNum.Group8;
+        //                                    break;
+        //                                case "09":
+        //                                    tempR.sleepGroupNum = SleepGroupNum.Group9;
+        //                                    break;
+        //                                case "0a":
+        //                                    tempR.sleepGroupNum = SleepGroupNum.Group10;
+        //                                    break;
+        //                                case "0b":
+        //                                    tempR.sleepGroupNum = SleepGroupNum.Group11;
+        //                                    break;
+        //                                case "0c":
+        //                                    tempR.sleepGroupNum = SleepGroupNum.Group12;
+        //                                    break;
+        //                                case "0d":
+        //                                    tempR.sleepGroupNum = SleepGroupNum.Group13;
+        //                                    break;
+        //                                case "0e":
+        //                                    tempR.sleepGroupNum = SleepGroupNum.Group14;
+        //                                    break;
+        //                                case "0f":
+        //                                    tempR.sleepGroupNum = SleepGroupNum.Group15;
+        //                                    break;
+        //                            }
+        //                            result = new PanelSleepGroupResponseAllData { panelSleepGroupResponseData = tempR };
+        //                        }
+        //                    }
+        //                    System.Console.WriteLine($"UI鏀跺埌閫氱煡鍚庣殑涓婚_{ topic}");
+        //                }
+        //            }
+        //        };
+
+        //        Gateway.Actions += action;
+        //        System.Console.WriteLine("ClientDataPassthrough_Actions 鍚姩" + System.DateTime.Now.ToString());
+
+        //        try
+        //        {
+        //            OpenPassthroughControl(Gateway);
+        //            var passData = SetPanelSleepGroupData(sleepGroup);
+        //            var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", 200 }, { "Cluster_ID", 64513 }, { "Command", 0 } };
+        //            var data = new JObject { { "PassData", passData } };
+        //            jObject.Add("Data", data);
+        //            CurrentGateWayId = Gateway.getGatewayBaseInfo?.gwID;
+        //            Gateway.Send(("ClientDataPassthrough"), jObject.ToString());
+        //        }
+        //        catch { }
+
+        //        var dateTime = DateTime.Now;
+        //        while ((DateTime.Now - dateTime).TotalMilliseconds < WaitReceiveDataTime)
+        //        {
+        //            await System.Threading.Tasks.Task.Delay(10);
+        //            if (result != null)
+        //            {
+        //                break;
+        //            }
+        //        }
+        //        if ((DateTime.Now - dateTime).TotalMilliseconds > WaitReceiveDataTime)
+        //        {
+        //            result = new PanelSleepGroupResponseAllData { errorMessageBase = " 鍥炲瓒呮椂锛岃閲嶆柊鎿嶄綔" };
+        //        }
+        //        Gateway.Actions -= action;
+        //        System.Console.WriteLine("ClientDataPassthrough_Actions 閫�鍑�" + System.DateTime.Now.ToString());
+
+        //        return result;
+        //    });
+        //}
+
+        ///// <summary>
+        ///// 缁戝畾璁惧淇℃伅,缃戝叧鍙嶉淇℃伅
+        ///// </summary>
+        //public PanelSleepGroupResponseAllData panelSleepGroupResponseAllData;
+        //[System.Serializable]
+        //public class PanelSleepGroupResponseAllData
+        //{
+        //    /// <summary>
+        //    /// 閿欒淇℃伅
+        //    /// </summary>
+        //    public string errorMessageBase;
+        //    /// <summary>
+        //    /// 缃戝叧淇℃伅閿欒鍙嶉
+        //    /// <para>褰撶綉鍏虫帴鏀跺埌瀹㈡埛绔俊鎭悗锛屽嚭鐜颁互涓嬪紓甯告儏鍐靛皢鍙嶉閿欒銆�</para>
+        //    /// </summary>
+        //    public ErrorResponData errorResponData;
+        //    /// <summary>
+        //    /// 缁戝畾璁惧淇℃伅
+        //    /// </summary>
+        //    public PanelSleepGroupResponseData panelSleepGroupResponseData;
+        //}
+
+        ///// <summary>
+        ///// 缁戝畾璁惧淇℃伅,缃戝叧鍙嶉淇℃伅
+        ///// </summary>
+        //public PanelSleepGroupResponseData panelSleepGroupResponseData;
+        //[System.Serializable]
+        //public class PanelSleepGroupResponseData
+        //{
+        //    /// <summary>
+        //    /// 鐫$湢缁勫彿
+        //    /// </summary>
+        //    public SleepGroupNum sleepGroupNum;
+        //    /// <summary>
+        //    /// 鐘舵��
+        //    /// <para>0--鎵ц 1鈥斿敜閱�</para>
+        //    /// </summary>
+        //    public int status;
+        //}
+
+        ///// <summary>
+        ///// 閰嶇疆鎸夐敭鎸囩ず鐏潯鐪犵粍鍒嗗尯
+        ///// </summary>
+        //string SetPanelSleepGroupData(SleepGroup sleepGroup)
+        //{
+        //    string data = "";
+        //    string dataLength = "06";
+        //    string dataComand1 = "0a";
+        //    string dataComand2 = "04";
+        //    string dataSerialNum = "01";
+        //    string addDataLength = "02";
+        //    int attributeData = 0;
+
+        //    try
+        //    {
+        //        int bit0 = 0, bit1 = 0, bit2 = 0, bit3 = 0, bit4 = 0, bit5 = 0, bit6 = 0, bit7 = 0, bit8 = 0, bit9 = 0, bit10 = 0, bit11 = 0, bit12 = 0, bit13 = 0, bit14 = 0, bit15 = 0;
+        //        if (sleepGroup != null)
+        //        {
+        //            if (sleepGroup.bit0)
+        //            {
+        //                bit0 = 1;
+        //            }
+        //            if (sleepGroup.bit1)
+        //            {
+        //                bit1 = 1;
+        //            }
+        //            if (sleepGroup.bit2)
+        //            {
+        //                bit2 = 1;
+        //            }
+        //            if (sleepGroup.bit3)
+        //            {
+        //                bit3 = 1;
+        //            }
+        //            if (sleepGroup.bit4)
+        //            {
+        //                bit4 = 1;
+        //            }
+        //            if (sleepGroup.bit5)
+        //            {
+        //                bit5 = 1;
+        //            }
+        //            if (sleepGroup.bit6)
+        //            {
+        //                bit6 = 1;
+        //            }
+        //            if (sleepGroup.bit7)
+        //            {
+        //                bit7 = 1;
+        //            }
+        //            if (sleepGroup.bit8)
+        //            {
+        //                bit8 = 1;
+        //            }
+        //            if (sleepGroup.bit9)
+        //            {
+        //                bit9 = 1;
+        //            }
+        //            if (sleepGroup.bit10)
+        //            {
+        //                bit10 = 1;
+        //            }
+        //            if (sleepGroup.bit11)
+        //            {
+        //                bit11 = 1;
+        //            }
+        //            if (sleepGroup.bit12)
+        //            {
+        //                bit12 = 1;
+        //            }
+        //            if (sleepGroup.bit13)
+        //            {
+        //                bit13 = 1;
+        //            }
+        //            if (sleepGroup.bit14)
+        //            {
+        //                bit14 = 1;
+        //            }
+        //            if (sleepGroup.bit15)
+        //            {
+        //                bit15 = 1;
+        //            }
+        //            attributeData = bit0 * 1 + bit1 * 2 + bit2 * 4 + bit3 * 8 + bit4 * 16 + bit5 * 32 + bit6 * 64 + bit7 * 128 + bit8 * 256 + bit9 * 512 + bit10 * 1024 + bit11 * 2048 + bit12 * 4096 + bit13 * 8192 + bit14 * 16384 + bit15 * 32768;
+        //        }
+        //        string tempAttributeData = attributeData.ToString("X4");
+
+        //        if (sleepGroup != null)
+        //        {
+        //            data = dataLength + dataComand1 + dataComand2 + dataSerialNum + addDataLength +
+        //                   tempAttributeData;
+        //        }
+        //    }
+        //    catch { };
+
+        //    return data;
+        //}
+
+        ///// <summary>
+        ///// 鐫$湢缁勫彿锛堝彲浣嶆垨锛�
+        ///// </summary>
+        //public class SleepGroup
+        //{
+        //    /// <summary>
+        //    /// false:鍏�
+        //    /// true:寮�
+        //    /// </summary>
+        //    public bool bit0;
+        //    /// <summary>
+        //    /// false:鍏�
+        //    /// true:寮�
+        //    /// </summary>
+        //    public bool bit1;
+        //    /// <summary>
+        //    /// false:鍏�
+        //    /// true:寮�
+        //    /// </summary>
+        //    public bool bit2;
+        //    /// <summary>
+        //    /// false:鍏�
+        //    /// true:寮�
+        //    /// </summary>
+        //    public bool bit3;
+        //    /// <summary>
+        //    /// false:鍏�
+        //    /// true:寮�
+        //    /// </summary>
+        //    public bool bit4;
+        //    /// <summary>
+        //    /// false:鍏�
+        //    /// true:寮�
+        //    /// </summary>
+        //    public bool bit5;
+        //    /// <summary>
+        //    /// false:鍏�
+        //    /// true:寮�
+        //    /// </summary>
+        //    public bool bit6;
+        //    /// <summary>
+        //    /// false:鍏�
+        //    /// true:寮�
+        //    /// </summary>
+        //    public bool bit7;
+        //    /// <summary>
+        //    /// false:鍏�
+        //    /// true:寮�
+        //    /// </summary>
+        //    public bool bit8;
+        //    /// <summary>
+        //    /// false:鍏�
+        //    /// true:寮�
+        //    /// </summary>
+        //    public bool bit9;
+        //    /// <summary>
+        //    /// false:鍏�
+        //    /// true:寮�
+        //    /// </summary>
+        //    public bool bit10;
+        //    /// <summary>
+        //    /// false:鍏�
+        //    /// true:寮�
+        //    /// </summary>
+        //    public bool bit11;
+        //    /// <summary>
+        //    /// false:鍏�
+        //    /// true:寮�
+        //    /// </summary>
+        //    public bool bit12;
+        //    /// <summary>
+        //    /// false:鍏�
+        //    /// true:寮�
+        //    /// </summary>
+        //    public bool bit13;
+        //    /// <summary>
+        //    /// false:鍏�
+        //    /// true:寮�
+        //    /// </summary>
+        //    public bool bit14;
+        //    /// <summary>
+        //    /// false:鍏�
+        //    /// true:寮�
+        //    /// </summary>
+        //    public bool bit15;
+        //}
+
+        ///// <summary>
+        ///// 鎵ц鎸夐敭鎸囩ず鐏潯鐪犵粍
+        ///// </summary>
+        //public enum SleepGroupNum
+        //{
+        //    Group1 = 1,
+        //    Group2 = 2,
+        //    Group3 = 3,
+        //    Group4 = 4,
+        //    Group5 = 5,
+        //    Group6 = 6,
+        //    Group7 = 7,
+        //    Group8 = 8,
+        //    Group9 = 9,
+        //    Group10 = 10,
+        //    Group11 = 11,
+        //    Group12 = 12,
+        //    Group13 = 13,
+        //    Group14 = 14,
+        //    Group15 = 15,
+        //    Group16 = 16,
+        //}
         #endregion
-
+
         #region 閰嶇疆闈㈡澘鍔熻兘
         ///<summary >
         ///閰嶇疆闈㈡澘鍔熻兘
@@ -2442,7 +2534,7 @@
                 {
                     var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 6 }, { "Command", 120 } };
                     var data = new JObject { { "Undivided", 0 }, { "AttributeId", 6533 }, { "AttributeDataType", 33 }, { "AttributeData", (int)value } };
-                    jObject.Add("Data", data);
+                    jObject.Add("Data", data);
                     Gateway.Send("SetWritableValue", jObject.ToString());
                 }
                 catch { }
@@ -2487,20 +2579,30 @@
             /// 寮�鍏崇被鍨嬧�斺�斿彇鍙�.
             /// </summary>
             OnOff_OnOff = 102,
-
             /// <summary>
-            /// 浜害绫诲瀷鈥斺�旇皟澶�.
+            /// 浜害绫诲瀷鈥斺�旀寜绛夌骇璋冨ぇ.
             /// </summary>
             Level_Step_Up = 200,
             /// <summary>
-            /// 浜害绫诲瀷鈥斺�旇皟灏�.
+            /// 浜害绫诲瀷鈥斺�旀寜绛夌骇璋冨皬.
             /// </summary>
             Level_Step_Down = 201,
             /// <summary>
-            /// 浜害绫诲瀷鈥斺�斿彇鍙�.
+            /// 浜害绫诲瀷鈥斺�旀寜绛夌骇鍙栧弽.
             /// </summary>
             Level_Step_Up_Down = 202,
-
+            /// <summary>
+            /// 浜害绫诲瀷鈥斺�斿彇鍙�.
+            /// </summary>
+            Level_Up = 203,
+            /// <summary>
+            /// 浜害绫诲瀷鈥斺�斿彇鍙�.
+            /// </summary>
+            Level_Down = 204,
+            /// <summary>
+            /// 浜害绫诲瀷鈥斺�斿彇鍙�.
+            /// </summary>
+            Level_Up_Down = 205,
             /// <summary>
             /// 绐楀笜绫诲瀷鈥斺�斿紑.
             /// </summary>
@@ -2521,6 +2623,10 @@
             /// 绐楀笜绫诲瀷鈥斺�斾笅闄嶅仠姝�.
             /// </summary>
             Wcd_Down_Stop = 304,
+            /// <summary>
+            /// 绐楀笜绫诲瀷鈥斺�斾笅闄嶅仠姝�.
+            /// </summary>
+            Default = 65535,
         }
         #endregion
 
@@ -2618,7 +2724,7 @@
                    }
                     };
                     var data = new JObject { { "AttriBute", attriBute } };
-                    JObject.Add("Data", data);
+                    JObject.Add("Data", data);
                     Gateway?.Send(("GetDeviceStatus"), JObject.ToString());
                 }
                 catch
@@ -2644,8 +2750,8 @@
 
                 return d;
             });
-        }
-
+        }
+
         /// <summary>
         /// 缃戝叧鎭㈠鍑哄巶璁剧疆杩斿洖鏁版嵁
         /// </summary>
@@ -2772,7 +2878,7 @@
         //            {"BindName",addBindData.BindName},
         //            { "BindList", bindList }
         //            };
-        //                jObject.Add("Data", data);
+        //                jObject.Add("Data", data);
         //                mainGateway.Send("Bind/SetBind", jObject.ToString());
         //            }
         //        }
@@ -3059,7 +3165,7 @@
         //                var data = new JObject {
         //            {"RemoveBindList",removeBindList}
         //             };
-        //                jObject.Add("Data", data);
+        //                jObject.Add("Data", data);
         //                mainGateway.Send("Bind/RemoveBind", jObject.ToString());
         //            }
         //        }
@@ -3305,7 +3411,7 @@
         //        try
         //        {
         //            System.Console.WriteLine("Bind/GetDeviceBind_Actions 鍚姩" + "_" + System.DateTime.Now.ToString());
-        //            var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 0 }, { "Command", 5007 } };
+        //            var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 0 }, { "Command", 5007 } };
         //            mainGateway.Send("Bind/GetDeviceBind", jObject.ToString());
         //        }
         //        catch { }
@@ -3458,7 +3564,7 @@
 
         //        try
         //        {
-        //            var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 0 }, { "Command", 5006 } };
+        //            var jObject = new JObject { { "DeviceAddr", DeviceAddr }, { "Epoint", DeviceEpoint }, { "Cluster_ID", 0 }, { "Command", 5006 } };
         //            Gateway.Send("Bind/ClearBindInfo", jObject.ToString());
         //        }
         //        catch { }

--
Gitblit v1.8.0