| | |
| | | /// 选中该设备功能作为条件或者目标的视图方法 |
| | | /// </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 -------界面布局部分 |
| | | //不让当前界面滑动 |
| | | UserView.HomePage.Instance.ScrollEnabled = false; |
| | | CompleteView completeView = new CompleteView(); |
| | | flMain.AddChidren(completeView.Show(1)); |
| | | completeView.Btntitle.Text = HdlDeviceCommonLogic.Current.GetDeviceEpointName(common); |
| | | completeView.Btntitle.Text = LocalDevice.Current.GetDeviceEpointName(common); |
| | | EventHandler<MouseEventArgs> clickcancel = (sender, e) => |
| | | { |
| | | if (edit) |
| | |
| | | |
| | | 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 -------进度条控件 |
| | |
| | | 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") |
| | |
| | | TaskList = deviceinfo["TaskList"] as List<Dictionary<string, string>>; |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | #endregion |
| | |
| | | ///灯光 |
| | | case DeviceType.OnOffOutput: |
| | | { |
| | | |
| | | if (_if[0] == "condition") |
| | | { |
| | | l = 2; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | break; |
| | | case DeviceType.IASZone: |
| | |
| | | closeView.selectedIconBtn.Visible = false; |
| | | if (iASZonedevice.IasDeviceType == 13) |
| | | { |
| | | |
| | | |
| | | closeView.selectedIconBtn.Visible = true; |
| | | } |
| | | Send.dictionary(deviceConditionsInfo, "Range", "5"); |
| | |
| | | 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; |
| | |
| | | { |
| | | 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; |
| | |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | Send.dictionary(deviceConditionsInfo, "AttriButeData2", "0"); |
| | | |
| | | completeView.Show(l).AddChidren(openView.Show()); |
| | | openView.titleBtn.Text = HdlDeviceCommonLogic.Current.GetDeviceEpointName(common); |
| | | 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) => |
| | |
| | | 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; |
| | |
| | | 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); |
| | |
| | | }; |
| | | } |
| | | break; |
| | | case DeviceType.ColorTemperatureLight: { |
| | | case DeviceType.ColorTemperatureLight: |
| | | { |
| | | flMain.RemoveFromParent(); |
| | | var nightlight = new Nightlight(); |
| | | UserView.HomePage.Instance.AddChidren(nightlight); |
| | |
| | | { |
| | | 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") |
| | |
| | | { |
| | | if (!edit) |
| | | { |
| | | var alert = new ShowMsgControl(ShowMsgType.Normal, |
| | | var alert = new UserCenter.ShowMsgControl(ShowMsgType.Normal, |
| | | Language.StringByID(MyInternationalizationString.selectdevicestatuscondition), |
| | | Language.StringByID(MyInternationalizationString.confrim)); |
| | | alert.Show(); |
| | |
| | | } |
| | | break; |
| | | } |
| | | |
| | | |
| | | |
| | | }; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 空调模式的状态 |
| | | /// </summary> |