From 7066c7866a6e6faef9c1cbc0793cecf392454baa Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期二, 05 一月 2021 17:50:15 +0800 Subject: [PATCH] 20201-1-5-1 --- ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs | 271 ++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 240 insertions(+), 31 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs b/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs index 51f2bcd..c831fc1 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs @@ -277,7 +277,7 @@ } } - + } break; case DeviceType.IASZone: @@ -559,37 +559,53 @@ break; case DeviceType.TemperatureSensor: { - //缂栬緫鏃剁殑鐘舵�佸�� - string str1 = ""; - string str2 = ""; - if (edit && devices != null) - { - //娓╁害鍊� - str1 = devices["AttriButeData1"]; - //姣旇緝鍏崇郴鍊� - str2 = devices["Range"]; - } - var temperatureSensor = common as TemperatureSensor; - if (temperatureSensor.SensorDiv == 1) + //鑾峰彇璁惧绫诲瀷 + var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { common }); + + //绌烘皵璐ㄩ噺浼犳劅鍣� + if (deviceEnumInfo.ConcreteType != Common.DeviceConcreteType.AirQualitySensor) { - Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1026"); + AirSonser(flMain, SelectedDeviceStatus, edit, common); } else { - Send.dictionary(deviceConditionsInfo, "Cluster_ID", "1029"); - } - Send.dictionary(deviceConditionsInfo, "AttriButeId", "0"); - Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0"); - completeView.Show(4); - PublicInterface publicInterface = new PublicInterface(); - publicInterface.TemperatureShow(completeView.fraView, common, str2, str1, (relationValueStr, tempValueStr) => - { - SelectedDeviceStatus = "TemperatureSensor"; - Send.dictionary(deviceConditionsInfo, "AttriButeData1", tempValueStr); - Send.dictionary(deviceConditionsInfo, "Range", relationValueStr); - }); + + //缂栬緫鏃剁殑鐘舵�佸�� + 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, "AttriButeData2", "0"); + completeView.Show(4); + PublicInterface publicInterface = new PublicInterface(); + publicInterface.TemperatureShow(completeView.fraView, str3, str2, str1, (relationValueStr, tempValueStr) => + { + SelectedDeviceStatus = "TemperatureSensor"; + Send.dictionary(deviceConditionsInfo, "AttriButeData1", tempValueStr); + Send.dictionary(deviceConditionsInfo, "Range", relationValueStr); + }); + } } break; ///璋冨厜鐏厜 @@ -643,7 +659,6 @@ var lightbrightnessvalue = (254 * horizontalSeekBarVol.Progress) / 100; Send.dictionary(switchdictionary, "Data1", lightbrightnessvalue.ToString()); }; - ///鍙栨秷浜嬩欢 closeView.clickviewBtn.MouseUpEventHandler += (sender, e) => { @@ -656,7 +671,6 @@ Send.dictionary(switchdictionary, "TaskType", "1"); Send.dictionary(switchdictionary, "Data1", "0");//榛樿鍊� }; - //鍙栧弽 takebackView.clickviewBtn.MouseUpEventHandler += (sender, e) => { @@ -1177,6 +1191,8 @@ } break; + + } completeView.Btncomplete.MouseUpEventHandler += (sender, e) => { @@ -1246,9 +1262,7 @@ }; } - - - /// <summary> + /// <summary> /// 绌鸿皟妯″紡鐨勭姸鎬� /// </summary> /// <param name="modestring"></param> @@ -1314,5 +1328,200 @@ } } + + private static void AirSonser(FrameLayout flMain,string SelectedDeviceStatus,bool edit,CommonDevice common) { + flMain.RemoveAll(); + PublicInterface publicInterface = new PublicInterface(); + var list0 = publicInterface.GetViewList("绌烘皵璐ㄩ噺浼犳劅鍣�"); + publicInterface.SingleSelectionShow(flMain, list0, MyInternationalizationString.airqualitysensor, "", (tagText) => + { + flMain.RemoveAll(); + SelectedDeviceStatus = "TemperatureSensor"; + 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)) + { + + 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); + + + }, () =>{ 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); + + + }, () => {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 = "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); + + + }, () => { AirSonser(flMain, SelectedDeviceStatus, edit, common); }); + + + + } + else if (tagText == Language.StringByID(MyInternationalizationString.sensortemperature)) + { + //缂栬緫鏃剁殑鐘舵�佸�� + string str1 = ""; + string str2 = ""; + 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); + + + }, () => + { + AirSonser(flMain, SelectedDeviceStatus, edit, common); + + }); + } + else if (tagText == Language.StringByID(MyInternationalizationString.sensorhumidity)) + { + //缂栬緫鏃剁殑鐘舵�佸�� + string str1 = ""; + string str2 = ""; + 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); + }, () => { 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) + { + 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