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/LogicDveiceStatus.cs | 333 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 280 insertions(+), 53 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/LogicDveiceStatus.cs b/ZigbeeApp/Shared/Phone/Device/Logic/LogicDveiceStatus.cs index 91c65a7..3916282 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/LogicDveiceStatus.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/LogicDveiceStatus.cs @@ -339,56 +339,166 @@ break; case DeviceType.TemperatureSensor: { - // conditionIcon.UnSelectedImagePath = "ZigeeLogic/temperature.png"; - var dev = deviceinof as TemperatureSensor; - if (conditions["Cluster_ID"] == "1026") + //鑾峰彇璁惧绫诲瀷 + var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { deviceinof }); + if (deviceEnumInfo==null) { + continue; + } + //绌烘皵璐ㄩ噺浼犳劅鍣� + if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor) { - dev.SensorDiv = 1; + icon = "ZigeeLogic/airquality.png"; + string s = ""; + switch (conditions["Range"]) + { + case "0": + { + s = ">"; + } + break; + case "1": + { + s = "="; + } + break; + case "2": + { + s = "<"; + } + break; + case "6": + { + s = "鈮�"; + } + break; + case "7": + { + s = "鈮�"; + } + break; + } + switch (conditions["Cluster_ID"]) { + case "1066": { + if (conditions["AttriButeId"] =="57344") { + if (conditions["AttriButeData1"] == "1") + { + state = Language.StringByID(MyInternationalizationString.you); + } + else if (conditions["AttriButeData1"] == "2") + { + state = Language.StringByID(MyInternationalizationString.liang); + } + else { + state = Language.StringByID(MyInternationalizationString.cha); + } + state = Language.StringByID(MyInternationalizationString.kongqizhiliang) + state; + } else { + ///Pm2.5 + int intValue = int.Parse(conditions["AttriButeData1"]); + if (0< intValue&& intValue<30) { + state = Language.StringByID(MyInternationalizationString.pmyou); + } + else if (36 < intValue && intValue < 75) { + state = Language.StringByID(MyInternationalizationString.pmliang); + } + else if (76 < intValue && intValue < 115) { + state = Language.StringByID(MyInternationalizationString.pmqingdu); + } + else if (intValue >115) { + state = Language.StringByID(MyInternationalizationString.pmzhongdu); + } + state = Language.StringByID(MyInternationalizationString.pm25) + state; + } + }break; + case "1037": + { + ///co2 + int intValue = int.Parse(conditions["AttriButeData1"]); + if (0 < intValue && intValue < 1000) + { + state = Language.StringByID(MyInternationalizationString.co2qingxin); + } + else if (1000 < intValue && intValue < 2000) + { + state = Language.StringByID(MyInternationalizationString.co2huizhuo); + } + else if (2000 < intValue && intValue < 5000) + { + state = Language.StringByID(MyInternationalizationString.co2queyang); + } + else if (intValue > 5000) + { + state = Language.StringByID(MyInternationalizationString.co2yanzhongqueyang); + } + state = Language.StringByID(MyInternationalizationString.co2) + state; + } + break; + case "1026": { + ///杞崲娓╁害鍊�/100 + string srtValue = (int.Parse(conditions["AttriButeData1"]) / 100).ToString(); + state = s + srtValue + "鈩�"; + } break; + case "1029": { + ///杞崲娓╁害鍊�/100 + string srtValue = (int.Parse(conditions["AttriButeData1"]) / 100).ToString(); + state = s + srtValue + "%"; + } break; + } + } else { - dev.SensorDiv = 2; - } - string s = ""; - switch (conditions["Range"]) - { - case "0": - { - s = ">"; - } - break; - case "1": - { - s = "="; - } - break; - case "2": - { - s = "<"; - } - break; - case "6": - { - s = "鈮�"; - } - break; - case "7": - { - s = "鈮�"; - } - break; - } - ///杞崲娓╁害鍊�/100 - string srtValue = (int.Parse(conditions["AttriButeData1"]) / 100).ToString(); - if (conditions["Cluster_ID"] == "1026") - { - icon = "ZigeeLogic/temperature.png"; - state = s + srtValue + "鈩�"; - } - else - { - icon = "ZigeeLogic/humidity.png"; - state = s + srtValue + "%"; + + var dev = deviceinof as TemperatureSensor; + if (conditions["Cluster_ID"] == "1026") + { + dev.SensorDiv = 1; + } + else + { + dev.SensorDiv = 2; + } + string s = ""; + switch (conditions["Range"]) + { + case "0": + { + s = ">"; + } + break; + case "1": + { + s = "="; + } + break; + case "2": + { + s = "<"; + } + break; + case "6": + { + s = "鈮�"; + } + break; + case "7": + { + s = "鈮�"; + } + break; + } + ///杞崲娓╁害鍊�/100 + string srtValue = (int.Parse(conditions["AttriButeData1"]) / 100).ToString(); + if (conditions["Cluster_ID"] == "1026") + { + icon = "ZigeeLogic/temperature.png"; + state = s + srtValue + "鈩�"; + } + else + { + icon = "ZigeeLogic/humidity.png"; + state = s + srtValue + "%"; + } } break; @@ -468,9 +578,17 @@ selecteddevice.selecetddevicestateBtn.Text = state; } ///缂栬緫 - selecteddevice.edit.Tag = i.ToString(); + selecteddevice.edit.Tag = conditions; selecteddevice.edit.MouseUpEventHandler += (sender, e) => { + var dic = selecteddevice.edit.Tag as Dictionary<string, string>; + int isInt = 0; + if (dic != null) + { + //涔嬪墠鏍囪绱㈠紩鍊硷紝涓�鏃﹀垹闄ゆ暟鎹储寮曞�间細鍙戠敓鏀瑰彉锛� + //鎵惧埌鏁版嵁鍦ㄥ垪琛ㄩ噷鏈�鏂扮储寮曪紝骞朵笖鏇存柊绱㈠紩鍊� + isInt = Common.Logic.CurrentLogic.Conditions.IndexOf(dic); + } switch (Type) { @@ -501,7 +619,7 @@ { var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; frameLayout.AddChidren(flMain); - CurrentDeviceState.CurrentDeviceView(flMain, deviceinof, true, "condition_logic",int.Parse(selecteddevice.edit.Tag.ToString())); + CurrentDeviceState.CurrentDeviceView(flMain, deviceinof, true, "condition_logic", isInt); } else { @@ -1026,8 +1144,7 @@ { state = seconds.ToString() + Language.StringByID(MyInternationalizationString.second); } - //璁板綍寤舵椂锛� - actiondevice.edit.Tag = i; + }; break; } @@ -1054,9 +1171,18 @@ actiondevice.selecetddevicestateBtn.Text = state; } ///缂栬緫 - actiondevice.edit.Tag = i.ToString(); + //璁板綍锛� + actiondevice.edit.Tag = actions; actiondevice.edit.MouseUpEventHandler += (sender, e) => { + var dic = actiondevice.edit.Tag as Dictionary<string, object>; + int isInt = 0; + if (dic != null) + { + //涔嬪墠鏍囪绱㈠紩鍊硷紝涓�鏃﹀垹闄ゆ暟鎹储寮曞�间細鍙戠敓鏀瑰彉锛� + //鎵惧埌鏁版嵁鍦ㄥ垪琛ㄩ噷鏈�鏂扮储寮曪紝骞朵笖鏇存柊绱㈠紩鍊� + isInt = Common.Logic.CurrentLogic.Actions.IndexOf(dic); + } switch (linkType) { case 8: @@ -1065,7 +1191,7 @@ var deviceinof = Method.GetCommonDevice(actions["DeviceAddr"].ToString(), actions["Epoint"].ToString()); var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; frameLayout.AddChidren(flMain); - CurrentDeviceState.CurrentDeviceView(flMain, deviceinof, true, "action_logic", int.Parse(actiondevice.edit.Tag.ToString())); + CurrentDeviceState.CurrentDeviceView(flMain, deviceinof, true, "action_logic", isInt); } break; case 6: @@ -1079,10 +1205,11 @@ break; case 7: { + var delayTime = new DelayTime(); UserView.HomePage.Instance.AddChidren(delayTime); UserView.HomePage.Instance.PageIndex += 1; - delayTime.Show(int.Parse(actiondevice.edit.Tag.ToString()), true); + delayTime.Show(isInt, true); } break; @@ -1185,5 +1312,105 @@ } + + + 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); + // }, () => { }); + //} + } } } -- Gitblit v1.8.0