From 2fb0c39b09110be4f5a88a8c8004f03fc257f612 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期三, 06 一月 2021 11:11:53 +0800
Subject: [PATCH] 2021-1-6-1

---
 ZigbeeApp/Shared/Phone/Device/Logic/LogicIfon.cs          |   63 +++++-
 ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml                    |   25 +-
 ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide              |    0 
 ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs    |    4 
 ZigbeeApp/Shared/Phone/Device/Logic/LogicDveiceStatus.cs  |  103 -----------
 ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs |  306 +++++++++++++++++++++++++--------
 6 files changed, 292 insertions(+), 209 deletions(-)

diff --git a/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml b/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
index 5f107fb..42e7f3b 100644
--- a/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
+++ b/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml
@@ -1,17 +1,16 @@
 锘�<Properties StartupConfiguration="{28EDE1FF-20EF-476B-8AF8-24A3EEB69F45}|Default">
   <MonoDevelop.Ide.ItemProperties.GateWay.Droid PreferredExecutionTarget="Android.4b65c4650918" />
   <MonoDevelop.Ide.ItemProperties.ShardLib PreferredExecutionTarget="Android.4b65c4650918" />
-  <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/Device/Logic/LogicDveiceStatus.cs">
+  <MonoDevelop.Ide.Workbench ActiveDocument="Shared/Phone/Device/Logic/PublicInterface.cs">
     <Files>
-      <File FileName="Home.Ios/Resources/Language.ini" Line="659" Column="10" IsPinned="True" />
-      <File FileName="Shared/Phone/Device/Logic/LogicDveiceStatus.cs" Line="1196" Column="86" />
-      <File FileName="Shared/Phone/Device/Logic/PublicInterface.cs" Line="549" Column="26" />
-      <File FileName="Shared/Phone/Device/Logic/LogicCommunalPage.cs" Line="99" Column="13" />
-      <File FileName="Shared/Phone/Device/Logic/CurrentDeviceState.cs" Line="1346" Column="34" />
-      <File FileName="Shared/Phone/Device/Logic/DelayTime.cs" Line="23" Column="1" />
-      <File FileName="Shared/Phone/Device/Logic/DelayTime.cs" Line="23" Column="1" />
-      <File FileName="Shared/Phone/Device/Logic/DeviceTarget.cs" Line="119" Column="30" />
-      <File FileName="Shared/Common/Logic.cs" Line="66" Column="21" />
+      <File FileName="Shared/Phone/Device/Logic/LogicDveiceStatus.cs" Line="1184" Column="80" />
+      <File FileName="Shared/Phone/Device/Logic/CurrentDeviceState.cs" Line="1538" Column="29" />
+      <File FileName="Shared/Phone/Device/Logic/MemberList.cs" Line="21" Column="21" />
+      <File FileName="Shared/Phone/Device/Logic/SoneLogicList.cs" Line="702" Column="44" />
+      <File FileName="Shared/Phone/Device/Logic/OneLogic.cs" Line="435" Column="41" />
+      <File FileName="Shared/Phone/Device/Logic/LogicIfon.cs" Line="17" Column="1" />
+      <File FileName="Shared/Phone/Device/Logic/PublicInterface.cs" Line="290" Column="1" />
+      <File FileName="Shared/Phone/Device/Logic/PublicInterface.cs" Line="290" Column="1" />
     </Files>
     <Pads>
       <Pad Id="ProjectPad">
@@ -31,7 +30,7 @@
                 <Node name="Device" expanded="True">
                   <Node name="Logic" expanded="True">
                     <Node name="LogicView" expanded="True" />
-                    <Node name="LogicDveiceStatus.cs" selected="True" />
+                    <Node name="PublicInterface.cs" selected="True" />
                   </Node>
                 </Node>
               </Node>
@@ -44,7 +43,9 @@
   <MonoDevelop.Ide.DebuggingService.PinnedWatches />
   <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|iPhone" />
   <MonoDevelop.Ide.DebuggingService.Breakpoints>
-    <BreakpointStore />
+    <BreakpointStore>
+      <Breakpoint file="/Users/hdl/Desktop/wjc/HomeApp/ZigbeeApp/Shared/Phone/Device/Logic/LogicIfon.cs" relfile="Shared/Phone/Device/Logic/LogicIfon.cs" line="17" column="1" />
+    </BreakpointStore>
   </MonoDevelop.Ide.DebuggingService.Breakpoints>
   <MultiItemStartupConfigurations />
 </Properties>
\ No newline at end of file
diff --git a/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide b/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide
index 2dda6cc..1aa8b08 100644
--- a/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide
+++ b/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide
Binary files differ
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs b/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs
index c831fc1..f3e6269 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs
@@ -564,9 +564,9 @@
                     var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { common });
 
                         //绌烘皵璐ㄩ噺浼犳劅鍣�
-                        if (deviceEnumInfo.ConcreteType != Common.DeviceConcreteType.AirQualitySensor)
+                        if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
                         {
-                            AirSonser(flMain, SelectedDeviceStatus, edit, common);
+                            AirSonser(flMain, SelectedDeviceStatus, edit, common, devices);
                         }
                         else
                         {
@@ -1328,25 +1328,144 @@
             }
 
         }
-
-        private static void AirSonser(FrameLayout flMain,string SelectedDeviceStatus,bool edit,CommonDevice common) {
+        /// <summary>
+        /// 绌烘皵璐ㄩ噺浼犳劅鍣╒iew(鐗规畩澶勭悊)
+        /// </summary>
+        /// <param name="flMain"></param>
+        /// <param name="SelectedDeviceStatus"></param>
+        /// <param name="edit"></param>
+        /// <param name="common"></param>
+        /// <param name="dic"></param>
+        private static void AirSonser(FrameLayout flMain,string SelectedDeviceStatus,bool edit,CommonDevice common, Dictionary<string, string> dic=null) {
             flMain.RemoveAll();
-            PublicInterface publicInterface = new PublicInterface(); 
-            var list0 = publicInterface.GetViewList("绌烘皵璐ㄩ噺浼犳劅鍣�");
-            publicInterface.SingleSelectionShow(flMain, list0, MyInternationalizationString.airqualitysensor, "", (tagText) =>
+            if (edit&&dic!=null) {
+                AirProperty(flMain, dic, common,"", edit, SelectedDeviceStatus);
+            }
+            else
             {
-            flMain.RemoveAll();
-            SelectedDeviceStatus = "TemperatureSensor";
+                PublicInterface publicInterface = new PublicInterface();
+                var list0 = publicInterface.GetViewList("绌烘皵璐ㄩ噺浼犳劅鍣�");
+                publicInterface.SingleSelectionShow(flMain, list0, MyInternationalizationString.airqualitysensor, "", (tagText) =>
+                {
+                    flMain.RemoveAll();
+                    SelectedDeviceStatus = "TemperatureSensor";
+                    AirProperty(flMain, dic, common,tagText, edit, SelectedDeviceStatus);
+                }, () => { flMain.RemoveFromParent(); });
+            }
+        }
+        /// <summary>
+        /// 绌烘皵璐ㄩ噺浼犳劅鍣ㄥ睘鎬у��(鐗规畩澶勭悊)
+        /// </summary>
+        /// <param name="flMain"></param>
+        /// <param name="dic"></param>
+        /// <param name="common"></param>
+        /// <param name="tagText"></param>
+        /// <param name="edit"></param>
+        /// <param name="SelectedDeviceStatus"></param>
+        private static void AirProperty(FrameLayout flMain, Dictionary<string, string> dic,CommonDevice common,string tagText,bool edit, string SelectedDeviceStatus) {
+            PublicInterface publicInterface = new PublicInterface();
+            string range = ""; 
+            string stateText = "";
+            if (edit&& dic!=null)
+            {
+                range = dic["Range"];
+                switch (dic["Cluster_ID"])
+                {
+                    case "1066":
+                        {
+                            if (dic["AttriButeId"] == "57344")
+                            {
+                                tagText = Language.StringByID(MyInternationalizationString.kongqizhiliang);
+                                switch (dic["AttriButeData1"])
+                                {
+
+                                    case "1":
+                                        {
+                                            stateText = Language.StringByID(MyInternationalizationString.you);
+                                        }
+                                        break;
+                                    case "2":
+                                        {
+                                            stateText = Language.StringByID(MyInternationalizationString.liang);
+                                        }
+                                        break;
+                                    case "3":
+                                        {
+                                            stateText = Language.StringByID(MyInternationalizationString.cha);
+                                        }
+                                        break;
+                                }
+                            }
+                            else
+                            {
+                                tagText = Language.StringByID(MyInternationalizationString.pm25);
+                                ///Pm2.5
+                                int intValue = int.Parse(dic["AttriButeData1"]);
+                                if (0 < intValue && intValue < 30)
+                                {
+                                    stateText = Language.StringByID(MyInternationalizationString.pmyou);
+                                }
+                                else if (36 < intValue && intValue < 75)
+                                {
+                                    stateText = Language.StringByID(MyInternationalizationString.pmliang);
+                                }
+                                else if (76 < intValue && intValue < 115)
+                                {
+                                    stateText = Language.StringByID(MyInternationalizationString.pmqingdu);
+                                }
+                                else if (intValue > 115)
+                                {
+                                    stateText = Language.StringByID(MyInternationalizationString.pmzhongdu);
+                                }
+
+                            }
+                        }
+                        break;
+                    case "1037":
+                        {
+                            tagText = Language.StringByID(MyInternationalizationString.co2);
+                            ///co2
+                            int intValue = int.Parse(dic["AttriButeData1"]);
+                            if (0 < intValue && intValue < 1000)
+                            {
+                                stateText = Language.StringByID(MyInternationalizationString.co2qingxin);
+                            }
+                            else if (1000 < intValue && intValue < 2000)
+                            {
+                                stateText = Language.StringByID(MyInternationalizationString.co2huizhuo);
+                            }
+                            else if (2000 < intValue && intValue < 5000)
+                            {
+                                stateText = Language.StringByID(MyInternationalizationString.co2queyang);
+                            }
+                            else if (intValue > 5000)
+                            {
+                                stateText = Language.StringByID(MyInternationalizationString.co2yanzhongqueyang);
+                            }
+                        }
+                        break;
+                    case "1026":
+                        {
+                            tagText = Language.StringByID(MyInternationalizationString.sensortemperature);
+                            stateText = dic["AttriButeData1"];
+                        }
+                        break;
+                    case "1029":
+                        {
+                            tagText = Language.StringByID(MyInternationalizationString.sensorhumidity);
+                            stateText = dic["AttriButeData1"];
+                        }
+                        break;
+                }
+            }
             Dictionary<string, string> airqualitysensorDic = new Dictionary<string, string>();
             Send.dictionary(airqualitysensorDic, "Type", "1");
             Send.dictionary(airqualitysensorDic, "IsValid", "1");
             Send.dictionary(airqualitysensorDic, "MacAddr", common.DeviceAddr);
             Send.dictionary(airqualitysensorDic, "Epoint", common.DeviceEpoint.ToString());
-           //缂栬緫鏃剁殑鐘舵�佸��
-           string stateText = "";
-           if (tagText == Language.StringByID(MyInternationalizationString.kongqizhiliang))
+            if (tagText == Language.StringByID(MyInternationalizationString.kongqizhiliang))
             {
-                
+
                 var list1 = publicInterface.GetViewList("绌烘皵璐ㄩ噺");
                 publicInterface.SingleSelectionShow(flMain, list1, MyInternationalizationString.airqualitysensor, stateText, (strText) =>
                 {
@@ -1372,86 +1491,103 @@
                     AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic);
 
 
-                }, () =>{ AirSonser(flMain, SelectedDeviceStatus, edit, common); });
+                }, () => {
+                    if (edit) { flMain.RemoveFromParent(); }
+                    else
+                    {
+                        AirSonser(flMain, SelectedDeviceStatus, edit, common);
+                    } });
 
             }
             else if (tagText == Language.StringByID(MyInternationalizationString.pm25))
             {
-                    var list2= publicInterface.GetViewList("pm2.5");
-                    publicInterface.SingleSelectionShow(flMain, list2, MyInternationalizationString.pm25, stateText, (strText) =>
+                var list2 = publicInterface.GetViewList("pm2.5");
+                publicInterface.SingleSelectionShow(flMain, list2, MyInternationalizationString.pm25, stateText, (strText) =>
+                {
+                    SelectedDeviceStatus = "TemperatureSensor";
+                    string valuaStr = "";
+                    if (strText == Language.StringByID(MyInternationalizationString.pmyou))
                     {
-                        SelectedDeviceStatus = "TemperatureSensor";
-                        string valuaStr = "";
-                        if (strText == Language.StringByID(MyInternationalizationString.pmyou))
-                        {
-                            valuaStr = "18";
-                        }
-                        else if (strText == Language.StringByID(MyInternationalizationString.pmliang))
-                        {
-                            valuaStr = "54";
-                        }
-                        else if (strText == Language.StringByID(MyInternationalizationString.pmqingdu))
-                        {
-                            valuaStr = "105";
-                        }
-                        else if (strText == Language.StringByID(MyInternationalizationString.pmzhongdu))
-                        {
-                            valuaStr = "130";
-                        }
-                        Send.dictionary(airqualitysensorDic, "Cluster_ID", "1066");
-                        Send.dictionary(airqualitysensorDic, "AttriButeId", "0");
-                        Send.dictionary(airqualitysensorDic, "AttriButeData1", valuaStr);
-                        Send.dictionary(airqualitysensorDic, "AttriButeData2", "0");
-                        Send.dictionary(airqualitysensorDic, "Range", "1");
-                        AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic);
+                        valuaStr = "18";
+                    }
+                    else if (strText == Language.StringByID(MyInternationalizationString.pmliang))
+                    {
+                        valuaStr = "54";
+                    }
+                    else if (strText == Language.StringByID(MyInternationalizationString.pmqingdu))
+                    {
+                        valuaStr = "105";
+                    }
+                    else if (strText == Language.StringByID(MyInternationalizationString.pmzhongdu))
+                    {
+                        valuaStr = "130";
+                    }
+                    Send.dictionary(airqualitysensorDic, "Cluster_ID", "1066");
+                    Send.dictionary(airqualitysensorDic, "AttriButeId", "0");
+                    Send.dictionary(airqualitysensorDic, "AttriButeData1", valuaStr);
+                    Send.dictionary(airqualitysensorDic, "AttriButeData2", "0");
+                    Send.dictionary(airqualitysensorDic, "Range", "1");
+                    AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic);
 
 
-                    }, () => {AirSonser(flMain, SelectedDeviceStatus, edit, common); });
+                }, () => {
+                    if (edit) { flMain.RemoveFromParent(); }
+                    else
+                    {
+                        AirSonser(flMain, SelectedDeviceStatus, edit, common);
+                    }
+                });
 
             }
             else if (tagText == Language.StringByID(MyInternationalizationString.co2))
             {
 
-                    var list2 = publicInterface.GetViewList("co2");
-                    publicInterface.SingleSelectionShow(flMain, list2, MyInternationalizationString.co2, stateText, (strText) =>
+                var list2 = publicInterface.GetViewList("co2");
+                publicInterface.SingleSelectionShow(flMain, list2, MyInternationalizationString.co2, stateText, (strText) =>
+                {
+                    SelectedDeviceStatus = "TemperatureSensor";
+                    string valuaStr = "";
+                    if (strText == Language.StringByID(MyInternationalizationString.co2qingxin))
                     {
-                        SelectedDeviceStatus = "TemperatureSensor";
-                        string valuaStr = "";
-                        if (strText == Language.StringByID(MyInternationalizationString.co2qingxin))
-                        {
-                            valuaStr = "500";
-                        }
-                        else if (strText == Language.StringByID(MyInternationalizationString.co2huizhuo))
-                        {
-                            valuaStr = "1000";
-                        }
-                        else if (strText == Language.StringByID(MyInternationalizationString.co2queyang))
-                        {
-                            valuaStr = "2500";
-                        }
-                        else if (strText == Language.StringByID(MyInternationalizationString.co2yanzhongqueyang))
-                        {
-                            valuaStr = "5500";
-                        }
-                        Send.dictionary(airqualitysensorDic, "Cluster_ID", "1037");
-                        Send.dictionary(airqualitysensorDic, "AttriButeId", "0");
-                        Send.dictionary(airqualitysensorDic, "AttriButeData1", valuaStr);
-                        Send.dictionary(airqualitysensorDic, "AttriButeData2", "0");
-                        Send.dictionary(airqualitysensorDic, "Range", "1");
-                        AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic);
+                        valuaStr = "500";
+                    }
+                    else if (strText == Language.StringByID(MyInternationalizationString.co2huizhuo))
+                    {
+                        valuaStr = "1500";
+                    }
+                    else if (strText == Language.StringByID(MyInternationalizationString.co2queyang))
+                    {
+                        valuaStr = "2500";
+                    }
+                    else if (strText == Language.StringByID(MyInternationalizationString.co2yanzhongqueyang))
+                    {
+                        valuaStr = "5500";
+                    }
+                    Send.dictionary(airqualitysensorDic, "Cluster_ID", "1037");
+                    Send.dictionary(airqualitysensorDic, "AttriButeId", "0");
+                    Send.dictionary(airqualitysensorDic, "AttriButeData1", valuaStr);
+                    Send.dictionary(airqualitysensorDic, "AttriButeData2", "0");
+                    Send.dictionary(airqualitysensorDic, "Range", "1");
+                    AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic);
 
 
-                    }, () => { AirSonser(flMain, SelectedDeviceStatus, edit, common); });
+                }, () => {
+                    if (edit) { flMain.RemoveFromParent(); }
+                    else
+                    {
+                        AirSonser(flMain, SelectedDeviceStatus, edit, common);
+                    }
+                });
 
-                 
+
 
             }
             else if (tagText == Language.StringByID(MyInternationalizationString.sensortemperature))
             {
                 //缂栬緫鏃剁殑鐘舵�佸��
-                string str1 = "";
-                string str2 = "";
-                publicInterface.TemperatureShow1(flMain, tagText, "鈩�", str2, str1, (relationValueStr, tempValueStr) =>
+                string str1 = range;
+                string str2 = stateText;
+                publicInterface.TemperatureShow1(flMain, tagText, "鈩�", str1, str2, (relationValueStr, tempValueStr) =>
                 {
 
                     SelectedDeviceStatus = "TemperatureSensor";
@@ -1465,16 +1601,20 @@
 
                 }, () =>
                 {
-                    AirSonser(flMain, SelectedDeviceStatus, edit, common);
+                    if (edit) { flMain.RemoveFromParent(); }
+                    else
+                    {
+                        AirSonser(flMain, SelectedDeviceStatus, edit, common);
+                    }
 
                 });
             }
             else if (tagText == Language.StringByID(MyInternationalizationString.sensorhumidity))
             {
                 //缂栬緫鏃剁殑鐘舵�佸��
-                string str1 = "";
-                string str2 = "";
-                publicInterface.TemperatureShow1(flMain, tagText, "%", str2, str1, (relationValueStr, tempValueStr) =>
+                string str1 = range;
+                string str2 = stateText;
+                publicInterface.TemperatureShow1(flMain, tagText, "%", str1, str2, (relationValueStr, tempValueStr) =>
                 {
                     SelectedDeviceStatus = "TemperatureSensor";
                     Send.dictionary(airqualitysensorDic, "Cluster_ID", "1029");
@@ -1483,19 +1623,25 @@
                     Send.dictionary(airqualitysensorDic, "AttriButeData2", "0");
                     Send.dictionary(airqualitysensorDic, "Range", relationValueStr);
                     AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic);
-                }, () => { AirSonser(flMain, SelectedDeviceStatus, edit, common);});
+                }, () => {
+                    if (edit) { flMain.RemoveFromParent(); }
+                    else
+                    {
+                        AirSonser(flMain, SelectedDeviceStatus, edit, common);
+                    }
+                });
             }
-            }, () => { flMain.RemoveFromParent(); });
+
         }
         /// <summary>
-        /// 绌烘皵璐ㄩ噺浼犳劅鍣�
+        /// 绌烘皵璐ㄩ噺浼犳劅鍣�(鐗规畩澶勭悊)
         /// </summary>
         /// <param name="flMain"></param>
         /// <param name="SelectedDeviceStatus"></param>
         /// <param name="edit"></param>
         /// <param name="common"></param>
         /// <param name="dic"></param>
-        private static void AddDic(FrameLayout flMain, string SelectedDeviceStatus, bool edit, CommonDevice common, Dictionary<string, string> dic)
+        private static void AddDic(FrameLayout flMain, string SelectedDeviceStatus, bool edit, CommonDevice common, Dictionary<string, string> dic )
         {
             UserView.HomePage.Instance.ScrollEnabled = true;
             if (SelectedDeviceStatus != "")
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/LogicDveiceStatus.cs b/ZigbeeApp/Shared/Phone/Device/Logic/LogicDveiceStatus.cs
index 3916282..ca0c158 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/LogicDveiceStatus.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/LogicDveiceStatus.cs
@@ -599,7 +599,7 @@
                                     UserView.HomePage.Instance.AddChidren(timePoint);
                                     UserView.HomePage.Instance.PageIndex += 1;
                                     timePoint.IsEditor = true;
-                                    timePoint.Show(conditions);
+                                    timePoint.Show(dic);
                                 }
                                 break;
                             case 5:
@@ -627,7 +627,7 @@
                                         UserView.HomePage.Instance.AddChidren(memberList);
                                         UserView.HomePage.Instance.PageIndex += 1;
                                         MemberList.edit = true;
-                                        memberList.Show(deviceinof, conditions);
+                                        memberList.Show(deviceinof, dic);
                                     }
                                 }
                                 break;
@@ -1314,103 +1314,6 @@
         }
 
 
-        public void dddd(FrameLayout flMain,string MacAddr,string Epoint) {
-
-            //Dictionary<string, string> airqualitysensorDic = new Dictionary<string, string>();
-            //Send.dictionary(airqualitysensorDic, "Type", "1");
-            //Send.dictionary(airqualitysensorDic, "IsValid", "1");
-            //Send.dictionary(airqualitysensorDic, "MacAddr", MacAddr);
-            //Send.dictionary(airqualitysensorDic, "Epoint", Epoint);
-
-            //string tagText ="";
-            //string SelectedDeviceStatus = "";
-            //if (tagText == Language.StringByID(MyInternationalizationString.airqualitysensor))
-            //{
-            //    string stateText = "";
-            //    PublicInterface publicInterface = new PublicInterface();
-            //    var list1 = publicInterface.GetViewList("绌烘皵璐ㄩ噺");
-            //    publicInterface.SingleSelectionShow(flMain, list1, MyInternationalizationString.airqualitysensor, stateText, (strText) =>
-            //    {
-            //        SelectedDeviceStatus = "TemperatureSensor";
-            //        string valuaStr = "";
-            //        if (strText == Language.StringByID(MyInternationalizationString.you))
-            //        {
-            //            valuaStr = "1";
-            //        }
-            //        else if (strText == Language.StringByID(MyInternationalizationString.liang))
-            //        {
-            //            valuaStr = "2";
-            //        }
-            //        else if (strText == Language.StringByID(MyInternationalizationString.cha))
-            //        {
-            //            valuaStr = "3";
-            //        }
-            //        Send.dictionary(airqualitysensorDic, "Cluster_ID", "1066");
-            //        Send.dictionary(airqualitysensorDic, "AttriButeId", "57344");
-            //        Send.dictionary(airqualitysensorDic, "AttriButeData1", valuaStr);
-            //        Send.dictionary(airqualitysensorDic, "AttriButeData2", "0");
-            //        Send.dictionary(airqualitysensorDic, "Range", "1");
-            //        AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic);
-
-
-            //    }, () => { });
-
-            //}
-            //else if (tagText == Language.StringByID(MyInternationalizationString.pm25))
-            //{
-            //    //缂栬緫鏃剁殑鐘舵�佸��
-            //    string str1 = "";
-            //    string str2 = "";
-            //    PublicInterface publicInterface = new PublicInterface();
-            //    publicInterface.TemperatureShow1(flMain, tagText, "鈩�", str2, str1, (relationValueStr, tempValueStr) =>
-            //    {
-            //        SelectedDeviceStatus = "TemperatureSensor";
-            //        Send.dictionary(airqualitysensorDic, "Cluster_ID", "1066");
-            //        Send.dictionary(airqualitysensorDic, "AttriButeId", "0");
-            //        Send.dictionary(airqualitysensorDic, "AttriButeData1", tempValueStr);
-            //        Send.dictionary(airqualitysensorDic, "AttriButeData2", "0");
-            //        Send.dictionary(airqualitysensorDic, "Range", relationValueStr);
-            //        AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic);
-            //    }, () => { });
-
-            //}
-            //else if (tagText == Language.StringByID(MyInternationalizationString.sensortemperature))
-            //{
-            //    //缂栬緫鏃剁殑鐘舵�佸��
-            //    string str1 = "";
-            //    string str2 = "";
-            //    PublicInterface publicInterface = new PublicInterface();
-            //    publicInterface.TemperatureShow1(flMain, tagText, "鈩�", str2, str1, (relationValueStr, tempValueStr) =>
-            //    {
-
-            //        SelectedDeviceStatus = "TemperatureSensor";
-            //        Send.dictionary(airqualitysensorDic, "Cluster_ID", "1026");
-            //        Send.dictionary(airqualitysensorDic, "AttriButeId", "0");
-            //        Send.dictionary(airqualitysensorDic, "AttriButeData1", tempValueStr);
-            //        Send.dictionary(airqualitysensorDic, "AttriButeData2", "0");
-            //        Send.dictionary(airqualitysensorDic, "Range", relationValueStr);
-            //        AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic);
-
-
-            //    }, () => { });
-            //}
-            //else if (tagText == Language.StringByID(MyInternationalizationString.sensorhumidity))
-            //{
-            //    //缂栬緫鏃剁殑鐘舵�佸��
-            //    string str1 = "";
-            //    string str2 = "";
-            //    PublicInterface publicInterface = new PublicInterface();
-            //    publicInterface.TemperatureShow1(flMain, tagText, "%", str2, str1, (relationValueStr, tempValueStr) =>
-            //    {
-            //        SelectedDeviceStatus = "TemperatureSensor";
-            //        Send.dictionary(airqualitysensorDic, "Cluster_ID", "1029");
-            //        Send.dictionary(airqualitysensorDic, "AttriButeId", "0");
-            //        Send.dictionary(airqualitysensorDic, "AttriButeData1", tempValueStr);
-            //        Send.dictionary(airqualitysensorDic, "AttriButeData2", "0");
-            //        Send.dictionary(airqualitysensorDic, "Range", relationValueStr);
-            //        AddDic(flMain, SelectedDeviceStatus, edit, common, airqualitysensorDic);
-            //    }, () => { });
-            //}
-        }
+      
     }
 }
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/LogicIfon.cs b/ZigbeeApp/Shared/Phone/Device/Logic/LogicIfon.cs
old mode 100755
new mode 100644
index 9725229..4ae3a2a
--- a/ZigbeeApp/Shared/Phone/Device/Logic/LogicIfon.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/LogicIfon.cs
@@ -13,7 +13,7 @@
         /// </summary>
         /// <param name="common">Common.</param>
         /// <param name="objecttype">Objecttype.</param>
-        public static void AddDeviceconditions(CommonDevice common, Dictionary<string, string> objecttype) 
+        public static void AddDeviceconditions(CommonDevice common, Dictionary<string, string> objecttype)
         {
             for (int i = 0; i < Common.Logic.CurrentLogic.Conditions.Count; i++)
             {
@@ -21,25 +21,55 @@
                 {
                     if ((Common.Logic.CurrentLogic.Conditions[i]["MacAddr"] == common.DeviceAddr) && (Common.Logic.CurrentLogic.Conditions[i]["Epoint"] == common.DeviceEpoint.ToString()))
                     {
-                        if (common.Type == DeviceType.TemperatureSensor)//璁惧娓╁害浼犳劅鍣ㄦ湁鐐圭壒鍒�
+                        if (common.Type == DeviceType.TemperatureSensor)
                         {
-                            var dev = common as TemperatureSensor;
-                            string str = "";
-                            if (dev.SensorDiv == 1)
+
+                            //鑾峰彇璁惧绫诲瀷
+                            var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { common });
+
+                            //绌烘皵璐ㄩ噺浼犳劅鍣�
+                            if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor)
                             {
-                                str = "1026";
+                                var cluster_ID1 = Common.Logic.CurrentLogic.Conditions[i]["Cluster_ID"];
+                                var attriButeId1 = Common.Logic.CurrentLogic.Conditions[i]["AttriButeId"];
+                                var cluster_ID2 = objecttype["Cluster_ID"];
+                                var attriButeId2 = objecttype["AttriButeId"];
+
+                                bool cluster_ID = false;
+                                if (cluster_ID1 == cluster_ID2 && attriButeId1 == attriButeId2)
+                                {
+                                    cluster_ID = true;
+                                }
+
+                                if (cluster_ID)
+                                {
+                                    //宸茬粡瀛樺湪绉婚櫎鍐嶉噸鏂版坊鍔�
+                                    Common.Logic.CurrentLogic.Conditions.RemoveAt(i);
+                                    Common.Logic.CurrentLogic.Conditions.Insert(i, objecttype);
+                                    return;
+                                }
                             }
                             else
                             {
-                                str = "1029";
-                            }
-                            if (Common.Logic.CurrentLogic.Conditions[i]["Cluster_ID"] == str)
-                            {
-                                Common.Logic.CurrentLogic.Conditions.RemoveAt(i);
-                                Common.Logic.CurrentLogic.Conditions.Insert(i, objecttype);
-                                return;
-                            }
+                                //璁惧娓╁害浼犳劅鍣�
+                                var dev = common as TemperatureSensor;
+                                string str = "";
+                                if (dev.SensorDiv == 1)
+                                {
+                                    str = "1026";
+                                }
+                                else
+                                {
+                                    str = "1029";
+                                }
+                                if (Common.Logic.CurrentLogic.Conditions[i]["Cluster_ID"] == str)
+                                {
+                                    Common.Logic.CurrentLogic.Conditions.RemoveAt(i);
+                                    Common.Logic.CurrentLogic.Conditions.Insert(i, objecttype);
+                                    return;
+                                }
 
+                            }
                         }
                         else if (common.Type == DeviceType.IASZone)
                         {
@@ -75,7 +105,7 @@
         /// <summary>
         /// 娣诲姞Logic鏉′欢鐨勬柟娉�
         /// </summary>
-        /// <param name="common">Common.</param>
+        /// <param name="logic">Common.</param>
         /// <param name="objecttype">Objecttype.</param>
         public static void AddLogicconditions(Common.Logic logic, Dictionary<string, string> objecttype)
         {
@@ -264,6 +294,9 @@
             Common.Logic.CurrentLogic.Accounts.Add(accountsInfo);
         }
         #endregion
+
+
+       
     }
 
 
diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs b/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs
index 32fa9c5..a92ebfc 100644
--- a/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs
+++ b/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs
@@ -201,7 +201,7 @@
         /// </summary>
         /// <param name="frame">鏄剧ず鍦ㄥ摢涓晫闈㈢殑鐖舵帶浠�</param>
         /// <param name="symbol">绗﹀彿锛�%锛屸剝锛�</param>
-        /// <param name="state1">涔嬪墠鐘舵��</param>
+        /// <param name="state1">涔嬪墠鐘舵��(姣旇緝绗﹀彿)</param>
         /// <param name="state2">涔嬪墠鐘舵��</param>
         /// <param name="action">杩斿洖鍊�</param>
         public void TemperatureShow1(FrameLayout frame, string tlite,string symbol, string state1, string state2, Action<string, string> action, Action cancelAction)
@@ -519,7 +519,7 @@
                 case "绌烘皵璐ㄩ噺浼犳劅鍣�":
                     {
                         list = new List<string> {
-                            Language.StringByID(MyInternationalizationString.airqualitysensor),
+                            Language.StringByID(MyInternationalizationString.kongqizhiliang),
                             Language.StringByID(MyInternationalizationString.pm25),
                             Language.StringByID(MyInternationalizationString.co2),
                             Language.StringByID(MyInternationalizationString.sensortemperature),

--
Gitblit v1.8.0