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