From cb7fd6a89ad9fcd9cf575025ab43873f17bf17c8 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期四, 31 十二月 2020 16:46:59 +0800 Subject: [PATCH] 2020-12-31-1 --- ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml | 16 - ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide | 0 ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs | 344 ++++++++++++++++++++++++++++++++++++++ ZigbeeApp/Shared/Phone/Device/Logic/CurrentDeviceState.cs | 172 ++++-------------- 4 files changed, 388 insertions(+), 144 deletions(-) diff --git a/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml b/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml index ebe9467..ed3e188 100644 --- a/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml +++ b/ZigbeeApp/.vs/GateWay/xs/UserPrefs.xml @@ -1,15 +1,12 @@ 锘�<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="Shared/Phone/Device/Logic/LogicView/CompleteView.cs" Line="8" Column="18" /> - <File FileName="Shared/Phone/Device/Logic/TimePoint.cs" Line="477" Column="29" /> - <File FileName="Shared/Phone/Device/Logic/CurrentDeviceState.cs" Line="77" Column="23" /> - <File FileName="Shared/Phone/Device/Logic/LogicView/mFunView.cs" Line="46" Column="23" /> - <File FileName="Shared/Phone/Device/Logic/PublicInterface.cs" Line="135" Column="22" /> - <File FileName="Shared/Phone/Device/Logic/LogicDveiceStatus.cs" Line="1123" Column="36" /> - <File FileName="Shared/Phone/Device/Logic/LogicCommunalPage.cs" Line="213" Column="36" /> + <File FileName="Shared/Phone/Device/Logic/TimePoint.cs" /> + <File FileName="Shared/Phone/Device/Logic/Send.cs" /> + <File FileName="Shared/Phone/Device/Logic/CurrentDeviceState.cs" Line="1251" Column="22" /> + <File FileName="Shared/Phone/Device/Logic/PublicInterface.cs" Line="107" Column="52" /> </Files> <Pads> <Pad Id="ProjectPad"> @@ -22,8 +19,7 @@ <Node name="Phone" expanded="True"> <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> diff --git a/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide b/ZigbeeApp/.vs/GateWay/xs/sqlite3/storage.ide index 6d771df..e3c6dc7 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 old mode 100755 new mode 100644 index 2656bab..51f2bcd --- 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,int intValue) + public static void CurrentDeviceView(FrameLayout flMain, CommonDevice common, bool edit, string str, int intValue) { #region -------鐣岄潰甯冨眬閮ㄥ垎 //涓嶈褰撳墠鐣岄潰婊戝姩 @@ -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 -------杩涘害鏉℃帶浠� @@ -95,10 +90,10 @@ 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") { var deviceinfo = Common.Logic.CurrentLogic.Conditions[intValue]; if (deviceinfo["Type"] == "1") @@ -121,7 +116,7 @@ TaskList = deviceinfo["TaskList"] as List<Dictionary<string, string>>; } } - + } } #endregion @@ -132,6 +127,7 @@ ///鐏厜 case DeviceType.OnOffOutput: { + if (_if[0] == "condition") { l = 2; @@ -280,6 +276,8 @@ } } } + + } break; case DeviceType.IASZone: @@ -305,7 +303,7 @@ closeView.selectedIconBtn.Visible = false; if (iASZonedevice.IasDeviceType == 13) { - + closeView.selectedIconBtn.Visible = true; } Send.dictionary(deviceConditionsInfo, "Range", "5"); @@ -321,7 +319,7 @@ closeView.selectedIconBtn.Visible = true; Send.dictionary(deviceConditionsInfo, "Range", "8");//1 Send.dictionary(deviceConditionsInfo, "AttriButeData1", "3");//0 - if (iASZonedevice.IasDeviceType == 13|| iASZonedevice.IasDeviceType == 541) + if (iASZonedevice.IasDeviceType == 13 || iASZonedevice.IasDeviceType == 541) { SelectedDeviceStatus = ""; closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; @@ -490,13 +488,13 @@ { if (devices["AttriButeId"] == "1281") { - if (devices.ContainsKey("IgnoreTime")&& devices["IgnoreTime"]!="0") + if (devices.ContainsKey("IgnoreTime") && devices["IgnoreTime"] != "0") { timeValue = int.Parse(devices["IgnoreTime"]); } else { - if (devices["Range"]== "5") + if (devices["Range"] == "5") { openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; @@ -515,7 +513,7 @@ } - + } } @@ -561,132 +559,36 @@ 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 + //缂栬緫鏃剁殑鐘舵�佸�� + string str1 = ""; + string str2 = ""; + if (edit && devices != null) { - 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); + //娓╁害鍊� + str1 = devices["AttriButeData1"]; + //姣旇緝鍏崇郴鍊� + str2 = devices["Range"]; - var mList1 = new List<string> { ">", "<", "=", "鈮�", "鈮�" }; - var mList2 = new List<string>(); - var mList3 = new List<string>(); - for (int i = 1; i <= 100; i++) - { - mList2.Add(i.ToString()); } + var temperatureSensor = common as TemperatureSensor; 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"); } else { - mList3.Add("%"); 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) => + 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) => { - ///娓╁害杩涚巼杞崲*100 - var strValue = (int.Parse(mList2[s2]) * 100).ToString(); SelectedDeviceStatus = "TemperatureSensor"; - Send.dictionary(deviceConditionsInfo, "AttriButeData1", strValue); - switch (mList1[s1]) - { - 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); - - } - ///鏇存柊鏈�鏂扮姸鎬侊紱 - mUIPickerView.setCurrentItems(index1, index2, 0); + Send.dictionary(deviceConditionsInfo, "AttriButeData1", tempValueStr); + Send.dictionary(deviceConditionsInfo, "Range", relationValueStr); + }); } break; @@ -700,7 +602,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); @@ -1258,7 +1160,8 @@ }; } break; - case DeviceType.ColorTemperatureLight: { + case DeviceType.ColorTemperatureLight: + { flMain.RemoveFromParent(); var nightlight = new Nightlight(); UserView.HomePage.Instance.AddChidren(nightlight); @@ -1271,13 +1174,13 @@ { 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") @@ -1339,11 +1242,12 @@ } break; } - + }; } + /// <summary> /// 绌鸿皟妯″紡鐨勭姸鎬� /// </summary> diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs b/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs index 50c1671..05d8740 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/PublicInterface.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using Shared.Common; using Shared.R; +using ZigBee.Device; namespace Shared.Phone.Device.Logic { @@ -99,6 +100,332 @@ } + + /// <summary> + /// 娓╂箍搴︽柟娉� + /// </summary> + /// <param name="frame">鏄剧ず鍦ㄥ摢涓晫闈㈢殑鐖舵帶浠�</param> + /// <param name="common">褰撳墠璁惧</param> + /// <param name="state1">涔嬪墠鐘舵��</param> + /// <param name="state2">涔嬪墠鐘舵��</param> + /// <param name="action">杩斿洖鍊�</param> + public void TemperatureShow1(FrameLayout frameLayout, CommonDevice common, string state1, string state2, Action<string, string> action) + { + //FrameLayout frameLayout = new FrameLayout + //{ + // BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor, + //}; + //frame.AddChidren(frameLayout); + CompleteView view = new CompleteView(); + view.Btntitle.Text= LocalDevice.Current.GetDeviceEpointName(common); + frameLayout.AddChidren(view.Show(4)); + UserView.HomePage.Instance.ScrollEnabled = false; + view.Btncancel.MouseUpEventHandler += (sender, e) => + { + UserView.HomePage.Instance.ScrollEnabled = true; + //绉婚櫎fLayout鐣岄潰 + frameLayout.RemoveFromParent(); + }; + + #region 甯冨眬View + var PickerViewfra = new FrameLayout + { + Y = Application.GetRealHeight(140), + Height = Application.GetRealHeight(640), + }; + view.fraView.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++) + { + mList2.Add(i.ToString()); + } + switch (common.Type) + { + case DeviceType.TemperatureSensor: + { + var temperatureSensor = common as TemperatureSensor; + if (temperatureSensor.SensorDiv == 1) + { + mList3.Add("鈩�"); + } + else + { + mList3.Add("%"); + + } + } + break; + } + + mUIPickerView.setNPicker(mList1, mList2, mList3); + + #endregion + //榛樿=,50 + int index1 = 2, index2 = 49; + if (state1!="" && state2 != "") + { + string s = ""; + switch (state1) + { + 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 + string tempValue = (int.Parse(state2) / 100).ToString(); + index2 = mList2.IndexOf(tempValue); + } + ///鏇存柊鏈�鏂扮姸鎬侊紱 + mUIPickerView.setCurrentItems(index1, index2, 0); + mUIPickerView.OnSelectChangeEvent += (s1, s2, s3) => + { + //杩斿洖绱㈠紩鍊� + index1 = s1; + index2 = s2; + + string relationValueStr = ""; + switch (mList1[index1]) + { + case ">": + { + relationValueStr = "0"; + } + break; + case "<": + { + relationValueStr = "2"; + + } + break; + case "=": + { + relationValueStr = "1"; + + } + break; + case "鈮�": + { + + relationValueStr = "6"; + + } + break; + case "鈮�": + { + relationValueStr = "7"; + } + break; + } + ///娓╁害杩涚巼杞崲*100 + string tempValueStr = (int.Parse(mList2[index2]) * 100).ToString(); + action(relationValueStr, tempValueStr); + }; + view.Btncomplete.MouseUpEventHandler += (sender1, e1) => + { + string relationValueStr = ""; + switch (mList1[index1]) + { + case ">": + { + relationValueStr = "0"; + } + break; + case "<": + { + relationValueStr = "2"; + + } + break; + case "=": + { + relationValueStr = "1"; + + } + break; + case "鈮�": + { + + relationValueStr = "6"; + + } + break; + case "鈮�": + { + relationValueStr = "7"; + } + break; + } + ///娓╁害杩涚巼杞崲*100 + string tempValueStr = (int.Parse(mList2[index2]) * 100).ToString(); + action(relationValueStr, tempValueStr); + UserView.HomePage.Instance.ScrollEnabled = true; + //绉婚櫎fLayout鐣岄潰 + frameLayout.RemoveFromParent(); + }; + + } + public void TemperatureShow(FrameLayout frameLayout, CommonDevice common, string state1, string state2, Action<string, string> action) + { + #region 甯冨眬View + var PickerViewfra = new FrameLayout + { + Y = Application.GetRealHeight(140), + Height = Application.GetRealHeight(640), + }; + frameLayout.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++) + { + mList2.Add(i.ToString()); + } + switch (common.Type) + { + case DeviceType.TemperatureSensor: + { + var temperatureSensor = common as TemperatureSensor; + if (temperatureSensor.SensorDiv == 1) + { + mList3.Add("鈩�"); + } + else + { + mList3.Add("%"); + + } + } + break; + } + + mUIPickerView.setNPicker(mList1, mList2, mList3); + + #endregion + //榛樿=,50 + int index1 = 2, index2 = 49; + if (state1 != "" && state2 != "") + { + string s = ""; + switch (state1) + { + 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 + string tempValue = (int.Parse(state2) / 100).ToString(); + index2 = mList2.IndexOf(tempValue); + } + ///鏇存柊鏈�鏂扮姸鎬侊紱 + mUIPickerView.setCurrentItems(index1, index2, 0); + mUIPickerView.OnSelectChangeEvent += (s1, s2, s3) => + { + //杩斿洖绱㈠紩鍊� + index1 = s1; + index2 = s2; + + string relationValueStr = ""; + switch (mList1[index1]) + { + case ">": + { + relationValueStr = "0"; + } + break; + case "<": + { + relationValueStr = "2"; + + } + break; + case "=": + { + relationValueStr = "1"; + + } + break; + case "鈮�": + { + + relationValueStr = "6"; + + } + break; + case "鈮�": + { + relationValueStr = "7"; + } + break; + } + ///娓╁害杩涚巼杞崲*100 + string tempValueStr = (int.Parse(mList2[index2]) * 100).ToString(); + action(relationValueStr, tempValueStr); + }; + + } + /// <summary> /// 鑾峰彇鐣岄潰鍒楄〃 /// </summary> @@ -142,6 +469,23 @@ }; } break; + case "寮�鍏�2": + { + list = new List<string> { + Language.StringByID(MyInternationalizationString.open), + Language.StringByID(MyInternationalizationString.close), + }; + } + break; + case "寮�鍏�3": + { + list = new List<string> { + Language.StringByID(MyInternationalizationString.open), + Language.StringByID(MyInternationalizationString.close), + Language.StringByID(MyInternationalizationString.onoff), + }; + } + break; } -- Gitblit v1.8.0