From 351bdda734832d821a9764b0cde8be5d83c4ec50 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期四, 01 十二月 2022 09:56:25 +0800 Subject: [PATCH] 2022年12月01日09:56:23 --- ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs | 712 +++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 520 insertions(+), 192 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs b/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs index 511bc75..f3e6269 100755 --- a/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs @@ -12,7 +12,7 @@ /// 閫変腑璇ヨ澶囧姛鑳戒綔涓烘潯浠舵垨鑰呯洰鏍囩殑瑙嗗浘鏂规硶 /// </summary> /// <param name="common">Common.</param> - public static void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit, string str) + public static void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit, string str, int intValue) { #region -------鐣岄潰甯冨眬閮ㄥ垎 //涓嶈褰撳墠鐣岄潰婊戝姩 @@ -22,7 +22,7 @@ completeView.Btntitle.Text = LocalDevice.Current.GetDeviceEpointName(common); EventHandler<MouseEventArgs> clickcancel = (sender, e) => { - if (!edit) + if (edit) { UserView.HomePage.Instance.ScrollEnabled = true; } @@ -33,19 +33,14 @@ mFunView openView = new mFunView(); openView.frameLayout.Y = Application.GetRealHeight(140 + 20); - //completeView.Show(l).AddChidren(openView.Show()); openView.titleBtn.TextID = MyInternationalizationString.open; mFunView closeView = new mFunView(); - closeView.frameLayout.Y = Application.GetRealHeight(140 + 20+160); - // closeView.frameLayout.Y = openView.frameLayout.Bottom; - //completeView.Show(l).AddChidren(closeView.Show()); + closeView.frameLayout.Y = Application.GetRealHeight(140 + 20 + 160); closeView.titleBtn.TextID = MyInternationalizationString.close; mFunView takebackView = new mFunView(); - takebackView.frameLayout.Y = Application.GetRealHeight(140+20+160+160); - // takebackView.frameLayout.Y = closeView.frameLayout.Bottom; - //completeView.Show(l).AddChidren(takebackView.Show()); + takebackView.frameLayout.Y = Application.GetRealHeight(140 + 20 + 160 + 160); takebackView.titleBtn.TextID = MyInternationalizationString.onoff; takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; #region -------杩涘害鏉℃帶浠� @@ -59,18 +54,19 @@ }; var horizontalSeekBarVol = new DiyImageSeekBar { - //Y = openView.frameLayout.Bottom, - X = Application.GetRealWidth(80), - Width = Application.GetRealWidth(915), - Height = Application.GetRealHeight(160), + //Y = openView.frameLayout.Bottom,//杩涘害鏉$埗鎺т欢Y鍧愭爣 + X = Application.GetRealWidth(80),//杩涘害鏉鍧愭爣 + Width = Application.GetRealWidth(915),//杩涘害鏉$殑闀垮害 + Height = Application.GetRealHeight(160),//杩涘害鏉$埗鎺т欢楂樺害 IsProgressTextShow = true,//鏄剧ず鐧惧垎姣� IsClickable = false,//杩涘害鏉℃槸鍚︽粦鍔� ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected,//閫変腑杩涘害鏉¢鑹� ThumbImagePath = "ZigeeLogic/progressbtn2.png",//杩涘害鏉℃寜閽浘鏍� ThumbImageHeight = Application.GetRealHeight(56),//杩涘害鏉℃寜閽浘鏍囩殑楂樺害锛堥粯璁ゆ鏂瑰舰锛氬鍜岄珮涓�鏍凤級 ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor, - ProgressTextSize = 9,//鏄剧ず鐧惧垎姣斿瓧浣撳ぇ灏�12 - SeekBarViewHeight = Application.GetRealHeight(5),//杩涘害鏉$殑楂樺害10 + ProgressTextSize = 12,//鏄剧ず鐧惧垎姣斿瓧浣撳ぇ灏�12 + SeekBarViewHeight = Application.GetRealHeight(6),//杩涘害鏉$殑楂樺害10 + SeekBarPadding = 30, }; #endregion #endregion @@ -94,38 +90,33 @@ actionsInfo.Add("TaskList", taskListInfo); List<Dictionary<string, string>> TaskList = null; #endregion - var _if=str.Split('_'); + var _if = str.Split('_'); if (edit) { - if (_if[0]== "condition") + if (_if[0] == "condition") { - foreach (var deviceinfo in Common.Logic.CurrentLogic.Conditions) + var deviceinfo = Common.Logic.CurrentLogic.Conditions[intValue]; + if (deviceinfo["Type"] == "1") { - if (deviceinfo["Type"] == "1") + if (common.DeviceAddr == deviceinfo["MacAddr"] && common.DeviceEpoint.ToString() == deviceinfo["Epoint"]) { - if (common.DeviceAddr == deviceinfo["MacAddr"] && common.DeviceEpoint.ToString() == deviceinfo["Epoint"]) - { - devices = deviceinfo; - break; + devices = deviceinfo; - } } } } else { - foreach (var deviceinfo in Common.Logic.CurrentLogic.Actions) + var deviceinfo = Common.Logic.CurrentLogic.Actions[intValue]; + if (deviceinfo["LinkType"].ToString() == "0") { - if (deviceinfo["LinkType"].ToString() == "0") - { - if (deviceinfo["DeviceAddr"].ToString() == common.DeviceAddr && deviceinfo["Epoint"].ToString() == common.DeviceEpoint.ToString()) - { - TaskList = deviceinfo["TaskList"] as List<Dictionary<string, string>>; - break; - } + if (deviceinfo["DeviceAddr"].ToString() == common.DeviceAddr && deviceinfo["Epoint"].ToString() == common.DeviceEpoint.ToString()) + { + TaskList = deviceinfo["TaskList"] as List<Dictionary<string, string>>; } } + } } #endregion @@ -136,6 +127,7 @@ ///鐏厜 case DeviceType.OnOffOutput: { + if (_if[0] == "condition") { l = 2; @@ -284,6 +276,8 @@ } } } + + } break; case DeviceType.IASZone: @@ -298,7 +292,7 @@ Send.dictionary(deviceConditionsInfo, "AttriButeId", "1281"); Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0"); - int timevalue = 0; + int timeValue = 0; ///鐐瑰嚮纭浜嬩欢 openView.clickviewBtn.MouseUpEventHandler += (sender, e) => { @@ -309,10 +303,11 @@ closeView.selectedIconBtn.Visible = false; if (iASZonedevice.IasDeviceType == 13) { + closeView.selectedIconBtn.Visible = true; } Send.dictionary(deviceConditionsInfo, "Range", "5"); - Send.dictionary(deviceConditionsInfo, "AttriButeData1", "1"); + Send.dictionary(deviceConditionsInfo, "AttriButeData1", "3");//鏀寔1鍜�2;1+2=3 }; ///鐐瑰嚮鍙栨秷浜嬩欢 closeView.clickviewBtn.MouseUpEventHandler += (sender, e) => @@ -322,53 +317,109 @@ closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; openView.selectedIconBtn.Visible = false; closeView.selectedIconBtn.Visible = true; - Send.dictionary(deviceConditionsInfo, "Range", "1"); - Send.dictionary(deviceConditionsInfo, "AttriButeData1", "0"); - if (iASZonedevice.IasDeviceType == 13) + Send.dictionary(deviceConditionsInfo, "Range", "8");//1 + Send.dictionary(deviceConditionsInfo, "AttriButeData1", "3");//0 + if (iASZonedevice.IasDeviceType == 13 || iASZonedevice.IasDeviceType == 541) { SelectedDeviceStatus = ""; - openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; - openView.selectedIconBtn.Visible = false; - closeView.selectedIconBtn.Visible = true; var ignoreTime = new IgnoreTime(); UserView.HomePage.Instance.AddChidren(ignoreTime); UserView.HomePage.Instance.PageIndex += 1; - ignoreTime.Show(common, closeView.titleBtn.Text, edit, timevalue, _if[1]); + ignoreTime.Show(common, closeView.titleBtn.Text, edit, timeValue, _if[1]); } - - }; switch (iASZonedevice.IasDeviceType) { case 13: { - openView.titleBtn.TextID = MyInternationalizationString.someone; - closeView.titleBtn.TextID = MyInternationalizationString.unattendedtime1; - closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; - closeView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png"; - closeView.selectedIconBtn.Visible = true; - completeView.Show(2).AddChidren(openView.Show()); - completeView.Show(2).AddChidren(closeView.Show()); + + if (common.ModelIdentifier == "MSPIRB-ZB.10") + { + int _height = 3; + if (edit) + { + _height = 2; + } + var view = completeView.Show(_height); + openView.titleBtn.TextID = MyInternationalizationString.someone; + closeView.titleBtn.TextID = MyInternationalizationString.unattendedtime1; + closeView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png"; + closeView.selectedIconBtn.Visible = true; + view.AddChidren(openView.Show()); + view.AddChidren(closeView.Show()); + + takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; + takebackView.selectedIconBtn.Visible = true; + takebackView.titleBtn.TextID = MyInternationalizationString.ambientLight; + takebackView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png"; + if (edit) + { + + if (devices["Cluster_ID"] == "1024") + { + flMain.RemoveFromParent(); + var illumination = new Illumination(); + UserView.HomePage.Instance.AddChidren(illumination); + UserView.HomePage.Instance.PageIndex += 1; + illumination.Show(common, takebackView.titleBtn.Text, int.Parse(devices["AttriButeData1"]), true); + } + else + { + closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; + } + } + else + { + view.AddChidren(takebackView.Show()); + + } + + + takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) => + { + SelectedDeviceStatus = ""; + openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; + openView.selectedIconBtn.Visible = false; + var illumination = new Illumination(); + UserView.HomePage.Instance.AddChidren(illumination); + UserView.HomePage.Instance.PageIndex += 1; + illumination.Show(common, takebackView.titleBtn.Text, 0, false); + + }; + + } + else + { + + openView.titleBtn.TextID = MyInternationalizationString.someone; + closeView.titleBtn.TextID = MyInternationalizationString.unattendedtime1; + closeView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; + closeView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png"; + closeView.selectedIconBtn.Visible = true; + completeView.Show(2).AddChidren(openView.Show()); + completeView.Show(2).AddChidren(closeView.Show()); + + } } break; case 21: case 22: { #region + var view = completeView.Show(3); openView.titleBtn.TextID = MyInternationalizationString.logicopen; closeView.titleBtn.TextID = MyInternationalizationString.logicclose; - completeView.Show(3).AddChidren(openView.Show()); - completeView.Show(3).AddChidren(closeView.Show()); + view.AddChidren(openView.Show()); + view.AddChidren(closeView.Show()); - mFunView timeoutView = new mFunView(); - timeoutView.frameLayout.Y = closeView.frameLayout.Bottom; - timeoutView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; - completeView.Show(3).AddChidren(timeoutView.Show()); - timeoutView.titleBtn.TextID = MyInternationalizationString.closetimeout; - timeoutView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png"; - timeoutView.clickviewBtn.MouseUpEventHandler += (sender, e) => + takebackView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; + takebackView.selectedIconBtn.Visible = true; + takebackView.titleBtn.TextID = MyInternationalizationString.closetimeout; + takebackView.selectedIconBtn.UnSelectedImagePath = "ZigeeLogic/next.png"; + view.AddChidren(takebackView.Show()); + takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) => { SelectedDeviceStatus = ""; openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; @@ -378,7 +429,7 @@ var ignoreTime = new IgnoreTime(); UserView.HomePage.Instance.AddChidren(ignoreTime); UserView.HomePage.Instance.PageIndex += 1; - ignoreTime.Show(common, timeoutView.titleBtn.Text, edit, timevalue, _if[1]); + ignoreTime.Show(common, takebackView.titleBtn.Text, edit, timeValue, _if[1]); }; @@ -437,13 +488,13 @@ { if (devices["AttriButeId"] == "1281") { - if (devices.ContainsKey("IgnoreTime")) + if (devices.ContainsKey("IgnoreTime") && devices["IgnoreTime"] != "0") { - timevalue = int.Parse(devices["IgnoreTime"]); + timeValue = int.Parse(devices["IgnoreTime"]); } else { - if (devices["AttriButeData1"] == "1") + if (devices["Range"] == "5") { openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; @@ -463,7 +514,6 @@ } - } } @@ -478,7 +528,8 @@ Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0"); completeView.Show(l).AddChidren(openView.Show()); - openView.titleBtn.Text = Language.StringByID(MyInternationalizationString.OnOffSwitch) + common.DeviceEpoint.ToString(); + openView.titleBtn.Text = LocalDevice.Current.GetDeviceEpointName(common); + //openView.titleBtn.Text =Language.StringByID(MyInternationalizationString.OnOffSwitch) + common.DeviceEpoint.ToString(); openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; openView.clickviewBtn.MouseUpEventHandler += (sender, e) => { @@ -496,7 +547,7 @@ } break; case DeviceType.DoorLock: - { + { flMain.RemoveFromParent(); var memberList = new MemberList(); @@ -508,133 +559,53 @@ break; case DeviceType.TemperatureSensor: { - l = 4; - string current = Language.StringByID(MyInternationalizationString.current); - completeView.Show(l); - var temperatureSensor = common as TemperatureSensor; - SelectedDeviceStatus = "TemperatureSensor"; - #region 甯冨眬View - var PickerViewfra = new FrameLayout - { - Y = Application.GetRealHeight(140), - Height = Application.GetRealHeight(640), - }; - completeView.Show(l).AddChidren(PickerViewfra); - var mUIPickerView = new UIPickerView - { - Height = Application.GetRealHeight(640 - 5), - }; - PickerViewfra.AddChidren(mUIPickerView); - var mList1 = new List<string> { ">", "<", "=", "鈮�", "鈮�" }; - var mList2 = new List<string>(); - var mList3 = new List<string>(); - for (int i = 1; i <= 100; i++) + //鑾峰彇璁惧绫诲瀷 + var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { common }); + + //绌烘皵璐ㄩ噺浼犳劅鍣� + if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor) { - mList2.Add(i.ToString()); - } - if (temperatureSensor.SensorDiv == 1) - { - mList3.Add("鈩�"); - Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1026"); - Send.dictionary(deviceConditionsInfo, "AttriButeId", "0"); - Send.dictionary(deviceConditionsInfo, "Range", "1");//1:绛変簬AttriButeData1鏃惰Е鍙戝姩浣� - Send.dictionary(deviceConditionsInfo, "AttriButeData1", "5000");//榛樿娓╁害鍊�50鈩� - Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0"); + AirSonser(flMain, SelectedDeviceStatus, edit, common, devices); } else { - mList3.Add("%"); - Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1029"); + + + //缂栬緫鏃剁殑鐘舵�佸�� + string str1 = ""; + string str2 = ""; + string str3 = ""; + if (edit && devices != null) + { + //娓╁害鍊� + str1 = devices["AttriButeData1"]; + //姣旇緝鍏崇郴鍊� + str2 = devices["Range"]; + + } + var temperatureSensor = common as TemperatureSensor; + if (temperatureSensor.SensorDiv == 1) + { + str3 = "鈩�"; + Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1026"); + } + else + { + str3 = "%"; + Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1029"); + } Send.dictionary(deviceConditionsInfo, "AttriButeId", "0"); - Send.dictionary(deviceConditionsInfo, "Range", "1");//1:绛変簬AttriButeData1鏃惰Е鍙戝姩浣� - Send.dictionary(deviceConditionsInfo, "AttriButeData1", "5000");//榛樿婀垮害鍊�50% Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0"); - } - mUIPickerView.setNPicker(mList1, mList2, mList3); - - #endregion - - mUIPickerView.OnSelectChangeEvent += (s1, s2, s3) => - { - ///娓╁害杩涚巼杞崲*100 - var strValue = (int.Parse(mList2[s2]) * 100).ToString(); - SelectedDeviceStatus = "TemperatureSensor"; - Send.dictionary(deviceConditionsInfo, "AttriButeData1", strValue); - switch (mList1[s1]) + completeView.Show(4); + PublicInterface publicInterface = new PublicInterface(); + publicInterface.TemperatureShow(completeView.fraView, str3, str2, str1, (relationValueStr, tempValueStr) => { - case ">": - { - Send.dictionary(deviceConditionsInfo, "Range", "0"); - } - break; - case "<": - { - Send.dictionary(deviceConditionsInfo, "Range", "2"); - } - break; - case "=": - { - Send.dictionary(deviceConditionsInfo, "Range", "1"); - } - break; - case "鈮�": - { - Send.dictionary(deviceConditionsInfo, "Range", "6"); - } - break; - case "鈮�": - { - Send.dictionary(deviceConditionsInfo, "Range", "7"); - } - break; - } - }; - - //榛樿=,50 - int index1 = 2, index2 = 49; - if (edit && devices != null) - { - SelectedDeviceStatus = ""; - string s = ""; - switch (devices["Range"]) - { - case "0": - { - s = ">"; - } - break; - case "1": - { - s = "="; - } - break; - case "2": - { - s = "<"; - } - break; - case "6": - { - s = "鈮�"; - } - break; - case "7": - { - s = "鈮�"; - } - break; - } - //鏌ユ壘绱㈠紩 - index1 = mList1.IndexOf(s); - //杞崲娓╁害鍊�/100 - var dd = (int.Parse(devices["AttriButeData1"])/100).ToString(); - index2 = mList2.IndexOf(dd); - + SelectedDeviceStatus = "TemperatureSensor"; + Send.dictionary(deviceConditionsInfo, "AttriButeData1", tempValueStr); + Send.dictionary(deviceConditionsInfo, "Range", relationValueStr); + }); } - ///鏇存柊鏈�鏂扮姸鎬侊紱 - mUIPickerView.setCurrentItems(index1, index2, 0); - } break; ///璋冨厜鐏厜 @@ -647,7 +618,7 @@ taskListInfo.Add(switchdictionary); completeView.Show(l).AddChidren(openView.Show()); openView.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; - + horizontalSeekBarRowLien.Y = openView.frameLayout.Bottom; horizontalSeekBarVol.Y = openView.frameLayout.Bottom; completeView.Show(l).AddChidren(horizontalSeekBarRowLien); @@ -688,7 +659,6 @@ var lightbrightnessvalue = (254 * horizontalSeekBarVol.Progress) / 100; Send.dictionary(switchdictionary, "Data1", lightbrightnessvalue.ToString()); }; - ///鍙栨秷浜嬩欢 closeView.clickviewBtn.MouseUpEventHandler += (sender, e) => { @@ -701,7 +671,6 @@ Send.dictionary(switchdictionary, "TaskType", "1"); Send.dictionary(switchdictionary, "Data1", "0");//榛樿鍊� }; - //鍙栧弽 takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) => { @@ -1205,10 +1174,29 @@ }; } break; + case DeviceType.ColorTemperatureLight: + { + flMain.RemoveFromParent(); + var nightlight = new Nightlight(); + UserView.HomePage.Instance.AddChidren(nightlight); + UserView.HomePage.Instance.PageIndex += 1; + if (edit) + { + nightlight.Show(common, edit, _if[1], Common.Logic.CurrentLogic.Actions[intValue]); + } + else + { + nightlight.Show(common, edit, _if[1]); + } + + } + break; + + } completeView.Btncomplete.MouseUpEventHandler += (sender, e) => { - //UserView.HomePage.Instance.ScrollEnabled = true; + UserView.HomePage.Instance.ScrollEnabled = true; if (SelectedDeviceStatus != "") { if (_if[0] == "condition") @@ -1231,7 +1219,7 @@ { if (!edit) { - var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, + var alert = new UserCenter.ShowMsgControl(ShowMsgType.Normal, Language.StringByID(MyInternationalizationString.selectdevicestatuscondition), Language.StringByID(MyInternationalizationString.confrim)); alert.Show(); @@ -1270,12 +1258,11 @@ } break; } - + }; } - - /// <summary> + /// <summary> /// 绌鸿皟妯″紡鐨勭姸鎬� /// </summary> /// <param name="modestring"></param> @@ -1341,5 +1328,346 @@ } } + /// <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(); + if (edit&&dic!=null) { + AirProperty(flMain, dic, common,"", edit, SelectedDeviceStatus); + } + else + { + 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()); + if (tagText == Language.StringByID(MyInternationalizationString.kongqizhiliang)) + { + + 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); + + + }, () => { + 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) => + { + 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); + + + }, () => { + 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) => + { + SelectedDeviceStatus = "TemperatureSensor"; + string valuaStr = ""; + if (strText == Language.StringByID(MyInternationalizationString.co2qingxin)) + { + 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); + + + }, () => { + if (edit) { flMain.RemoveFromParent(); } + else + { + AirSonser(flMain, SelectedDeviceStatus, edit, common); + } + }); + + + + } + else if (tagText == Language.StringByID(MyInternationalizationString.sensortemperature)) + { + //缂栬緫鏃剁殑鐘舵�佸�� + string str1 = range; + string str2 = stateText; + publicInterface.TemperatureShow1(flMain, tagText, "鈩�", str1, str2, (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); + + + }, () => + { + if (edit) { flMain.RemoveFromParent(); } + else + { + AirSonser(flMain, SelectedDeviceStatus, edit, common); + } + + }); + } + else if (tagText == Language.StringByID(MyInternationalizationString.sensorhumidity)) + { + //缂栬緫鏃剁殑鐘舵�佸�� + string str1 = range; + string str2 = stateText; + publicInterface.TemperatureShow1(flMain, tagText, "%", str1, str2, (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); + }, () => { + if (edit) { flMain.RemoveFromParent(); } + else + { + AirSonser(flMain, SelectedDeviceStatus, edit, common); + } + }); + } + + } + /// <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 ) + { + UserView.HomePage.Instance.ScrollEnabled = true; + if (SelectedDeviceStatus != "") + { + //娣诲姞鏉′欢 + LogicIfon.AddDeviceconditions(common, dic); + } + else + { + if (!edit) + { + var alert = new UserCenter.ShowMsgControl(ShowMsgType.Normal, + Language.StringByID(MyInternationalizationString.selectdevicestatuscondition), + Language.StringByID(MyInternationalizationString.confrim)); + alert.Show(); + return; + } + + } + flMain.RemoveFromParent(); + //鑷姩鍖� + var logicCommunalPage = new LogicCommunalPage(); + UserView.HomePage.Instance.AddChidren(logicCommunalPage); + UserView.HomePage.Instance.PageIndex += 1; + logicCommunalPage.Show(() => { }); + } + } } -- Gitblit v1.8.0